// JavaScript Document

function ajaxJSON(json){
	var obj = (typeof(json) == 'object') ? json : eval('(' + json + ')');
	eval(obj.script);
	if(obj.confirm){
		obj.success = confirm(obj.confirm);
	}
	return obj;
}

function gradeToGrad(){
	var grade = $("#grade").val();
	if(grade){
		var d = new Date();
		var next_year = d.getFullYear() + 1;
		grad = next_year + (12 - grade);
		$("#graduation").val(grad)
	} else {
		$("#graduation").val('')
	}
}

$(function(r){
	$("a[href='/human/']").click(function(c){
		var par = $(this).parents('div:first');
		$.ajax({
			url: '/ajax/human-check/',
			dataType: 'json',
			success: function(response){
				result = ajaxJSON(response);
				
				if(result.success){
					par.find('a').fadeOut('normal', function(){
						par.html(result.html);
						par.find('div').fadeIn();
					});
				}
			}
		});
		return false;
	});
		   
	$("#help_btn").click(function(c){
		$("#help").slideDown({duration: 500, easing: 'easeOutCirc'});
		return false;
	});
	
	$("#panel_menu li.disabled a").click(function(c){
		return false;
	});
	
	$("input[name='saved']").click(function(c){
		if($("input[name='saved']:checked").val() == '0'){
			$("#salvation").show();
		} else {
			$("#salvation").hide();
		}
	});
	
	$("input[name='expelled']").click(function(c){
		if($("input[name='expelled']:checked").val() == '1'){
			$("#expulsion").css('display','block');
		} else {
			$("#expulsion").hide();
		}
	});
	
	$("input[name='divorced']").click(function(c){
		if($("input[name='divorced']:checked").val() == '1'){
			$("#divorcee").css('display','block');
		} else {
			$("#divorcee").hide();
		}
	});
	
	$("#doctrine_click").click(function(c){
		$("#doctrine_beliefs").slideToggle();
		return false;
	});
	
	$("input[name='good_standing']").click(function(c){
		if($("input[name='good_standing']:checked").val() == ''){
			$("#other_standing").show();
		} else {
			$("#other_standing").hide();
		}
	});
	
	$("#grade").bind('change keypress click',gradeToGrad);
	
	$('#copy_address').click(function(c){
		var addr1 = $("#address1");
		var addr2 = $("#address2");
		var city = $("#city");
		var state = $("#state");
		var zip = $("#zip");
		
		if(addr1.val() || addr2.val() || city.val() || state.val() || zip.val()){
			var overwrite = confirm('Would you like to overwrite the values in the address fields?');
		}
		$.ajax({
			url: '/ajax/copy-address/',
			dataType: 'json',
			success: function(response){
				result = ajaxJSON(response);
				
				if(result.success){
					if((addr1.val() && overwrite) || !addr1.val()){
						addr1.val(result.addr1);
					}
					if((addr2.val() && overwrite) || !addr2.val()){
						addr2.val(result.addr2);
					}
					if((city.val() && overwrite) || !city.val()){
						city.val(result.city);
					}
					if((state.val() && overwrite) || (!state.val() && result.state)){
						state.val(result.state);
					}
					if((zip.val() && overwrite) || !zip.val()){
						zip.val(result.zip);
					}
				}
			}
		});
		return false
	});
		
	
	$("#left_menu .delete").click(function(c){
		var what = ($(this).attr('rel')) ? $(this).attr('rel') : 'this';
		return confirm('Are you sure you want to remove ' + what + '?');
	});
	
	$("#close_help").click(function(c){
		$("#help").slideUp({duration: 500, easing: 'easeOutCirc'});
		return false;
	});
	
	$("#username").blur(function(b){
		var el = $(this);
		var notify = $("#username_check");
		notify.removeClass('ok');
		notify.removeClass('bad');
		notify.find('em').html('');
		notify.hide();
		
		if(el.val() != ''){
			$.ajax({
				url: '/ajax/check-username/',
				data: {'username':el.val()},
				type: 'post',
				dataType: 'json',
				success: function(response){
					result = ajaxJSON(response);
					
					if(result.success){
						notify.addClass('ok');
						notify.find('em').html('OK!');
					} else {
						notify.addClass('bad');
						notify.find('em').html('Taken!');
					} 
					notify.fadeIn('fast', function() { $(this).css("display", "block"); });
				}
			});
		}
	});
});