/* JavaScript Browser Sniffer. Eric Krok, Andy King, Michel Plungjan Jan. 31, 2002 */
function inAgt(str){return agt.indexOf(str);}

var objClient = new Object();
var agt=navigator.userAgent.toLowerCase();
var appVer = navigator.appVersion.toLowerCase();
var isT = true;
var isF = false;
var strAppleWebKit = "applewebkit/"

var intMinor = parseFloat(appVer);
var intMajor = parseInt(intMinor);

objClient.isOpera = (inAgt("opera") != -1);
objClient.intOperaVer = (objClient.isOpera ? agt.substr(inAgt("opera")+6) : undefined);

var iePos = appVer.indexOf('msie');
if (iePos !=-1) {
	intMinor = parseFloat(appVer.substring(iePos+5,appVer.indexOf(';',iePos)))
	intMajor = parseInt(intMinor);
}

objClient.isKonq = isF;
var kqPos = inAgt('konqueror');
if (kqPos !=-1) {
	objClient.isKonq  = isT;
	intMinor = parseFloat(agt.substring(kqPos+10,inAgt(';',kqPos)));
	intMajor = parseInt(intMinor);
}

objClient.isSafari = ((inAgt('safari')!=-1)&&(inAgt('mac')!=-1))?isT:isF;
objClient.isKhtml  = (objClient.isSafari || objClient.isKonq);

objClient.isAppleWebKit = (appVer.indexOf(strAppleWebKit) != -1);
objClient.strAppleWebKitVer = -1;
if (objClient.isAppleWebKit) {
	objClient.strAppleWebKitVer = appVer.substring(appVer.indexOf(strAppleWebKit)+strAppleWebKit.length,appVer.length);
	objClient.strAppleWebKitVer = objClient.strAppleWebKitVer.substring(0,objClient.strAppleWebKitVer.indexOf(" "));
	objClient.strAppleWebKitMajorVer = objClient.strAppleWebKitVer.split(".")[0];
	objClient.strAppleWebKitMinorVer = objClient.strAppleWebKitVer.split(".")[1];
}

objClient.isSafari131Up = (objClient.isSafari && (objClient.strAppleWebKitMajorVer > 312 || (objClient.strAppleWebKitMajorVer == 312 && objClient.strAppleWebKitMinorVer >= 5)) ? isT : isF);
objClient.isSafari203Up = (objClient.isSafari && (objClient.strAppleWebKitMajorVer > 417 || (objClient.strAppleWebKitMajorVer == 417 && objClient.strAppleWebKitMinorVer >= 7)) ? isT : isF);

objClient.isGecko = ((!objClient.isKhtml)&&(navigator.product)&&(navigator.product.toLowerCase()=="gecko"))?isT:isF;
objClient.intGver  = 0;
if (objClient.isGecko) objClient.intGver=Number(navigator.productSub);

objClient.isMoz = ((inAgt('mozilla/5')!=-1) && (inAgt('spoofer')==-1) && (inAgt('compatible')==-1) &&
					(inAgt('opera')==-1) && (inAgt('webtv')==-1) && (inAgt('hotjava')==-1) &&
					(objClient.isGecko) && ((navigator.vendor=="")||(navigator.vendor=="Mozilla")||(navigator.vendor=="Debian")));
objClient.isFb = ((inAgt('mozilla/5')!=-1) && (inAgt('spoofer')==-1) &&
					(inAgt('compatible')==-1) && (inAgt('opera')==-1)  &&
					(inAgt('webtv')==-1) && (inAgt('hotjava')==-1)     &&
					(objClient.isGecko) && (navigator.vendor=="Firebird"));
objClient.isFx = ((inAgt('mozilla/5')!=-1) && (inAgt('spoofer')==-1) &&
					(inAgt('compatible')==-1) && (inAgt('opera')==-1)  &&
					(inAgt('webtv')==-1) && (inAgt('hotjava')==-1)     &&
					(objClient.isGecko) && (navigator.vendor=="Firefox"));

if ((objClient.isMoz)||(objClient.isFb)||(objClient.isFx)) {  // 032504 - dmr
	objClient.intMozVer = (navigator.vendorSub)?navigator.vendorSub:0;
	if(!(objClient.intMozVer)) {
		objClient.intMozVer = inAgt('rv:');
		objClient.intMozVer = agt.substring(objClient.intMozVer+3);
		is_paren   = objClient.intMozVer.indexOf(')');
		objClient.intMozVer = objClient.intMozVer.substring(0,is_paren);
	}
	intMinor = objClient.intMozVer;
	intMajor = parseInt(objClient.intMozVer);
}
objClient.intFbVer = objClient.intMozVer;
objClient.intFxVer = objClient.intMozVer;

objClient.isNav  = ((inAgt('mozilla')!=-1) && (inAgt('spoofer')==-1)
					&& (inAgt('compatible') == -1) && (inAgt('opera')==-1)
					&& (inAgt('webtv')==-1) && (inAgt('hotjava')==-1)
					&& (!objClient.isKhtml) && (!(objClient.isMoz)) && (!objClient.isFb) && (!objClient.isFx));

if ((navigator.vendor)&&((navigator.vendor=="Netscape6")||(navigator.vendor=="Netscape"))&&(objClient.isNav)) {
	intMajor = parseInt(navigator.vendorSub);
	intMinor = parseFloat(navigator.vendorSub);
}

objClient.isNav7   = (objClient.isNav && intMajor == 7);
objClient.isNav7up = (objClient.isNav && intMinor >= 7);

objClient.isIE   = ((iePos!=-1) && (!objClient.isOpera) && (!objClient.isKhtml));
objClient.isIE5_5  = (objClient.isIE && (inAgt("msie 5.5") !=-1)); // 020128 new - abk
objClient.isIE5_5up =(objClient.isIE && intMinor >= 5.5);                // 020128 new - abk

var ie6Pos = appVer.indexOf('msie 6');
var ie7Pos = appVer.indexOf('msie 7');
objClient.isIE6 = (ie6Pos!=-1);   // For CSS detection
objClient.isIE7 = (ie7Pos!=-1);   // For CSS detection


objClient.isIE6up = (objClient.isIE && intMinor >= 6);

objClient.isAOL   = (inAgt("aol") != -1);
objClient.isAOL5  = (inAgt("aol 5") != -1);
objClient.isAOL6  = (inAgt("aol 6") != -1);
objClient.isAOL7  = ((inAgt("aol 7")!=-1) || (inAgt("aol7")!=-1));
objClient.isAOL8  = ((inAgt("aol 8")!=-1) || (inAgt("aol8")!=-1));

objClient.isWin   = ( (inAgt("win")!=-1) || (inAgt("16bit")!=-1) );
objClient.isWin95 = ((inAgt("win95")!=-1) || (inAgt("windows 95")!=-1));

objClient.isWinME = ((inAgt("win 9x 4.90")!=-1));    // new 020128 - abk
objClient.isWin2k = ((inAgt("windows nt 5.0")!=-1) || (inAgt("windows 2000")!=-1)); // 020214 - dmr
objClient.isWinXP = ((inAgt("windows nt 5.1")!=-1) || (inAgt("windows xp")!=-1)); // 020214 - dmr
objClient.isWin98 = ((inAgt("win98")!=-1) || (inAgt("windows 98")!=-1));
objClient.isWinNT = ((inAgt("winnt")!=-1) || (inAgt("windows nt")!=-1) && !objClient.isWinXP);

objClient.isMac    = (inAgt("mac")!=-1);
if (objClient.isMac) objClient.isWin = !objClient.isMac; // dmr - 06/20/2002

objClient.isJava = (navigator.javaEnabled());

objClient.isFlash = isF;
objClient.intFlashVer = 0;

if ((objClient.isNav||objClient.isOpera||objClient.isMoz||objClient.isFb||objClient.isFx)||(objClient.isMac&&objClient.isIE5up)||(objClient.isSafari)) {
	var plugin = (navigator.mimeTypes &&
				navigator.mimeTypes["application/x-shockwave-flash"] &&
				navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin) ?
				navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin : 0;
	if (plugin) {
		objClient.isFlash = isT;
		objClient.intFlashVer = parseInt(plugin.description.substring(plugin.description.indexOf(".")-1));
	}
}

if (objClient.isWin&&objClient.isIE5_5up) {
	document.write(
		'<scr' + 'ipt language=VBScript>' + '\n' +
		'Dim hasPlayer, playerversion' + '\n' +
		'hasPlayer = false' + '\n' +
		'playerversion = 10' + '\n' +
		'Do While playerversion > 0' + '\n' +
		'On Error Resume Next' + '\n' +
		'hasPlayer = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & playerversion)))' + '\n' +
		'If hasPlayer = true Then Exit Do' + '\n' +
		'playerversion = playerversion - 1' + '\n' +
		'Loop' + '\n' +
		'objClient.intFlashVer = playerversion' + '\n' +
		'objClient.isFlash = hasPlayer' + '\n' +
		'<\/sc' + 'ript>');
}
/*
var objBrowserSupportLevel = new Object();
objBrowserSupportLevel.strUnSupportedPage = objB.strUnSupportedPage;
objBrowserSupportLevel.strSemiSupportedPage = objB.strSemiSupportedPage;
objBrowserSupportLevel.intBrowserSupportLevel = 0; // 0 = unsupported, 1 = semi, 2 = full
if (getQuerystringParam("browseroverride") == "true") {
	setCookieVar("globalSession","unSBA","1");
}
*/





var objGIDPageViewAdapter = new Object();
var objMouseEvent = new Object();
objMouseEvent.X0 = 0;
objMouseEvent.Y0 = 0;
objMouseEvent.dragTarget = "";

var strRelativeURL;

if( top != self )
    strRelativeURL = '/browse/home.do';
else
    strRelativeURL = window.location.pathname + window.location.search + window.location.hash;

var strSignInReturnURL = escape(strRelativeURL);
var strSignInTargetURL = escape(strRelativeURL);
var strSignInShoppingURL = escape(strRelativeURL);

function goToShoppingBag() {
	window.location.href='/buy/shopping_bag.do';
}

function returnImg(strSrc) {
	var objImg = new Image();
	objImg.src = strSrc;
	return objImg;
}

function returnObjById(strId) {
	var tempObj = document.getElementById(strId);
	return tempObj;
}

function setImgSrc(targetID, strSrc) {
	if (typeof targetID == "string") var objImg = returnObjById(targetID);
	else if (typeof targetID == "object") var objImg = targetID;
	objImg.setAttribute("src",strSrc);
}

function setObjInnerHTML(objLayer,strHTML) {
	if (objLayer) objLayer.innerHTML = strHTML;
}

function setObjPosition(objLayer,intX,intY) {
	strX = String(intX);
	strY = String(intY);
	objLayer.style.top = intY + (strY.indexOf("px") == -1 ? "px" : "");
	objLayer.style.left = intX + (strX.indexOf("px") == -1 ? "px" : "");
}

function setObjVisibility(objLayer,strState) {
	objLayer.style.visibility = strState;
}

function returnObjPosition(target){
	var x = 0;
	var y = 0;
	var tempObj = new Object();
	var obj = (typeof target == "object" ? target : returnObjById(target));
	while (obj.offsetParent != null) {
		x += obj.offsetLeft;
		y += obj.offsetTop;
		obj = obj.offsetParent;
	}
	x += obj.offsetLeft;
	y += obj.offsetTop;
	tempObj.x = x;
	tempObj.y = y;
	return tempObj;
}

function getQuerystringParam(keyArg){
	var _strQuery = location.search.toLowerCase();
	var _keyArg = keyArg.toLowerCase();
	var _strVal = "";

	var _regexS = "[\\?&]"+_keyArg+"=([^&#]*)";
  	var _regex = new RegExp(_regexS);

  	var _keyVal = _regex.exec(_strQuery);
  	if (_keyVal != null) _strVal = _keyVal[1];

  	_strVal = unescape(_strVal);
  	return _strVal;
}

function removeQueryStringParam(strURL,strParam) {
	var strRegExp =  new RegExp("&"+strParam+"=[^&]*");
	var strRegExp2 =  new RegExp("/?"+strParam+"=[^&]*&");
	var strReplace = new String("");

	// param to remove may be a first (preceeded by ?) or subsequent parameter (preceeded by &)
	if (strURL.match(strRegExp)) {
		var newStr = strURL.replace(strRegExp,strReplace);
	} else {
		var newStr = strURL.replace(strRegExp2,strReplace);
	}

	return newStr;
}

function selectOption(fieldObj,fieldValue) {
	fieldType = fieldObj.type
	if (!fieldType && fieldObj[0])
		fieldType = fieldObj[0].type;
	if (fieldType == "select-one" || fieldType == "select-multiple") {
		for (i=0;i<fieldObj.options.length;i++) {
			if (fieldObj.options[i].value == fieldValue)
				fieldObj.options[i].selected = true;
		}
	} else if (fieldType == "radio" || fieldType == "checkbox") {
		for (i=0;i<fieldObj.length;i++) {
			if (fieldObj[i].value == fieldValue)
				fieldObj[i].checked = true;
		}
	}
}

function addCurrentDomain(strURL) {
	var newURL = window.location.protocol + "//" + window.location.host + strURL;
	return newURL;
}
function closeLayeredPopup() {
	var objPopup = returnObjById("popupContent");
	objPopup.style.visibility = 'hidden';
	while(objPopup.hasChildNodes()) {
		objPopup.removeChild(objPopup.firstChild);
	}
}

function grabLayeredPopup(event0) {
	if (objClient.isIE) {
		if (event.srcElement.id) {
			if (event.srcElement.id.indexOf("layeredPopupFrame") != -1) {
				objMouseEvent.dragTarget = "layeredPopup";
				objMouseEvent.X0=event.offsetX;
				objMouseEvent.Y0=event.offsetY;
				return false;
			}
		}
	} else {
		if (event0.target.id) {
			if (event0.target.id.indexOf("layeredPopupFrame") != -1) {
				objMouseEvent.dragTarget = "layeredPopup";
				objMouseEvent.X0=event0.layerX;
				objMouseEvent.Y0=event0.layerY;
				return false;
			}
		}
	}
}

function dragLayeredPopup(event0) {
	if (objMouseEvent.dragTarget == "layeredPopup") {
		var objPopup = returnObjById("popupContent");
		var scrollLeft = 0;
		var scrollTop = 0;
		var w = objPopup.offsetWidth;
		var h = objPopup.offsetHeight;
		if (objClient.isIE) {
			scrollLeft = (document.documentElement && document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
			scrollTop = (document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
			var x = event.clientX;
			var y = event.clientY;
		} else {
			var x = event0.pageX;
			var y = event0.pageY;
		}
		if (y >= 0) {
			setObjPosition(objPopup,x-objMouseEvent.X0 + scrollLeft,y-objMouseEvent.Y0 + scrollTop);
		}
		return false;
	}
}

function releaseLayeredPopup() {
	objMouseEvent.dragTarget = "";
}

function closeWindow() {
	if (window.opener)
		window.opener.focus();
	window.close();
}


function isPrototypeSafe(key, object) {
	var safeType = typeof object[key];
	var isSafe = !(typeof object[key] == "function");
	return isSafe;
}

function goSignIn(signInHref) {
    var strURL = signInHref +
							"?context=nav" +
							"&returnURL=" + strSignInReturnURL +
							"&targetURL=" + strSignInTargetURL;
	parent.location.href = strURL;
	return false;
}

function goSignOut(signOutHref) {
	var strURL = signOutHref +
							"?returnURL=" + strSignInReturnURL +
							"&targetURL=" + strSignInTargetURL;
	parent.location.href = strURL;
	return false;
}

function goJoinEmail(ref,srcValue,emailAddress) {
		var optionalEmail = "";
		if (emailAddress != null && emailAddress != "") {optionalEmail = "&emailAddress=" + emailAddress;}
		var strGoURL = '/profile/join_email_list_confirm.do?targetURL='+strSignInReturnURL+'&src='+srcValue+optionalEmail;
		contentItemLink(ref,strGoURL);
}

function getElementsByAttribute(objElement,strAttribute,searchValue,arrayResults) {
	if (objClient.isIE && strAttribute == "class") strAttribute = "className";
	if (!arrayResults) arrayResults = new Array();
	if (objElement.hasChildNodes()) {
		for (var i in objElement.childNodes) {
			if (!isPrototypeSafe(i, objElement.childNodes)) continue;
			var objChild = objElement.childNodes[i];
			if (objChild.getAttribute &&
					objChild.getAttribute(strAttribute) &&
					(typeof searchValue != "string" ? objChild.getAttribute(strAttribute).search(searchValue) != -1 : objChild.getAttribute(strAttribute) == searchValue))
					arrayResults[arrayResults.length] = objChild;
			if (objChild.hasChildNodes && objChild.hasChildNodes()) getElementsByAttribute(objChild,strAttribute,searchValue,arrayResults);
		}
	}
	return arrayResults;
}

function setLabelOnClick() {
	if (objClient.isIE) {
	  var arrayLabels = document.getElementsByTagName('label');
	  for (var i in arrayLabels) {
	    if (!isPrototypeSafe(i, arrayLabels)) continue;
	    var objLabel = arrayLabels[i];
	    var objFormElement = document.getElementById(objLabel.htmlFor);
	    if (objFormElement && objFormElement.tagName == 'SELECT') {
	      objLabel.onclick = function() {
				  document.getElementById(this.htmlFor).focus();
					return false;
	      }
	    }
	  }
	}
}

function contentItemLink(domTarget,strURL,linkId,urlTarget) {
	var objTarget = null;
	var contentItemId = "";
	var strContentItemContainerPrefix = "contentItemContainer";
	var refBusinessId = (window["omni"] ? omni.strCurrentBusinessId : "");
	var isHardCodedId = (typeof domTarget == "string" || typeof domTarget == "number");
	var isHardCodedURL = (strURL && strURL != '');
	if (isHardCodedId) {
		objTarget = (contentItemId = domTarget);
	} else {
		objTarget = domTarget;
		do {
			isFound = ((objTarget && objTarget.id && objTarget.id.match(new RegExp(strContentItemContainerPrefix))) || objTarget == null);
			if (!isFound) objTarget = objTarget.parentNode;
		} while (!isFound);
		contentItemId = (objTarget.getAttribute('className') ? objTarget.getAttribute('className') : objTarget.getAttribute('class'));
	}
	function updateURLString(strURL) {
		strURL += (strURL.indexOf("?") == -1 ? "?" : "&") +
							"mlink=" +
							refBusinessId + "," +
							contentItemId +
							(linkId && linkId != "" ? "," + linkId : "") +
							"&clink=" + contentItemId;
		return strURL;
	}
	if (objTarget) {
		if (!isHardCodedURL) {
			if (domTarget.useMap && document.getElementsByName(domTarget.useMap.substr(1)).length > 0) {
				strLink = document.getElementsByName(domTarget.useMap.substr(1))[0].areas[0].href;
			} else if (domTarget.href) {
				strLink = domTarget.href;
			} else if (domTarget.parentNode && domTarget.parentNode.href) {
				strLink = domTarget.parentNode.href;
			}
			strURL = strLink.replace(new RegExp(".+"+location.host),"");
		}

		var isUrl = strURL.match(/^(\/|http|about)/);
		if (isUrl) {
			if (strURL.match(/^\//)) strURL = updateURLString(strURL);
		} else {
			var expURL = new RegExp(/[^']*\.do\?[^']*/g);
			var arrayURLs = strURL.match(expURL);
			if (arrayURLs) {
				for (i=0;i<arrayURLs.length;i++) {
					strURL = strURL.replace(arrayURLs[i],updateURLString(arrayURLs[i]));
				}
			}
		}
		if (urlTarget && urlTarget == "_new") {
				var newWindow = window.open(strURL,'');
				newWindow.focus();
		} else {
			var objTargetWindow = (urlTarget && window[urlTarget] ? window[urlTarget] : window);
				objTargetWindow.location.href = strURL;
		}
		if (!isHardCodedURL) return false;
	} else {
		if (!isHardCodedURL) return true;
	}
}

function unUnicode(str) {
	if (str) {
		var arrayMatch = str.match(/&#[0-9]+;/g);
		if (arrayMatch) {
			for (var i=0;i<arrayMatch.length;i++) {
				str = str.replace(arrayMatch[i],String.fromCharCode(arrayMatch[i].match(/[0-9]+/)));
			}
		}
	}
	return str;
}

function stringFilter (input, filteredValues) {
	s = input.value;
	var i;
	var returnString = "";
		for (i = 0; i < s.length; i++) {
		var c = s.charAt(i);
			if (filteredValues.indexOf(c) == -1) returnString += c;
		}
	input.value = returnString;
}

/* returns contentItemIds array */
function getContentItemIds() {
	var elements = getElementsWithMatchingId("contentItemContainer");
	var contentItemIds = new Array();
	for (var i = 0; i < elements.length; i++) {
		contentItemIds[i] = elements[i].getAttribute("className");
		if (contentItemIds[i] == null) {
			contentItemIds[i] = elements[i].getAttribute("class");
		}
	}
	return contentItemIds;
}

function getElementsWithMatchingId(idName) {
	var objContentItemContainerElements = new Array();
	var divs = document.getElementsByTagName("div");
	var y = 0;
	for (var i = 0; i < divs.length; i++) {
		var id = divs[i].getAttribute("id");
		if (id && id.match(idName)) {
			objContentItemContainerElements[y] = divs[i];
			y++;
		}
	}
	return objContentItemContainerElements;
}


function getCommaDelimited(strArray) {
	var str = "";
	if (strArray) {
		for (var i = 0; i < strArray.length; i++) {
			str = str + strArray[i];
			if (i < strArray.length - 1) {
				str = str + ",";
			}
		}
	}
	return str;
}
/* Cookies */

function getCookie(name) {
  	var arg = name + "=";
  	var alen = arg.length;
  	var clen = document.cookie.length;
  	var i = 0;
  	while (i < clen) {
    	var j = i + alen;
    	if (document.cookie.substring(i, j) == arg)
     		return getCookieVal (j);
    		i = document.cookie.indexOf(" ", i) + 1;
    		if (i == 0) break;
  		}
 	 return 0;
}

function getCookieVal(offset) {
	var endstr = document.cookie.indexOf (";", offset);
  	if (endstr == -1) {
    	endstr = document.cookie.length;
	}
  	return unescape(document.cookie.substring(offset, endstr));
}

function getCookieVar(strCookieName, arg) {
	var cookievalue = getCookie(strCookieName)
	if (cookievalue == 0) {
		cookieString = ""
	}
	else {
		cookieString = cookievalue;
	}
	if (cookieString.indexOf(arg) != -1) {
		var x = cookieString.indexOf(arg)
		var y = cookieString.indexOf("&", x)
		if (y == -1) {
			y = cookieString.length
		}
		var stringVariables = cookieString.substring(x,y)
		var x = (stringVariables.indexOf("=") + 1)
		var y = stringVariables.length
		var stringVariables = stringVariables.substring(x,y)
		stringVariables = unescape(stringVariables)
	}
	else {
		var stringVariables = ""
	}
	return stringVariables
}

function cookie_object(strCookieName, strCookieValue, strCookieDate, strCookiePath, strCookieDomain, IsCookieSecure) {
	this.strCookieName = strCookieName
	this.strCookieValue = strCookieValue
	this.strCookieDate = strCookieDate
	this.strCookiePath = strCookiePath
	this.strCookieDomain = strCookieDomain
	this.IsCookieSecure = IsCookieSecure
}

function setCookieVar(strCookieName,strCookieVariable,strCookieVariableValue,intCookieExpiration) {
	var IsEndOfString = false
	var IsPersistCookie = false
	var IsSessionCookie = false
	var arrCookieStringPart = new Array()
	arrCookieStringPart[0] = ""
	arrCookieStringPart[1] = ""
	strCookieVariableValue = escape(strCookieVariableValue)

	if (intCookieExpiration != null) {
		var datExpiresDate = intCookieExpiration;
	}
	else {
		var datNextFiveYearDate = new Date();
		var datExpiresDate = new Date();
		datNextFiveYearDate.setFullYear(datNextFiveYearDate.getFullYear() + 5);
		var datExpiresDate = datNextFiveYearDate;
	}
	var strHostName = location.hostname;
	var strCookieDomain = strHostName;
	if (strHostName.indexOf(".")) {
		var arrayHostName = strHostName.split(".");
		arrayHostName.reverse();
		if ((arrayHostName.length == 4) && (arrayHostName[0] != "com")) {
			var strCookieDomain = strHostName;
		}
		else if ((arrayHostName.length > 1) && (arrayHostName[0] == "com")) {
			var strCookieDomain = "." + arrayHostName[2] + "." + arrayHostName[1] + "." + arrayHostName[0];
		}
		else if (arrayHostName.length == 1) {
			var strCookieDomain = "." + arrayHostName[1] + "." + arrayHostName[0];
		}
	}

	var objPersistCookie = new cookie_object(null,null,datExpiresDate,"/",strCookieDomain,false)

	var objSessionCookie = new cookie_object(null,null,null,"/",strCookieDomain,false)
	var strObjCookie = ""

	if ((strCookieName.toLowerCase()).indexOf("persist") != -1) {
		IsPersistCookie = true;
		strObjCookie = "objPersistCookie";
	}
	else if ((strCookieName.toLowerCase()).indexOf("session") != -1) {
		IsSessionCookie = true;
		strObjCookie = "objSessionCookie";
	}
	else {
		IsSessionCookie = true;
		strObjCookie = "objSessionCookie";
	}

	strCookieValue = getCookie(strCookieName);
	if (strCookieValue == 0) {
		strCookieValue = strCookieVariable + "=" + strCookieVariableValue
		setCookie(strCookieName,strCookieValue,(eval((strObjCookie) + ".strCookieDate")),(eval((strObjCookie) + ".strCookiePath")),(eval((strObjCookie) + ".strCookieDomain")),(eval((strObjCookie) + ".IsCookieSecure")));
	}
	else {
		if (strCookieValue.indexOf(strCookieVariable) != -1) {
			var x = strCookieValue.indexOf(strCookieVariable)
			var y = strCookieValue.indexOf("&", x)
			if (y == -1) {
				y = strCookieValue.length
				IsEndOfString = true
			}
			else {
				arrCookieStringPart[1] = strCookieValue.substring(y,strCookieValue.length)
			}
			arrCookieStringPart[0] = strCookieValue.substring(0,x)
			var strCurrentVariableValuePair = strCookieValue.substring(x,y)
			var x = (strCurrentVariableValuePair.indexOf("=") + 1)
			var y = strCurrentVariableValuePair.length
			var strCurrentVariableValue = strCurrentVariableValuePair.substring(x,y)
			strCompleteCookieValue = arrCookieStringPart[0] + strCookieVariable + "=" + strCookieVariableValue + arrCookieStringPart[1]
			strCookieValue = strCompleteCookieValue
			setCookie(strCookieName,strCookieValue,(eval((strObjCookie) + ".strCookieDate")),(eval((strObjCookie) + ".strCookiePath")),(eval((strObjCookie) + ".strCookieDomain")),(eval((strObjCookie) + ".IsCookieSecure")));

		}
		else {
			if (strCookieValue.indexOf("=") != -1) {
				strCookieValue = strCookieValue + "&" + strCookieVariable + "=" + strCookieVariableValue
			}
			else {
				strCookieValue = strCookieVariable + "=" + strCookieVariableValue
			}
			setCookie(strCookieName,strCookieValue,(eval((strObjCookie) + ".strCookieDate")),(eval((strObjCookie) + ".strCookiePath")),(eval((strObjCookie) + ".strCookieDomain")),(eval((strObjCookie) + ".IsCookieSecure")));
		}
	}
	return true
}

function setCookie (name,value,expires,path,domain,secure) {
  document.cookie = name + "=" + escape (value) +
    ((expires) ? "; expires=" + expires.toGMTString() : "") +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    ((secure) ? "; secure" : "");
}

/* */

/* Window & Document Event */

function globalOnLoadFunctions() {
	// setButtonEvents();
	// setLabelOnClick();
	// setFooterImages();
}

function globalOnMouseDownFunctions(event0) {
	grabLayeredPopup(event0);
	if (window["objPO"]) objPO.grabQuickLook(event0);
}

function globalOnMouseMoveFunctions(event0) {
	dragLayeredPopup(event0);
	if (window["objPO"])  {
		objPO.dragQuickLook(event0);
		objPO.checkQuickLookLauncher(event0);
	}
}

function globalOnMouseUpFunctions(event0) {
	releaseLayeredPopup(event0);
	if (window["objPO"]) objPO.releaseQuickLook(event0);
}

function applicationOnLoadFunctions() {}
function pageOnLoadFunctions() {}

function globalOnUnloadFunctions() {}
function applicationOnUnloadFunctions() {}
function pageOnUnloadFunctions() {}

function applicationOnMouseDownFunctions(event0) {}
function pageOnMouseDownFunctions(event0) {}

function applicationOnMouseMoveFunctions(event0) {}
function pageOnMouseMoveFunctions(event0) {}

function applicationOnMouseUpFunctions(event0) {}
function pageOnMouseUpFunctions(event0) {}
/*
document.onmousedown = function(event0) {
	globalOnMouseDownFunctions(event0);
	applicationOnMouseDownFunctions(event0);
	pageOnMouseDownFunctions(event0);
}

document.onmousemove = function(event0) {
	globalOnMouseMoveFunctions(event0);
	applicationOnMouseMoveFunctions(event0);
	pageOnMouseMoveFunctions(event0);
}

document.onmouseup = function(event0) {
	globalOnMouseUpFunctions(event0);
	applicationOnMouseUpFunctions(event0);
	pageOnMouseUpFunctions(event0);
}

window.onload = function() {
	if (window["GIDPageViewAdapter"]) {
		objGIDPageViewAdapter = new GIDPageViewAdapter();
		objGIDPageViewAdapter.objGIDProducts = new GIDProducts();
	}
	globalOnLoadFunctions();
	applicationOnLoadFunctions();
	pageOnLoadFunctions();
}

window.onunload = function() {
	globalOnUnloadFunctions();
	applicationOnUnloadFunctions();
	pageOnUnloadFunctions();
}
*/
/* Nav */
var objFooter = new Object();
var objTopNavController = new Object();
objTopNavController.activeDivision = "";
objTopNavController.divisionTimer = 0;
objTopNavController.subDivisionTimer = 0;
/* */
var objB = new Object();
objB.IB = new Object();
objB.IB.pIBClip = function(h) {
	return "rect(0px 200px " + h + "px 0px)";
}
objB.IB.pIBW = "200px";
objB.IB.pIBx = function(x) {
	return (x+(objClient.isIE ? 0 : 0))+"px";
}
objB.IB.pIBy = function(y) {
	return (y+objInlineBag.objHeaderLayer.offsetHeight+(objClient.isIE ? 1 : 0))+"px";
}
objB.IB.pIBMClip = function(h) {
	return "rect(0px 200px " + h + "px 0px)";
}
objB.IB.pIBMW = "200px";
objB.IB.pIBMx = function(x) {
	return (x)+"px";
}
objB.IB.pIBMy = function(y1,y2) {
	return (y1+y2-10)+"px";
}
objB.IB.sISBDLayer = "inlineShoppingBagDataLayer";
objB.IB.sISBMLayer = "inlineBagMarketingCenter";



/* Inline Bag */
var objInlineBag = new Object();
objInlineBag.objHeaderLayer = new Object();
objInlineBag.objClipLayer = new Object();
objInlineBag.objContentsLayer = new Object();
objInlineBag.objMarketingClipLayer = new Object();
objInlineBag.objMarketingContentsLayer = new Object();
objInlineBag.position = new Object();
objInlineBag.positionMarketing = new Object();

objInlineBag.objTimer;
objInlineBag.scrollDelta = 5;
objInlineBag.scrollSpeed = 1;
objInlineBag.intInlineBagHeight = 0;
objInlineBag.intMarketingHeight = 0;
objInlineBag.isOpen = false;
objInlineBag.doOpenBag = false;
objInlineBag.isAnimating = false;
objInlineBag.hasMarketing = false;
objInlineBag.closeDelay = 30*1000;
objInlineBag.CartCountID = "";

objInlineBag.initializeInlineBag = function(){
	objInlineBag.objHeaderLayer = returnObjById("inlineBagHeader");
	objInlineBag.objHeaderLayerOpen = returnObjById("inlineBagHeaderOpen");
	objInlineBag.objClipLayer = returnObjById("inlineBagClip");
	objInlineBag.objContentsLayer = returnObjById("inlineBagContent");
	objInlineBag.objMarketingClipLayer = returnObjById("inlineBagMarketingClip");
	objInlineBag.objMarketingContentsLayer = returnObjById("inlineBagMarketingContent");
}

objInlineBag.positionInlineBag = function(){
	if (objInlineBag.objClipLayer.style && objInlineBag.objContentsLayer.style) {
		objInlineBag.objClipLayer.style.clip = objB.IB.pIBClip(objInlineBag.intInlineBagHeight);
		objInlineBag.objClipLayer.style.width = objB.IB.pIBW;
		objInlineBag.objClipLayer.style.height = objInlineBag.intInlineBagHeight+"px";
		objInlineBag.objContentsLayer.style.top = -1*objInlineBag.intInlineBagHeight+"px";

		objInlineBag.position = returnObjPosition("inlineBagHeader");
		setObjPosition(objInlineBag.objClipLayer,objB.IB.pIBx(objInlineBag.position.x),objB.IB.pIBy(objInlineBag.position.y));
	} else {
		setTimeout("objInlineBag.positionInlineBag()",100);
	}
}

objInlineBag.positionInlineBagMarketing = function() {
	objInlineBag.objMarketingClipLayer.style.clip = objB.IB.pIBMClip(objInlineBag.intMarketingHeight);
	objInlineBag.objMarketingClipLayer.style.width = objB.IB.pIBMW;
	objInlineBag.objMarketingClipLayer.style.height = objInlineBag.intMarketingHeight+"px";
	objInlineBag.objMarketingContentsLayer.style.top = -1*objInlineBag.intMarketingHeight+"px";

	objInlineBag.positionMarketing = returnObjPosition("inlineBagClip");
	setObjPosition(objInlineBag.objMarketingClipLayer, objB.IB.pIBMx(objInlineBag.positionMarketing.x), objB.IB.pIBMy(objInlineBag.positionMarketing.y,objInlineBag.intInlineBagHeight));
}

objInlineBag.showInlineBag = function() {
	setObjVisibility(objInlineBag.objClipLayer,"visible");
	setObjVisibility(objInlineBag.objContentsLayer,"visible");
}

objInlineBag.showInlineBagMarketing = function() {
	setObjVisibility(objInlineBag.objMarketingClipLayer,"visible");
	setObjVisibility(objInlineBag.objMarketingContentsLayer,"visible");
}

objInlineBag.hideInlineBag = function() {
	setObjVisibility(objInlineBag.objClipLayer,"hidden");
	setObjVisibility(objInlineBag.objContentsLayer,"hidden");
}

objInlineBag.hideInlineBagMarketing = function() {
	setObjVisibility(objInlineBag.objMarketingClipLayer,"hidden");
	setObjVisibility(objInlineBag.objMarketingContentsLayer,"hidden");
}

objInlineBag.openInlineBag = function(isAuto) {
	if ((!objInlineBag.isOpen || returnObjById("inlineShoppingBagDataLayer").innerHTML != "") && (!objInlineBag.isAnimating || isAuto)) {
		objInlineBag.isAnimating = true;
	    objInlineBag.objHeaderLayer.style.display = "none";
	    objInlineBag.objHeaderLayerOpen.style.display = "block";

	    objInlineBag.showInlineBag();

		var ypx = objInlineBag.objContentsLayer.style.top;
		var y = Number(ypx.substring(0,ypx.indexOf("px")));

		if(y + objInlineBag.scrollDelta <= 0)
		{
			setObjPosition(objInlineBag.objContentsLayer,'0px',(y+objInlineBag.scrollDelta)+'px');
			objInlineBag.objContentsLayer.style.top;
			objInlineBag.objTimer = setTimeout("objInlineBag.openInlineBag(true)", objInlineBag.scrollSpeed);
		} 
		else 
		{
			setObjPosition(objInlineBag.objContentsLayer,'0px','0px');
			objInlineBag.doOpenBag = false;
			clearTimeout(objInlineBag.objTimer);
			if (objInlineBag.hasMarketing) 
			{
				objInlineBag.positionInlineBagMarketing();
				objInlineBag.showInlineBagMarketing();
				setTimeout("objInlineBag.openInlineBagMarketing();",250);
			} 
			else 
			{
				objInlineBag.isOpen = true;
				objInlineBag.isAnimating = false;
				setTimeout("objInlineBag.closeInlineBag();",objInlineBag.closeDelay);
			}
		}
	}
}

objInlineBag.openInlineBagMarketing = function() {
	var ypx = objInlineBag.objMarketingContentsLayer.style.top;
	var y = Number(ypx.substring(0,ypx.indexOf("px")));
	if(y+objInlineBag.scrollDelta <= 0){
		setObjPosition(objInlineBag.objMarketingContentsLayer,'0px',(y+objInlineBag.scrollDelta)+'px');
		objInlineBag.objMarketingContentsLayer.style.top;
		objInlineBag.objTimer = setTimeout("objInlineBag.openInlineBagMarketing()", objInlineBag.scrollSpeed);
	} else {
		setObjPosition(objInlineBag.objMarketingContentsLayer,'0px','0px');
		clearTimeout(objInlineBag.objTimer);
		objInlineBag.isOpen = true;
		objInlineBag.isAnimating = false;
		setTimeout("objInlineBag.closeInlineBag();",objInlineBag.closeDelay);
	}
}

objInlineBag.closeInlineBag = function(isAuto, close) {
    
    intTop = - objInlineBag.intInlineBagHeight;
    
    if (!close)
    {
	    if (!objInlineBag.isAnimating || isAuto) {
		    objInlineBag.isAnimating = true;
		    if (objInlineBag.hasMarketing) 
		    {
			    objInlineBag.closeInlineBagMarketing();
		    } 
		    else 
		    {
			    if (objInlineBag.objContentsLayer.style)
			    {
			        ypx = objInlineBag.objContentsLayer.style.top;
			        y = Number(ypx.substring(0,ypx.indexOf("px")));
        			
			        if (y - objInlineBag.scrollDelta >= intTop)
			        {
				        setObjPosition(objInlineBag.objContentsLayer,'0px',(y-objInlineBag.scrollDelta)+'px');
				        objInlineBag.objTimer = setTimeout("objInlineBag.closeInlineBag(true)", objInlineBag.scrollSpeed);
			        } 
			        else 
			        {
				        setObjPosition(objInlineBag.objContentsLayer,'0px',intTop+'px');
				        clearTimeout(objInlineBag.objTimer);
				        objInlineBag.isOpen = false;
				        objInlineBag.isAnimating = false;
				        objInlineBag.hideInlineBag();
				        objInlineBag.objHeaderLayer.style.display = "block";
				        objInlineBag.objHeaderLayerOpen.style.display = "none";
			        }
			    }
		    }
	    }
	}
	else
	{
        setObjPosition(objInlineBag.objContentsLayer,'0px',intTop+'px');
        clearTimeout(objInlineBag.objTimer);
        objInlineBag.isOpen = false;
        objInlineBag.isAnimating = false;
        objInlineBag.hideInlineBag();
        objInlineBag.objHeaderLayer.style.display = "block";
        objInlineBag.objHeaderLayerOpen.style.display = "none";
	}
}

objInlineBag.closeInlineBagMarketing = function() {
		intTop = -objInlineBag.intMarketingHeight;
		var ypx = objInlineBag.objMarketingContentsLayer.style.top;
		var y = Number(ypx.substring(0,ypx.indexOf("px")));
		if (y-objInlineBag.scrollDelta >= intTop){
			setObjPosition(objInlineBag.objMarketingContentsLayer,'0px',(y-objInlineBag.scrollDelta)+'px');
			objInlineBag.objTimer = setTimeout("objInlineBag.closeInlineBagMarketing()", objInlineBag.scrollSpeed);
		} else {
			setObjPosition(objInlineBag.objMarketingContentsLayer,'0px',intTop+'px');
			clearTimeout(objInlineBag.objTimer);
			objInlineBag.hideInlineBagMarketing();
			objInlineBag.hasMarketing = false;
			setTimeout("objInlineBag.closeInlineBag(true);",250);
		}
}

objInlineBag.setInlineShoppingBagData = function(Picture, Name, Quantity, Size, Price, Total, Count) {
    objInlineBag.setPicture(Picture);
    objInlineBag.setName(Name);
    objInlineBag.setQuantity(Quantity);
    objInlineBag.setSize(Size);
    objInlineBag.setPrice(Price);
	objInlineBag.setCartTotal(Total);
	objInlineBag.setCartCount(Count);
	/*
	 *	Hacked resetting of "absolute" position for inside bag items.
	 *  This is a hacky workaround for a problem with IE6 in which the
	 *  absolutely styled elements were not having their height and width
	 *  set initially
	 */
	$("#inlineBagClip").css("position", "absolute");
	// Element.setStyle('inlineBagMarketingClip',{position: 'absolute'});
	// if (strHTML) setObjInnerHTML(returnObjById(objB.IB.sISBDLayer),strHTML);
	objInlineBag.intInlineBagHeight = objInlineBag.objContentsLayer.offsetHeight;
	objInlineBag.positionInlineBag();
}

objInlineBag.setInlineShoppingBagMarketing = function(strHTML) {
	if (strHTML) setObjInnerHTML(returnObjById(objB.IB.sISBMLayer),strHTML);
	objInlineBag.intMarketingHeight = objInlineBag.objMarketingContentsLayer.offsetHeight+14;
	objInlineBag.hasMarketing = true;
}

objInlineBag.setPicture = function(strPicture) {
	$("#productImage").attr("src", strPicture);
}
objInlineBag.setName = function(strName) {
	setObjInnerHTML(returnObjById("ProductName"),strName)
}
objInlineBag.setQuantity = function(strQuantity) {
	setObjInnerHTML(returnObjById("ProductQuantity"),strQuantity)
}
objInlineBag.setSize = function(strSize) {
	setObjInnerHTML(returnObjById("ProductSize"),strSize)
}
objInlineBag.setPrice = function(strPrice) {
	setObjInnerHTML(returnObjById("ProductPrice"),strPrice)
}
objInlineBag.setCartTotal = function(strCartTotal) {
	setObjInnerHTML(returnObjById("CartTotal"),strCartTotal)
}
objInlineBag.setCartCount = function(strCartCount) {
	setObjInnerHTML(returnObjById("CartCount"),"stavki u korpi: " + strCartCount)
	setObjInnerHTML(returnObjById(objInlineBag.CartCountID), strCartCount)
}

objInlineBag.checkInlineBag = function(e) {
	if (objInlineBag.isOpen) {
		setTimeout("objInlineBag.closeInlineBag();",500);
	}
}

/* Search */
var objSearchBox = new Object();
objSearchBox.hasSearchText = false;

objSearchBox.checkSearchText = function(objFormField) {
	// once you are on a search page the hasSearchText variable will aways be true - so check the default text explicitly
	// on clearing the field - also get rid of any error class on the field - so when the user types, it is standard text
	if (objFormField.value == objSearchBox.strDefaultText) {
		if (objFormField.className != "searchTextStandard") {
			objFormField.className = "searchTextStandard";
		}
		objFormField.value = "";
	}
}

// check the user didn't click go with an invalid search term (blank or the default text)
objSearchBox.checkInput = function (objForm) {
	if ((objForm.searchText.value == "") || (objForm.searchText.value == objSearchBox.strDefaultText)) {
		objForm.searchText.value = objSearchBox.strDefaultText;
		objForm.searchText.className = "searchTextError";
		return false;
	}
	else {
		omni.objSearchProcessor.setKeyword(objForm.searchText.value, objForm.searchDivName.options[objForm.searchDivName.selectedIndex].text, omni.strCurrentPageName);
		return true;
	}
}

/* Navigation */
objSideNav = new Object();

objSideNav.rootElement = document.getElementById("sideNavCategories");
/*
alert("objSideNav.rootElement = " + objSideNav.rootElement);
alert("objSideNav.rootElement.height = " + objSideNav.rootElement.offsetHeight +
	"\n\robjSideNav.rootElement.width = " + objSideNav.rootElement.offsetWidth);
*/

objSideNav.strSelectedHeaderNodeId = "5003";
objSideNav.strUserExpandedHeaderNodeId = "";

objSideNav.objCategoryListElement = null;
objSideNav.objCategoryNavElement = null;

objSideNav.setCategoryGroupDisplay = function(strCategoryGroupId, strElementExtension) {

	var strExtension = "";

	if (strElementExtension) {
		strExtension = strElementExtension;
	}

	if (strCategoryGroupId != objSideNav.strSelectedHeaderNodeId) {
		setPreviousCategoryElements();
		setCategoryElements();
		if (objSideNav.strUserExpandedHeaderNodeId == "") {
			setDisplay(objSideNav.objCategoryListElement, objSideNav.objCategoryNavElement, true, strElementExtension);
			objSideNav.strUserExpandedHeaderNodeId = strCategoryGroupId;
		}
		else if (strCategoryGroupId == objSideNav.strUserExpandedHeaderNodeId) {
			// User has expanded a node in the navigation, and now wants to close the same node.
			// setPreviousCategoryElements()
			setDisplay(objSideNav.objPreviousCategoryListElement, objSideNav.objPreviousCategoryNavElement, false, strElementExtension);
			objSideNav.strUserExpandedHeaderNodeId = "";
		}
		else if (strCategoryGroupId != objSideNav.strUserExpandedHeaderNodeId) {
			// User has expanded a node in the navigation, need to close this node, then expand their new selected node.
			// setPreviousCategoryElements()
			setDisplay(objSideNav.objPreviousCategoryListElement, objSideNav.objPreviousCategoryNavElement, false, objSideNav.strPreviousElementExtension);
			setDisplay(objSideNav.objCategoryListElement, objSideNav.objCategoryNavElement, true, strElementExtension);
			objSideNav.strUserExpandedHeaderNodeId = strCategoryGroupId;
		}
	}

	function setCategoryElements() {
		objSideNav.objCategoryListElement = document.getElementById("categoryList" + strCategoryGroupId + strExtension);
		objSideNav.objCategoryNavElement = document.getElementById("categoryNav" + strCategoryGroupId + strExtension);
	}

	function setPreviousCategoryElements() {
		objSideNav.objPreviousCategoryListElement = objSideNav.objCategoryListElement;
		objSideNav.objPreviousCategoryNavElement = objSideNav.objCategoryNavElement;
		objSideNav.strPreviousElementExtension = strElementExtension;
		/*
		objSideNav.objPreviousCategoryListElement = document.getElementById("categoryList" + objSideNav.strUserExpandedHeaderNodeId + strExtension);
		objSideNav.objPreviousCategoryNavElement = document.getElementById("categoryNav" + objSideNav.strUserExpandedHeaderNodeId + strExtension);
		*/
	}

	function setDisplay(objCategoryListElement, objCategoryNavElement, isVisible, strElementExtension) {
		// alert("inner setDisplay method running");
		if (objCategoryListElement && objCategoryNavElement) {
			var strCssClassSuffix = "";
			if (strElementExtension == "Scrolling") {
				// scrolling header category detected - set class suffix to "scrolling"
				strCssClassSuffix = " scrolling";
				// alert("strCssClassSuffix = " + strCssClassSuffix);
			}

			if (isVisible) {
				objCategoryNavElement.className = "header expanded" + strCssClassSuffix;
				objCategoryListElement.style.display = "list-item";
			}
			else {
				objCategoryNavElement.className = "header collapsed" + strCssClassSuffix;
				objCategoryListElement.style.display = "none";
			}
			// alert("objCategoryNavElement.className = " + objCategoryNavElement.className);
 		}
	}
}

objSideNav.setTrimHeaderSeeAll = function(strCategoryGroupId) {
	objSideNav.objCategoryNavElementLimited = document.getElementById("categoryNav" + strCategoryGroupId + "Limited");
	objSideNav.objCategoryNavElementScrolling = document.getElementById("categoryNav" + strCategoryGroupId + "Scrolling");

	if ((objSideNav.objCategoryNavElementLimited != null) || (objSideNav.objCategoryNavElementScrolling != null)) {
		objSideNav.objCategoryNavElementLimited.style.display = "none";
		objSideNav.objCategoryNavElementScrolling.style.display = "list-item";
	}
}





