var highlightIndex = 0;
var numHighlights = 0;
var switchAnimTimeout = null;

$(function(){
        numHighlights = $('#ulHomeHighlights>li').length;
	$('#divHighlightsNav').hide();
	$('.divHighlightDetails').hide();
	$('.imgHighlightImg, .ulHighlightImgs img').hide();
	
	$('#ulHomeHighlights>li').each(function(){
		$(this).css({position: 'absolute', left: 930 * highlightIndex, top: 0, display: 'block'});
		
		highlightIndex ++;		
	});
	highlightIndex = 0;
	
	setTimeout('StartHightlights()',500);
	
	$('#divHighlightsNav a:first img').hover(function(){
		var src = $(this).attr('src');
		src = src.replace('arrow-left.png','arrow-left-active.png');
		$(this).attr('src',src);
	},function(){
		var src = $(this).attr('src');
		src = src.replace('arrow-left-active.png','arrow-left.png');
		$(this).attr('src',src);
	});
	$('#divHighlightsNav a:last img').hover(function(){
		var src = $(this).attr('src');
		src = src.replace('arrow-right.png','arrow-right-active.png');
		$(this).attr('src',src);
	},function(){
		var src = $(this).attr('src');
		src = src.replace('arrow-right-active.png','arrow-right.png');
		$(this).attr('src',src);
	});
	
	$('#divHighlightsNav a').click(function(){
		
		if($(this).parent().hasClass('active')){
			return false;
		}else if($(this).parent().hasClass('first')){
			highlightIndex --;
			clearAnimationTimeout();
			SwitchHighlight(highlightIndex);
		}else if($(this).parent().hasClass('last')){
			highlightIndex++;
			clearAnimationTimeout();
			SwitchHighlight(highlightIndex);
		}else{
			var index = $('#divHighlightsNav a').index(this) - 1;
			clearAnimationTimeout();
			SwitchHighlight(index);
		}
		
		return false;
	});
});

function StartHightlights(){
	ShowNavBar();
	
	var hlImg = $('#ulHomeHighlights .active .imgHighlightImg');
	if(hlImg.length == 0){
		var hlImgs = $('#ulHomeHighlights .active .ulHighlightImgs img, #ulHomeHighlights .ulHighlightImgs .background');
		var delay = 1000;
		hlImgs.each(function(){
			$(this).css({display: 'none'});
			delay += 200;
			$(this).delay(delay).fadeIn('slow','easeOutExpo',function(){
				if(hlImgs.index(this) == hlImgs.length - 1){
					$('#ulHomeHighlights .active .divHighlightDetails').delay(600).fadeIn('slow',function(){
						switchAnimTimeout = setTimeout('SwitchHighlight()',7000);
					});
				}
			});
		});
	}else{	
		hlImg.css({opacity: 0,display: 'block'});
		var hlImgTop = hlImg.position().top;
		hlImg.css({top: 150}).delay(1000).animate({opacity: 1, top: hlImgTop}, 1000, 'easeOutExpo',function(){
			$('#ulHomeHighlights .active .divHighlightDetails').delay(600).fadeIn('slow',function(){
				switchAnimTimeout = setTimeout('SwitchHighlight()',7000);
			});
		});
	}
}

function SwitchHighlight(index){
	clearAnimationTimeout();
	
	$('#ulHomeHighlights .active .imgHighlightImg').stop(true,true).delay(200).fadeOut();
	var delay = 0;
	$('#ulHomeHighlights .active .ulHighlightImgs img, #ulHomeHighlights .ulHighlightImgs .background').each(function(){
		delay += 100;
		$(this).stop(true,true).delay(delay).fadeOut();
	});
	
	$('#ulHomeHighlights .active .divHighlightDetails').stop(true,true).fadeOut('normal',function(){
		if(index == undefined){		
			highlightIndex ++;
		}else{
			highlightIndex = index;
		}
		
		var animationLength = 1200;
		var animationEasing = 'easeInQuint';
		
		if(highlightIndex >= numHighlights){
			highlightIndex = 0;
			animationLength = 2000;
			animationEasing = 'easeInOutBack';
		}else if (highlightIndex < 0){
			highlightIndex = (numHighlights - 1);
			animationLength = 2000;
			animationEasing = 'easeInOutBack';
		}
		
		$('#divHighlightsNav .active').removeClass('active');
		$('#ulHomeHighlights').stop(true,false).animate({left: (highlightIndex * -930)},animationLength,animationEasing,function(){
			$('#ulHomeHighlights .active').removeClass('active');
			$('#ulHomeHighlights > li:eq('+highlightIndex+')').addClass('active');
			$('#divHighlightsNav li:eq('+(highlightIndex + 1)+')').addClass('active');
			StartHightlights();
		});
	});
}
function clearAnimationTimeout(){
	if(switchAnimTimeout != null){
		clearTimeout(switchAnimTimeout);
		switchAnimTimeout = null;
	} 
}
function ShowNavBar(){
	$('#divHighlightsNav').slideDown('normal','easeOutQuint');
}
