// JavaScript Document

var ITEM_WIDTH = 0;
var CURRENT_POS = 0;
var MAX_POS = 0;

/*-------------------------------------------------------------*/
/* Initializes "sliding" functionality of product sections
/*-------------------------------------------------------------*/
function initSlider(){
	var totalItems = $(".slider_container .slider_item").length;
	ITEM_WIDTH = $(".slider_container .slider_item:first").outerWidth() + 20; // has a 10px margin on both sides
	var containerWidth = ITEM_WIDTH * totalItems;
	$(".slider_container").css("width", containerWidth);
	if(totalItems > 4){
		MAX_POS = totalItems - 4;
		$("#btnNext").click(function(){ doSlide("next"); });
	}else{
		$("#btnPrev").attr("class", "disabled");	
		$("#btnNext").attr("class", "disabled");
	}
	
	$(".slider_container .slider_item").each(function(i,elem){
		var id = $(elem).attr("id");
		$("#"+id+" .image a").attr("itemid",id);
		$("#"+id+" .image a").hover(
			function(){
				var id = $(this).attr("itemid");
				$("#"+id+" .title a").attr("class","selected");
			},
			function(){
				var id = $(this).attr("itemid");
				if($(this).attr("selected") != "true"){
					$("#"+id+" .title a").attr("class","");
				}
			}
		);
	});
}

/*-------------------------------------------------------------*/
/* Do the actual slide (backwards or forwards)
/*-------------------------------------------------------------*/
function doSlide(direction){
	if(direction == "prev"){
		CURRENT_POS--;
		$(".slider_container").animate({"left": "+="+ITEM_WIDTH});
		$("#btnNext").unbind("click");
		$("#btnNext").click(function(){ doSlide("next"); });	
		$("#btnNext").attr("class", "");
		if(CURRENT_POS == 0){
			$("#btnPrev").unbind("click");	
			$("#btnPrev").attr("class", "disabled");
		}
	}else{
		CURRENT_POS++;
		$(".slider_container").animate({"left": "-="+ITEM_WIDTH});
		$("#btnPrev").unbind("click");
		$("#btnPrev").click(function(){ doSlide("prev"); });	
		$("#btnPrev").attr("class", "");
		if(CURRENT_POS == MAX_POS){
			$("#btnNext").unbind("click");
			$("#btnNext").attr("class", "disabled");
		}
	}
}

/*-------------------------------------------------------------*/
/* Slide to the specified item (if not visible within "view
/* portal")
/*-------------------------------------------------------------*/
function slideTo(id){
	var pos = $("#item"+id).prevAll().length;
	var group = Math.floor(pos/4);
	if(CURRENT_POS != group){
		if(CURRENT_POS > group){
			var diff = CURRENT_POS - group;
			CURRENT_POS = group;
			$(".slider_container").animate({"left": "+="+(ITEM_WIDTH * diff)});
			$("#btnNext").unbind("click");
			$("#btnNext").click(function(){ doSlide("next"); });	
			$("#btnNext").attr("class", "");
			if(CURRENT_POS == 0){
				$("#btnPrev").unbind("click");	
				$("#btnPrev").attr("class", "disabled");
			}
		}else{
			var diff = group - CURRENT_POS;
			CURRENT_POS = group;
			$(".slider_container").animate({"left": "-="+(ITEM_WIDTH * diff)});
			$("#btnPrev").unbind("click");
			$("#btnPrev").click(function(){ doSlide("prev"); });	
			$("#btnPrev").attr("class", "");
			if(CURRENT_POS == MAX_POS){
				$("#btnNext").unbind("click");
				$("#btnNext").attr("class", "disabled");
			}
		}
	}
}

/*-------------------------------------------------------------*/
/* Load details for the specified product
/*-------------------------------------------------------------*/
function showProduct(id){
	$("#product_loader").fadeIn();
	$("#ajax_product").fadeOut("fast");
	$(".slider_item a").attr("class", "");
	$(".slider_item .image a").attr("selected","false");
	$("#item"+id+" a").attr("class", "selected");
	$("#item"+id+" .image a").attr("selected","true");
	slideTo(id);
	$("#ajax_product").load("/includes/ajax/ajax_product.php", {product:id}, function(){
		$("#product_loader").fadeOut("fast")
		$("#ajax_product").fadeIn("medium", function(){
			sIFR.replace(myriad, {
			  selector: '#ajax_product h5',
			  css: {'.sIFR-root': {'color':'#FFFFFF', 'font-size':'17px', 'font-weight':'bold'}},
			  wmode: 'transparent'
			});
		});
		initGallery();
	});
}

/*-------------------------------------------------------------*/
/* Initialize the Product Gallery slideshow
/*-------------------------------------------------------------*/
function initGallery(){
	$("#gallery").cycle({
		timeout: 6000,
		speed: 500
	});
}

/*-------------------------------------------------------------*/
/* Jump to the specified photo in the Gallery
/*-------------------------------------------------------------*/
function showImage(id){
	$("#gallery").cycle(id);
	$("#gallery").cycle("pause");
}

/*-------------------------------------------------------------*/
/* Resume the Product Gallery slideshow
/*-------------------------------------------------------------*/
function resumeSlideshow(){
	$("#gallery").cycle("resume");
}