	
	//for submit button
	function OnSubmit()
	{
			var bResult = false;
			//for validate addition email addresses
			//use the same regexp as specified in the VS.Net dev, so modify one place, need to modify another
			// as a simple but not good solution -- lixin jan 4 2005
			var reg = new RegExp( "\(\\w+\(\[-+.\]\\w+\)*@\\w+\(\[-.\]\\w+\)*\\.\\w+\(\[-.\]\\w+\)*\(\\r\\n\)*\)*", 'gi');
			var reg1 = /(\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*(\r\n)*)*/gi;
			var addr = document.getElementById("Order1_ItemOrder1_txtAdditionalAddr").value;
			
			var ar = reg.exec(addr);
			/*
			if(ar != null && ar[0] == addr)
				return true;
			else
				return false;
				*/		
			var str = document.getElementById("Order1_ItemOrder1_txtTotalAmount").value;
			var v;
			try{
				v = parseFloat(str.substring(1,str.length-1));
			}catch(e)
			{
				return false;
			}
			
			if (v>0 )
				return true;
			else
				return false;
			
	}
	
	// helper functions *****************
	
	function getMoneyTotal(formatted)
	{
		var strValue;
		strValue = formatted.toString().replace(/\$|\,/g,'');
		dblValue = parseFloat(strValue);	
		return dblValue;
	}
	
	function getPlacedPrice()
	{
		var price = getMoneyTotal(document.getElementById("Order1_ItemPrice1_lblCommitteePrice").value);
		return Number(price);		
	}
	function getPickupPrice()
	{
		var price = getMoneyTotal(document.getElementById("Order1_ItemPrice1_lblPickupPrice").value);
		return Number(price);	
	}
	function getDigitPicPrice()
	{
		var price = getMoneyTotal(document.getElementById("Order1_ItemPrice1_lblPicElectronicPrice").value);
		return Number(price);	
	}
	
	function setTotalAmount()
	{
		var pickupTotal = getMoneyTotal(document.getElementById("Order1_ItemOrder1_txtPickupAmount").value);
		var placedSubTotal1 = getMoneyTotal(document.getElementById("Order1_ItemOrder1_txtPlacedAmount1").value);
		var placedSubTotal2 = getMoneyTotal(document.getElementById("Order1_ItemOrder1_txtPlacedAmount2").value);
		var placedSubTotal3 = getMoneyTotal(document.getElementById("Order1_ItemOrder1_txtPlacedAmount3").value);
		var placedSubTotal4 = getMoneyTotal(document.getElementById("Order1_ItemOrder1_txtPlacedAmount4").value);
		var placedSubTotal5 = getMoneyTotal(document.getElementById("Order1_ItemOrder1_txtPlacedAmount5").value);
		var placedSubTotal6 = getMoneyTotal(document.getElementById("Order1_ItemOrder1_txtPlacedAmount6").value);
		
		var tempAmount;
		tempAmount = pickupTotal + placedSubTotal1 + placedSubTotal2 + placedSubTotal3 + placedSubTotal4 + placedSubTotal5 + placedSubTotal6;
	
		var taxGST = gst * tempAmount;
		var taxPST = pst * tempAmount;
		var totalAmount;
		totalAmount = tempAmount * 1 + taxGST *1 + taxPST *1; 
		if (totalAmount > 0 )
		{
			totalAmount = totalAmount*1 + surcharge *1;
		}
		
		// for testing, always set total to the nearest integer value
		//totalAmount = Math.floor(totalAmount);
		 
		document.getElementById("Order1_ItemOrder1_txtPST").value = formatCurrency(taxPST);
		document.getElementById("Order1_ItemOrder1_txtGST").value = formatCurrency(taxGST);
		document.getElementById("Order1_ItemOrder1_txtSurcharge").value = formatCurrency(surcharge);	
		document.getElementById("Order1_ItemOrder1_txtTotalAmount").value = formatCurrency(totalAmount);
	}
	
	function formatCurrency(dblValue)
	{
		/*
		var rtn = "";
		
		if(dblValue.toString().indexOf(".") < 0 )
			rtn = "$" + dblValue.toString() + ".00";
		else
			rtn = "$" + ((Math.round(dblValue*100))/100).toString();
	
		return rtn;
		
		strValue = strValue.toString().replace(/\$|\,/g,'');
		dblValue = parseFloat(strValue);

		*/
		
		blnSign = (dblValue == (dblValue = Math.abs(dblValue)));
		dblValue = Math.round(dblValue*100);
		intCents = dblValue%100;
		strCents = intCents.toString();
		dblValue = Math.floor(dblValue/100).toString();
		if(intCents < 10)
			strCents = "0" + strCents;
		for (var i = 0; i < Math.floor((dblValue.length-(1+i))/3); i++)
			dblValue = dblValue.substring(0,dblValue.length-(4*i+3))+','+
			dblValue.substring(dblValue.length-(4*i+3));
		
		return (((blnSign)?'':'-') + '$' + dblValue + '.' + strCents);

	}
	
		
	function setPlacedSubAmount(txtNumberId, ckDigitPicId, ckPrintPicId, txtSubAmountId)
	{
		var PlacedPrice = getPlacedPrice();
		var DigitPicPrice = getDigitPicPrice();
		
		
		var number = Number(document.getElementById(txtNumberId).value);
		var total = number * PlacedPrice;
		
		if (document.getElementById(ckDigitPicId).checked)
			total += DigitPicPrice;
		
		if (total >= 0 )
		{
			document.getElementById(txtSubAmountId).value = formatCurrency(total);		
			setTotalAmount();
		}else
			return 0;			
	}
	
	
	//end of helper functions ---------------------------------------
	
	
	// event handlers ****************
	
	function PickupNumberOnChane()
	{
		var number;
		var subTotal="";
		var reg = new RegExp("\\D",'gi');

		var strNumber = document.getElementById('Order1_ItemOrder1_txtPickupNumber').value
		
		if (reg.test(strNumber))
		{
			document.getElementById('Order1_ItemOrder1_txtPickupNumber').value = "0";
			document.getElementById("Order1_ItemOrder1_txtPickupAmount").value = "$0.00";
			setTotalAmount();
			return 0;
		}
		
		number = Number(strNumber);
		
		if ( number == 0 )
			document.getElementById('Order1_ItemOrder1_txtPickupNumber').value = "0";
			                     
		var candlePickupPrice = getPickupPrice()
		
		
		subTotal = number * candlePickupPrice;		
		
		document.getElementById("Order1_ItemOrder1_txtPickupAmount").value = formatCurrency(subTotal);
		setTotalAmount();
		
	}
	
	
	
	function txtNameOnChange(txtNameId, txtNumberId,ckDigitPicId, ckPrintPicId, txtSubAmountId)
	{
		var name = document.getElementById(txtNameId).value;
		var LastName = document.getElementById(txtNameId+'L').value;
		var temp = document.getElementById(txtNumberId);
		//alert(name.length);
		
		if (name.length < 1 || LastName.length < 1 )
		{
			temp.value = "0"
			//document.getElementById(txtNameId).value="";
			//document.getElementById(txtNameId+"M").value = "";
			//document.getElementById(txtNameId+"L").value = "";
		}
		if(name.length < 1 && LastName.length <1 )
			document.getElementById(txtNameId+"M").value = "";
		
		txtNumberOnChange(txtNameId, txtNumberId, ckDigitPicId, ckPrintPicId, txtSubAmountId);
	}
	
	function txtNumberOnChange(txtNameId, txtNumberId, ckDigitPicId, ckPrintPicId, txtSubAmountId)
	{
		var name = document.getElementById(txtNameId).value;
		var LastName = document.getElementById(txtNameId+'L').value;
		
		if ( name.length < 1 || LastName.length < 1)
		{
			document.getElementById(txtNumberId).value = "0";
		}
		
		var reg = new RegExp("\\D",'gi');
		var strNumber = document.getElementById(txtNumberId).value;
		if (reg.test(strNumber))
		{
			document.getElementById(txtNumberId).value = 0;
			document.getElementById(ckDigitPicId).checked = false;
			ckPicOnClick(txtNumberId, ckDigitPicId, ckPrintPicId, txtSubAmountId);
			return 0;
		}
		
		var number = parseInt(strNumber,10);
		var number1 = document.getElementById(txtNumberId).value;
		
		if (number1 == "")
		{
			number = 0;
			document.getElementById(ckDigitPicId).checked = false;
		}
		
		ckPicOnClick(txtNumberId, ckDigitPicId, ckPrintPicId, txtSubAmountId);
	}
	
	function ckPicOnClick(txtNumberId, ckDigitPicId, ckPrintPicId, txtSubAmountId)
	{
		var number = parseInt(document.getElementById(txtNumberId).value,10);
		if (document.getElementById(txtNumberId).value == "" )
			document.getElementById(ckDigitPicId).checked = false;
							
		if (number < 1 || number == null)
		{
			document.getElementById(ckDigitPicId).checked = false;
		}
		
		setPlacedSubAmount(txtNumberId, ckDigitPicId, ckPrintPicId, txtSubAmountId);
		
		ShowAdditionalEmailAddr();
		
	}
	
	function ShowAdditionalEmailAddr()
	{
		var i = 1;
		var show = false;
		
		try
		{
			for(i=1; i<7; i++)
			{
				if(document.getElementById('Order1_ItemOrder1_ckDigitPic' + i.toString()).checked)
					show = true;	
			}
			if (show)
				document.getElementById('divAdditionalAddr').style.display = 'block';
			else
			{
				document.getElementById('divAdditionalAddr').style.display = 'none';
				document.getElementById('Order1_ItemOrder1_txtAdditionalAddr').value = "";
			}
		}catch(e)
		{
		}
	}
	// end of envent handlers **********************


