/*
Various jQuery files for making the settings screen work.

*/
var clav;
$(document).ready(function(){

	$("#username").change(function(){
		if (!$(this).val())
			return;
			
		$("#username_response").stop().css({opacity: 1});
		$("#username_response").removeClass('no');
		$("#username_response").removeClass('ok');
		$("#username_response").html('Checking username...');

		$.post('/ajax/username/', {'name':$(this).val()}, function(data){
			
			$("#username_response").css({opacity: 1});
			$("#username_response").stop().animate({opacity: 0.5},5000);
			
			if (data.result == 1) {
				$("#username_response").addClass('ok');
				$("#username_response").removeClass('no');
				$("#username_response").html('OK! ' + data.name + ' is available! <br/>Your personal URL will be ticktocker.com/' + data.name + '');
			} else {
				$("#username_response").addClass('no');
				$("#username_response").removeClass('ok');
				if (data.reserved == 1) {
					$("#username_response").html('Sorry, ' + data.name + ' <a href="/info/reserved-users">is reserved</a>.');
				} else if (data.taken == 1) {
					$("#username_response").html('Sorry, ' + data.name + ' is in use.');
				} else {
					$("#username_response").html('Sorry, "' + unescape(data.name) + '" must be between 4 and 32 alphanumeric characters with no spaces.');
				}
			}
		}, 'json');
	});

	$("#settings_name_activate").click(function(){
		$.post('/ajax/settings_name', {'name':$("#settings_name").val()}, function(data){
			showSettingResult('settings_name_result', data);
		}, 'json');
	});
	
	$("#settings_email_activate").click(function(){
		if (confirm('Are you sure you want to change your email address? You will have to verify that it works. You can not change your email address if it is unverified.'))
		{
			$.post('/ajax/settings_email', {'email':$("#settings_email").val()}, function(data){
				showSettingResult('settings_email_result', data);
			}, 'json');	
		}
	});
	
	$("#settings_email_searchable").change(function(){
		$.post('/ajax/settings_email_searchable', {'value':$(this).attr('checked')}, function(data){
			showSettingResult('settings_email_searchable_result', data);
		}, 'json');
	});
	
	$("#settings_email_optin").change(function(){
		$.post('/ajax/settings_email_optin', {'value':$(this).attr('checked')}, function(data){
			showSettingResult('settings_email_optin_result', data);
		}, 'json');
	});	
	
	$("#settings_timezone").change(function(){
		$.post('/ajax/settings_timezone', {'timezone':$(this).val()}, function(data){
			showSettingResult('settings_timezone_result', data);
		}, 'json');	
	});
	
	$("#settings_bio_activate").click(function(){
		$.post('/ajax/settings_bio', {'bio':$("#settings_bio").val()}, function(data){
			showSettingResult('settings_bio_result', data);
		}, 'json');	
	});	
	
	$("#daily_email_on").change(function(){
		var post_data;
		if ($(this).is(':checked')) {
			$(".des").css({'display':'inline'});
			post_data = {'time':$("#daily_email").val(),'pm':$("#daily_email_pm").val()};
		} else {
			$(".des").css({'display':'none'});
			post_data = {'time':-1,'pm':0};
		}
			
		$.post('/ajax/settings_daily_email', post_data, function(data){
			showSettingResult('settings_daily_email_result', data);
		}, 'json');
	});
	
	$(".des").change(function(){
		$.post('/ajax/settings_daily_email', {'time':$("#daily_email").val(),'pm':$("#daily_email_pm").val()}, function(data){
			showSettingResult('settings_daily_email_result', data);
		}, 'json');
	});
	
	
	$("img.av").click(function(){
		if (!$(this).hasClass('sel')) {
			$("#current_avatar").attr('src', '/images/load50.gif');
			$.getJSON('/ajax/set_avatar/' + $(this).attr('id'), function(data){
				if (data.url) {
					$("img.sel").addClass('unsel').removeClass('sel');
					$("#" + data.id).addClass('sel').removeClass('unsel');
					
					$("#profileImage a img").stop().css({opacity: 0}).animate({opacity: 1.0}, 1000);
					$("#profileImage a img").attr('src', data.url);
	
					$("#current_avatar").stop().css({opacity: 0}).animate({opacity: 1.0}, 1000);
					$("#current_avatar").attr('src', data.url);
				} else if (data.error) {
					alert(data.error);
				}
			});
		}
	});
	
	
	$("#change_pw").click(function(){
		if ($(this).attr('rel')) {
			$("#change_pw_result").addClass('error');
			$("#change_pw_result").html('Please wait...');
			return false;
		}
			
	    var pw1 = $("#pw1").val();
	    var pw2 = $("#pw2").val();
	    
	    if (pw1 == pw2 && pw1.length > 5) {
			var data = {'password':pw1, 'confirm':pw2};

			$("#change_pw").attr('rel', $("#change_pw").val());
			$("#change_pw").val('One moment...');

			$.post('/ajax/change_pw', data, function(response){
				$("#change_pw").val($("#change_pw").attr('rel'));
				$("#change_pw").attr('tag', '');

				if (response.result == 0) {
					$("#change_pw_result").addClass('error');
					$("#change_pw_result").html(response.error);
				} else {
					$("#change_pw_result").removeClass('error');
					$("#change_pw_result").html(response.error);
					$("#change_pw_form").slideUp(250);
				}
			}, 'json');
		} else {
			$("#change_pw_result").addClass('error');
			$("#change_pw_result").html('Please make sure you enter the same password twice and that it is 6 characters or more in length.');
		}
	});
	
	$("#compose_msg").click(function(){
	    $(this).css({'display':'none'});
		$("#compose_message").slideDown(250);
	});
	
	$("#msg_cancel").click(function(){
	    $("#compose_msg").css({'display':'inline'});
		$("#compose_message").slideUp(250);
	});
	
	$(".importEventButton").click(function(){
		var id = $(this).attr('alt');
		var title = $("#eventTitle"+id).html();
		var location = $("#eventLocation"+id).html();
		var starts = $("#eventStart"+id).attr('alt');
		var ends = $("#eventEnds"+id).attr('alt');
		var desc = $("#eventDesc"+id).html();
		var vis = $("#eventPriv"+id).attr('alt');
		
		var sd = starts.split('|');
		var ed = ends.split('|');
		
		$("#tockInput").val(title);
		$("#date").val(sd[0]);
		$("#t1 option[value=" + sd[1] + "]").attr('selected', 'selected');
		$("#t2 option[value=" + parseInt(sd[2]) + "]").attr('selected', 'selected');
		$("#t3 option[value=" + sd[3] + ']').attr('selected', 'selected');
		$("#dateend").val(ed[0]);
		$("#t4 option[value=" + ed[1] + "]").attr('selected', 'selected');
		$("#t5 option[value=" + parseInt(ed[2]) + "]").attr('selected', 'selected');
		$("#t6 option[value=" + ed[3] + ']').attr('selected', 'selected');
		$("#description").html(desc);
		$("#visibility").attr('checked', (vis == 0 ? false : true));
		$("#location").val(location);
		$("#addurl").val('http://www.facebook.com/event.php?eid='+id);
		
		$("#tockadv1").css("display","block");
		$("#tockadv2").css("display","block");
		$("#tockadv1").css("display","block");
		
		$("#tockFormDuration").parent().remove();
		$("#tockFormAdvanced").remove();
		
		$("#tockForm").slideDown(200);
		$(window).scrollTop(0);
		
		$("#tockInput").change();
		

		if ($("#actual_calendar").html() == '')
      		loadCalendar();			
	});
});

function showSettingResult(id, data)
{
	if (data.result == 0) {
		$("#"+id).addClass('error').html(data.error);
	} else {
		$("#"+id).removeClass('error').html(data.error);
	}

	$("#"+id).stop().css({opacity: 1}).animate({opacity: 0.6}, 5000);
}

