﻿/* Slideshow */
// jQuery Dependent

/* Usage:

// Slide object:
var mySlide = {
	id:"homePromo", 
	time:5, 
	itemsClass:"slideZone",
	navClass:"slideNav",
	current:0, count:0, i:null };

startSlide(mySlide);

// Go to number, number starting from 1, resets the timer
function mySlideGo(num) {
	goSlide(num-1, mySlide, true);
}

*/

var slideShows={};

function startSlide(slideObject) {
	// Init first visible, hide others
	var jScope = getSlideScope(slideObject);
	
	
	// INIT
	if(!slideShows[slideObject.id]) {
		$(jScope+" a").css({ display:"none" });
		$(jScope+" a:first").css({ display:"block" });
		
		slideShows[slideObject.id]=slideObject;
		slideObject.count = $(".slideZone a").length;
		
		updateSlideNav(slideObject);
	}
	
	slideObject.i=window.setInterval('slideNext(slideShows.'+slideObject.id+')', promoSlide.time*1000);
}

function goSlide(num, slideObject, doReset) {
	var last=slideObject.current;
	var next=num;
	if(next<0) next = slideObject.count;
	if(next>=slideObject.count) next=0;
	
	var jScope = getSlideScope(slideObject);
	
	$(jScope+" a:eq("+last+")").css({ display:"none" });
	$(jScope+" a:eq("+next+")").css({ display:"block" });
	slideObject.current = next;
	slideObject.last = last;
	
	updateSlideNav(slideObject);
	
	if(doReset==true) resetSlide(slideObject);
}

function slideNext(slideObject) {
	goSlide(slideObject.current+1, slideObject, false);
}

function resetSlide(slideObject) {
	window.clearInterval(slideObject.i)
	startSlide(slideObject);
}

function getSlideScope(slideObject) {
	return "#"+slideObject.id+" ."+slideObject.itemsClass;
}

// Slideshow navigation
function updateSlideNav(slideObject) {
	var jScope = getSlideNavScope(slideObject);
	$(jScope+" a:eq("+slideObject.last+")").removeClass("active");
	$(jScope+" a:eq("+slideObject.current+")").addClass("active");
}

function getSlideNavScope(slideObject) {
	return "#"+slideObject.id+" ."+slideObject.navClass;
}

