
function correctColumns() {
	var colContainer = gETAC("DIV", "colWrapper", document);
	if(!colContainer) {return;}
	for(var i=0;i<colContainer.length;i++) {
		var cols = gETAC("DIV", "block", colContainer[i]);
		for(var j=0;j<cols.length;j++) {
			var colNum = j + 1;
			addClass(cols[j], "col" + colNum);
		}
	}
}
function assignMainNav() {
	var MainNav = gE("MainNav");
	if(!MainNav) {return;}
	var ParentItems = gETAC("A", "siblingList", MainNav);
	for (var i = 0; i < ParentItems.length; i++) {
		ParentItems[i].parentNode.onmouseover = function() {
			var childMenu = gET("ul", this)[0];
			if (childMenu) {
				removeClass(childMenu, "hide");
			}
			return false;
		}
		ParentItems[i].parentNode.onmouseout = function() {	
			var childMenu = gET("ul", this)[0];
			if(childMenu) {
				addClass(childMenu, "hide");
			}
			return false;
		}
	}
}

// globalDropdown
function assignGlobalDropdown() {
	var globalNav = gE("GlobalDropdown");
	if(!globalNav) {return;}
	//alert("found GlobalDropdown");
	globalNav.onmouseover = function() {
		var childMenu = gET("ul", this)[0];	
		//alert("childMenu: " + childMenu);
		if (childMenu) {
			removeClass(childMenu, "hide");
		}
		return false;
	}
	globalNav.onmouseout = function() {	
		var childMenu = gET("ul", this)[0];
		//alert("childMenu: " + childMenu);
		if (childMenu) {
			addClass(childMenu, "hide");
		}
		return false;
	}
}

// globalDropdown
function assignGlobalDropdownRollovers() {
	var oPreLoad = new Array();
	var oTempSrc;
	var globalNav = gE("GlobalDropdown");
	if(!globalNav) {return;}
	var navItems = gETAC("img", "rollover", globalNav);	
	for (var i = 0; i < navItems.length; i++) {
		// get the image source
		var src = navItems[i].getAttribute('src');
		
		// get the over state by replacing 'off' with 'on'
		var osrc = src.replace(/_off(\.[a-z0-9]+)$/i,'_on$1');
		navItems[i].setAttribute('osrc', osrc);
		
		// preload 'on' state images
		oPreLoad[i] = new Image();
		oPreLoad[i].src = osrc;
		
		// set image to on state
		navItems[i].onmouseover = function() {
			oTempSrc = this.getAttribute('src');
			this.setAttribute('src', this.getAttribute('osrc'));
		}
		
		// set image to off state
		navItems[i].onmouseout = function() {
			if (!oTempSrc) oTempSrc = this.getAttribute('src').replace(/-on(\.[a-z0-9]+)$/i,'_off$1');
			this.setAttribute('src', oTempSrc);
		}
	}
}

function highlightMainNav() {
	var MainNav = gE("MainNav");
	if(!MainNav) {return;}
	var MainNavCollection = gET("A", MainNav);
	for(var i=0;i<MainNavCollection.length;i++) {
		var fileNameWithExt = getFileName(MainNavCollection[i].href);
		var fileName = fileNameWithExt.substring(0, fileNameWithExt.indexOf("."));
		if(hasIndexOf(location.href, fileName)) {
			addClass(MainNavCollection[i], "active");
		}
	}
}
function clearZip() {
	var zipSearch = gE("zipSearch");
	if(!zipSearch) {return;}
	zipSearch.hasBeenFocused = false;
	zipSearch.onfocus =  function() {
		if(!this.hasBeenFocused) {
			this.value = "";
			this.hasBeenFocused = true;
		}
		return false;
	};
}
function toggleSearchWidget() {
	var oRoot = document.getElementById('searchWidget');
	if(!oRoot){return;}
	var arrLinks = oRoot.getElementsByTagName('a');
	for(var i = 0; i < arrLinks.length; i++) {
		if (arrLinks[i].className.indexOf(''+'toggle'+'') > -1) {
			arrLinks[i].onclick = function() {
				oRoot.className = (oRoot.className.indexOf(''+'open'+'') > -1) ? oRoot.className.replace(/open/g,'') : oRoot.className += ' open';
				return false;
			}
		}
	}
}
function quicklinks() {
	var quicklinks = gE("quicklinks");
	if(!quicklinks) {return;}
	quicklinks.onchange = function() {
		location.href = this.options[this.selectedIndex].value;
		return false;
	};
}
var allDDs;
function toggleDropdown() {
	allDDs = gETAC("DIV", "dropdown", document);
	//make sure you close all others first
	for(var i = 0; i < allDDs.length; i++) {
		var oRoot = gET('li', allDDs[i])[0];
		oRoot.onclick = function() {
			if(hasClass(this, "active")) {
				removeClass(this, "active");
				deactivateDrops();
			}else {
				deactivateDrops();
				addClass(this, "active");
			}
		}
		var aTag = gET('A', oRoot)[0];
		aTag.href="javascript: void(0);";
	}
}
function deactivateDrops() {
	for(var i = 0; i < allDDs.length; i++) {
		var oRoot = allDDs[i].getElementsByTagName('li')[0];
		removeClass(oRoot, "active");
	}
}

function popShoppingList(url) { 
	window.open(url,'','width=746, height=600, location=0, toolbar=0, menubar=0, directories=0, scrollbars=1, status=1, resizable=1'); 
} 

function assignFamilyBrandsRolloversWithParentAnchorOnclicks() {
	var familyBrands = gE("familyBrands");
	if(!familyBrands) {return;}
	var imgs = gET("IMG", familyBrands);
	//alert(imgs.length);
	for(var i=0;i<imgs.length;i++) {
		if(imgs[i].parentNode.tagName=="A") {
			var anch = imgs[i].parentNode;
			anch.onclick = function() {
				s=s_gi(s_account);
				s.linkTrackVars="prop11";
				s.prop11 = this.getElementsByTagName("IMG")[0].getAttribute("alt");
				s.tl(this, 'o', 'Footer Exit Link - ' +  this.getElementsByTagName("IMG")[0].getAttribute("alt"));
			};
		}		
		
		imgs[i].onmouseover = function() {
			var tempSrcBegin = this.src.substring(0, this.src.indexOf("/image1/") + 1);
			var tempSrcEnd = this.src.substring(this.src.indexOf("/image1/") + 7);
			this.src = tempSrcBegin + "image2" + tempSrcEnd;
			return false;
		};
		imgs[i].onmouseout = function() {
			var tempSrcBegin = this.src.substring(0, this.src.indexOf("/image2/") + 1);
			var tempSrcEnd = this.src.substring(this.src.indexOf("/image2/") + 7);
			this.src = tempSrcBegin + "image1" + tempSrcEnd;
			return false;
		};
	}
}

function sendDynamicSpotlightTag(categoryId, pageId) {
	//alert("Spotlight Server: " + spotlightServer + " categoryID: " + categoryId + " pageID: " + pageId);
	var random = Math.floor(Math.random()*1000000000);
	var imgSrc = spotlightServer + ";src=" + spotlightSource + ";type=" + pageId + ";cat=" + categoryId + ";ord=" + random + ";num=" + random + "?";
	//alert("imgSrc: " + imgSrc);
	var newImage = document.createElement("IMG");
	newImage.width = 1;
	newImage.height = 1;
	newImage.border = 0;
	newImage.src = imgSrc;
	document.body.appendChild(newImage);	
}

function setCartButton() {
	var mCookie = document.cookie; 
	
	if (mCookie.indexOf("cabotcart") != -1) {
		var mCartInfo = unescape(mCookie).replace(/^.*cabotcart=([^;]+).*$/, "Checkout ($1)");
		document.getElementById("cartButton").innerHTML = mCartInfo;
		var newHref = document.getElementById("cartButton").href.replace("index.html", "showCart.html");
		document.getElementById("cartButton").href = newHref;
	}
}

function addSwatchesListener(mSwatches) {
	var yIndex = 499;
	var yListItems = gET("LI", mSwatches);

	if (yListItems) {
		for (yI = 0; yI < yListItems.length; yI++) {
			var ySwatch = gETAC("DIV", "tile", yListItems[yI]);

			removeClass(yListItems[yI], "orderSample");
			ySwatch[0].style.visibility = "visible";


			if (hasClass(yListItems[yI], "hasSample")) {
				ySwatch[0].onmouseover = function() {
					addClass(this.parentNode, "orderSample");
				}

				ySwatch[0].onmouseout = function() {
					removeClass(this.parentNode, "orderSample");
				}

				if (navigator.userAgent.toLowerCase().indexOf("msie") != -1) {
					ySwatch[0].onclick = function() {
						var yLink = gET("A", this);
						location.href = yLink[0].href;
					}
				}
			}
		}
	}
}

function setSwatchesRollOvers() {
	var mSwatches = gE("swatches");
	if (mSwatches)
		addSwatchesListener(mSwatches);

	mSwatches = gE("australian");
	if (mSwatches)
		addSwatchesListener(mSwatches);

	mSwatches = gE("clear");
	if (mSwatches)
		addSwatchesListener(mSwatches);

	mSwatches = gE("waterproofing");
	if (mSwatches)
		addSwatchesListener(mSwatches);

	mSwatches = gE("spf");
	if (mSwatches)
		addSwatchesListener(mSwatches);

	mSwatches = gE("bleaching");
	if (mSwatches)
		addSwatchesListener(mSwatches);
}

windowObject.addLoadFunction(assignGlobalDropdownRollovers, assignGlobalDropdown, assignMainNav, highlightMainNav, correctColumns, clearZip, toggleSearchWidget, quicklinks, toggleDropdown, assignFamilyBrandsRolloversWithParentAnchorOnclicks, setCartButton, setSwatchesRollOvers);
