jQuery(document).ready(function(){
	jQuery('#screenshots a').fancyZoom( {closeOnClick: true});
	
	/* BINDINGS */
	
	var hoverdiv = jQuery('<div id="screenshot_hover"></div>');
	
	jQuery('.screenshot a').hover(
		function(){
			jQuery(this).prepend(hoverdiv);
		},
		function(){
			hoverdiv.remove();
		});
	
	/*jQuery('#screenshot_hover').live('click', function(){
		jQuery(this).siblings('a').click(); 
	})*/
	
	function getTransformProperty(element) {
	    var properties = ['transform', 'WebkitTransform', 'MozTransform'];
	    var p;
	    while (p = properties.shift()) {
	        if (typeof element.style[p] != 'undefined') {
	            return p;
	        }
	    }
	    return false;
	}
	
	var div = document.getElementById('sun');
	var property = getTransformProperty(div);
	if (property) {
	    var d = 0;
	    setInterval(
	        function () {
	            div.style[property] = 'rotate(' + (d++ % 360) + 'deg)';
	        },
	        50
	    );
	}
	
	var getSpeed = function(skycount) {
		var returnval;
		switch (skycount) {
			case 1:
				returnval = 19000; break;
			case 2:
				returnval = 25000; break;
			case 3:
				returnval = 30000; break;
			default:
				returnval = 19000; break;
		}
		return returnval;
			
	}
	
	var validate = function(text){
		var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
		if (!filter.test(email.value)) {
			return false
		}
		return true
	}
	
	var createSkyWithParameters = function(offsetx, offsety, speed){
		// create the sky
		var skynumber = Math.floor(Math.random()*4);
		var topOffset = Math.floor(Math.random()*101);
		getSpeed(skynumber);
		jQuery('<img src="images/sky' + skynumber + '.png" id="sky" />')
			.css({
				'top' : offsetx + 'px',
				'left' : offsety +'px',
				'opacity' : 0 
			})					
			.prependTo("#top")
			.animate({'opacity' : 1}, 500)
			.animate({
				'left' : jQuery(document).width() - 160
			}, speed , function(){
				jQuery(this).fadeOut(1200, function(){
					jQuery(this).remove();
				});
			});
	}
	var createSky = function(){
		// create the sky
		var skynumber = Math.floor(Math.random()*4);
		var topOffset = Math.floor(Math.random()*101);
		
		
		jQuery('<img src="images/sky' + skynumber + '.png" id="sky" />')
			.css({
				'top' : topOffset + 'px',
				'left' : '5px',
				'opacity' : 0 
			})					
			.prependTo('#top')
			.animate({'opacity' : 1}, 500)
			.animate({
				'left' : jQuery(document).width() - 160
			}, getSpeed(skynumber), function(){
				jQuery(this).fadeOut(1200, function(){
					jQuery(this).remove();
				});
			});
			
	}
	createSky();
	createSkyWithParameters(100, 500, 19000);
	createSkyWithParameters(70, 800, 12000);
	setInterval(function(){
		createSky();
	}, 8000)
	
	jQuery('#email').bind('blur', function(){
		jQuery('#email').removeClass('error');
	});
	jQuery('#email').bind('focus', function(){
		jQuery(this).val('');
	});	
		
	
	jQuery('#send').bind('click', function(){
		if (validate(jQuery('#email').val())) {
			jQuery.post('store_mail.php?email=' + jQuery('#email').val(), function(){				
				jQuery('#form').slideUp(600, function(){
					setTimeout(function(){
						jQuery('#thankyou').fadeIn(300);
						jQuery('#thankyou h1').fadeIn(300, function(){
							setTimeout(function(){
								jQuery('#thankyou p').fadeIn(300);
							}, 300)
						});
					},100);					
				});
			});
		} else {
			jQuery('#email').addClass('error')
		}
		
		return false;
	});
	
});