	function format (expr,desc) {
		var str = "" + Math.round (eval(expr) * Math.pow(10,desc))
		while (str.length <= desc) {
			str = "0" + str
		}
		var dp = str.length - desc
		return str.substring(0,dp) + "." + str.substring(dp,str.length)
	}

	function finalCalc() {
		recalc();
		var DC = document.forms[0];
		for (i = 0; i <= DC.elements.length; i = i+1) {
			var itm = DC.elements[i];
			if (itm.name.indexOf('_TOTAL_DUE') > 0 || itm.name.indexOf('_SHIPPING_') > 0) {
				i = DC.elements.length;
			} 
			if (itm.name.indexOf('_price') > 0 && itm.name.indexOf('item_') == 0) {
				// var ky = itm.name.substring(5,itm.name.indexOf('_qty'));
				var ky = itm.name.substring(5,itm.name.indexOf('_price'));
				var qky = 'item_'+ ky +'_qty';
				var tky = 'item_'+ ky +'_total';
				var pky = 'item_'+ ky +'_price';

				DC.elements[pky].disabled = true;
				DC.elements[tky].disabled = true;

				if (DC.elements[qky].value == 0) {
					DC.elements[qky].disabled = true;
				}
			}
		
		}
		DC.sys_SHIPPING_price.disabled = true;
	}
	
	function recalc() {
		var DC = document.forms[0];
		
		var shipNum = 0;
		var totalCost = 0;
	
		for (i = 0; i <= DC.elements.length; i = i+1) {
			var itm = DC.elements[i];
			if (itm.name.indexOf('_TOTAL_DUE') > 0) {
				i = DC.elements.length;
			} if (itm.name.indexOf('_qty') > 0) {
				var ky = itm.name.substring(5,itm.name.indexOf('_qty'));
				if (itm.value > 0 && itm.value < '9999') {
				
				} else {
					itm.value = 0;
				}

				var vy = 'item_'+ ky +'_total';
				var cy = 'item_'+ ky +'_price';
				
			//	if (DC.elements[cy]) {
			//		top.alert(cy +':'+ DC.elements[cy].value);
			//	} else {
			//		top.alert('failed '+ vy);
			//	}
				
			//	if (DC.elements[cy]) {
					//DC.elements[vy].value = finddec(itm.value * DC.elements[cy].value,2);
					DC.elements[vy].value = itm.value * DC.elements[cy].value;
					totalCost = parseFloat(totalCost) + parseFloat(DC.elements[vy].value);
					shipNum   = parseFloat(shipNum)   + parseFloat(itm.value);
			//	}
			}
		
		}
		
		DC.sys_SHIPPING_total.value = finddec(shipNum * DC.sys_SHIPPING_price.value,2);
		totalCost = totalCost + parseFloat(DC.sys_SHIPPING_total.value);
		//if (DC.item_NASDAQ_member.checked) {
		//	totalCost = parseFloat(totalCost * .9);
		//}
		
		if (DC.sys_CREDIT_CARD_FEE_GIFT) {
			//alert(DC.CREDIT_CARD_FEE_GIFT.value);
			if (DC.sys_CREDIT_CARD_FEE_GIFT.value == "Yes") {
				totalCost += parseFloat(totalCost * .03);
			}
		}
		
		DC.sys_TOTAL_DUE.value =totalCost;
	
	}
	
	function finddec (exp,deci) {
		if (exp == 0) {
			return 0;
		}
		var exp = Math.round (exp * (10 * deci))
		exp = exp / (10 *deci);
		exp += "";
		while ((exp.length - exp.indexOf(".")) <= deci) {
			exp += "0";
		}
		return exp;
	}
