var ieX = (navigator.appName.indexOf("Microsoft") != -1);

var ns4 = (document.layers);
var ie4 = (document.all && !document.getElementById);
var ie5 = (document.all && document.getElementById);
var ns6 = (!document.all && document.getElementById);

/* workaround for netscape 4 resize bug: http://www.webreference.com/dhtml/diner/resize/ */
if(ns4){origWidth=innerWidth;origHeight=innerHeight;onresize=function(){if(innerWidth!=origWidth||innerHeight!=origHeight)location.reload()}}

function getElement(id,doc) {
	if (!doc) { doc = document; }
	if (ie5||ns6)
		return(doc.getElementById(id));
	else if (ie4)
		return(doc.all[id]);
	else if (ns4)
		return(doc.layers[id]);
	else
		return null;
}

function getDivDocument(d) {
	if (ns6)
		return d.ownerDocument;
	else
		return d.document;
}

function styleObject(e) {
	return (ns4 ? e : e.style);
}

function showElement(e,force) {
	so = styleObject(e);
	so.visibility = "visible";
	if (force) { so.zIndex = 999; }
}

function hideElement(e,force) {
	so = styleObject(e);
	so.visibility = "hidden";
	if (force) { so.zIndex = -999; }
}

function w(t) { document.write(t); }

function changeContent(e,t) {
	if (!ns4)
		e.innerHTML = t;
	else if (document.layers) {
		e.document.open();
		e.document.write(t);
		e.document.close();
	}
}

__ImageZoomDiv = null;
__ImageZoomImage = null;
__ImageZoomDefaultImageSrc = null;
__ImageZoomCooldown = false;

function stockZoomCacheElements ()
{
	try
	{
		if (!__ImageZoomDiv) { __ImageZoomDiv = getElement('ImageZoom'); }
		if (!__ImageZoomImage)
		{
			__ImageZoomImage = getElement('ImageZoomImage');
			__ImageZoomDefaultImageSrc = __ImageZoomImage.src;
		}

		return true;
	}
	catch (e)
	{
		return false;
	}
}

function ImageZoomCooldown ()
{
	__ImageZoomCooldown = true;
	window.setTimeout('__ImageZoomCooldown = false;', 16);
}

function stockShow (ev, root, id, image)
{
	if (__ImageZoomCooldown) { return false; }
	if (!stockZoomCacheElements()) { return false; }

	try
	{
		var so = styleObject(__ImageZoomDiv);

		var xOff = 8;
		var yOff = 267;

		if (ieX && ie5)
		{
			so.left = (ev.clientX + document.body.scrollLeft) + xOff;
			so.top = (ev.clientY + document.body.scrollTop) - yOff;
		}
		else if (ieX)
		{
			so.left = (ev.clientX + document.documentElement.scrollLeft) + xOff;
			so.top = (ev.clientY + document.documentElement.scrollTop) - yOff;
		}
		else
		{
			so.left = ev.pageX + xOff;
			so.top = ev.pageY - yOff;
		}

		if (__ImageZoomImage.src == __ImageZoomDefaultImageSrc)
			__ImageZoomImage.src = root +"/images/products/products/"+ id +"/resize_large/"+image;

		showElement(__ImageZoomDiv, true);

		ImageZoomCooldown();
	}
	catch (e)
	{
	}
}

function stockHide (ev)
{
	if (!stockZoomCacheElements()) { return false; }

	try
	{
		hideElement(__ImageZoomDiv, true);
		__ImageZoomImage.src = __ImageZoomDefaultImageSrc;
	}
	catch (e)
	{
	}
}