//------------------------------------------------------------------------------------------------------------
/**
 *	Configuration.
 **/
//	Media Rotation.
var rotateMediaInterval		= 6000;
var rotateMediaFadeDuration	= 2000;
var changeMediaFadeDuration	= 1000;
var currentMedia 				= "";
var rotateMediaCalls			= "";


/**
 *	Document ready event.
 **/
$(document).ready(generalDocumentReady);

/**
 *	General document ready.
 **/
function generalDocumentReady()
{
	/**
	 *	Rotate Media.
	 *	Set interval for rotating header media.
	 **/
	
	var medias		= $('#homeMediaContent').children(".jqThumb ");
	var mediaLinks	= $('.thumbLnk');
	currentMedia	= medias.filter(':visible:last');
	
	if(medias.length > 1)
	{
		//$(".mediaImgLinkHover").removeClass("mediaImgLinkHover");
		mediaLinks.css({opacity : 0.3});
		
		var cookieMediaID	= readCookie('Media');
		var cookieMedia	= $('#' + cookieMediaID);
		if(cookieMedia.length > 0)
		{
			//	Hide all medias except the last media from cookie.
			medias.not('#' + cookieMediaID)
				   .css('opacity', 0)
				   .hide();
				   
			currentMedia = cookieMedia;
			
			var mediaType = mediaLinks.eq(medias.index(cookieMedia)).next(".jqType").val();
			
			mediaLinks.eq(medias.index(cookieMedia)).css({opacity : 1});
			//mediaLinks.eq(medias.index(cookieMedia)).addClass("mediaImgLinkHover");
			
		}
		else
		{
			//	Hide all medias except the first.
			medias.not(':first')
				   .css('opacity', 0)
				   .hide();
				   
			//mediaLinks.eq(0).addClass("mediaImgLinkHover");
			mediaLinks.eq(0).css({opacity : 1});
		}
		
		if(mediaType == mediaEmbed)
		{
				clearInterval(rotateMediaCalls);
				$(".jqResume").fadeIn(5000);
		}
		else
		{
				$(".jqResume").hide();
				rotateMediaCalls = setInterval(rotateMedia, rotateMediaInterval);
		}
		
	}
	
	mediaLinks.click(changeMedia);
}

/**
 *	Function to rotate medias.
 **/
function rotateMedia()
{
	
	//	Select medias.
	if(!this.medias) {
		
		this.medias		= $('#homeMediaContent').children(".jqThumb ");
	}
	
	if(!this.mediaLinks) {
		this.mediaLinks = $('.thumbLnk');
	}
	
		
	//	Get the next media.
	var nextMedia = currentMedia.next('.jqThumb');
	
	var mediaType = this.mediaLinks.eq(this.medias.index(nextMedia)).next(".jqType").val();
	
	if(nextMedia.length == 0){
		//	If there is no next media after current media, take the first media as next media to show.
		nextMedia = this.medias.filter(':first');
	}
	
	//	Show the next media and change the opacity to 1.
	nextMedia.show().stop().animate({'opacity' : 1}, rotateMediaFadeDuration);
	
	//	Change the opacity of the current media to 0 and then hide it.
	currentMedia.stop().animate({'opacity' : 0}, rotateMediaFadeDuration,	function(){ $(this).hide(); });
	
	this.mediaLinks.eq(this.medias.index(currentMedia)).css({opacity : 0.3});
	this.mediaLinks.eq(this.medias.index(nextMedia)).css({opacity : 1});
	
	
	//	Store next media as current media for next media change.
	currentMedia = nextMedia;
	
	createCookie('Media', currentMedia.attr('id'));
	
	if(mediaType == mediaEmbed)
	{
		clearInterval(rotateMediaCalls);
		$(".jqResume").fadeIn(5000);
	}
	else
	{
		$(".jqResume").hide();
	}
}

/**
 *	Function to create cokkie.
 **/
function createCookie(name,value,days)
{
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

/**
 *	Function to read cookie.
 **/
function readCookie(name)
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0)  return c.substring(nameEQ.length,c.length);
	}
	return null;
}

/**
 *	Function to delete cookie.
 **/
function deleteCookie(name)
{
	createCookie(name,"",-1);
}

function changeMedia()
{
	
	$(this).blur();
	clearInterval(rotateMediaCalls);
	var nextMediaId	= $(this).attr("href");
	var nextMedia		= $(nextMediaId).show();
	
	//$(this).css({opacity:1});
	
	if(!this.medias) {
		
		this.medias = $('#homeMediaContent').children(".jqThumb ");
	}
	
	if(!this.mediaLinks) {
		this.mediaLinks = $('.thumbLnk');
	}
	var mediaType = this.mediaLinks.eq(this.medias.index(nextMedia)).next(".jqType").val();
	if(mediaType == mediaEmbed){clearInterval(rotateMediaCalls);$(".jqResume").fadeIn(5000);}else{$(".jqResume").hide();}
	
	if(!currentMedia.is(nextMediaId))
	{
		//	Change the opacity of the current media to 0 and then hide it.
		currentMedia.stop().animate({'opacity' : 0}, changeMediaFadeDuration,	function(){ $(this).hide(); });
		
		//	Show the next media and change the opacity to 1.
		nextMedia.css({'opacity' : 0}).show().stop().animate({'opacity' : 1}, changeMediaFadeDuration);
		
		
		this.mediaLinks.eq(this.medias.index(currentMedia)).css({opacity : 0.3});
		this.mediaLinks.eq(this.medias.index(nextMedia)).css({opacity:1});
		
		//	Store next media as current media for next media change.
		currentMedia = nextMedia;
		
		createCookie('Media', currentMedia.attr('id'));
		
		if(mediaType == mediaImage)
		{
			clearInterval(rotateMediaCalls);
			rotateMediaCalls = setInterval(rotateMedia, rotateMediaInterval);
			$(".jqResume").hide();
		}
		
	}
	
	return false;
}
function resumeSlideShow()
{
	clearInterval(rotateMediaCalls);
	rotateMedia();
	var mediaType = this.mediaLinks.eq(this.medias.index(currentMedia)).next(".jqType").val();
	if (mediaType == mediaImage)
	{
		rotateMediaCalls = setInterval(rotateMedia, rotateMediaInterval);
	}
	return false;
}