/// <reference path="jquery-1.5.2-vsdoc.js" />
var beerMenuMoving = false;
var footCutoffPoint = 500;
$(document).ready(function() {

	$('#nav li.n1').hover(function() {
		if (!beerMenuMoving) {
			beerMenuMoving = true;
			$('.beers').slideDown(300,
			function() {
				beerMenuMoving = false;
			});
		}
	},
	function() {
		beerMenuMoving = true;
		$('.beers').slideUp(200,
		function() {
			beerMenuMoving = false;
		});
	});


	// on page load, set the Scroll Nav to the vert middle of the browser page
	setVertPosition();
	setFooterPosition();
	// on page resize, set the Scroll Nav to the vert middle of the browser page
	$(window).resize(function() {
		setVertPosition();
		setFooterPosition();
		if ($('#location-search')) {
			setSearchBarPosition();
		}
	});

	// apply the accordion set up
	//applyAccordion();

	dE.className = dE.className.replace('jsPre', 'jsPost');
	var $scrollingDiv = $("#footer");

	$(window).scroll(function() {
		setFooterPosition();
		if ($('#location-search')) {
			setSearchBarPosition();
		}
	});

	// set initial footer position
	setFooterPosition();

	// set the initial location search bar position
	if ($('#location-search')) {
		setSearchBarPosition();
	}

	// show / hide the sub footer forms

	// client login
	$('#footer .content .links li a#ctl04_lvFooterNavLeft_hypNavLink_1').click(function (event) {
		event.preventDefault();
		showSubFooterForm($('#footer #client-login-frm'));
	});
	//site search
	$('#footer .content .links li a#ctl04_lvFooterNavLeft_hypNavLink_5').click(function (event) {
		event.preventDefault();
		showSubFooterForm($('#footer #search-frm'));
	});
});

// set the position of the Scroll Nav to be 1/2 way down the browser window
function setVertPosition() {
		var maxTop = 424;
		var minTop = 70;
		if ($('#subNav') ) {
			minTop = 120
		}
	if ($('.scrollNav')){
		var verticalCentreSN = (Math.floor($(window).height() / 2)) - ($('.scrollNav').height() / 2);
		if (verticalCentreSN > maxTop){
			verticalCentreSN = maxTop;
		} else if (verticalCentreSN < minTop){
			verticalCentreSN =  minTop;
		} 
		$('.scrollNav').css({
			top: verticalCentreSN + 'px'
		});
		$('.scrollNav').css({
			visibility: "visible"
		});
	}
	if ($('.introblock')){
		var verticalCentreIBAdjust = 30; // move the block up by this amount
		var verticalCentreIB = ((Math.floor($(window).height() / 2)) - ($('.introblock').height() / 2)) - verticalCentreIBAdjust;
		if (verticalCentreIB > maxTop){
			verticalCentreIB = maxTop;
		} else if (verticalCentreIB < minTop){
			verticalCentreIB =  minTop;
		}

		// If we have the new scrolling thumbnail panel this needs to move up the page
		if ($('#scrollerThumbnailsScroller').length > 0) {
			$('.introblock').css({ top: '130px', display: 'block' });
		} else {
			$('.introblock').css({ top: verticalCentreIB + 'px', display: 'block' });
		}

	}
}

function applyAccordion() {
	// product data accordion 
	if ($(".accordion-wrapper").length) {
		$(".accordion-data").hide();

		$(".accordion-title").each(function() {
			$(this).html('<a href="#" class="closedExpand">' + $(this).text() + '</a>');
		});

		$(".accordion-wrapper .accordion-title a").click(function() {
			//cycle through all accordion data a close any open
			$(".accordion-wrapper .accordion-data").each(function() {
				//console.log($(this).css('display'));
				if ($(this).css('display') == 'block') {
					$(this).slideToggle();
				}
			});
			// reset all the link css class
			$(".accordion-wrapper .accordion-title a").each(function() {
				$(this).removeClass('expand');
			});
			// set the current a class
			if ($(this).parent(".accordion-title").length) {
				$(this).toggleClass("expand");
			}
			// open this data
			$(this).parent().next().slideToggle();
			return false;
		});
		// set the first to default open
		$(".accordion-wrapper .accordion-title.first a").addClass("expand");

		//$(".accordion-wrapper .accordion-title.first").next().slideToggle();
		// C2 - don't want the animation when it loads - uncomment above to restore
		$(".accordion-wrapper .accordion-title.first").next().show();
	}

}

function setFooterPosition() {
	// work out where to put the footer, between 500 px from top and the bottom of the browser window.
	var footer_height = 42;
	var footCutoffPoint = 500;
	var offset = 0;
	if ($('#map_canvas')) {
		footCutoffPoint += (($('#map_canvas').height() / 2) - 50);
	}
	// include the sub footer forms if showing
	if ($('#footer #search-frm').css('display') == "block") {
		offset = $('#footer #search-frm').height();
	}
	if ($('#footer #client-login-frm').css('display') == "block") {
		offset = $('#footer #client-login-frm').height();
	}
	var footerPostionTop = $(window).height() - (footer_height + offset) + $(window).scrollTop();
	var footPostition = (footerPostionTop > footCutoffPoint) ? footerPostionTop: footCutoffPoint;
	$('#footer').css({
		top: footPostition + 'px',
		position: 'absolute',
		height: (footer_height + offset) + 'px'
	});
}

function setSearchBarPosition() {
	// work out where to put the search bar from the position of the footer.
	//var addMapHeight = ($("#map_canvas").css("display") == 'block') ? $('#map_canvas').height() : 0;
	var addMapHeight = $('#map_canvas').height();
	var footerPosition = $('#footer').offset();
	var footerPositionTop = footerPosition.top;
	var searchBarHeight = $('#location-search').height();
	//var searchBarPaddingTop = parseInt($('#location-search').css("padding-top"));
	//var searchBarPositiontop = footerPositionTop - (searchBarHeight + searchBarPaddingTop + addMapHeight);
	//searchBarPositiontop = (searchBarPositiontop < 160) ? 160 : searchBarPositiontop;
	searchBarPositiontop = (footerPositionTop - searchBarHeight);
	//console.log('footer:' + footerPositionTop + ' - search bar top : ' + searchBarPositiontop + ' search bar height : ' + searchBarHeight);
	$('#location-search').css({
		top: searchBarPositiontop + 'px',
		position: 'absolute'
	});
}

function showSubFooterForm(form) {
	
	$('#footer #search-frm').css({
		display: 'none'
	});
	$('#footer #client-login-frm').css({
		display: 'none'
	});

	$(form).css({
		display: 'block'
	});
	// resize the footer bar
	setFooterPosition()
}

