/*
@description js stuff for Homepage
@author Victoria Chan
@created 2008-03
Notes: Requires jQuery, jquery.dimensions
*/

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(){
	
	//count total items in accordion
	$('ul#sections').accordion({
		autoheight: false,
		header: 'h3',
		event: 'mouseover',
		speed:50,
		showSpeed: 'fast',
		hideSpeed: 'fast'
	});
	$('ul#sections').show();
	$('ul#sections').accordion("activate", Math.floor(Math.random()*$('ul#sections li').length));
	
	//cycle featured animals
	$('.animals').cycle({
		fx: 'fade',
		pause:true,
		slideExpr: '.animalDetails',
		timeout: 6000,
		speedIn:1000,
		speedOut:1000
	});
	
	//Add tabs to banner
	var topbanners = $('.banner_wrapper .banner');
	
	if (topbanners.length > 1){
		//make tabs
		if (topbanners.length >3){
			pagination='<div class="next"><a href="##">Next</a></div><div class="previous"><a href="##">Previous</a></div>';
			style='width:'+ topbanners.length*150+'px';
		}else{
			pagination='';
			style='';
		}
		$('<div class="banner_tabs_positioner">'+pagination+'<div class="banner_tabs_container"><ul class="banner_tabs" style="'+style+'"></ul></div></div>').appendTo('.banner_wrapper');
		
		$(topbanners).each(function(){
			var tablink = $(this).attr('id');
			$('<li id="tab_'+tablink+'"><a href="#'+tablink+'">'+$(this).find('h2').text()+'</a></li>').appendTo('.banner_tabs');
		});
			
		if (topbanners.length > 3){
			//set up serialscroll on tabs, if more than 3 exist
			$('.banner_tabs_container').serialScroll({
				items:'li',
				step:3
			}).addClass("scrolled");
		}

		//click first tab by default
		$("#banner_0").addClass("active");
		bannerTabClick('#banner_0');
	};
	
	//start cycling of banners
	$('.banner_wrapper').cycle({
		fx: 'fade',
		pause:true,
		slideExpr: '.banner',
		timeout: 5000,
		speedIn:500,
		speedOut:500,
		next:'.banner_tabs_positioner .next a',
		prev:'.banner_tabs_positioner .previous a',
		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,'')] )
		}
	});
});
