
	var $safezones = new Array("#leftcolumn");
	var $clouds = new Array("#cloud1", "#cloud2", "#cloud3");
	$(document).ready(function(){
		$('#sunmoon').css("display", "block");
		initCloud($($clouds[0]));
		initCloud($($clouds[1]));
		initCloud($($clouds[2]));
		animateCloud1();  
		animateCloud2();  
		animateCloud3();  
		changeSunMoon();
		$('.error input').focus(function(){
			console.log($(this));
			$(this).val("");
			$(this).unbind();
			$(this).focus();
			$(this).parent().removeClass('error');
		});
		$('.error textarea').focus(function(){
			console.log($(this));
			$(this).val("");
			$(this).unbind();
			$(this).focus();
			$(this).parent().removeClass('error');
		});
	});
	
	var timeout;
	function changeSunMoon(){
		clearTimeout(timeout);
		var d = new Date()
		var hour = d.getHours()+1;
		var minutes = d.getMinutes();
		var seconds = d.getSeconds();
		var total = seconds*1000 + minutes*60000;
		var fullhour = 3600000;
		var remainder_time = fullhour - total;
		
		var sec = d.getSe
		
		
		//change opacity to the right level for each stage.
		var cur_opacity = opacitySunMoon(hour);
		$('#morning').css("opacity",cur_opacity.morning);
		$('#noon').css("opacity",cur_opacity.noon);
		$('#evening').css("opacity",cur_opacity.evening);
		$('#night').css("opacity",cur_opacity.night);
		$('#sunmoon').css("top", cur_opacity.top+"px");
		$('#sunmoon').css("left", cur_opacity.left+"%");
		//animate the states until the end of the hour
		var next_opacity = opacitySunMoon(hour+1);
		var delay = 10000000; //determine how long we have left in an hour
		$('#sunmoon').animate({top:next_opacity.top+"px", left:next_opacity.left+"%"},remainder_time ,"swing");
		$('#morning').animate({opacity:next_opacity.morning},remainder_time ,"swing");
		$('#noon').animate({opacity:next_opacity.noon},remainder_time ,"swing");
		$('#evening').animate({opacity:next_opacity.evening},remainder_time ,"swing");
		$('#night').animate({opacity:next_opacity.night},remainder_time ,"swing");
		timeout = setTimeout(changeSunMoon, remainder_time);
		//timeout = setTimeout(changeSunMoon, 4000);
		
	}
	
	function opacitySunMoon(hour){
		var morning_opacity = 0;
		var noon_opacity = 0;
		var evening_opacity = 0;
		var night_opacity = 0;
		var left = 0;
		var top = 0;
		switch(hour){
			case 1:
				morning_opacity = .2;
				noon_opacity = 0;
				evening_opacity = 0;
				night_opacity = .9;
				left = 0;
				top = 73;
				break;
			case 2:
				morning_opacity = .3;
				noon_opacity = 0;
				evening_opacity = 0;
				night_opacity = .8;
				left = 2;
				top = 63;
				break;
			case 3:
				morning_opacity = .4;
				noon_opacity = 0;
				evening_opacity = 0;
				night_opacity = .7;
				left = 4;
				top = 51;
				break;
			case 4:
				morning_opacity = .5;
				noon_opacity = 0;
				evening_opacity = 0;
				night_opacity = .6;
				left = 5;
				top = 40;
				break;
			case 5:
				morning_opacity = .6;
				noon_opacity = 0;
				evening_opacity = 0;
				night_opacity = .5;
				left = 6;
				top = 30;
				break;
			case 6:
				morning_opacity = .7;
				noon_opacity = 0;
				evening_opacity = 0;
				night_opacity = .4;
				left = 7;
				top = 21;
				break;
			case 7:
				morning_opacity = .8;
				noon_opacity = 0;
				evening_opacity = 0;
				night_opacity = .3;
				left = 8;
				top = 13;
				break;
			case 8:
				morning_opacity = .9;
				noon_opacity = 0;
				evening_opacity = 0;
				night_opacity = .1;
				left = 9;
				top = 6;
				break;
			case 9:
				morning_opacity = 1;
				noon_opacity = 0;
				evening_opacity = 0;
				night_opacity = 0;
				left = 10;
				top = 0;
				break;
			case 10:
				morning_opacity = .8;
				noon_opacity = .2;
				evening_opacity = 0;
				night_opacity = 0;
				left = 15;
				top = -23;
				break;
			case 11:
				morning_opacity = .6;
				noon_opacity = .4;
				evening_opacity = 0;
				night_opacity = 0;
				left = 21;
				top = -47;
				break;
			case 12:
				morning_opacity = .4;
				noon_opacity = .6;
				evening_opacity = 0;
				night_opacity = 0;
				left = 28;
				top = -72;
				break;
			case 13:
				morning_opacity = .2;
				noon_opacity = .8;
				evening_opacity = 0;
				night_opacity = 0;
				left = 36;
				top = -98;
				break;
			case 14:
				morning_opacity = 0;
				noon_opacity = .9;
				evening_opacity = 0;
				night_opacity = 0;
				left = 45;
				top = -125;
				break;
			case 15:
				morning_opacity = 0;
				noon_opacity = 1;
				evening_opacity = 0;
				night_opacity = 0;
				left = 50;
				top = -152;
				break;
			case 16:
				morning_opacity = 0;
				noon_opacity = .8;
				evening_opacity = .2;
				night_opacity = 0;
				left = 56;
				top = -120;
				break;
			case 17:
				morning_opacity = 0;
				noon_opacity = .6;
				evening_opacity = .4;
				night_opacity = 0;
				left = 64;
				top = -89;
				break;
			case 18:
				morning_opacity = 0;
				noon_opacity = .4;
				evening_opacity = .6;
				night_opacity = 0;
				left = 72;
				top = -59;
				break;
			case 19:
				morning_opacity = 0;
				noon_opacity = .2;
				evening_opacity = .8;
				night_opacity = 0;
				left = 81;
				top = -29;
				break;
			case 20:
				morning_opacity = 0;
				noon_opacity = 0;
				evening_opacity = 1;
				night_opacity = 0;
				left = 90;
				top = 0;
				break;
			case 21:
				morning_opacity = 0;
				noon_opacity = 0;
				evening_opacity = .7;
				night_opacity = .3;
				break;
			case 22:
				morning_opacity = 0;
				noon_opacity = 0;
				evening_opacity = .5;
				night_opacity = .5;
				left = 91;
				top = 17;
				break;
			case 23:
				morning_opacity = 0;
				noon_opacity = 0;
				evening_opacity = .3;
				night_opacity = .7;
				left = 97;
				top = 54;
				break;
			case 24:
				morning_opacity = 0;
				noon_opacity = 0;
				evening_opacity = 0;
				night_opacity = 1;
				left = 100;
				top = 73;
				break;
		}
		return {morning:morning_opacity, noon:noon_opacity, evening:evening_opacity, night:night_opacity, top:top, left:left};
	}
	function initCloud(cloud){
		var cloud_left = Math.round(Math.random()*$('body').width()) - cloud.width();
		var cloud_top = Math.round(Math.random()*$(document).height()) - cloud.height();
		if(cloud_left < 0) cloud_left = 0; 
		if(cloud_left > $('body').width() - cloud.width() ) cloud_left = $('body').width() - cloud.width() - 10;
		if(cloud_top < 0) cloud_top = 0;
		if(cloud_top > $(document).height() - cloud.height() ) cloud_top = $(document).height() - cloud.height() - 10;
		cloud.css("left", cloud_left+"px");
		cloud.css("top", cloud_top+"px");
	}
	
	var c1timeout;
	var c2timeout;
	var c3timeout;
	
	function animateCloud1(){
		clearTimeout(c1timeout);
		animateClouds($('#cloud1'));
		var delay = Math.round(Math.random()*10000);
		c1timeout = setTimeout(animateCloud1, delay);
	}
	
	function animateCloud2(){
		clearTimeout(c2timeout);
		animateClouds($('#cloud2'));
		var delay = Math.round(Math.random()*15000);
		c2timeout = setTimeout(animateCloud2, delay);
	}
	
	function animateCloud3(){
		clearTimeout(c3timeout);
		animateClouds($('#cloud3'));
		var delay = Math.round(Math.random()*20000);
		c3timeout = setTimeout(animateCloud3, delay);
	}
	
	function animateClouds(cloud){
		var cloud_time = Math.round(Math.random()*100000);
		var cloud_left = Math.round(Math.random()*$('body').width()) - cloud.width();
		var cloud_top = Math.round(Math.random()*$(document).height()) - cloud.height();
		if(cloud_left < 0) cloud_left = 0; 
		if(cloud_left > $('body').width() - cloud.width() ) cloud_left = $('body').width() - cloud.width() - 10;
		if(cloud_top < 0) cloud_top = 0;
		if(cloud_top > $(document).height() - cloud.height() ) cloud_top = $(document).height() - cloud.height() - 10;
		
		cloud.animate({left: cloud_left+"px", top: cloud_top+"px"}, cloud_time, "swing");
	}
	
	$(window).resize(function(){
		animateCloud1();  
		animateCloud2();  
		animateCloud3();  					 
	});