/*
@description js stuff for Homepage
@author DC
@created 2010-08
@notes Requires jQuery
*/

function bannerTabClick(bannerSelector){
	//remove state from all tabs
	$('.banner_tabs li').removeClass('active');
	//add active state to active tab
	$(bannerSelector.replace('banner', 'tab_banner')).addClass('active');
}

function fieldHint(element){
	$(element).focus(function(){
		if($(this).val() == $(this).attr("alt")){
			$(this).val("");
			$(this).css("color","#333333");
		}else{
			$(this).css("color","#333333");
		}
	});
	$(element).blur(function(){
		if($(this).val() == $(this).attr("alt") || !$(this).val().length){
			$(this).css("color","#888");
			$(this).val($(this).attr("alt"));
		}
	});
	$(element).blur();
}

$(function(){	
	//add ticker next/prev arrows.
	if($('.ticker ul li').length){
		$('.ticker').append('<a href="#" class="previous">&laquo; Previous</a><a href="#" class="next">Next &raquo;</a>');
	}
	//cycle ticker
	$('.ticker ul').cycle({
		fx: 'fade',
		pause:true,
		slideExpr: 'li',
		timeout: 6000,
		speedIn:500,
		speedOut:500,
		next:'.ticker .next',
		prev:'.ticker .previous'
	});
	
	//Add nav to banner
	var topbanners = $('.banner_wrapper .banner');
	if (topbanners.length > 1){
		//make navigation
		$('<div class="banner_tabs_container"><ul class="banner_tabs"></ul></div>').appendTo('.banner_wrapper');
		
		$(topbanners).each(function(index){
			var tablink = $(this).attr('id');
			$('<li id="tab_'+tablink+'"><a href="#'+tablink+'">'+(index+1)+'</a></li>').appendTo('.banner_tabs');
		});
			
		//click first tab by default
		$("#banner_0").addClass("active");
		bannerTabClick('#banner_0');
	};
	
	//cycle banners
	$('.banner_wrapper').cycle({
		fx: 'fade',
		pause:true,
		slideExpr: '.banner',
		timeout: 5000,
		speedIn:500,
		speedOut:500,
		pager: '.banner_tabs',
		pagerAnchorBuilder: function(idx, slide) {  
			return '.banner_tabs li:eq(' + idx + ') a'; 
		},
		after:function(currSlideElement, nextSlideElement, options, forwardFlag){
			bannerTabClick('#'+nextSlideElement.id);
			$('.banner_tabs_container').trigger( 'goto', [nextSlideElement.id.replace(/[^0-9]/g,'')] )
		}
	});
	
	//attach input hints to email signup form
	$('#emailsignup-email, #searchPostcodeBox').each(function(){fieldHint($(this));});
});
