(function() {
//try {
	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 toPrice( num ) {
		num = parseFloat(num);
		if (num) {
			num = num.toFixed(2).toString();
			var intEnd = num.indexOf(".") - 3;
			// intEnd = (intEnd != 0)? intEnd - 3 : num.length - 3;
			for (var i = intEnd, j = 0; i > j; i -= 3) {
				num = num.substring(0, i) + "," + num.substring(i, num.length);
			}
			num = "$" + num;
		} else {
			num = "$0.00";
		}
		return num;
	}

	function updateLength( e ) {
		if (this.value) {
			var currLen = parseInt(this.value);
			if (currLen) {
				if (window.scLenCalcArr && scLenCalcArr) {
					var lenNode = 0;
					for (var i = 0, j = scLenCalcArr.length; i < j; i++) {
						lenNode = scLenCalcArr[i];
						if (parseInt(lenNode[3]) >= currLen) {
							break;
						}
					}
					if (feetHolster) {
						feetHolster.innerHTML = parseInt(lenNode[3]) + "'";
					}
					if (priceHolster) {
						priceHolster.innerHTML = toPrice(lenNode[1]);
					}
					if (salePriceHolster) {
						salePriceHolster.innerHTML = toPrice(lenNode[2]);				
					}
					if (youSaveHolster) {
						var save = parseFloat(lenNode[1]) - parseFloat(lenNode[2]);
						youSaveHolster.innerHTML = youSaveHolster.innerHTML.replace(/\$\d*\.\d{2}/, toPrice(save));
						youSaveHolster.innerHTML = youSaveHolster.innerHTML.replace(/\(\d*\%\)/, ("(" + Math.round(save / parseFloat(lenNode[1]) * 100) + "%)"));
					}
					if (itemIn) {
						itemIn.value = lenNode[0];
					}
					if (lgnPrice) {
						lgnPrice.value = ((lenNode[2])? lenNode[2]: lenNode[1]);
					}
					if (lgnName) {
						lgnName.value = lenNode[4];
					}
					if (lgnCode) {
						lgnCode.value = lenNode[5];
					}
				}
			} else {
				this.value = "";
			}
		}
	}
	
	function clearLength( e ) {
		updateLength(e);
		this.value = "";
	}
	
	function removeLenIn( e ) {
		updateLength(e);
		var lenIn = document.getElementById("scLenCalcIn");
		if (lenIn) {
			lenIn.parentNode.removeChild(lenIn);
		}
	}
	
	var scLenCalcForm = document.getElementById("scLenCalcForm");
	if (scLenCalcForm) {
		addListener(scLenCalcForm, "submit", removeLenIn);
		var itemIn = scLenCalcForm["vwitem"];
		var lgnPrice = scLenCalcForm["item_Price"];
		var lgnName = scLenCalcForm["item_Name"];
		var lgnCode = scLenCalcForm["vwattr_item-number"];
		var priceHolster = document.getElementById("scLenCalcPrice");
		var salePriceHolster = document.getElementById("scLenCalcSalePrice");
		var youSaveHolster = document.getElementById("scLenCalcYouSave");
		var feetHolster = document.getElementById("scLenCalcFeet");

		//var currLen = parseInt(feetHolster.firstChild.nodeValue);
		
		var lenIn = document.createElement("input");
		lenIn.setAttribute("type", "text");
		lenIn.setAttribute("size", "2");
		lenIn.setAttribute("id", "scLenCalcIn");
		lenIn.setAttribute("name", "scLenCalcIn");
		lenIn.setAttribute("value", "");
		addListener(lenIn, "keyup", updateLength);
		addListener(lenIn, "focus", updateLength);
		addListener(lenIn, "blur", clearLength);
		var lenMsg = document.createElement("span");
		lenMsg.setAttribute("id", "scLenCalcMsg");
		lenMsg.appendChild(document.createTextNode("Edit length =>"));
		feetHolster.parentNode.insertBefore(lenMsg, feetHolster.parentNode.firstChild);
		feetHolster.parentNode.insertBefore(lenIn, lenMsg);
		delete feetHolster;		
	}
//} catch(e){};
})();

