UAJS.HeroSlideShow = (function ()
{
	var that = {};
	var slideshow_is_playing = true;
	var max_z;
	var min_z;
	var number_of_slides;
	var current_slide = 0;
	var transition_time;
	var time_value;
	var timer;
	
	that.init = function(number0fSlides, minZ, maxZ, timeValue, transitionTime)
	{
		number_of_slides = number0fSlides;
		min_z = minZ;
		max_z = maxZ;
		time_value = timeValue;
		transition_time = transitionTime;
		
		$(".slideshow_numeric_link").click(function()
		{
			var linkIndex = parseFloat($(this).attr("id").replace(/\D/g,''));
			if (linkIndex+1  == current_slide) return;
			if (linkIndex  == number_of_slides-1 && current_slide == 0) return;
			timer = clearTimeout(timer);
			that.playSlideShow(linkIndex);
		});

		$('#slideshow_control_play_pause').click(function()
		{
			that.toggleSlideShowPause();
		});

		$("#slideshow_control_0").removeClass("slideshow_control_hide");
		$("#slideshow_control_1").removeClass("slideshow_control_hide");
		$("#slideshow_control_2").removeClass("slideshow_control_hide");
		$("#slideshow_control_3").removeClass("slideshow_control_hide");
		$("#slideshow_control_play_pause").removeClass("slideshow_control_hide");
		$("#slideshow_option_shadows").removeClass("slideshow_control_hide");
		
		that.playSlideShow();
	}

	that.toggleSlideShowPause = function()
	{
		slideshow_is_playing = !slideshow_is_playing;
	
		if (slideshow_is_playing)
		{
			$('#slideshow_control_play_pause').addClass("slideshow_control_pause");
			$('#slideshow_control_play_pause').removeClass("slideshow_control_play_active");
			timer = setTimeout ("UAJS.HeroSlideShow.playSlideShow()",1000);
		}
		else
		{
			$('#slideshow_control_play_pause').addClass("slideshow_control_play_active");
			$('#slideshow_control_play_pause').removeClass("slideshow_control_pause");
			timer = clearTimeout(timer);
		}
	}

	that.playSlideShow = function(idx)
	{
		var selected_z;

		if (idx != null)
		{
			current_slide = idx;	
		}
	
		$('img.slideshow_image').each(function(index)
		{
			var z =  parseFloat($(this).css("z-index"));
		   
			if (index == current_slide)
			{
				selected_z = $(this).css("z-index");
				$(this).css("z-index",max_z);
				$(this).css("display","none");
			}
			
		});

		$('img.slideshow_image').each(function(index)
		{
			var z =  parseFloat($(this).css("z-index"));
			if (z > selected_z && index != current_slide)
			{
				$(this).css("z-index",z-1);
			}
		});
		
		$('div.slideshow_numeric_link').each(function(index)
		{
			if (index==current_slide)
			{
				$(this).addClass("slideshow_control_" + index + "_active");
				$(this).removeClass("slideshow_control_" + index);
			}
			else
			{
				$(this).addClass("slideshow_control_" + index);
				$(this).removeClass("slideshow_control_" + index + "_active");
			}
		});

		$('img.slideshow_image').eq(current_slide).fadeIn(transition_time*1000);
		if (current_slide < number_of_slides-1)
		{
			current_slide++;
		}
		else
		{
			current_slide = 0;             
		}
		if (slideshow_is_playing)
		{
			timer = setTimeout("UAJS.HeroSlideShow.playSlideShow()",time_value*1000);
		}
	}
	return that;
}());
