﻿//////////////////////////////////////////
// Customer Reviews
//////////////////////////////////////////

function disableVoteLinks(customerReviewID)
{
	var voteContainer = document.getElementById("voteContainer" + customerReviewID);
	if (voteContainer != null)
	{
		voteContainer.innerHTML = "Thank you for voting.";
	}
}

function vote(customerReviewID, bIsReviewHelpful)
{
	disableVoteLinks(customerReviewID);
	CustomerReviewsWebService.Vote(customerReviewID, visitorID, bIsReviewHelpful, voteCallback, onCustomerReviewError);
}

function voteCallback(result)
{
	if (result != null)
	{
		var yesCount = document.getElementById("yesCount" + result.CustomerReviewID);
		var totalCount = document.getElementById("totalCount" + result.CustomerReviewID);

		if (yesCount != null && totalCount != null)
		{
			yesCount.innerHTML = result.YesVotes;
			totalCount.innerHTML = " " + result.TotalVotes;
		}
	}
}

function onCustomerReviewError(error) { }

function showProfilePanel(panelID, linkID)
{
	var menu = new YAHOO.widget.Menu(panelID,
		{
			context: [linkID, "tl", "bl"],
			visible: true,
			clicktohide: true,
			underlay: "none",
			effect: { effect: YAHOO.widget.ContainerEffect.FADE, duration: 0.09 }
		}
	);
	var kl = new YAHOO.util.KeyListener(document, { keys: 27 }, { fn: menu.hide, scope: menu, correctScope: true });
	menu.cfg.queueProperty("keylisteners", kl);
	kl.enable();
	menu.render();
}

//////////////////////////////////////////
// Product Image
//////////////////////////////////////////

function SetColorDesc(colorDesc) //Onclick make the desc stay
{
	if (colorDesc != "" && document.getElementById("availableColorDesc") !== undefined)
	{
		document.getElementById("availableColorDesc").innerHTML = "Available Colors (" + colorDesc + ")";
	}
}

function displayMediaPopup(productID)
{
	window.open("../Popups/VideoPlayer.aspx?ProductID=" + productID, null, "width=738, height=542, resizable=no, scrollbars=no, directories=no, status=no, toolbar=no, menubar=no, location=no");
}

function displayPopup(groupNumber)
{
	var largeImageID = document.getElementById("LargeImageID");
	var productID = document.getElementById("ProductID");

	if (document.getElementById("IsVariantMedia").value == 0)
	{
		window.open("../GenericPages/ProductImage.aspx?GroupID=" + groupNumber + "&ImageID=" + largeImageID.value + "&ProductID=" + productID.value, "large_image");
	}
	else
	{
		window.open("../GenericPages/ProductImage.aspx?GroupID=" + groupNumber + "&ImageID=" + largeImageID.value + "&ProductID=" + productID.value + "&IsVariantMedia=1", "large_image");
	}
}

function displayDashKitsPopup(url)
{
	window.open(url, "dashkits_large_image");
}

function ChangeProductImage(imageUrl, imagePath, largeImageMediaID)
{
	if (imagePath != "")
	{
		var productImage = document.getElementById("productImageFileName");
		productImage.src = imageUrl + imagePath;
		var largeImageID = document.getElementById("LargeImageID");
		largeImageID.value = largeImageMediaID;
	}
}

function OnMouseOutRelated()
{
	var LargeImagePath = document.getElementById("LargeImagePath").value;
	var productImage = document.getElementById("productImageFileName");
	productImage.src = LargeImagePath;
}

function OnMouseOverRelated(NewImagePath)
{
	var productImage = document.getElementById("productImageFileName");
	productImage.src = NewImagePath;
}

var isDOMReady = false;

(function()
{
	var body = document.getElementsByTagName("body")[0];
	if (body == undefined)
	{
		body = document.getElementsByTagName("body");
	}
	var bodyId = body.id || (body.id = "myBody");
	YAHOO.util.Event.onContentReady(bodyId, function() { isDOMReady = true; });
})();



function IsDomReady() 
{
	if (isDOMReady == false) {
		(function() {
			var body = document.getElementsByTagName("body")[0];
			if (body == undefined) {
				body = document.getElementsByTagName("body");
			}
			var bodyId = body.id || (body.id = "myBody");
			YAHOO.util.Event.onContentReady(bodyId, function() { isDOMReady = true; });
		})();
	}

	return isDOMReady;
}


// Hover
YAHOO.namespace("op.panel");
YAHOO.op.panel.panels = [];

function ShowImagePopup(groupNumber)
{
	if (IsDomReady())
	{
		var image = document.getElementById("image" + groupNumber);
		if (image.src == "")
		{
			var hiddenImage = document.getElementById("hiddenImage" + groupNumber);
			image.src = hiddenImage.value;
		}

		var popupImage = document.getElementById("div" + groupNumber);
		var relatedImage = document.getElementById("relatedImage" + groupNumber);
		popupImage.style.display = "block";
		popupImage.style.zIndex = "99";

		if (navigator.appName == 'Microsoft Internet Explorer' && navigator.appVersion.indexOf('MSIE 6') != -1)
		{
			if (YAHOO.op.panel.panels["div" + groupNumber] == null)
			{
				YAHOO.op.panel.panel = new YAHOO.widget.Panel("div" + groupNumber,
															{
																xy: [211, 840],
																width: "350px",
																constraintoviewport: false,
																close: false,
																visible: false,
																draggable: false
															}
														   );
				YAHOO.op.panel.panel.render();
				YAHOO.op.panel.panels["div" + groupNumber] = YAHOO.op.panel.panel;
			}
		}
		else if (YAHOO.op.panel.panels["div" + groupNumber] == null)
		{
			YAHOO.op.panel.panel = new YAHOO.widget.Panel("div" + groupNumber,
														{
															context: ["relatedImage" + groupNumber, "bl", "br"],
															width: "350px",
															constraintoviewport: false,
															close: false,
															visible: true,
															draggable: false
														}
													   );
			YAHOO.op.panel.panel.render();
			YAHOO.op.panel.panels["div" + groupNumber] = YAHOO.op.panel.panel;
			YAHOO.op.panel.panel.show();
		}
		else
		{
			YAHOO.op.panel.panels["div" + groupNumber].show();
		}
	}
}

function ShowImagePopupSmall(groupNumber)
{
	if (IsDomReady())
	{
		var image = document.getElementById("image" + groupNumber);
		if (image.src == "")
		{
			var hiddenImage = document.getElementById("hiddenImage" + groupNumber);
			image.src = hiddenImage.value;
		}

		var popupImage = document.getElementById("div" + groupNumber);
		var relatedImage = document.getElementById("relatedImage" + groupNumber);
		popupImage.style.display = "block";
		popupImage.style.zIndex = "99";

		if (navigator.appName == 'Microsoft Internet Explorer' && navigator.appVersion.indexOf('MSIE 6') != -1)
		{
			if (YAHOO.op.panel.panels["div" + groupNumber] == null)
			{
				YAHOO.op.panel.panel = new YAHOO.widget.Panel("div" + groupNumber,
															{
																xy: [211, 840],
																width: "175px",
																constraintoviewport: false,
																close: false,
																visible: false,
																draggable: false
															}
														   );
				YAHOO.op.panel.panel.render();
				YAHOO.op.panel.panels["div" + groupNumber] = YAHOO.op.panel.panel;
			}
		}
		else if (YAHOO.op.panel.panels["div" + groupNumber] == null)
		{
			YAHOO.op.panel.panel = new YAHOO.widget.Panel("div" + groupNumber,
														{
															context: ["relatedImage" + groupNumber, "bl", "br"],
															width: "200px",
															constraintoviewport: false,
															close: false,
															visible: true,
															draggable: false
														}
													   );
			YAHOO.op.panel.panel.render();
			YAHOO.op.panel.panels["div" + groupNumber] = YAHOO.op.panel.panel;
			YAHOO.op.panel.panel.show();
		}
		else
		{
			YAHOO.op.panel.panels["div" + groupNumber].show();
		}
	}
}

function HideImagePopup(groupNumber, e)
{
	if (!e)
	{
		e = window.event;
	}

	if ((e.explicitOriginalTarget != null && e.explicitOriginalTarget.offsetParent != null && e.explicitOriginalTarget.offsetParent.nextSibling != null &&
	    e.target.id == "relatedImage" + groupNumber && e.explicitOriginalTarget.offsetParent.nextSibling.className == "underlay") ||
	    (e.explicitOriginalTarget != null && e.explicitOriginalTarget != null && e.explicitOriginalTarget.parentNode != null &&
	    e.target.id == "relatedImage" + groupNumber && e.explicitOriginalTarget.parentNode.className == "avHeader"))
	{
		return;
	}

	if (IsDomReady())
	{
		document.getElementById("div" + groupNumber).style.display = "none";

		if ('undefined' != typeof (YAHOO.op.panel.panels["div" + groupNumber]))
		{
			YAHOO.op.panel.panels["div" + groupNumber].hide();
		}
	}
}

//////////////////////////////////////////
// ProductTabs
//////////////////////////////////////////

// Array of Tab images (filenames)
var userTabs = new Array();
userTabs[0] = "PINFO";
userTabs[1] = "DINFO";
userTabs[2] = "PDMAN";
userTabs[3] = "RTINF";
userTabs[4] = "OINST";
userTabs[5] = "INSTL";
userTabs[6] = "MISC";
userTabs[7] = "CLEAN";
userTabs[8] = "CARE";

var userSelectedTabs = new Array();
userSelectedTabs[0] = "PINFO_s";
userSelectedTabs[1] = "DINFO_s";
userSelectedTabs[2] = "PDMAN_s";
userSelectedTabs[3] = "RTINF_s";
userSelectedTabs[4] = "OINST_s";
userSelectedTabs[5] = "INSTL_s";
userSelectedTabs[6] = "MISC_s";
userSelectedTabs[7] = "CLEAN_s";
userSelectedTabs[8] = "CARE_s";


function switchTab(selectedTabID, regularTabID)
{
	// Hide all selected tabs
	for (var i = 0; i < userSelectedTabs.length; i++)
	{
		if (document.getElementById(userSelectedTabs[i]))
		{
			var subMenu = document.getElementById(userSelectedTabs[i]);
			subMenu.style["display"] = "none";
		}
	}

	// Show all regular tabs
	for (var i = 0; i < userTabs.length; i++)
	{
		if (document.getElementById(userTabs[i]))
		{
			var subMenu = document.getElementById(userTabs[i]);
			subMenu.style["display"] = "inline";
		}
	}

	//Hide the regular (unselected) version of the selected tab
	subMenu = document.getElementById(regularTabID);
	if (subMenu != null)
	{
		subMenu.style["display"] = "none";
	}

	// Display selected Tab
	var selectedSubMenu = document.getElementById(selectedTabID);
	if (selectedSubMenu != null)
	{
		selectedSubMenu.style["display"] = "inline";
	}
}

function switchTabContent(filename)
{
	var productInfoContent = document.getElementById("productInfoContent");
	var iframeContent = document.getElementById("iframeContent");
	var actualIframe = document.getElementById("iframeContentActual")

	if (filename == "PRODUCT_INFO")
	{
		productInfoContent.style["display"] = "block";
		iframeContent.style["display"] = "none";
	}
	else
	{
		productInfoContent.style["display"] = "none";
		iframeContent.style["display"] = "block";
		actualIframe.src = "../FileStreamer.aspx?FileName=" + filename;
	}
}

var restarea = 6;
var maxspeed = 8;
var maxwidth = 793;
var startpos = 0;
var endofgallerymsg = "";

function enlargeimage(path, optWidth, optHeight)
{
	var actualWidth = typeof optWidth != "undefined" ? optWidth : "600px" //set 600px to default width
	var actualHeight = typeof optHeight != "undefined" ? optHeight : "500px" //set 500px to  default height
	var winattributes = "width=" + actualWidth + ",height=" + actualHeight + ",resizable=yes"
	window.open(path, "", winattributes)
}

var iedom = document.all || document.getElementById;
var scrollspeed = 0;
var movestate = "";
var actualwidth = "";
var cross_scroll;
var ns_scroll;
var statusdiv;
var loadedyes = 0;
var lefttime;
var righttime;

function ietruebody()
{
	return (document.compatMode && document.compatMode != "BackCompat") ? document.documentElement : document.body;
}

function creatediv()
{
	statusdiv = document.createElement("div");
	statusdiv.setAttribute("id", "statusdiv");
	document.body.appendChild(statusdiv);
	statusdiv = document.getElementById("statusdiv");
	statusdiv.innerHTML = endofgallerymsg;
}

function positiondiv()
{
	var mainobjoffset = getposOffset(crossmain, "left");
	menuheight = parseInt(crossmain.offsetHeight);
	mainobjoffsetH = getposOffset(crossmain, "top");
	statusdiv.style.left = mainobjoffset + (menuwidth / 2) - (statusdiv.offsetWidth / 2) + "px";
	statusdiv.style.top = menuheight + mainobjoffsetH + "px";
}

function showhidediv(what)
{
	if (endofgallerymsg != "")
	{
		positiondiv();
		statusdiv.style.visibility = what;
	}
}

function getposOffset(what, offsettype)
{
	var totaloffset = (offsettype == "left") ? what.offsetLeft : what.offsetTop;
	var parentEl = what.offsetParent;
	while (parentEl != null)
	{
		totaloffset = (offsettype == "left") ? totaloffset + parentEl.offsetLeft : totaloffset + parentEl.offsetTop;
		parentEl = parentEl.offsetParent;
	}
	return totaloffset;
}

function moveleft()
{
	if (loadedyes)
	{
		movestate = "left";
		if (iedom && parseInt(cross_scroll.style.left) > (menuwidth - actualwidth))
		{
			cross_scroll.style.left = parseInt(cross_scroll.style.left) - scrollspeed + "px";
			showhidediv("hidden");
		}
		else
			showhidediv("visible");
	}
	lefttime = setTimeout("moveleft()", 10);
}

function moveright()
{
	if (loadedyes)
	{
		movestate = "right";
		if (iedom && parseInt(cross_scroll.style.left) < 0)
		{
			cross_scroll.style.left = parseInt(cross_scroll.style.left) + scrollspeed + "px";
			showhidediv("hidden");
		}
		else
			showhidediv("visible");
	}
	righttime = setTimeout("moveright()", 10);
}

function motionengine(e)
{
	var mainobjoffset = getposOffset(crossmain, "left"),
	dsocx = (window.pageXOffset) ? pageXOffset : ietruebody().scrollLeft,
	dsocy = (window.pageYOffset) ? pageYOffset : ietruebody().scrollTop,
	curposy = window.event ? event.clientX : e.clientX ? e.clientX : "";
	curposy -= mainobjoffset - dsocx;
	var leftbound = (menuwidth - restarea) / 2;
	var rightbound = (menuwidth + restarea) / 2;
	if (curposy > rightbound)
	{
		scrollspeed = (curposy - rightbound) / ((menuwidth - restarea) / 2) * maxspeed;
		clearTimeout(righttime);
		if (movestate != "left") moveleft();
	}
	else if (curposy < leftbound)
	{
		scrollspeed = (leftbound - curposy) / ((menuwidth - restarea) / 2) * maxspeed;
		clearTimeout(lefttime);
		if (movestate != "right") moveright();
	}
	else
		scrollspeed = 0;
}

function contains_ns6(a, b)
{
	if (b !== null)
		while (b.parentNode)
		if ((b = b.parentNode) == a)
		return true;
	return false;
}

function stopmotion(e)
{
	if (!window.opera || (window.opera && e.relatedTarget !== null))
		if ((window.event && !crossmain.contains(event.toElement)) || (e && e.currentTarget && e.currentTarget != e.relatedTarget && !contains_ns6(e.currentTarget, e.relatedTarget)))
	{
		clearTimeout(lefttime);
		clearTimeout(righttime);
		movestate = "";
	}
}

function fillup()
{
	if (iedom)
	{
		crossmain = document.getElementById ? document.getElementById("slidingTabContainer") : document.all.slidingTabContainer;
		if (typeof crossmain.style.maxWidth !== "undefined")
			crossmain.style.maxWidth = maxwidth + "px";
		menuwidth = crossmain.offsetWidth;
		cross_scroll = document.getElementById ? document.getElementById("tabElementsContainer") : document.all.tabElementsContainer;
		actualwidth = document.getElementById ? document.getElementById("trueContainer").offsetWidth : document.all["trueContainer"].offsetWidth;
		if (startpos)
			cross_scroll.style.left = (menuwidth - actualwidth) / startpos + "px";
		crossmain.onmousemove = function(e)
		{
			motionengine(e);
		}

		crossmain.onmouseout = function(e)
		{
			stopmotion(e);
			showhidediv("hidden");
		}
	}
	loadedyes = 1
	if (endofgallerymsg != "")
	{
		creatediv();
		positiondiv();
	}
	if (document.body.filters)
		onresize()
}

window.onload = fillup;

onresize = function()
{
	if (typeof slidingTabContainer !== "undefined" && slidingTabContainer.filters)
	{
		slidingTabContainer.style.width = "0";
		slidingTabContainer.style.width = "";
		slidingTabContainer.style.width = Math.min(slidingTabContainer.offsetWidth, maxwidth) + "px";
	}
	menuwidth = crossmain.offsetWidth;
	cross_scroll.style.left = startpos ? (menuwidth - actualwidth) / startpos + "px" : 0;
}

var iframeids = ["iframeContentActual"]
var iframehide = "yes"
var getFFVersion = navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1]
var FFextraHeight = parseFloat(getFFVersion) >= 0.1 ? 16 : 0

function resizeCaller()
{
	var dyniframe = new Array()
	for (i = 0; i < iframeids.length; i++)
	{
		if (document.getElementById)
			resizeIframe(iframeids[i])
		if ((document.all || document.getElementById) && iframehide == "no")
		{
			var tempobj = document.all ? document.all[iframeids[i]] : document.getElementById(iframeids[i])
			tempobj.style.display = "block"
		}
	}
}

function resizeIframe(frameid)
{
	var currentfr = document.getElementById(frameid)
	if (currentfr && !window.opera)
	{
		currentfr.style.display = "block"
		if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight) //ns6 syntax
			currentfr.height = currentfr.contentDocument.body.offsetHeight + FFextraHeight;
		else if (currentfr.Document && currentfr.Document.body.scrollHeight) //ie5+ syntax
			currentfr.height = currentfr.Document.body.scrollHeight + FFextraHeight;
		if (currentfr.addEventListener)
			currentfr.addEventListener("load", readjustIframe, false)
		else if (currentfr.attachEvent)
		{
			currentfr.detachEvent("onload", readjustIframe) // Bug fix line
			currentfr.attachEvent("onload", readjustIframe)
		}
	}
}

function readjustIframe(loadevt)
{
	var crossevt = (window.event) ? event : loadevt
	var iframeroot = (crossevt.currentTarget) ? crossevt.currentTarget : crossevt.srcElement
	if (iframeroot)
		resizeIframe(iframeroot.id);
}

function loadintoIframe(iframeid, url)
{
	if (document.getElementById)
		document.getElementById(iframeid).src = url
}

if (window.addEventListener)
	window.addEventListener("load", resizeCaller, false)
else if (window.attachEvent)
	window.attachEvent("onload", resizeCaller)
else
	window.onload = resizeCaller


// mybuys show/hide function
function ProductRightNav(action)
{
	action = action.toLowerCase();

	var myBuysZone = $("div#myBuysZonesDiv");
	var endecaZone = $("div#categoryNavigationProductListingControlDiv");
	var summaryCartZone = $("div#summaryCartDiv");

	if (myBuysZone !== undefined && endecaZone !== undefined && summaryCartZone !== undefined)
	{
		switch (action)
		{
			case "showmybuyszone":
				myBuysZone.css({ display: "block" });
				endecaZone.css({ display: "none" });
				summaryCartZone.css({ display: "none" });
				break;
			case "showendecazone":
				myBuysZone.css({ display: "none" });
				endecaZone.css({ display: "block" });
				summaryCartZone.css({ display: "none" });
				break;
			case "showsummarycart":
				myBuysZone.css({ display: "none" });
				endecaZone.css({ display: "none" });
				summaryCartZone.css({ display: "block" });
				break;
			default:
				myBuysZone.css({ display: "none" });
				endecaZone.css({ display: "none" });
				summaryCartZone.css({ display: "block" });
				break;
		}
	}
}

