(function(){
	
	// private function
	var calcParallax = function(tileheight, speedratio, scrollposition) {
		//    by Brett Taylor http://inner.geek.nz/
		//    originally published at http://inner.geek.nz/javascript/parallax/
		//    usable under terms of CC-BY 3.0 licence
		//    http://creativecommons.org/licenses/by/3.0/
		return ((tileheight) - (Math.floor(scrollposition / speedratio) % (tileheight+1)));
	}
	
	$(document).ready(function() {
		// private cached vars
		var field1 = $('#starfield1');
		var field2 = $('#starfield2');
		
		var posYofs = 0;
		var posY=0;

		// page scroll parallax effect
		$(window).scroll(function() {
		    //var posX = (document.documentElement.scrollLeft) ? document.documentElement.scrollLeft : window.pageXOffset;
		    posY = (document.documentElement.scrollTop) ? document.documentElement.scrollTop : window.pageYOffset;
		    
		    if(!posY)
		    	return;
		    	
		    field1.css("background-position", "0 " + calcParallax(200, 8, posY+posYofs) + "px"); 
		    field2.css("background-position", "0 " + calcParallax(480, 4, posY+posYofs) + "px"); 
		});
		
		
		// parallax animation
		var timerId = window.setInterval(function(){
			posYofs += 5;
		    field1.css("background-position", "0 " + calcParallax(200, 8, posY+posYofs) + "px"); 
		    field2.css("background-position", "0 " + calcParallax(480, 4, posY+posYofs) + "px"); 
		}, 50);
		
		// animate back to top
		$('#footer').click(function(){
			$('html, body').animate({scrollTop:0}, 'slow');
		});

		$(document).unload(function() { 
			window.clearInterval(timerId); 
		});
	});

}());
