$(document).ready(function() {
	
	positionBg();
	
	//change postion of the striped background depending on screen width and on window resize event
	function positionBg() {
	
		var winW = $(window).width();
		var bgW = $(".bgImg").width();
		var x = (winW-bgW)/2;
		if (winW > bgW) {
			$(".bgImg").css("left", x);
		}
		else {
			$(".bgImg").css("left", 0);	
		}
		
		$(".bgUtilityNav").css("width", (winW-960)/2);
	}

	$(window).resize(function() {
		positionBg();
	});
	
	$(".headerWrap .block-menu a:last, .mainNav > ul > li:last, .awardsInfo div:last, .bucketsWrap div:last").addClass("last");
	$(".div2col:odd, .div3col:last, .div4col:last, .bottomPromo:last, .mediaItem:last").addClass("last");
		
	//Menu drop down active state on hover event
	$(".mainNav ul li div").hover(
		
		function() { $(this).parent().addClass("activeSubNav") },
		
		function() { 
			if($(this).parent().hasClass("selectedItem")){
				return;	
			} else {
				$(this).parent().removeClass("activeSubNav");}
			}
	);
	
	//Margin adjustments for first and last nav items
	$(".mainNav a:first").css("margin-left", "0");
	$(".mainNav > ul > li > a:last").css("margin-right", "0");
	$(".mainNav > ul > li:last .subNav").css({"right":"0" , "left":"auto"});
	
	//padding depending on number on nav items
	var totalWidth = 0;
	var totalMarginL = 0;
	var totalMarginR = 0;
	
	$(".mainNav > ul > li > a").each(function() {
	
		elW = parseInt($(this).css("width"));
		marginL = parseInt($(this).css("margin-left"));
		marginR = parseInt($(this).css("margin-right"));
		
		totalWidth += elW;
		totalMarginL += marginL;
		totalMarginR += marginR;		
		
	});
	
		var ulWidth = parseInt($(".mainNav > ul").width());
		var totalPadding = ulWidth-(totalWidth+totalMarginL+totalMarginR);
		var navItems = $(".mainNav > ul > li > a").length;
		var padding = totalPadding/(navItems*2);
		
		if ( padding > 35) {
			$(".mainNav > ul > li > a").css("padding-left", 35 + "px");
			$(".mainNav > ul > li > a").css("padding-right", 35 + "px");
			$(".mainNav > ul > li:last .subNav").css({"left":"0" , "right":"auto"});
			
		} 
		else {
			$(".mainNav > ul > li > a").css("padding-left", padding + "px");
			$(".mainNav > ul > li > a").css("padding-right", padding + "px");		
		};


	//Two column subnav and last elements styling
	var maxW = 0;
	$(".subNav > ul").each(function() {
	
		$(".subNav > ul > li:last-child > a").css("border", "none");
		
		if ($(this).children("li").length > 3) {
			
			$(this).children("li").each(function() {
				if ($(this).width() > maxW)
				{
					maxW = $(this).width();
				}
			});
		
			$(this).children("li").css("width", maxW + "px");
			$(this).css("width", maxW*2 + "px");
			
			//custom style for subMenu item "schedule"
			$(".subNav > ul > li:first").addClass("schedule").css("width", "100%");
			
			/*if (($(this).children().length)%2 == 0 ) {
				if ( $(this).children("li:first").hasClass("schedule") ) {
					return;	
				}
				else {*/
					var prevLi = $(this).children("li:last").prev().children("a").css("border", "none");
			/*	}
			}*/
		}
	});

	$(".contentBox h2:first").css("padding-top", "0");
	$(".interiorNoImg h2:first").css("padding-top", "25px");
	$(".contentBox .sectionItem h2:first, .mediaItem h2:first").css("padding-top", "0");
	
	//interior navigation alignment
	var elemIndex = 0;
	var colMax = new Array();
	var rowTotal = 0;
	
	//finding the max width of the li elements per column and total width of row
	while ( elemIndex < Math.ceil($(".interiorNav li").length/3) ) {
		
		var li1 = $(".interiorNav li:eq(" + elemIndex + ")").width();
		var li2 = $(".interiorNav li:eq(" + ( elemIndex + 3 ) + ")").width();
		var li3 = $(".interiorNav li:eq(" + ( elemIndex + 6 ) + ")").width();
		
		colMax.push( Math.max(li1, li2, li3) );
		rowTotal += Math.max( li1, li2, li3 );
		elemIndex++;
	};
	
	
	var maxWidth = 0;
	var index = 0;
	var first = 0;
	var last = 0;
	
	//pulling values from css
	var navW = $(".interiorNav").width();
	var liPadding = parseInt($(".interiorNav li").css("padding-right"));
	var liMargin = parseInt($(".interiorNav li").css("margin-right"));
	
	//checking if total row width greater than width of parent container and setting 3 or 2 column grids accordingly
	if (rowTotal < ( navW - (liPadding+liMargin)*2) ) {

		while ( index < Math.ceil($(".interiorNav li").length/3) ) {
		
		//set width for each element in the column to the width of widest element in the column	
		$(".interiorNav li:eq(" + index + "), .interiorNav li:eq(" + ( index + 3 ) + "), .interiorNav li:eq(" + ( index + 6 ) + ")").css("width", colMax[index] + "px" );
		
		//add clear:left property to the first elements of each row and remove margin, padding and border from the last elements in each row
		$(".interiorNav li:eq(" + first + ")").addClass("startItem");
		$(".interiorNav li:eq(" + ( last + 2 ) + ")").addClass("endItem");
		
		index++;
		first = first+3;
		last = last+3;
		
		}
	
	}
	else {
		//in case total row width of 3 columns bigger that parent container make two equal size cols, width set to the widest element
		$(".interiorNav li").each(function() {
			if ($(this).width() > maxWidth)
			{
				maxWidth = $(this).width();
			}
		});
		
		$(".interiorNav li").css("width", maxWidth + "px");
		$(".interiorNav li:even").addClass("startItem");
		$(".interiorNav li:odd").addClass("endItem");
	}
	
	$(".interiorNav li:last").addClass("endItem");
	
	
	//forms behaviour
	//var msg = "";
	$(".form-type-textfield input, .form-type-textarea textarea, .mailchimpForm input").focus(function() {

		$(this).addClass("activeField");
		
		/*var curMsg = $(this).attr("value");
		$(this).attr("value", "");
		msg = curMsg;*/
	});

	$(".form-type-textfield input, .form-type-textarea textarea, .mailchimpForm input").focusout(function() {

		$(this).removeClass("activeField");
		//$(this).attr("value", msg);
	});
	
	$(".form-type-textfield input, .form-type-textarea textarea").change(function() {

		$(this).removeClass("activeField");
		/*var newMsg = $(this).attr("value");
		msg = newMsg;*/
	});
	
	//sidebar promos
	$(".rightCol .block-views ul").each(function() {
		
		$(this).children("li").last().addClass("last");
		
	});
	
	$('a[href$="schedule"]').addClass("linkSchedule");
	
	if ( $(".rightCol .block-views ul li img").length != null ) {
		$(".rightCol .block-views ul li img").parent().parent().addClass("hasImg");
	};
	
	

	//sidebar navigation
	//get link index, use index + 1 to show content
	$( ".sidebar a.local" ).click( function() {
	    $(".descDiv div.local").hide();
	    var idx = 1 + $(this).parent().index();
	    $( ".descDiv div.local:eq(" + idx + ")" ).fadeIn( 'slow' );
	});
	
	$(".descDiv div.local").hide();
	$(".descDiv div.default").show();

	
	//right rail positioning depending on height of the h1+nav
	var topH = $(".landingTop").height();
	var h1P = parseInt( $(".landingPage h1").css("padding-top") ) - 7;
	
	var RRMargin = topH - h1P;
	
	$(".rightCol").css("margin-top", -RRMargin);
	$(".sidebarAddress").parent().parent(".rightCol").css("margin-top", "56px");
	

	//mailchimp sign up form positioning
	$(".updatesBtn, .mc_embed_close, .headerWrap .block-menu .last").attr("href", "javascript:void(0)");
	$(".mailchimpForm").hide();
	
	//positioning form under Updates Button
	if ($(".updatesBtn").length > 0) {
		
	var btnH = $(".updatesBtn").height();
	var btnP = parseInt($(".updatesBtn").css("padding-top"));
	var x = $(".updatesBtn").offset().left;
	var y = $(".updatesBtn").offset().top;
	
	$(".updatesBtn").click( function() {
		$(".mailchimpForm").removeClass("navForm");
		
		if( $(this).parent().hasClass("updatesBtnWrap") ) {
			$(".mailchimpForm").css({ "left" : x - 43 , "top" : y + btnH + btnP - 5 });//43 to account for smaller width and 5 is calculated out of the shadow that button has
		}
		else {
			$(".mailchimpForm").css({ "left" : x + 6 , "top" : y + btnH + btnP - 5 });//6 and 5 are calculated out of the shadow that button has
		}
		
		$(".mailchimpForm").slideToggle();
	});
	
	};
	
	//positioning form under Get Updates link in the utility nav
	var linkH = $(".bgUtilityNav").height();
	var x1 = $(".bgUtilityNav").offset().left;
	var y1 = $(".bgUtilityNav").offset().top;
	
	$(".subscribeLink").click( function() {
		$("html, body").animate({scrollTop:0}, 700);
		$("#mce-EMAIL").focus();
	});
	
	$(".headerWrap .block-menu .last, .subscribeLink").click( function() {
		$(".mailchimpForm").addClass("navForm");
		$(".mailchimpForm").css({ "left" : x1 - 290 , "top" : y1 + linkH - 3 }); //290 is calculated based on width and padding of the form
		$(".mailchimpForm").slideToggle();
	});
	
	//closing form
	$(".mc_embed_close").click( function() {
		$(".mailchimpForm").slideToggle();
	});
	
	$(".contentBoxWrap a").each( function(i) {
	    var href = $(this).attr( "href" );
	    if( href == undefined ) return; 
	    
	    //set all external links to target _blank
	    if( href.indexOf( "://" ) != -1 && href.indexOf( "bodyboatblade.com" ) == -1 )
        {
	        $(this).attr( 'target', "_blank" );
        }
	    
	    if( href.indexOf( "/classes/class" ) != -1 )
	    {
	        $(this).attr( 'href', href + "?ajax=true" );
	        $(this).colorbox( { innerWidtht: "960px", innerHeight: "340px" } );
	    }
	})
	
	//$(".sectionItemLinks").each(function() {
			$(".sectionItemLinks a:last-child").addClass("bottomLink");
			$(".schedule .sectionItemLinks a").addClass("bottomLink");
			$(".schedule .sectionItemLinks a:first-child").removeClass("bottomLink");			
	//});


	$(".div2col:even").each( function() {

	var firstH = $(this).height();
	var lastH = $(this).next().height();
	
	var maxH = Math.max(firstH, lastH);
	
	$(this).css("height", maxH + 30);
	$(this).next().css("height", maxH + 30);
	
	});
	
	//removing margin-left for news items description
	$(".sectionItemContent").each(function() {
		if( $(this).prev("div").hasClass("floatLeft") ) {
			$(this).css("margin-left", "0");
		}
	});
	
	
	$('#mycarousel').jcarousel();
	
	$(".bottomPromo").parent(".div3col").addClass("promoWrap");
	

	//active state for thumbnails on product page
	$(".imgWrap li a").click( function() {
		
		if( $(this).hasClass("active") ) {
			return;
		}
		else {
			$(".imgWrap li a").removeClass("active");
			$(this).addClass("active");		
		}
	});
	
	//photo slideshow
	$('a.gallery').colorbox({rel:'gal', width: '600px', height: '600px'});
	$('a.gallery').parent('#cboxContent').css('background', '#fcfcfc');
});
