// JavaScript Document
var currentSlide = 0;
var numSlides;
var slideShowTime = 4000;
var slideTimer = setInterval(nextSlide,slideShowTime);
$(document).ready
(
 function()
 {
	 numSlides = $('.slide').size();
	$('.slide').each
	(
	 function(i)
	 {
		if(i > 0)
		{
			$(this).css('display','none');	
		}
		
		$('#slideThumbs').append(getThumbHTML(this,$(this).hasClass('productSlide')));
	 }
	 )
	
	highlightThumb(0);
	addHovers(0);
 }
)
function addHovers(num)
{
	$($('.slide').get(num)).bind('mouseover',onSlideHover);
	$($('.slide').get(num)).bind('mouseout',onSlideOut);
}
function removeHovers(num)
{
	$($('.slide').get(num)).unbind('mouseover');
	$($('.slide').get(num)).unbind('mouseout');
}
function nextSlide()
{
	var nextSlideNum = currentSlide == numSlides - 1 ? 0 : currentSlide + 1;
	showSlide(nextSlideNum)
}

function showSlide(num)
{
	if(num != currentSlide)
	{
		$($('.slide').get(currentSlide)).css('z-index',numSlides);
		$($('.slide').get(num)).css('z-index',numSlides - 1);
		$($('.slide').get(num)).css('display','block');
		$($('.slide').get(currentSlide)).fadeOut('slow');
		
		highlightThumb(num)
		
		
		removeHovers(currentSlide);
		addHovers(num);
		
		
		
		currentSlide = num;
	}
}
function onSlideHover(e)
{
	clearInterval(slideTimer);
}
function onSlideOut(e)
{
	slideTimer = setInterval(nextSlide,slideShowTime);
}
function highlightThumb(num)
{
	$('#slideThumbs img').removeClass('current');
	$($('#slideThumbs img').get(num)).addClass('current');
}
function getThumbHTML(slide,isProduct)
{
	
	var img;
	
	if(isProduct)
	{
		img = $($(slide).children('img.productImage').get(0));
		return '<img src="' + img.attr('src') + '" onclick="showSlideFromThumb(this)" />';
	}
	else
	{
		img = $($(slide).children('img').get(0));
		var thumbReg = /([^\/]*)\.(png|jpg|gif)$/;
		var src = img.attr('src');
		var matches = src.match(thumbReg);
		return '<img src="/images/slideshow/thumbs/' + matches[0] + '" onclick="showSlideFromThumb(this)" />';
	}
}
function showSlideFromThumb(thumb)
{
	clearInterval(slideTimer);
	$('#slideThumbs img').each
	(
		function(i)
		{
			if($(this)[0] == thumb)
			{
				showSlide(i);
				return;
			}
		}
	)
	slideTimer = setInterval(nextSlide,slideShowTime);
}
