
function getImgFile(fileSeg){
	return rootPath + "files_prod/prod_" + prodId + "_c" + fileSeg + "_lg.jpg";
}
function getZoomFile(fileSeg){
	return rootPath + "files_prod/prod_" + prodId + "_c" + fileSeg + "_zm.jpg";
}

function loadMedia_Action(){
	showingMedia = "action";
	openMedia();
	var imgPreloader = new Image();
	imgPreloader.onload = function() {
		if (showingMedia == "action") {
			$('#prodMedia').html('<img src="' + rootPath + "files_prod/prod_" + prodId + "_action.jpg" + '" />');
			$("#prodImgLoadAnim").hide();
			$("#prodMedia").show();
			imgPreloader.onload=function(){};
		}
	};
	imgPreloader.src = rootPath + "files_prod/prod_" + prodId + "_action.jpg";
}
function loadMedia_Video(){
	showingMedia = "video";
	openMedia();
	$("#prodMediaNav").hide();
	$('#prodMedia').css({ "z-index": 100 });
	$('#prodMedia').html('<div id="prodMediaVideo"></div>').show();
	var flashvars = {};
	var params = { wmode: "transparent", base: rootPath };
	swfobject.embedSWF(rootPath+"swf_gl/product_video_player.swf?vidFile="+rootPath+"files_prod/prod_" + prodId + "_video.flv", "prodMediaVideo", "440", "532", "9.0.0", rootPath+"swf_gl/expressInstall.swf", flashvars, params);
}
function openMedia(){
	$("#prodImg").hide();
	$("#prodImgNav").hide();
	$("#prodMediaNav").show();
	$("#prodImgOverlay").hide();
	$("#prodMedia").html('').hide();
	$("#prodImgLoadAnim").show();
	$('#prodMedia').css({ "z-index": 39 });
}
function closeMedia(loadProdImg){
	showingMedia = "";
	$("#prodMediaNav").hide();
	$("#prodImgNav").show();
	$("#prodMedia").html('').hide();
	if (loadProdImg == 1) {
		viewImage(activeClr, activeImg);
	}
}

function viewImage(wClr, wImg){
	if (showingMedia != "") {
		closeMedia(0);
	}

	activeClr = wClr;
	activeImg = wImg;
	
	if (wClr == 0) {
		var count = 1;
		var theHtml = '';
		for (i=0; i<imgArr[activeClr].length; i++) {
			if (activeImg != i) {
				theHtml += '<div class="thumb"><a class="a'+count+'" href="javascript:viewImage(0, '+i+')"></a><table><tr><td><img src="'+rootPath + "files_prod/prod_" + prodId + "_c" + imgArr[activeClr][i] + "_tn.jpg"+'" /></td><tr></table></div>';
			}
			count++;
		}
		$('#angleThumbs').html(theHtml);
	}
	
	$("#styleIdText").html(styleIdArr[activeClr]);
	
	$("#prodImg").hide();
	$("#prodImgLoadAnim").show();
	
	var imgPreloader = new Image();
	imgPreloader.onload = function() {
		if (showingMedia == "") {
		//$('#prodImg').css('backgroundImage',"url('"+getImgFile(imgArr[activeClr][activeImg])+"')");
			$('#prodImgCell').html('<img src="'+getImgFile(imgArr[activeClr][activeImg])+'" />');
			$("#prodImgLoadAnim").hide();
			$("#prodImg").show();
			preLoadNextImages();
			imgPreloader.onload=function(){};
			if (zooming == 1) {
				openZoom();
			}
		}
	};
	imgPreloader.src = getImgFile(imgArr[activeClr][activeImg]);
	/*
	if (imgArr[activeClr].length > 1) {
		$("#prodImgNav").css({"visibility": "visible"});
		if (activeImg < (imgArr[activeClr].length-1)) {
			$("#prodImgNav a.nextLink").removeClass("dis");
		} else {
			$("#prodImgNav a.nextLink").addClass("dis");
		}
		if (activeImg > 0) {
			$("#prodImgNav a.prevLink").removeClass("dis");
		} else {
			$("#prodImgNav a.prevLink").addClass("dis");
		}
	} else {
		$("#prodImgNav").css({"visibility": "hidden"});
	}
	*/
	if (zooming == 1) {
		openZoom();
	}
	hideColourSel();
}
function preLoadNextImages(){
	if (activeImg < (imgArr[activeClr].length-1)) {
		objNext = new Image();
		objNext.src = getImgFile(imgArr[activeClr][activeImg + 1]);
	}
	if (activeImg > 0) {
		objPrev = new Image();
		objPrev.src = getImgFile(imgArr[activeClr][activeImg - 1]);
	}
}
function imgViewPrev(){
	if (activeImg == 0) {
		return false;
	}
	viewImage(activeClr, activeImg-1);
}
function imgViewNext(){
	if (activeImg == imgArr[activeClr].length-1) {
		return false;
	}
	viewImage(activeClr, activeImg+1);
}


function hideColourSel(){
	if (showingMoreColours == 1 && (imgArr.length > 1 || clrSwatches > 0)) {
		showingMoreColours = 0;
		$("#colourSelector").animate({ marginBottom: (0-clrSelHeight-2) },400);
		$("#mediaNav").animate({ marginBottom: 0 },400);
	}
}
function showColourSel(){
	if (showingMoreColours == 0) {
		showingMoreColours = 1;
		$("#colourSelector").animate({ marginBottom: 0 },400);
		$("#mediaNav").animate({ marginBottom: clrSelHeight+2 },400);
		
		$('#prodZoomBox').hide();
		hidingZoom = 1;
	}
}

function trackProdItemSubView(wSection){
	baseLoc = document.location.href;
	baseLoc = baseLoc.replace("#","/");
	baseLoc = baseLoc.replace(/_/g,"/");
	if (baseLoc.indexOf("/"+wSection) < 0) {
		baseLoc = baseLoc + "/" + wSection;
	}
	urchinTracker(baseLoc);
}



function showBuyOnlineConfirm(){
	$("#buyOnlineConfirmOverlay").show();
	$('#buyOnlineConfirmOverlay').css({
				backgroundColor:	"#000",
				opacity:			flashWithOpacity == false ? 1 : 0.5
			}).fadeIn();
	$('#buyOnlineConfirmOverlay').fadeIn();
	$("#buyOnlineConfirmContain").css({"visibility": "visible"} );
	
	$('#buyOnlineConfirmLoadAnim').show();
	var query = "id=" + prodId + "&clr_id=" + clrIdArr[activeClr] + "&scid=" + storeCatId;
	
	$.get("/common_gl/inc_product_item_online_retailers.php", query, function(data){
			$("#buyOnlineConfirmPanel").show();
			$("#buyOnlineConfirmPanel").html(data);
			$('#buyOnlineConfirmLoadAnim').hide();
		});
	trackProdItemSubView('buy-online-choice');
}
function buyOnlineConfirmClickYes(instock){
	var query = "id=" + prodId + "&clr_id=" + clrIdArr[activeClr] + "&scid=" + storeCatId + "&redir=1";
	window.open('/common_gl/inc_product_item_online_retailers.php?'+query);
	if (instock) {
		trackProdItemSubView("buy-online-choice-yes-inStock");
	} else {
		trackProdItemSubView("buy-online-choice-yes-noStock");
	}
	$("#buyOnlineConfirmOverlay").hide();
	$("#buyOnlineConfirmContain").css({"visibility": "hidden"} );
}
function buyOnlineConfirmClickNo(instock){
	if (instock) {
		trackProdItemSubView("buy-online-choice-no-inStock");
	} else {
		trackProdItemSubView("buy-online-choice-no-noStock");
	}
	$("#buyOnlineConfirmPanel").hide();
	
	$("#buyOnlineConfirmOverlay").fadeOut(400,function(){
		$("#buyOnlineConfirmOverlay").hide();
		$("#buyOnlineConfirmContain").css({"visibility": "hidden"} );
	});
}



function openOnlineStores(){
	baseLoc = document.location.href;
	document.location.href = baseLoc + "_buy-online";
}
function closeOnlineStores(){
	document.location.href = document.location.href.replace("_buy-online","");
}
function hideOnlineStores(){
	$("#onlineStoresPanel").animate({ marginBottom: 0-ORPanelHt },400,function(){
		$("#onlineStoresContain").css({"visibility": "hidden"} );
	});
	$("#onlineStoresOverlay").fadeOut(400,function(){
		$("#onlineStoresOverlay").hide();
	});
}
function showOnlineStores(){
	var ORPanelHt = $("#onlineStoresPanel").height();
	$("#onlineStoresPanel").css({"margin-bottom": (0-ORPanelHt)});

	$("#onlineStoresOverlay").show();
	$('#onlineStoresOverlay').css({
				backgroundColor:	"#000",
				opacity:			flashWithOpacity == false ? 1 : 0.5
			}).fadeIn();
	$('#onlineStoresOverlay').fadeIn();
	$("#onlineStoresContain").css({"visibility": "visible"} );
	ORPanelHt = $("#onlineStoresPanel").height();
	$("#onlineStoresPanel").animate({ marginBottom: 0-ORPanelHt+27 },400);
	
	$('#ORLoading').css({"visibility": "visible"} );
	var query = "id=" + prodId + "&clr_id=" + clrIdArr[activeClr] + "&scid=" + storeCatId;
	
	$.get("/common_gl/inc_product_item_online_retailers.php", query, function(data){
			$("#onlineStoresContent").html(data);
			displayOnlineStores();
		});
	trackProdItemSubView('buy-online');
}
function displayOnlineStores(){
	ORPanelHt = $("#onlineStoresPanel").height();
	$("#onlineStoresPanel").css({ marginBottom: 0-ORPanelHt });
	$("#onlineStoresPanel").animate({ marginBottom: 0 },400);
	$('#ORLoading').css({"visibility": "hidden"} );
}


function hideProdSpecs(){
	$("#prodSpecsPanel").animate({ marginBottom: 0-PSPanelHt },400,function(){
		$("#prodSpecsContain").css({"visibility": "hidden"} );
	});
	$("#prodSpecsOverlay").fadeOut(400,function(){
		$("#prodSpecsOverlay").hide();
	});
}
function showProdSpecs(wId){
	var PSPanelHt = $("#prodSpecsPanel").height();
	$("#prodSpecsPanel").css({"margin-bottom": (0-PSPanelHt)});

	var flashvars = {};
	var params = { wmode: "transparent", base: "/" };
	swfobject.embedSWF("/swf_gl/swf_loader.swf?lang=en&file=files_prod/specs_"+wId+".swf", "prodSpecsContent", "888", "507", "9.0.0", "/swf_gl/expressInstall.swf", flashvars, params);
	
	$("#prodSpecsOverlay").show();
	$('#prodSpecsOverlay').css({
				backgroundColor:	"#000",
				opacity:			flashWithOpacity == false ? 1 : 0.5
			}).fadeIn();
	$('#prodSpecsOverlay').fadeIn();
	$("#prodSpecsContain").css({"visibility": "visible"} );
	$("#prodSpecsPanel").animate({ marginBottom: 0 },400);
}




function openZoom(){
	//if (showingMoreColours == 0) {
		if (zooming == 1) {
			closeZoom();
		}
		zooming = 1;
		if ($("#prodImg:hidden").length == 0) {
			
			$('#mediaSelectorContain').append('<div id="prodZoomBox"><div class="loadAnim"></div><div id="prodZoomImg"><table><tr><td id="zoomImgCell"></td></tr></table></div></div>');
			
			$('#prodZoomBox #prodZoomImg').hide();
			$("#prodZoomBox .loadAnim").show();
			
			var zoomPreloader = new Image();
			zoomPreloader.onload = function() {
				if (zooming == 1) {
					$('#prodZoomBox #prodZoomImg td').html('<img src="' + getZoomFile(imgArr[activeClr][activeImg]) + '" />');
					$("#prodZoomBox .loadAnim").hide();
					$('#prodZoomBox #prodZoomImg').show();
					zoomPreloader.onload=function(){};
					calcZoom();
				}
			};
			zoomPreloader.src = getZoomFile(imgArr[activeClr][activeImg]);
			if (hidingZoom == 1) {
				$('#prodZoomBox').hide();
			}
			
			$('#mediaSelectorContain').mousemove(function(e){
				zoomMouseX = e.pageX;
				zoomMouseY = e.pageY;
				calcZoom();
			});
		}
	//}
}

var zoomMouseX = 0;
var zoomMouseY = 0;
var prodImgScale = 1;

function calcZoom(){
	mouseX = zoomMouseX - $('#mediaSelectorContain').offset().left;
	mouseY = zoomMouseY - $('#mediaSelectorContain').offset().top;
	
	viewPortWidth = $('#prodImg').width();
	viewPortHeight = $('#prodImg').height();
	
	if (mouseY > viewPortHeight && hidingZoom == 0) {
		$('#prodZoomBox').hide();
		hidingZoom = 1;
	} else if (mouseY < viewPortHeight && hidingZoom == 1 && showingMoreColours == 0) {
		hidingZoom = 0;
		$('#prodZoomBox').show();
	}
	
	boxX = Math.min(viewPortWidth-145, Math.max(mouseX-71, 0));
	boxY = Math.min(viewPortHeight-145, Math.max(mouseY-71, 0));
	
	$('#prodZoomBox').css({ "left": (boxX)+"px", "top" : (boxY)+"px" });
	
	viewPortWidth = $('#prodImgCell').width();
	viewPortHeight = $('#prodImgCell').height();
	
	mouseX = zoomMouseX - $('#prodImgCell').offset().left - (viewPortWidth*((1 - prodImgScale)/2)); //0.1 relates to the opposite of the scaling of the image - 0.9
	mouseY = zoomMouseY - $('#prodImgCell').offset().top - (viewPortHeight*((1 - prodImgScale)/2));
	
	viewPortWidth = viewPortWidth*prodImgScale;
	viewPortHeight = viewPortHeight*prodImgScale;
	
	posXPerc = mouseX/viewPortWidth;
	posYPerc = mouseY/viewPortHeight;
	
	zoomImgWidth = $('#zoomImgCell').width();
	zoomImgHeight = $('#zoomImgCell').height();
	
	zoomImgX = (71 - (posXPerc*zoomImgWidth));
	zoomImgY = (71 - (posYPerc*zoomImgHeight));
	
	zoomImgX = Math.max(143-zoomImgWidth, Math.min(zoomImgX, 0));
	zoomImgY = Math.max(143-zoomImgHeight, Math.min(zoomImgY, 0));
	
	$('#prodZoomImg').css({ "left": zoomImgX+"px", "top" : zoomImgY+"px" });
}
function closeZoom(){
	zooming = 0;
	$('#mediaSelectorContain').mousemove(function(){});
	$('#prodZoomBox').remove();
}
function showZoom(){
	if (showingMoreColours == 0) {
		$('#prodZoomBox').show();
	}
}
function hideZoom(){
	$('#prodZoomBox').hide();
}





var showingMoreColours;
var activeClr;
var activeImg;
var clrSelHeight;
var showingMedia;
var prodIndex;

var zooming;
var hidingZoom;
var zoomInt = 0;

function initProductItem(){
	showingMoreColours = 0;
	showingMedia = "";
	activeClr=0;
	activeImg=0;
	zooming = 0;
	hidingZoom = 0;
	
	$('#prodImg').html('<table><tr><td id="prodImgCell"></td></tr></table>');
	
	viewImage(0, 0);
	
	$("#onlineStoresPanel .clsLnk").click(function(){
			closeOnlineStores();
		});
	$('#onlineStoresOverlay').click(function(){
			closeOnlineStores();
		});
	
	
	$("#prodSpecsPanel .clsLnk").click(function(){
			hideProdSpecs();
		});
	$('#prodSpecsOverlay').click(function(){
			hideProdSpecs();
		});
	
	$("#linksProduct td").hover(
		function(){
			$(this).addClass("sfhover");
		},
		function(){
			$(this).removeClass("sfhover");
		});
	
	if (document.location.hash.indexOf("_buy-online") > -1) {
		showOnlineStores();
	}
	
	for (i=0; i<prodIdArr.length; i++) {
		if (prodIdArr[i] == prodId) {
			prodIndex = i;
			break;
		}
	}
	/*
	if (prodIndex > 0) {
		// show previous btn
		$('#prodItem-lightbox a.prevBtn').css({visibility: 'visible'}).attr('href', baseLoc+"#item_"+prodIdArr[(prodIndex-1)]+"_"+prodLinkArr[(prodIndex-1)]);
	}
	if (prodIndex < prodIdArr.length-1) {
		// show next btn
		$('#prodItem-lightbox a.nextBtn').css({visibility: 'visible'}).attr('href', baseLoc+"#item_"+prodIdArr[(prodIndex+1)]+"_"+prodLinkArr[(prodIndex+1)]);
	}
	$('#mediaNav a').hover(
		function(){
			hideZoom();
		},
		function(){
			showZoom();
		}
	);
	*/
	
	$('#mediaSelectorContain').mouseenter(function(){
		openZoom();
	});
	$('#mediaSelectorContain').mouseleave(function(){
		closeZoom();
	});
	
	$('#itemSwatches a').mouseenter(
		function(){
			var swatchesPosition = $('#itemSwatches').position();
			var thisPosition = $(this).position();
			$('#swatchOver').html('<a href="'+$(this).attr('href')+'">'+$(this).html()+'</a>').show().css({
				'left': (thisPosition.left - 12),
				'top': (swatchesPosition.top + thisPosition.top - 12)
			});
			$('#swatchOver a').mouseleave(
				function(){
					$("#swatchOver").html('').hide();
				}
			);

		}
	);
}

