var _currentImage= "";
var _currentIndex= 0;
var t;
var speed = 1000;
var delay = 4000;
var _currentCarouselIndex = 0;

$(document).ready(function(){

    $(".clickableDiv").each(function(){
        MakeItemClickable($(this), true);
    });

    $(".hoverableDiv").each(function(){
	MakeHoverable($(this), "hover");
    });
    
    if($("#PortfolioPhoto").length > 0)
    {
    	$(".portfolioPhoto").each(function(i){
	
		$(this).bind("click", function(e){
			$.scrollTo(0, 500);		                	
			SwitchImage("MainProductImage", $(this));
	        	});
	
		$(this).find("a").hide();
		MakeHoverable($(this),"hover");
   
	    });

	    $("#PortfolioPhoto").css("position", "relative");
	    $("#PortfolioPhoto").append("<div id=\"ImgSpacer\">&nbsp;</div>");
	    $("#PortfolioPhoto").append("<img id=\"ImgHolder\" src=\"\" />");
	    $("#PortfolioPhoto #ImgSpacer").css("height", "30px");
	    $("#PortfolioPhoto #ImgHolder").hide();
	    $("#PortfolioPhoto #ImgHolder").css("position", "absolute");
	    $("#PortfolioPhoto #ImgHolder").css("left", "10px");
	    $("#PortfolioPhoto #ImgHolder").css("top", "10px");

	    $(".addToCart").bind("click",function(e){
		//e.preventDefault();
		//var hdnImageId = $($(".hdnImageId")[0]);
		//$(this).attr("href").replace("javascript:","");				
	    });
    }

    if($("#HomePortfolioSections").length > 0)
    {
    	StartContentFader("#HomePortfolioSections", "/Data/Images", 1000, 5000);
    }

    

});

$(window).load(function(){
	if($("#PortfolioPhoto").length > 0)
	{
		//first image
		var firstImage = $(".portfolioPhoto")[0];
		var imageLink = $(firstImage).find("a").attr("href");
		SwitchImage("#PortfolioPhoto", $(firstImage));
	}

	if($(".blogItemGallery").length > 0)
	{
		$(".blogItemGallery a").fancybox(); 
	}
});

function StartContentFader(element, imagesDirectory, speed, delay)
{
        var viewPort = $(element);
	var elementsList = viewPort.find("ul");
	var elements= viewPort.find("li");

	$(elements).each(function(){
		MakeItemClickable($(this));
	});
	
	//hide all contents to start
	viewPort.find("li").hide();
	viewPort.find("li a").hide();

	//wrap the ul with a loader the size of the viewport, allows background image
	//to be loading gif anim
	elementsList.wrap("<div class=\"loader\">","</div>");
	
	//make loaderInner the same size as viewport
	var loaderInner = $(element).find(".loader");
 	loaderInner.css("width", viewPort.width() + "px");
 	loaderInner.css("height", viewPort.height() + "px");
 	loaderInner.css("position", "absolute");
	loaderInner.css("background-image", "url(" + imagesDirectory + "/loading.gif)");
	loaderInner.css("background-repeat", "no-repeat");
	loaderInner.css("background-position", "center center");

	//add binds on hover to stop rotator
	viewPort.bind("mouseenter", function(){
		clearTimeout(t);		
	});

	viewPort.bind("mouseleave", function(){
		t=setTimeout(function(){ShowNextContent(element);},delay);
	});

	$(window).load(function(){
		ShowContent(viewPort, _currentIndex);	
	        t=setTimeout(function(){ShowNextContent(element);},delay);
		loaderInner.css("background","none");
	});
}

function ShowNextContent(element)
{
	var elementToHide = $(element).find("li")[_currentIndex];
	var elementSummary = $(elementToHide).find(".pageSummary");
	
	$(elementSummary).fadeTo("slow", 0, function(){

		$(elementToHide).fadeOut(speed, function(){

			if(_currentIndex == $(element).find("li").size()-1)
			{
				ShowContent(element, 0);	
			}
			else
			{
				ShowContent(element, _currentIndex+1);	
			}
	
		});
	});
}

function ShowContent(element, _indexToShow)
{
	var elementToShow = $(element).find("li")[_indexToShow];
	var elementImage = $(elementToShow).find("img");
	var elementSummary = $(elementToShow).find(".pageSummary");

	elementSummary.fadeTo(0,0);

	$(elementToShow).fadeIn(speed, function(){
		
		elementSummary.fadeTo("fast", 0.8);
		_currentIndex = _indexToShow;
		clearTimeout(t);
		t=setTimeout(function(){ShowNextContent(element);},delay);

	});
}


//Switch the image of the current collection        
function SwitchImage(divId, imageLink)
{   
	var imageToSwitchTo = imageLink.find("a").attr("href");
	var imageNodeId = imageLink.find("a").attr("rel");
	var imageHolder = $("#ImgHolder");
	var imageSpacer = $("#ImgSpacer");
	var portfolioPhoto = $("#PortfolioPhoto");
	var imageText = $("#ImageText");
	var hdnImageId = $($(".hdnImageId")[0]);

        var newImage = imageToSwitchTo;

	imageHolder.fadeOut("slow", function(){
		imageText.html("&nbsp;");
		hdnImageId.val(imageNodeId);
		imageHolder.attr("src", newImage);
		imageHolder.unbind("load");
		imageHolder.load(function () {
			imageText.fadeTo(0,0);
			imageText.html(imageLink.find(".imageText").html());

			portfolioPhoto.animate({
				width: imageHolder.width() + "px",
                			height: imageHolder.height() + "px"}, 
				300, 
				function(){
					imageHolder.fadeIn("slow");
					imageText.fadeTo(1000,1);
				}
			);

		});

	});            
        
 }

//Gets an internal link and makes the whole item clickable
function MakeItemClickable(item, hideLink)
{
    var link = item.find("a").attr("href");
    item.bind("click", function(){window.location = link;});
    
    if(hideLink)
    {
        item.find("a").hide();
    }
}

//append/removes class on hover
function MakeHoverable(item, mouseOverClass)
{
    item.bind("mouseenter", function(){$(item).addClass(mouseOverClass)});
    item.bind("mouseleave", function(){$(item).removeClass(mouseOverClass)});
}
