var addListener = function() {
	if ( window.addEventListener ) {
		return function(el, type, fn) {
			el.addEventListener(type, fn, false);
		};
	} else if ( window.attachEvent ) {
		return function(el, type, fn) {
			var f = function() {
				fn.call(el, window.event);
			};
			el.attachEvent('on'+type, f);
		};
	} else {
		return function(el, type, fn) {
			el['on'+type] = fn;
		};
	}
}();

function killDefault( e ) {
	if (e && e.preventDefault) {
		e.preventDefault();
	} else {
		e = e || window.event;
		e.returnValue = false;
	}
}

function scFOcheckForm( e ) {
	var selsOK = true;
	var insOK = false;
	var ins = this.getElementsByTagName("input");
	var anyInputsWithQuantity = false;
	
	if( ins.length > 0 ) {
		for (var i = 0, j = ins.length; i < j; i++) {
			if (ins[i].name.match(/^vwquantity\d*$/)) {
				anyInputsWithQuantity = true;
				var qtyVal = parseInt(ins[i].value);
				if (!isNaN(qtyVal) && (qtyVal > 0)) {
					insOK = true;
				}
			}
		}
	} else {
		insOK = true;
	}
	
	if( !anyInputsWithQuantity ) {
		insOK = true;
	}
	
	var sels = this.getElementsByTagName("select");
	for (var i = 0, j = sels.length; i < j; i++) {
		var hasQty = false;
		var isMA = sels[i].name.match(/^vwattr(\d+)/);
		if (isMA) {
			var maNum = isMA[1];
			qtyIn = document.getElementById("vwquantity" + maNum);
			var qtyVal = parseInt(qtyIn.value);
			if (!isNaN(qtyVal) && (qtyVal > 0)) {
				hasQty = true;
			}
		} else {
			hasQty = true;
		}
		
		if (hasQty && (sels[i].selectedIndex == 0)) {
			sels[i].style.backgroundColor = "#FCDD98";
			selsOK = false;
		} else {
			sels[i].style.backgroundColor = "#FFF";
		}
	}
	
	
	var disclaimer = document.getElementById("disclaimer-checkbox");
	
	if( disclaimer ) {
		if( !disclaimer.checked ) {
			selsOK = false;
		}
	}
	
	
	var alertMsg = (window.scFOalertMsg)? scFOalertMsg : "Some of the options were not chosen. Please go back and select a value.";
	if (!insOK || !selsOK) {
		killDefault(e);
		if (insOK) {
			alert(alertMsg);
		}
	}
}

function scFOprepFormOpts( elmId ) {
	var elm = document.getElementById(elmId);
	if (elm && elm.getElementsByTagName("select")) {
		addListener(elm, "submit", scFOcheckForm);
	}
}

function scExpdNavInit() {
	var scNav = document.getElementById('sc-left-nav');
	if (scNav) {
		var scExpdLis = [];

		function scClearNav() {
			for (var i = 0, j = scExpdLis.length; i < j; i++) {
				scExpdLis[i].className = scExpdLis[i].className.replace(" Expded", "");
			}
		}
		
		function scExpdNav( e ) {
			try {
				var expdLi = this.parentNode;
				if (expdLi && expdLi.className && (expdLi.className.indexOf("Expded") < 0)) {
					scClearNav();
					expdLi.className += " Expded";
					killDefault(e);
				}
			} catch (err) {}
		}

		try {
			var lis = scNav.childNodes;
			for (var i = 0, j = lis.length; i < j; i++) {
				if (lis[i].firstChild) {
					var tempUl = lis[i].firstChild.nextSibling;
					if (tempUl && tempUl.tagName && (tempUl.tagName.toLowerCase() == "ul")) {
						scExpdLis.push(lis[i]);
						addListener(lis[i].firstChild, "click", scExpdNav);
						if (lis[i].className && lis[i].className.match("inPath")) {
							lis[i].className = lis[i].className.replace("inPath", "Expded");
						}
					}
				}
			}

		} catch (err) {}
	}
}

function orphanChildren( obj ) {
	if (obj) {
		while (obj.firstChild) {
			obj.removeChild(obj.firstChild);
		}
	}
}

function genElement( tName, isTxt, attr ) {
	var obj = null;
	if (tName) {
		if (isTxt) {
			obj = document.createTextNode(tName);
		} else {
			obj = document.createElement(tName);
			for (var i in attr) {
				obj[i] = attr[i];
			}
		}
	}
	return obj;
}

function scClearFeaturedItem() {
	var feat = document.getElementById("featured");
	if (feat) {
		orphanChildren(feat);
	}
}

function hexEncode( str ) {
	var tmp = "";
	var hxMp = "0123456789ABCDEF";
	for (var i = 0, j = str.length; i < j; i++) {
		tmp +=	hxMp.charAt(str.charCodeAt(i) / 16);
		tmp += hxMp.charAt(str.charCodeAt(i) % 16);
	}
	return tmp;
}

function scDisplayFeaturedItem() {
	var feat = document.getElementById("featured");
	if (feat && window.scFeatItems) {
		var randFi = scFeatItems[Math.floor(Math.random() * scFeatItems.length)];
		
		var preHol = genElement("div", null, {"className": "previewPad"});
		(preHol.appendChild(genElement("a", null, {"href": (randFi.Id + ".html")}))).appendChild(genElement("img", null, {"alt": randFi.n, "src": randFi.i}));
		
		var desHol = genElement("div", null, {"className": "descriptionPad"});
		((desHol.appendChild(genElement("h1"))).appendChild(genElement("a", null, {"href": (randFi.Id + ".html")}))).appendChild(genElement(randFi.n, true));
		
		if (randFi.a) {
			desHol.appendChild(genElement("p", null, {"innerHTML": unescape(randFi.a)}));
		}
		if (randFi.p) {
			desHol.appendChild(genElement("div", null, {"className": ((randFi.s)? "price" : "price-bold"), "innerHTML": unescape(randFi.p)}));
		}
		if (randFi.s) {
			desHol.appendChild(genElement("div", null, {"className": "sale-price-bold", "innerHTML": unescape(randFi.s)}));
		}
		if (randFi.f) {
			var ordForm = genElement("form", null, {"id": "feat-of", "action": ("http://order.store.yahoo.com/cgi-bin/wg-order?everlast-worldwide+" + randFi.Id), "method": "post"});
			desHol.appendChild(ordForm);
			
			if (randFi.o) {
				var optHol = genElement("div", null, {"className": "opts"});
				ordForm.appendChild(optHol);
				for (var i in randFi.o) {
					if (i.toLowerCase() === "monogram") {
						optHol.appendChild(genElement("input", null, {"name": "vw-initial1", "size": "1", "maxlength": "1", "className": "monogram"}));
						optHol.appendChild(genElement("input", null, {"name": "vw-initial2", "size": "1", "maxlength": "1", "className": "monogram"}));
						optHol.appendChild(genElement("input", null, {"name": "vw-initial3", "size": "1", "maxlength": "1", "className": "monogram"}));
					} else if (randFi.o[i][0].toLowerCase() === "inscription") {
						optHol.appendChild(genElement("input", null, {"name": ("vw-inscription-" + hexEncode(i)), "size": randFi.o[i][1], "maxlength": randFi.o[i][1], "className": "inscription"}));
					} else {
						var optSel = optHol.appendChild(genElement("select", null, {"name": i}));
						(optSel.appendChild(genElement("option", null, {"value": ("Select " + i)}))).appendChild(genElement(("Select " + i), true));
						for (var j = 0, k = randFi.o[i].length; j < k; j++) {
							(optSel.appendChild(genElement("option", null, {"value": randFi.o[i][j]}))).appendChild(genElement(randFi.o[i][j], true));
						}
					}
					optHol.appendChild(genElement("br"));
				}
				if (optHol.hasChildNodes()) {
					optHol.removeChild(optHol.childNodes[optHol.childNodes.length - 1]);
				}
			}
			
			var atcAttr = {"type": "submit", "className": "order-button", "alt": "Add to Cart"};
			if (window.scFeatAtcBttn) {
				atcAttr["type"] = "image";
				atcAttr["src"] = scFeatAtcBttn;
			}
			ordForm.appendChild(genElement("input", null, atcAttr));
			ordForm.appendChild(genElement("input", null, {"type": "hidden", "name": "vwquantity", "value": ((randFi.q)? randFi.q : 1)}));
			ordForm.appendChild(genElement("input", null, {"type": "hidden", "name": "vwcatalog", "value": "everlast-worldwide"}));
			ordForm.appendChild(genElement("input", null, {"type": "hidden", "name": "vwitem", "value": randFi.Id}));
			(ordForm.appendChild(genElement("a", null, {"href": (randFi.Id + ".html")}))).appendChild(genElement("img", null, {"alt": "View More Like This", "src": "/lib/everlast-worldwide/sc-viewmore.png"}));
		}
		(feat.appendChild(genElement("div", null, {"className": "preview"}))).appendChild(preHol);
		(feat.appendChild(genElement("div", null, {"className": "description"}))).appendChild(desHol);
		if (window.scFOprepFormOpts) { scFOprepFormOpts("feat-of"); }
	}
}

try { document.execCommand('BackgroundImageCache', false, true); } catch(e) {}
