$(document).ready(function() {
	setInterval(update_times, 60000);
	setInterval(update_message_count, 10000);
	
	$('#contact').live('change', check_all_network)
	$('.report').live('click', report);
	$('.delete').live('click', confirm_delete);
	$('.delete_message').live('click', confirm_delete_message);
	$('.delete_message_from_trash').live('click', confirm_delete_message_from_trash);

	$('.hidden').hide().removeClass('hidden');
	$('.collapsed').live('click', uncollapse);
	$('.uncollapsed').live('click', collapse);

	// Handle show/hide for registration box
	$('#password1').bind('keyup', function() {
		if($(this).val()) {
			$('#password2').parents().show();
			$(this).unbind();
		}
	});
	
	// Handle show/hide background for login box
	$('.login').bind('focus', function() {
		$(this).addClass('no-bg');
	});
	$('.login').bind('blur', function() {
		if(!$(this).val().length)
			$(this).removeClass('no-bg');
	});
	
	// error/sucess system message behavior
	$('#close_system_message').click(remove_dialog);
	if($('#load_dialog').length > 0) {
 		start_dialog($('#load_dialog').val(), {});
	}
	
	$('.clear_button').bind('click', clear_form);
	
	// tooltips 
	$('.tooltip').click(function() {
		start_dialog($(this).attr('title'), {});
	});
	
});

function check_all_network() {
	if($(this).is(':checked'))
		$('.network_friend').attr('checked', 'checked');
	else
		$('.network_friend').attr('checked', '');
}

function update_message_count() {
	var url = SITEROOT+"/default/user/message-count";
	var success = function(data) {
		$('.icon-messages > a').html('(' + data.message_count + ')');
	}
	
	$.ajax({
		url: url,
		data: {},
		type: "post",
		dataType: "json",
		success: success
	});
}

function update_times() {
	var timemap = {};
	var url = SITEROOT+"/default/user/newtime";
	var success = function(data) {
		for(var x in data.stamps) {
			$('.timestamp[data-id=' + x + ']').html(data.stamps[x]);
		}
	}
	
	$('.timestamp').each(function() {
		timemap["stamps[" + $(this).dataset('id') + "]"] = $(this).dataset('timeStamp');
	});
	
	$.ajax({
		url: url,
		data: timemap,
		type: "post",
		dataType: "json",
		success: success
	});
}

function confirm_delete() {
	return confirm('Are you sure?');
}

function confirm_delete_message() {
	return confirm('Are you sure you want to delete this message?');
}

function confirm_delete_message_from_trash() {
	return confirm('Are you sure you want to delete this message permanently?');
}

function report() {
	$('#report-section').find('#id_post').val($(this).attr('rel'));
	start_dialog($('#report-section'));
	return false;
}

function start_dialog(text, params) {
	if(params == null) {
		var params = {};
	}
	
	if(text.length) {
		if(text instanceof jQuery) {
			text.clone(true).show().appendTo('#dialog-text');
		} else {
			$('#dialog-text').html(text);
		}
		$('#dialog').show('slow', function() {
			if (params['auto-remove']) {
		  	setTimeout(function(){
		  		remove_dialog();
		  	}, 4000);
		  } else {
				
			}
		})
	}
}
		
function remove_dialog() {
	$('#dialog').fadeOut('slow', function() {$('#dialog-text').html('');});
}
		
function clear_form() {
	var parent = $(this).parents('form');
	parent.find(':input[type!=submit]').val('');
	parent.find(':checkbox').attr('checked', '');
	return false;
}

function uncollapse() {
	$('#' + $(this).attr('rel')).slideDown('slow');
	$(this).removeClass('collapsed').addClass('uncollapsed');
}

function collapse() {
	$('#' + $(this).attr('rel')).slideUp('slow');
	$(this).removeClass('uncollapsed').addClass('collapsed');
}

function browser_is_ie() {
	var IE = /*@cc_on!@*/false;
	return IE; 
}

