//BEGIN jQuery

$(function(){

	//PROMO SLIDER

	totalPromo = $('#promo_slider div').size();

	xPos = 0;

	currentPromo = 1;

	moose = true;

	autoMoose = true;

	promoDelay = 8000;

	easeIn = 'easeInExpo';

	easeOut = 'easeOutElastic';

	inSpeed = 1000;

	outSpeed = 1000;

	

	$('#promo_nav .next a').click(function(){

		if(moose==true && totalPromo>currentPromo){

			xPos = xPos - 1050;

			currentPromo = currentPromo + 1;

			slideTo(xPos, 'right');

		}else if(moose==true){			

			currentPromo = 1;

			infiniteLoop('right');

		}

		return false;

	});

	

	$('#promo_nav .prev a').click(function(){

		if(moose==true && currentPromo>1){

			xPos = xPos + 1050;

			currentPromo = currentPromo - 1;

			slideTo(xPos, 'left');

		}else if(moose==true){

			currentPromo = totalPromo;

			infiniteLoop('left');

		}

		return false;

	});

	

	function infiniteLoop(dir){

		

		moose = false;

		

		totalX = 1050 - (1050 * totalPromo);

		

		if(dir == 'left'){

			$('#promo_slider').prepend('<div class="promo_content">'+$('#promo_slider div.promo_content:last').html()+'</div>').css({left:-1050}).animate({left:523},inSpeed,easeIn,function(){

				$(this).animate({left:0},outSpeed,easeOut,function(){

					$('#promo_slider').css({left:totalX});

					$('#promo_slider div.promo_content:first').remove();

					moose = true;

				})

			});

			xPos = totalX;

		}else if(dir == 'right'){

			$('#promo_slider').append('<div class="promo_content">'+$('#promo_slider div.promo_content:first').html()+'</div>').animate({left:totalX-523},inSpeed,easeIn,function(){

				$(this).animate({left:totalX-1050},outSpeed,easeOut,function(){

					$('#promo_slider').css({left:0});

					$('#promo_slider div.promo_content:last').remove();

					moose = true;

				});

			});

			xPos = 0;

		}

		

		thumbState(true);

	}

	

	$('#promo_panel').mouseenter(function(){

		$.clearTimer(promoTimer);

	});

	$('#promo_panel').mouseleave(function(){

		autoMagical();

	});

	

	var promoTimer = {};

	

	function autoMagical(){

		promoTimer = $.timer(promoDelay,function(){

			$.clearTimer(promoTimer);

			$('#promo_nav .next a').click();

			autoMagical();

		});

	}

	

	autoMagical();

	

	function slideTo(newX, dir){

		moose = false;

		if(dir == 'left'){

			halfX = newX - 523;

		}else{

			halfX = newX + 523;

		}

		$('#promo_slider').animate({left:halfX},inSpeed,easeIn,function(){

			$(this).animate({left:newX},outSpeed,easeOut,function(){

				moose = true;

			});

		});

		thumbState(true);

	}

	

	

	// THUMB NAV

	

	function thumbNav(){

		

		$this = $('#promo_thumbs');

		t = $('#promo_slider .promo_content').length;

		i = 0;

		e = 'easeInOutCirc';

		s = 300;

		

		$this.append('<ul id="thumbs_nav"></ul>');

		

		$('#promo_slider .promo_content').each(function(){



			if( $(this).hasClass('html') ){

				html = '<a class="herp" href="#' + i + '"><img src="' + $(this).find('.thumb').attr('src') + '" alt="Thumbnail"/></a>';

				$this.children('div').append(html);

			}else{

				html = $(this).html();

				$this.children('div').append(html).children('a:eq(' + i + ')').attr('href','#' + i );
			}

			

			i++;

			

			$('#thumbs_nav').append('<li></li>');

			

			if(i==t){

				$this.find('img').attr('width','160').attr('height','60');

				thumbSlide();

				thumbState(true);

			}
			

		});
		
		// remove rel tag from thumbnail so navigation works
		$('div#promo_thumbs div a').each(function(){
			var lin = $(this).attr('href');
			$(this).removeAttr('rel');


        })
		

		$this.mouseenter(function(){

			$('#promo_slider .promo_content').stop([]).animate({paddingTop:88},s,e);

			$this.stop([]).animate({top:0},s,e);

			thumbState();

			$this.children('.corners').show();

		});


		$this.mouseleave(function(){

			$('#promo_slider .promo_content').stop([]).animate({paddingTop:0},s,e);

			$this.stop([]).animate({top:-88},s,e,function(){

				$this.children('.corners').hide();

			});

			$this.find('a').removeClass('on');

		});

		

		$('#promo_thumbs div a').click(function(){

			if($(this).hasClass('on') || moose == false ) return false;

			$(this).addClass('on').siblings().removeClass('on');

			

			thumbNum = parseFloat($(this).attr('href').substr(1));

			

			xPos = thumbNum * -1050;

			

			if( currentPromo < ( thumbNum + 1 ) ){

				slideTo(xPos, 'right');

			}else{

				slideTo(xPos, 'left');

			}

			

			currentPromo = thumbNum + 1;

			

			thumbState();



			return false;

		});

		

		// When there are more than 4, we need some cool slidy stuffs



		function thumbSlide(){

			w = 182 * t;

			$this.children('div').css({width:w, marginLeft: '-' + Math.ceil( w / 2 ) + 'px'});

		}

		

	}

	

	function thumbState(e){

		$('#thumbs_nav li:eq(' + ( currentPromo - 1 ) + ')').addClass('on').siblings().removeClass('on');

		if( !e ) $('#promo_thumbs div a:eq(' + ( currentPromo - 1 ) + ')').addClass('on').siblings().removeClass('on');

	}

	

	

	if ( $.browser.msie && $.browser.version.substr(0,1) < 7 ){

		$('#promo_thumbs').remove();

	}else{

		thumbNav();

	}

	

//END jQuery

});
