YAHOO.namespace('HOL');
var YUE = YAHOO.util.Event, YUD = YAHOO.util.Dom, YUA = YAHOO.util.Anim, YUC = YAHOO.util.Connect, $ = YUD.get, HOL = YAHOO.HOL, YUS = YAHOO.util.Selector, YQ = YAHOO.util.Selector.query;

String.prototype.trim = function(){ return this.replace(/^\s+|\s+$/g, ''); };

HOL.launchPopUp = function(e, options){
	YUE.preventDefault(e);
	var winName = options && options.winName ? options.winName : 'holwin' + Math.floor(Math.random()*101);
	var winFeatures = options && options.winFeatures ? options.winFeatures : 'toolbar=no,menubar=no,status=yes,scrollbars=yes,resizable=yes,width=490px,height=600px';
	var winHref = options && options.winHref ? options.winHref : YUE.getTarget(e).href;
	var win = window.open(winHref, winName, winFeatures);
	win.focus();
}

HOL.launchContactUs = function(e){
	HOL.launchPopUp(e, {"winFeatures":"toolbar=no,menubar=no,status=yes,scrollbars=no,resizable=yes,width=260px,height=560px", "winName":"contactUs"})
}

HOL.launchOpps = function(e){
	//YUE.preventDefault(e);
	window.open('http://www.abercrombie.com/anf/hr/jobs/careers.html','jobs','toolbar=no,menubar=no,status=yes,scrollbars=no,resizable=yes,width=700px,height=560px');
}



/***********************/

HOL.DDRegion = function(id, sGroup, config) {
    this.cont = config.cont;
    HOL.DDRegion.superclass.constructor.apply(this, arguments);
};

YAHOO.extend(HOL.DDRegion, YAHOO.util.DD, {
    cont: null,
    init: function() {
        //Call the parent's init method
        HOL.DDRegion.superclass.init.apply(this, arguments);
        this.initConstraints();
    },
    initConstraints: function() {
        //Get the top, right, bottom and left positions
        var region = YUD.getRegion(this.cont);
		
        //Get the element we are working on
        var el = this.getEl();

        //Get the xy position of it
        var xy = YUD.getXY(el);

        //Get the width and height
        var width = parseInt(YUD.getStyle(el, 'width'), 10);
        var height = parseInt(YUD.getStyle(el, 'height'), 10);

        //Set left to x minus left
        var left = xy[0] - region.left;

        //Set right to right minus x minus width
        var right = region.right - xy[0] - width;

        //Set top to y minus top
        var top = xy[1] - region.top;

        //Set bottom to bottom minus y minus height
        var bottom = region.bottom - xy[1] - height;

        //Set the constraints based on the above calculations
        this.setXConstraint(left, right);
        this.setYConstraint(top, bottom);
		
        YUE.on(window, 'resize', function() {
			alert ('kkk');
            this.initConstraints();
        }, this, true);
    }
});

/***********************/


HOL.toolBox = {
	"fixPngs":function(){
		var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, '');
		var itsAllGood = (rslt != null && Number(rslt[1]) >= 5.5 && Number(rslt[1]) < 7.0);
		if (itsAllGood) {
			for (var i=0; i<document.all.length; i++){
				var obj = document.all[i];
				var bg = obj.currentStyle.backgroundImage;
				var img = document.images[i];
				if (bg && bg.match(/\.png/i) != null) {
					var img = bg.substring(5,bg.length-2);
					var offset = obj.style["background-position"];
					var sizingMethod = obj.id.indexOf('DS') > -1 || obj.className.indexOf('DS') > -1 || obj.id == 'minicartlist' ? 'scale' : 'crop'
					obj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+img+"', sizingMethod='" + sizingMethod + "')";
					obj.style.backgroundImage = "url('/hol/images/I-spacer.gif')";
					obj.style["background-position"] = offset; // reapply
				} else if (img && img.src.match(/\.png$/i) != null) {
					var src = img.src;
					img.style.width = img.width + "px";
					img.style.height = img.height + "px";
					img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+src+"', sizingMethod='crop')";
					img.src = "/hol/images/I-spacer.gif";
				}
			}
		}
	},
	"readCookie":function(name){
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for(var i=0;i<ca.length;i++){
			var c = ca[i];
			while (c.charAt(0)==' '){ c = c.substring(1,c.length); }
			if (c.indexOf(nameEQ) == 0){ return c.substring(nameEQ.length,c.length); }
		}
		return null;
	},
	"createCookie":function(name,value,days){
		if (days){
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}
		else{ var expires = ""; }
		var ck = name+"="+value+expires+"; path=/";
		document.cookie = ck;
	},
	"toggle":{
		"visibility":function(el){
			el = $(el);
			el.style.visibility = el.style.visibility == 'visible' ? 'hidden' : 'visible';
		},
		"display":function(el){
			el = $(el);
			el.style.display = el.style.display == 'block' ? 'none' : 'block';
		},
		"onoff":function(el){
			el = $(el);
			if(el.src){
				el.src = el.src.indexOf('On') > -1 ? el.src.replace('On','Off') : el.src.indexOf('Off') > -1 ? el.src.replace('Off','On') : el.src;
			}
		}
	},
	"getQueryString":function(str) {
	    var qstr = {};
	    if (!str) {
	        var str = location.href.split('?');
	        if (str.length != 2) {
	            str = ['', location.href];
	        }
	    } else {
	        var str = ['', str];
	    }
	    if (str[1].match('#')) {
	        var _tmp = str[1].split('#');
	        qstr.hash = _tmp[1];
	        str[1] = _tmp[0];
	    }
	    if (str[1]) {
	        str = str[1].split('&');
	        if (str.length) {
	            for (var i = 0; i < str.length; i++) {
	                var part = str[i].split('=');
	                if (part[0].indexOf('[') != -1) {
	                    if (part[0].indexOf('[]') != -1) {
	                        //Array
	                        var arr = part[0].substring(0, part[0].length - 2);
	                        if (!qstr[arr]) {
	                            qstr[arr] = [];
	                        }
	                        qstr[arr][qstr[arr].length] = part[1];
	                    } else {
	                        //Object
	                        var arr = part[0].substring(0, part[0].indexOf('['));
	                        var data = part[0].substring((part[0].indexOf('[') + 1), part[0].indexOf(']'));
	                        if (!qstr[arr]) {
	                            qstr[arr] = {};
	                        }
	                        //Object
	                        qstr[arr][data] = part[1];
	                    }
	                } else {
	                    qstr[part[0]] = part[1];
	                }
	            }
	        }
	    }
	    return qstr;
	},
	"getFadeUp":function(c, r){
		c = $(c);
		if(!c){ return false; }
		
		function resetFadeWidth(e){
			alert("kk");
			YUD.setStyle($("editMode"),"height",YUD.getViewportHeight() + "px");
			YUD.setStyle($("editMode"),"width",YUD.getViewportWidth() + "px");
			YUD.setStyle($("fadeCtn"),"height",YUD.getViewportHeight() + "px");
			YUD.setStyle($("fadeCtn"),"width",YUD.getViewportWidth() + "px");
		}
		
		var em = $("editMode");
		if(!em){
			em = document.createElement("div");
			em.id = "editMode";
			
			emH = YUD.getRegion($("wrapper")).bottom - YUD.getRegion($("wrapper")).top;
			
			if(emH < YUD.getViewportHeight()){
				emH = YUD.getViewportHeight();
			}
			
			YUD.setStyle(em,"height", emH + "px");
			YUD.setStyle(em,"width",YUD.getViewportWidth() + "px");
			
			document.getElementsByTagName("body")[0].appendChild(em);
		}
		
		var fc = $("fadeCtn");
		if(!fc){
			fc = document.createElement("div");
			fc.id = "fadeCtn";
			YUD.setStyle(fc, "width", YUD.getViewportWidth() + "px");
			document.getElementsByTagName("body")[0].appendChild(fc);
		}
		
		YUD.setStyle(em,"opacity","0");
		YUD.setStyle(em,"display","block");
		HTB.toggleSelects("hidden");
		(new YUA(em, { opacity:{ to:.6 } }, .30)).animate();
		
		var cloFDC = new Image(13,13);
		cloFDC.src = '/hol/images/buttons/B-globalCloseXOff.gif';
		cloFDC.id = "closeFade";
		cloFDC.className = "onoff";
		c.appendChild(cloFDC);
		
		fc.appendChild(c);
		YUD.setStyle(c,"display","block");
		YUE.on($("closeFade"), "click", HTB.closeFadeUp, c);
		YUD.setStyle(fc,"opacity","0");
		YUD.setStyle(fc,"display","block");
		(new YUA(fc, { opacity:{ to:1 } }, .25)).animate();
		HTB.fixPngs();
		YUE.on(window, "resize", resetFadeWidth);
	},
	"closeFadeUp":function(e, c){

		var em = $('editMode'), fc = $('fadeCtn');
		if(!em || !fc){ return false; }
		
		var emOut = new YUA(em, { opacity:{ to:0 } }, .25);
		emOut.onComplete.subscribe(function(){
				YUD.setStyle($("editMode"),"display","none");
				HTB.toggleSelects("visible");
			});
		emOut.animate();
		var fcOut = new YUA(fc, { opacity:{ to:0 } }, .25);
		fcOut.onComplete.subscribe(function(){
				c.removeChild($("closeFade"));
				YUD.setStyle(c,"display","none");
				YUD.setStyle($("fadeCtn"),"display","none");
				document.getElementsByTagName("body")[0].appendChild(c);
				em.parentNode.removeChild(em);
				fc.parentNode.removeChild(fc);
			});
		
		fcOut.animate();
	},
	"floatDiv":function(el){
		var el = $(el);
		var reg = YUD.getRegion(el);
		var verticalpos = "fromtop";
		YUD.getStyle();
		startY = 14;
		var ns = (navigator.appName.indexOf("Netscape") != -1);
		var d = document;
		function ml(el){
			var reg = YUD.getRegion(el);
			el.sP = function(x,y){
				this.style.top=y + "px";
			};
			el.x = reg.left;
			if(verticalpos == "fromtop"){
				el.y = startY;
			}else{
				el.y = ns ? pageYOffset + innerHeight : document.documentElement.scrollTop + document.documentElement.clientHeight;
				el.y -= startY;
			}
			return el;
		}
		window.stayTopLeft=function(){
			if (verticalpos=="fromtop"){
				var pY = ns ? pageYOffset : document.documentElement.scrollTop;
				ftlObj.y += (pY + startY - ftlObj.y)/8;
			}else{
				var pY = ns ? pageYOffset + innerHeight : document.documentElement.scrollTop + document.documentElement.clientHeight;
				ftlObj.y += (pY - startY - ftlObj.y)/8;
			}
			ftlObj.sP(ftlObj.x, ftlObj.y);
			setTimeout("stayTopLeft()", 10);
		}
		ftlObj = ml(el);
		stayTopLeft();
	},
	"nonToggledSelects":{},
	"toggleSelects":function(p){
		var selects = document.getElementsByTagName('select');
		if(p == "hidden"){ HTB.nonToggledSelects = {}; }
		for(var x = 0; x < selects.length; x++){
			if(YUD.getStyle(selects[x], "visibility") == p && p == "hidden"){
				HTB.nonToggledSelects[selects[x].name] = selects[x];
			}else if(!YUD.isAncestor($("fadeCtn"), selects[x]) && 
				!YUD.isAncestor($("editProdRgt"), selects[x]) && 
				!HTB.nonToggledSelects[selects[x].name] &&
				!YUD.isAncestor($("egcCtn"), selects[x])){
				selects[x].style.visibility = p;
			}
		}
	},
	"validateEmail":function(eml){
		function filter(a){		
			var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
			return filter.test(a);
		}
		var test = eml.value;
		var lAt = test.indexOf("@")
		var lDot = test.lastIndexOf(".")
		//Checks over 5: x@x.x
		if ( (test.length <5 || lAt <= 0 || lAt >= lDot - 1 || lDot >= test.length) || !filter(test)) {
			return false;
	    }else{
	    	return true;
	    }
	},
	"limitChars":function(fe, num){
		fe.value = fe.value.slice(0, num);
	},
	"charCheck":function(el,n){
		el = $(el);
		if(!el){ return; }
		if (el.value.length > n){
			el.value = el.value.substring(0,199);
		}
	},
	"selectOption":function(s,m){
		if(!s){ 
			return false; 
		}
		for (var i=0; i<s.options.length; i++){
			if (s.options[i].value == m){
				s.options[i].selected = true;
				break;
			}
		}
	},
	"encodeCharEntities":function(s){
		if(!s){ return false; }
		var LT = new RegExp("<", "g"), GT = new RegExp(">", "g"), AMP = new RegExp("&", "g"), TAB = new RegExp("\t", "g");  
		return s.replace(AMP,"&amp;").replace(LT, "&lt;").replace(GT, "&gt;").replace(TAB, "    ");  
	},
	"sanitizeEuro":function(s){
		var euroRegex = /(\s|&nbsp;)*(&euro;|\u20ac|&#8364;)(\s|&nbsp;)*/;
		if( euroRegex.test(s) ) {
			s = s.replace(euroRegex, "");
			s += " EUR";
		}
		return s;
	}
}

HOL.scrollBar = function(ctr, ctt){//ctr = container, ctt = content
	
	var ctrReg = YUD.getRegion(ctr);
	var cttReg = YUD.getRegion(ctt);
	var ctrH = ctrReg.bottom - ctrReg.top;
	var cttH = cttReg.bottom - cttReg.top;
	var trReg, drReg, t, d, ht, hc, hb, au, ad, delt, sh;
	
	if(!ctrReg || !cttReg){ return false; }
	
	function sbInt(){
		var cntnr = document.createElement("div");
		cntnr.innerHTML = '<img src="/hol/images/I-globalVertScrollUpOff.jpg" class="scr-up onoff scrollArr" \/>' +
			'<div style="position:absolute;">' +
				'<div class="scr-track">' +
					'<div class="scr-drag">' +
						'<img src="/hol/images/I-globalVertScrollTab1.gif" id="scr-scrollHandleTop" \/>' +
						'<img src="/hol/images/I-globalVertScrollTab3.gif" class="scr-scrollHandleCenter" \/>' +
						'<img src="/hol/images/I-globalVertScrollTab1.gif" class="scr-scrollHandleBottom" \/>' +
					'<\/div>' +
				'<\/div>' +
			'<\/div>' +
			'<img src="/hol/images/I-globalVertScrollDownOff.jpg" class="scr-down onoff scrollArr" \/>';
		ctr.parentNode.appendChild(cntnr);
		YUD.addClass(cntnr, "scr-cntnr");
		t = YUD.getElementsByClassName("scr-track", "div", cntnr)[0];
		d = YUD.getElementsByClassName("scr-drag", "div", cntnr)[0];
		ht = YUD.getElementsByClassName("scr-scrollHandleTop", "img", cntnr)[0];
		hc = YUD.getElementsByClassName("scr-scrollHandleCenter", "img", cntnr)[0];
		hb = YUD.getElementsByClassName("scr-scrollHandleBottom", "img", cntnr)[0];
		au = YUD.getElementsByClassName("scr-up", "div", cntnr)[0];
		ad = YUD.getElementsByClassName("scr-down", "div", cntnr)[0];
		
		delt = cttH - (cttH - ctrH);
		sh = Math.ceil(delt/(cttH/(ctrH-90)));
		dragCenter = (Math.floor(sh/2) - 12);
		YUD.setStyle(cntnr, "height", (ctrH-60) + "px");
		YUD.setStyle(t, "height", (ctrH-90) + "px");
		YUD.setStyle(d, "height", sh + "px");
		trReg = YUD.getRegion(t);
		drReg = YUD.getRegion(d);
		
		dd = new HOL.DDRegion(d, "", { cont: t });
		dd.onDrag = setcttY;
		YUD.setStyle(cntnr, "visibility", "visible");
		YUD.setStyle(hc, "top", dragCenter + "px");
		
		YUE.on($(cntnr), "click", scrClick, sh);
		YUD.getElementsByClassName("scrollArr", "img", cntnr, function(el){
			YUE.on($(el), "mousedown", scrMD, sh);
			YUE.on($(el), "mouseup", function(e){ 
				clearTimeout(el.scrTO); 
				clearInterval(el.scrINT); 
				});
			});
		
		ctr.scrollBar = cntnr;
	}
	function setcttY(){
		var rat = Math.ceil(cttH/(ctrH - 90));
		var drReg = YUD.getRegion(d);
		YUD.setStyle(ctt, "top", (trReg.top - drReg.top) * rat + "px");
	}
	
	function scrClick(e, sh){
		var t = YUE.getTarget(e);
		var drag = d;
		//alert(d);
		var drReg = YUD.getRegion(d);
		var a;
		var toVal;
		if(YUD.hasClass(t, "scrollArr")){
			if(YUD.hasClass(t, "scr-up")){
				toVal = YUD.getY(drag) - 10 < trReg.top ? trReg.top : YUD.getY(drag) - 10;
			}else{
				toVal = drReg.bottom + 10 > trReg.bottom ? trReg.bottom - sh : YUD.getY(drag) + 10;
			}
			a = new YAHOO.util.Motion(drag, {points:{ to:[YUD.getX(drag), toVal] }}, .25);
			a.onTween.subscribe(setcttY);
			a.animate();
		} else if(YUD.hasClass(t, "scr-track")){
			var ey = YUE.getPageY(e);
			if(ey < drReg.top){
				toVal = ey < trReg.top ? trReg.top : ey;
			}else{
				toVal = ey - sh;
			}
			a = new YAHOO.util.Motion(drag, {points:{ to:[YUD.getX(drag), toVal] }}, .25);
			a.onTween.subscribe(setcttY);
			a.animate();
		}else{
			return true;
		}
	}
	function scrMD(e, sh){
		var t = YUE.getTarget(e);
		var sch = sh;
		t.scrTO = setTimeout(function(){
			t.scrINT = setInterval(function(){
				var trReg = YUD.getRegion(YUD.getElementsByClassName("scr-track", "div", t.parentNode)[0]);
				var drReg = YUD.getRegion(YUD.getElementsByClassName("scr-drag", "div", t.parentNode)[0]);
				var drag = YUD.getElementsByClassName("scr-drag", "div", t.parentNode)[0];
				if(YUD.hasClass(t, "scr-up")){
					if(drReg.top - 5 > trReg.top){
						YUD.setY(drag, drReg.top - 5);
					}else{
						YUD.setY(drag, trReg.top);
						clearInterval(t.scrINT);
					}
				}else{
					if(drReg.bottom + 5 < trReg.bottom){
						YUD.setY(drag, drReg.top + 5);
					}else{
						YUD.setY(drag, trReg.bottom - sh);
						clearInterval(t.scrINT);
					}
				}
				setcttY();
			}, 50);
		}, 250);
	}
	if(ctrH >= cttH){
		return false;
	}else{
		if(!ctr.scrollBar){
			sbInt();
		}
	}
}


/**** global variables ****/
var HTB = HOL.toolBox;
var globalStoreId = HTB.readCookie('myStore') || 10251;
var globalCatalogId = 10201;
var hostName = location.host;
var serverHostname = 'http://'+hostName;
var dudesURL = serverHostname + '/webapp/wcs/stores/servlet/division_' + globalStoreId + '_' + globalCatalogId + '_12551_-1';
var bettysURL = serverHostname + '/webapp/wcs/stores/servlet/division_' + globalStoreId + '_' + globalCatalogId + '_12552_-1';
var cartURL = serverHostname + '/webapp/wcs/stores/servlet/OrderItemDisplay?storeId=' + globalStoreId + '&catalogId=' + globalCatalogId + '&orderId=.';
var divisionCatgroupId = "12552";
var giftCardURL = serverHostname + '/webapp/wcs/stores/servlet/category1_' + globalStoreId + '_' + globalCatalogId + '_12578_-1_' + divisionCatgroupId;
var homeURL = serverHostname + '/hol/homepage.html'
var noCart = false;

function getURL(url){
	self.location = url;
}
function getMetatags() {
    var newHtml = "";
    newHtml += '<META NAME="description" CONTENT="Hollister Co. is the newest southern Cali lifestyle retailer geared towards energetic and outgoing guys and girls.">'
    newHtml += '<META NAME="keywords" CONTENT="clothing, Cali,Club Cali, Lounge 22, Socal Roadtrip, California, beach, authentic surf, skate, sporting goods, extreme, mens garments, womens garments, authentic, quality, gear, retail, gifts, young, cool, hip, radical, lifestyles, style, durable, genuine, casual, West Coast, tees, hats, shirts, pants, sex appeal, outdoors, cologne,">'
    document.write(newHtml);
}
/**** end global variables ****/

HOL.storeNav = function (){
	var token = document.createElement('img');
	token.src = '/hol/images/I-sidenavGull.jpg';
	YUD.addClass(token, 'menuToken');
	function handleClick(e){
		var t = YUE.getTarget(e);
		if(t.tagName.toUpperCase() != "A"){ return true; }
		placeToken(t);
		YUD.getElementsByClassName('highlight', 'a', $('storeNav'), function(a){
				var color = YUD.hasClass(a, "tier1") ? "#7a7565" : "#c6c2a9";
				YUD.removeClass(a, 'highlight');
				YUD.setStyle(a, "color", color);
			});
		highlight(t);
		if(YUD.hasClass(t,'hasChildren')){
			YUE.preventDefault(e);
			expand(t.parentNode);
		}
		return true;
	}
	function drillDown(el){
		var nxt = YUD.getNextSiblingBy(el, function(s){
			return YUD.hasClass(s, "storeNavSubDept");
		});
		var nxtFirstLink = YUD.getElementsByClassName("storeNavSubDeptLink", "a", nxt)[0];
		if(YUD.hasClass(nxtFirstLink, "hasChildren")){
			drillDown(nxtFirstLink);
		}else{
			window.location = nxtFirstLink.href;
		}
	}
	function highlight(a){
		if(!a){ return false; }
		YUD.addClass(a, 'highlight');
		YUD.setStyle(a, "color", "#f6f1eb");
	}
	function expand(subD){
		if(!subD){ return false; }
		var subDs = YUD.getElementsByClassName('storeNavSubDept','ul', subD);
		var collapseOthers = YUD.getElementsByClassName("expanded", null, $("storeNav"), function(el){
			if(!YUD.isAncestor(el, subDs[0])){
				YUD.removeClass(el,"expanded");
				YUD.setStyle(el, "display", "none");
			}
		});
		var dontExpandAnc = YUD.getAncestorByClassName(subD,'dontexpand');
		if(dontExpandAnc){
			highlight(dontExpandAnc.getElementsByTagName('a')[0]);
			placeToken(dontExpandAnc.getElementsByTagName('a')[0]);
			return;
		}else if(YUD.hasClass(subD,'dontexpand')){
			highlight(subD.getElementsByTagName('a')[0]);
			placeToken(subD.getElementsByTagName('a')[0]);
			return;		
		}
		if(subDs.length > 0 && !YUD.hasClass(subDs[0], "dontexpand")){ 
			subDs[0].style.display = "block";
			YUD.addClass(subDs, "expanded");
		}
		var pn = subD.parentNode;
		while(pn.id != 'storeNav'){
			if(pn.id == 'nav_12634' || pn.id == 'nav_12635'){
				var countryCookie = HTB.readCookie('hol-country');
				if(countryCookie != 'US' && countryCookie != 'CA'){
					window.document.location = '/hol/homepage.html';
				}
			}			
			if(YUD.hasClass(pn,'storeNavSubDept')){
				pn.style.display = 'block';
				YUD.addClass(pn, "expanded");
				highlight(pn.parentNode.getElementsByTagName('a')[0]);
			}
			pn = pn.parentNode;
		}
	}
	function placeToken(a){
		var dontExpandAnc = YUD.getAncestorByClassName(a,'dontexpand');
		if(dontExpandAnc){
			a = dontExpandAnc.getElementsByTagName('a')[0];
		}
		var left = "0px";
		if(YUD.hasClass(a, "tier2")){
			left = "5px";
		}else if(YUD.hasClass(a, "tier3")){
			left = "10px";
		}
		YUD.setStyle(token, "left", left);
		YUD.insertBefore(token,a);
	}
	this.init = function(){
		YUE.on($('storeNav'), 'click', handleClick);
		expand($('nav_' + categoryId));
		placeToken($('nav_link_' + categoryId));
		YUD.addClass($('nav_link_' + categoryId), 'highlight');
		YUD.setStyle($('nav_link_' + categoryId), "color", "#f6f1eb");
	}
}

HOL.globalNav = function(){
	function toggleGlobalNav(e, el){
		//var el = YUE.getTarget(e);
		var pre = el.id.replace('gn-', '');
		var on = $(pre + 'DivOn');
		var off = $(pre + 'DivOff');
		if(YUD.getStyle(on,'z-index') == '-1'){
			on.style.zIndex = '3';
			off.style.zIndex = '-1';
		}else{
			on.style.zIndex = '-1';
			off.style.zIndex = '3';
		}
	}
	function attachGlobalNavEvents(el){
		YUE.on(el, 'mouseover' , toggleGlobalNav, el);
		YUE.on(el, 'mouseout' , toggleGlobalNav, el);
	}
	this.init = function(){
		YUD.getElementsByClassName  ( 'globalNavBtn' , 'img' , null ,  attachGlobalNavEvents);
	}
}

function togOnOffImgs(e){
	var t = YUE.getTarget(e);
	if(YUD.hasClass(t, "onoff") && !YUD.hasClass(t, "fixed-onoff")){
		HTB.toggle.onoff(t);
	}else{
		return true;
	}
}

var handlePopupClick = function(e, el) {
	if( YUD.hasClass(el, "shippingHandlingLink") ||
		YUD.hasClass(el, "tncLink") ||
		YUD.hasClass(el, "siteUseLink") ||
		YUD.hasClass(el, "genericPopUpLink") ) {
			HOL.launchPopUp(e, null);
	} else if ( YUD.hasClass(el, "privacyPolicyLink") ) {
			var popupObj = {
				"winName" : "ppolicy",
				"winHref" : el.href,
				"winFeatures" :  "toolbar=no,menubar=no,status=no,scrollbars=yes,resizable=no,width=520px,height=600px"
			};
			HOL.launchPopUp(e, popupObj);
	} else if ( YUD.hasClass(el, "contactUsLink") ) {
			HOL.launchContactUs(e);
	}
}
	

HOL.pageInit = function(e){
	var docBody = document.getElementsByTagName("body")[0];
	
	YUE.on(docBody, "mouseover", togOnOffImgs);
	YUE.on(docBody, "mouseout", togOnOffImgs);
	
	YUE.delegate(YQ("body"), "click", handlePopupClick, "a");
	
	function hideCAPP(){
		//hide CA Priv. Rights link in footer
		if(HTB.readCookie('hol-country') != 'US'){
			YUD.setStyle($('footerNav-caPrivRight'), "display", "none");
			YUD.setStyle($('footerNav-caPrivRightDivider'), "display", "none");
		}
	}
	
	var countryCall = null;
	if (HTB.readCookie("hol-country") == null || HTB.readCookie("hol-country") == 'undefined'){
		var cb = {
			success:function(o){
				hideCAPP();
			},
			failure:function(o){
				//couldn't get the countryCode info... how sad.
			}
		}
		countryCall = YUC.asyncRequest("GET", "/webapp/wcs/stores/servlet/holldir/countryCode.jsp?storeId=" + globalStoreId, cb);
	}
	
	//set value for storeId inputs on static pages
	if(YUD.hasClass(docBody, "static")){
		YUD.getElementsBy(function(el){ return el.name == "storeId" && el.value == ""; }, "input", docBody, function(el){ el.value = globalStoreId});
	}
	
	//Create store navigaion
	if($('storeNav')){
		(new HOL.storeNav).init();
	}
	
	//Reset division catgroup id, giftCardUrl
	if($("divisionBadge")){
		divisionCatgroupId = $("divisionBadge").src.indexOf("Dudes") > -1 ? "12551" : "12552";
		giftCardURL = serverHostname + '/webapp/wcs/stores/servlet/category1_' + globalStoreId + '_' + globalCatalogId + '_12578_-1_' + divisionCatgroupId;
	}
	
	//Decide to show wish list?
	if(HTB.readCookie("wishList") == "true" && $("wishListLink")){
		YUD.setStyle($("wishListLink"), "display", "inline");
	}
	
	//show clearance in store nav
	if(HTB.readCookie("hol-country") == 'US' || HTB.readCookie("hol-country") == 'CA'){
		YUD.getElementsByClassName('clearanceDeptLI', 'li', $('storeNav'), function(el){
				YUD.setStyle(el, "display", "block");
			});
	}
	
	//initialize behavior for global  nav (DUDES, BETTYS, CLUB ROOM links)
	(new HOL.globalNav).init();
	
	//Enable png images for IE6
	HTB.fixPngs();
	
	//hide CA Priv. Policy
	if(!countryCall){
		hideCAPP();
	}
	
	//Display the page
	if($('wrapper')){
		$('wrapper').style.visibility = 'visible'; 
	}
}
YUE.on(window, 'load', HOL.pageInit);
	
