$(function(){

	$(".lightbox").lightbox();

	$('#header h1').click(function() {
		window.location = '/';
	});

	if ($('#opener').length > 0)
	{
			
	}
	
	function slide_show_welcome()
	{
		$('#slide_show').animate({
			'left':'0px'
		}, 'fast');
	}
	
	function slide_show_dashboard()
	{
		$('#slide_show').animate({
			'left':'-733px',
			'easing':'easeInOutQuad'
		});
	}
	
	function slide_show_charts_reports()
	{
		$('#slide_show').animate({
			'left':'-1466px',
			'easing':'easeInOutQuad'
		});
	}
	
	function slide_show_mobile()
	{
		$('#slide_show').animate({
			'left':'-2199px',
			'easing':'easeInOutQuad'
		});
	}
	
	$('#opener a.dashboard').click(function() {
		slide_show_dashboard();
	});
	$('#opener a.charts_reports').click(function() {
		slide_show_charts_reports();
	});
	$('#opener a.mobile').click(function() {
		slide_show_mobile();
	});
	
	// Setup interaction with country/state/province & timezone on Sign Up page
	if ($('#sign_up').length > 0)
	{
		$("select[name='country']").change(function() { 
		    if ($(this).val() == 'US') {
		    	$('div.state').css({display:'block'});
		    	$('div.province').css({display:'none'});
		    } else {
		    	$('div.state').css({display:'none'});
		    	$('div.province').css({display:'block'});
		    }

		    $.getJSON('/sign-up/timezones/'+$(this).val(), function(data){
		    	
		    	var html = '<option value="">Select a timezone</option>';
		    	
            	$.each(data, function(key, val)
            	{
            		html += '<option value="'+key+'">'+val[1]+'</option>';
            	});
            	
            	$('#timezone').html(html);
            });
		});
		
		if ($("select[name='country']").val() == 'US') {
		    $('div.state').css({display:'block'});
		    $('div.province').css({display:'none'});
		} else {
		    $('div.state').css({display:'none'});
		    $('div.province').css({display:'block'});			
		}

		var church_code_help = $('#church_code_help');		
		var church_code_help_default = church_code_help.html();

		$('#church_code').typeWatch({
			highlight: true,
			callback: function(church_code)
			{
				$.ajax({
				    cache: false,
				    data: 'church_code='+church_code,
				    dataType: 'json',
				    error: function(request, status, error)
				    {
				    	alert(request);
				    },
				    success: function(data)
				    {
				    	if (data.success == true)
				    	{
				    		if (data.available == true)
				    		{
				    			if (church_code_help.hasClass('available') === false)
				    			{
				    				$('#church_code_help').fadeOut(
				    					100,
				    					function()
				    					{
				    						$(this).removeClass('not_available').addClass('available').html('Available').fadeIn(100);
				    					}
				    				);
				    			}
				    		}
				    		else
				    		{
				    			if (church_code_help.hasClass('not_available') === false)
				    			{
				    				$('#church_code_help').fadeOut(
				    					100,
				    					function()
				    					{
				    						$(this).removeClass('available').addClass('not_available').html('Not Available').fadeIn(100);
				    					}
				    				);
				    			}
				    		}
				    	}
				    },
				    type: 'POST',
				    url: '/sign-up/church-code-available'
				});
			}
		});
		
		$('#church_code').blur(function() {
			if ($(this).val() == '')
			{
				$('#church_code_help').removeClass('available not_available').html(church_code_help_default);
			}
		});
	}
	
	$("a[rel='external']").click(function() {
		window.open($(this).attr('href'));
		return false;
	});
});