$(document).ready(function(){
	
	$(this).initBody(); // body classes
	$(this).formInit(); // append class depending on type of input
	$(this).firstLastChild(); // appends class to first and list children of lists, td and th elements
	$(this).evenOddChild(); // appends class to odd and even list children of lists, td and th elements
	$(this).brokenImage(); // hides broken images
	
	//$(this).markExtLink('out'); // marks external links : options 'in' or 'out' depending where tha marker has to be related to the link
	
	redrawDotNav();
	parallaxScroll();
	
	/* Scroll event handler */
    $(window).bind('scroll',function(e){
    	parallaxScroll();
		redrawDotNav();
    });
	
	/* Next/prev and primary nav btn click handlers */
	$('nav a, .to-top').click(function(){
		var scrTo = $(this).attr('href');
    	$('html, body').animate({
    		scrollTop:$(scrTo).offset().top
    	}, 1000, function() {
	    	parallaxScroll(); // Callback is required for iOS
		});
    	return false;
	});
	
	/* Show/hide dot lav labels on hover */
    $('nav a').hover(
    	function () {
			$(this).prev('h1').show();
		},
		function () {
			$(this).prev('h1').hide();
		}
    );
	
	Cufon.replace('p, .contact, label, #navigation h1');
	
});

/* Scroll the background layers */
function parallaxScroll(){
	var scrolled = $(window).scrollTop();
	
	
	// HAMMER
	$('#hammer article').css('top',(0-(scrolled*.25))+'px');
	$('#hammer').css('background-position', 'center '+(0-(scrolled*.8))+'px');
	
	// HAMMER SLOGAN
	$('#hammer-slogan').css('background-position', 'center '+(0-(scrolled*.115))+'px');
	
	// HAMMER TEAM
	$('#hammer-team').css('background-position', 'center '+(0-(scrolled*.18))+'px');
	
	// HAMMER CONTACT
	$('#hammer-contact').css('background-position', 'center '+(0-(scrolled*.34))+'px');
	
	// BUBBLE
	$('#bubbles').css('background-position', 'center '+(0-(scrolled*.95))+'px');
	$('body').css('background-position', 'center '+(0-(scrolled*.888))+'px');
	
	// FIGURE IMAGES
	if (scrolled >= $('#hammer-team').offset().top) {
		
		$('#square-1-1').css('top',(0-((scrolled-2160)*.27))+'px');
		$('#square-1-1').css('left',(0-((scrolled-2160)*.173))+'px');
		
		$('#square-1-2').css('top',(0-((scrolled-2160)*.41))+'px');
		$('#square-1-2').css('left',(235-((scrolled-2160)*.1))+'px');
		
		$('#square-1-3').css('top',(0-((scrolled-2160)*.49))+'px');
		$('#square-1-3').css('left',(471+((scrolled-2160)*.13))+'px');	
		
		$('#square-1-4').css('top',(0-((scrolled-2160)*.29))+'px');
		$('#square-1-4').css('left',(706+((scrolled-2160)*.127))+'px');
		
		
		$('#square-2-1').css('top',(234-((scrolled-2160)*.143))+'px');
		$('#square-2-1').css('left',(0-((scrolled-2160)*.273))+'px');
		
		$('#square-2-2').css('top',(234-((scrolled-2160)*.251))+'px');
		$('#square-2-2').css('left',(235-((scrolled-2160)*.246))+'px');
		
		$('#square-2-3').css('top',(234-((scrolled-2160)*.62))+'px');
		$('#square-2-3').css('left',(471+((scrolled-2160)*.32))+'px');	
		
		$('#square-2-4').css('top',(234-((scrolled-2160)*.19))+'px');
		$('#square-2-4').css('left',(706+((scrolled-2160)*.442))+'px');
		
		
		$('#square-3-1').css('top',(467-((scrolled-2160)*.243))+'px');
		$('#square-3-1').css('left',(0-((scrolled-2160)*.573))+'px');
		
		$('#square-3-2').css('top',(467-((scrolled-2160)*.291))+'px');
		$('#square-3-2').css('left',(235-((scrolled-2160)*.346))+'px');
		
		$('#square-3-3').css('top',(467-((scrolled-2160)*.62))+'px');
		$('#square-3-3').css('left',(471+((scrolled-2160)*.42))+'px');	
		
		$('#square-3-4').css('top',(467-((scrolled-2160)*.49))+'px');
		$('#square-3-4').css('left',(706+((scrolled-2160)*.342))+'px');	
		
		
		$('#square-4-1').css('top',(700-((scrolled-2160)*.143))+'px');
		$('#square-4-1').css('left',(0-((scrolled-2160)*.273))+'px');
		
		$('#square-4-2').css('top',(700-((scrolled-2160)*.251))+'px');
		$('#square-4-2').css('left',(235-((scrolled-2160)*.246))+'px');
		
		$('#square-4-3').css('top',(700-((scrolled-2160)*.62))+'px');
		$('#square-4-3').css('left',(471+((scrolled-2160)*.32))+'px');	
		
		$('#square-4-4').css('top',(700-((scrolled-2160)*.19))+'px');
		$('#square-4-4').css('left',(706+((scrolled-2160)*.442))+'px');					
	} else {
		$('#square-1-1').css('top',0);
		$('#square-1-1').css('left',0);
		
		$('#square-1-2').css('top',0);
		$('#square-1-2').css('left',235);
		
		$('#square-1-3').css('top',0);
		$('#square-1-3').css('left',470);	
		
		$('#square-1-4').css('top',0);
		$('#square-1-4').css('left',705);
		
		
		$('#square-2-1').css('top',234);
		$('#square-2-1').css('left',0);
		
		$('#square-2-2').css('top',234);
		$('#square-2-2').css('left',235);
		
		$('#square-2-3').css('top',234);
		$('#square-2-3').css('left',471);	
		
		$('#square-2-4').css('top',234);
		$('#square-2-4').css('left',705);
		
		
		$('#square-3-1').css('top',467);
		$('#square-3-1').css('left',0);
		
		$('#square-3-2').css('top',467);
		$('#square-3-2').css('left',235);
		
		$('#square-3-3').css('top',467);
		$('#square-3-3').css('left',471);	
		
		$('#square-3-4').css('top',467);
		$('#square-3-4').css('left',705);	
		
		
		$('#square-4-1').css('top',700);
		$('#square-4-1').css('left',0);
		
		$('#square-4-2').css('top',700);
		$('#square-4-2').css('left',235);
		
		$('#square-4-3').css('top',700);
		$('#square-4-3').css('left',471);	
		
		$('#square-4-4').css('top',700);
		$('#square-4-4').css('left',705);
		
	}
	
}

/* Set navigation dots to an active state as the user scrolls */
function redrawDotNav(){
	var section1Top =  0;
	// The top of each section is offset by half the distance to the previous section.
	var section2Top =  $('#hammer-slogan').offset().top - (($('#hammer-team').offset().top - $('#hammer-slogan').offset().top) / 2);
	var section3Top =  $('#hammer-team').offset().top - (($('#hammer-contact').offset().top - $('#hammer-team').offset().top) / 2);
	var section4Top =  $('#hammer-contact').offset().top - (($(document).height() - $('#hammer-contact').offset().top) / 2);;
	$('nav#primary a').removeClass('active');
	if($(document).scrollTop() >= section1Top && $(document).scrollTop() < section2Top){
		$('nav a').removeClass('active');
		$('nav a.hammer').addClass('active');
	} else if ($(document).scrollTop() >= section2Top && $(document).scrollTop() < section3Top){
		$('nav a').removeClass('active');
		$('nav a.hammer-slogan').addClass('active');
	} else if ($(document).scrollTop() >= section3Top && $(document).scrollTop() < section4Top){
		$('nav a').removeClass('active');
		$('nav a.hammer-team').addClass('active');
	} else if ($(document).scrollTop() >= section4Top){
		$('nav a').removeClass('active');
		$('nav a.hammer-contact').addClass('active');
	}
	
}

