/**
 *	Configuration.
 **/
//	Banner Rotation.
var rotateBannerInterval		= 6000;
var rotateBannerFadeDuration	= 2000;
var changeBannerFadeDuration	= 1000;
var currentBanner 				= "";
var rotateBannerCalls			= "";


/**
 *	Document ready event.
 **/
$(document).ready(generalDocumentReady);

/**
 *	General document ready.
 **/
function generalDocumentReady()
{
	/**
	 *	Rotate Banner.
	 *	Set interval for rotating header banner.
	 **/
	var banners		= $('#banner').children('.jqBanner');
	var bannerLinks	= $('.jqBennerLink');
	currentBanner	= banners.filter(':visible:last');
	
	/**
	 *	Preload Images.
	 **/
	/*banners.each(function()
				 {
					$("<img>").attr("src", $(this).children("img:first").attr("src"));
				 });*/
	
	if(banners.length > 1)
	{
		$(".bannerImgLinkHover").removeClass("bannerImgLinkHover");
		
		var cookieBannerID	= readCookie('Banner');
		var cookieBanner	= $('#' + cookieBannerID);
		if(cookieBanner.length > 0)
		{
			//	Hide all banners except the last banner from cookie.
			banners.not('#' + cookieBannerID)
				   .css('opacity', 0)
				   .hide();
				   
			currentBanner = cookieBanner;
			
			bannerLinks.eq(banners.index(cookieBanner)).addClass("bannerImgLinkHover");
		}
		else
		{
			//	Hide all banners except the first.
			banners.not(':first')
				   .css('opacity', 0)
				   .hide();
				   
			bannerLinks.eq(0).addClass("bannerImgLinkHover");
		}
		
		rotateBannerCalls = setInterval(rotateBanner, rotateBannerInterval);
	}
	
	bannerLinks.click(changeBanner);
	
	$('.jqMainNav').mouseover(fnmainNavMouseEnter);
}

function fnmainNavMouseEnter()
{
	$('.jqSubnav').hide();
	var current = $(this);

        if (current.hasClass('jqaboutUs' + prefix)) {
		$('.jqKeyaboutUs' + prefix).css("display", "");
	} else if (current.hasClass('jqbenefit' + prefix)) {
		$('.jqKeybenefit' + prefix).css("display", "");
	} else if (current.hasClass('jqproducts' + prefix)) {
		$('.jqKeyproducts' + prefix).css("display", "");
	} else if (current.hasClass('jqstoreLocator' + prefix)) {
		$('.jqKeystoreLocator' + prefix).css("display", "");
	} else if (current.hasClass('jqcontactUs' + prefix)) {
		$('.jqKeycontactUs' + prefix).css("display", "");
	} else if (current.hasClass('jqaccount' + prefix)) {
		$('.jqKeyaccount' + prefix).css("display", "");
	}
	
	/*if (current.hasClass('jqaboutUs' + prefix)) {
		$('.jqKeyaboutUs' + prefix).show(); 
	} else if (current.hasClass('jqbenefit' + prefix)) {
		$('.jqKeybenefit' + prefix).show(); 
	} else if (current.hasClass('jqproducts' + prefix)) {
		$('.jqKeyproducts' + prefix).show(); 
	} else if (current.hasClass('jqstoreLocator' + prefix)) {
		$('.jqKeystoreLocator' + prefix).show(); 
	} else if (current.hasClass('jqcontactUs' + prefix)) {
		$('.jqKeycontactUs' + prefix).show(); 
	} else if (current.hasClass('jqaccount' + prefix)) {
		$('.jqKeyaccount' + prefix).show(); 
	}*/
}


/**
 *	Function to rotate banners.
 **/
function rotateBanner()
{
	//	Select banners.
	if(!this.banners) {
		this.banners = $('#banner').children('.jqBanner');
	}
	
	if(!this.bannerLinks) {
		this.bannerLinks = $('.jqBennerLink');
	}
	
	//	Get the current visible banner.
	/*if(!this.currentBanner){
		this.currentBanner = this.banners.filter(':visible:first');
	}*/
	
	
	//	Get the next banner.
	var nextBanner = currentBanner.next('.jqBanner');
	
	if(nextBanner.length == 0){
		//	If there is no next banner after current banner, take the first banner as next banner to show.
		nextBanner = this.banners.filter(':first');
	}
	
	//	Show the next banner and change the opacity to 1.
	nextBanner.show().stop().animate({'opacity' : 1}, rotateBannerFadeDuration);
	
	//	Change the opacity of the current banner to 0 and then hide it.
	currentBanner.stop().animate({'opacity' : 0}, rotateBannerFadeDuration,	function(){ $(this).hide(); });
	
	$(".bannerImgLinkHover").removeClass("bannerImgLinkHover");
	this.bannerLinks.eq(this.banners.index(nextBanner)).addClass("bannerImgLinkHover");
	
	//	Store next banner as current banner for next banner change.
	currentBanner = nextBanner;
	
	createCookie('Banner', currentBanner.attr('id'));
}

/**
 *	Function to create cokkie.
 **/
function createCookie(name,value,days)
{
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

/**
 *	Function to read cookie.
 **/
function readCookie(name)
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

/**
 *	Function to delete cookie.
 **/
function deleteCookie(name)
{
	createCookie(name,"",-1);
}

function changeBanner()
{
	$(this).blur();
	clearInterval(rotateBannerCalls);
	var nextBannerId	= $(this).attr("href");
	var nextBanner		= $(nextBannerId).show();
	
	if(!this.banners) {
		this.banners = $('#banner').children('.jqBanner');
	}
	
	if(!this.bannerLinks) {
		this.bannerLinks = $('.jqBennerLink');
	}
	
	if(!currentBanner.is(nextBannerId))
	{
		//	Change the opacity of the current banner to 0 and then hide it.
		currentBanner.stop().animate({'opacity' : 0}, changeBannerFadeDuration,	function(){ $(this).hide(); });
		
		//	Show the next banner and change the opacity to 1.
		nextBanner.css({'opacity' : 0}).show().stop().animate({'opacity' : 1}, changeBannerFadeDuration);
		
		$(".bannerImgLinkHover").removeClass("bannerImgLinkHover");
		this.bannerLinks.eq(this.banners.index(nextBanner)).addClass("bannerImgLinkHover");
		
		//	Store next banner as current banner for next banner change.
		currentBanner = nextBanner;
		
		createCookie('Banner', currentBanner.attr('id'));
		
		rotateBannerCalls = setInterval(rotateBanner, rotateBannerInterval);
	}
	
	return false;
}

