/***********************************************************************************************************************
DOCUMENT: includes/javascript.js
DEVELOPED BY: Ryan Stemkoski
COMPANY: Zipline Interactive
EMAIL: ryan@gozipline.com
PHONE: 509-321-2849
DATE: 3/26/2009
UPDATED: 3/25/2010
DESCRIPTION: This is the JavaScript required to create the accordion style menu.  Requires jQuery library
NOTE: Because of a bug in jQuery with IE8 we had to add an IE stylesheet hack to get the system to work in all browsers. I hate hacks but had no choice :(.
************************************************************************************************************************/
$(document).ready(function() {
	 
	//ACCORDION BUTTON ACTION (ON CLICK DO THE FOLLOWING)
	$('.accordionButton').click(function() {

		//REMOVE THE ON CLASS FROM ALL BUTTONS
		$('.accordionButton').removeClass('on');
		  
		//NO MATTER WHAT WE CLOSE ALL OPEN SLIDES
	 	$('.accordionContent').slideUp('normal');
   
		//IF THE NEXT SLIDE WASN'T OPEN THEN OPEN IT
		if($(this).next().is(':hidden') == true) {
			
			//ADD THE ON CLASS TO THE BUTTON
			$(this).addClass('on');
			  
			//OPEN THE SLIDE
			$(this).next().slideDown('normal');
		 } 
		  
	 });
	
	
	
	/********************************************************************************************************************
	CLOSES ALL S ON PAGE LOAD
	********************************************************************************************************************/	
	$('.accordionContent').hide();

	//Form Slider
	var formNavItems = $("#formNav").children("span"),
		formSlides = $(".formSlide"),
		slidesNum = $(formSlides).length,
		slideWidth = $(formSlides).outerWidth(),
		nextButton = $(".formNext"),
		prevButton = $(".formPrev"),
		slideHolder = $("#slideHolder");
		
	slideHolder.width(parseFloat(slideWidth * slidesNum));

	slideHolder.css("right", parseFloat(slideWidth * (slidesNum-1) * (-1)));

	$(formSlides[0]).addClass("active");
	
	formNavItems.click(function(){
		var clickedIndex = $(this).index(),
			activeIndex = $(".active").index();
		if(activeIndex != clickedIndex){
			var rightChange = parseInt(slideHolder.css("right")) + slideWidth * (clickedIndex - activeIndex);
			$(slideHolder).animate({
					right: rightChange
			}, 500);
			$(formSlides).removeClass("active");
			$(formSlides[clickedIndex]).addClass("active");
		}
	});
	
	nextButton.click(function(){
		var activeIndex = $(".active").index();
		if(activeIndex != slidesNum){
			$(slideHolder).animate({
				right: '+=' + parseFloat(slideWidth)
			}, 500);
			$(formSlides).removeClass("active");
			$(formSlides[activeIndex + 1]).addClass("active");
		}
	});
	prevButton.click(function(){
		var activeIndex = $(".active").index();
		if(activeIndex){
			$(slideHolder).animate({
				right: '-=' + parseFloat(slideWidth)
			}, 500);
			$(formSlides).removeClass("active");
			$(formSlides[activeIndex - 1]).addClass("active");
		}
	});


	//Gallery
	var slides = $("#galSlider").children(),
		slideCount = slides.length,
		holder = $("#slideHolder"),
		activeSlide = 0,
		firstEl = true,
		addThis = " activeNav";
	slides.each(function(i){
		if(!firstEl){
			addThis = "";
		}
		$("#sliderNav").append('<div class="gallerySlideNav">' + (i+1) + '</div>');
		firstEl = false;
	});
	
	$(slides[0]).show();

	$(".gallerySlideNav").live("click", function(){
		var galIndexNum = ($(this).index() - 2);
		$(".activeNav").removeClass('activeNav');
		$(this).addClass('activeNav');
		if(activeSlide != galIndexNum - 1){
			activeSlide = galIndexNum - 1;
			slideSwap(galIndexNum);
		}
	});
	

});



function slideSwap(i){
	var slides = $("#galSlider").children();
	
	slides.fadeOut(1000);
	$(slides[i + 2]).fadeIn(2000);
}



