function setTotalLabels() {
			// Intl Total Containers
			var spIntlPackageTotal;
			var spIntlFeesTotal;
			var spIntlAdditionalFeesTotal;
			var spIntlAddOnTotal;
			var spIntlOrderTotal;
			var spIntlDiscountTotal;
			//Basic Total Containers
			var spBasicPackageTotal;
			var spBasicFeesTotal;
			var spBasicAdditionalFeesTotal;
			var spBasicAddOnTotal;
			var spBasicOrderTotal;
			var spBasicDiscountTotal;
			//Standard Total Containers
			var spStandardPackageTotal;
			var spStandardFeesTotal;
			var spStandardAdditionalFeesTotal;
			var spStandardAddOnTotal;
			var spStandardOrderTotal;
			var spStandardDiscountTotal;
			//Complete Total Containers
			var spCompletePackageTotal;
			var spCompleteFeesTotal;
			var spCompleteAdditionalFeesTotal;
			var spCompleteAddOnTotal;
			var spCompleteOrderTotal;
			var spCompleteDiscountTotal;
			//additional vars
			var hdKitCost;
			var hdIntl = document.getElementById('hiddenFieldsMain_hdIntlID').value;
			var packageCost;
			var filingFees;
			var additionalFees;
			var addOnTotal;
			var addOnDiscountTotal;
			var totalDiscount;
			var orderTotal;
			var discountTotal;
						
			
			clearTotals();		
			//next make sure the dependent checkboxes are checked if necessary
			validateCheckboxes();	
			
			//addAdditionalFees rows
			DisplayAdditionalFeeRows();
			//now update the total fields
			
			if (hdIntl == 'NO') {
				if (document.getElementById('radBasic').checked) {
					spBasicPackageTotal = document.getElementById('spBasicPackageTotal');
					packageCost = document.getElementById('hdBasicKitCost').value;
					packageCost = packageCost.replace('$', '');
					packageCost = parseInt(packageCost);
					spBasicPackageTotal.innerHTML = document.getElementById('hdBasicKitCost').value + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
					spBasicFeesTotal = document.getElementById('spBasicFeesTotal');
					spBasicAddOnTotal = document.getElementById('spBasicAddOnTotal');
					filingFees = parseFloat(document.getElementById('hdBasicKitIncludedStateFees').value).toFixed(2);
					spBasicFeesTotal.innerHTML = '$' + filingFees + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
					additionalFees = computeAdditionalFees();
					spBasicAdditionalFeesTotal = document.getElementById('spBasicAdditionalFeesTotal');
					//spBasicAdditionalFeesTotal.innerHTML = '$' + additionalFees.toFixed(2) + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
					addOnTotal = computeAddOnTotals();				
					addOnDiscountTotal = -1 * computeAddOnDiscountTotals();				
					spBasicAddOnTotal.innerHTML = '$' + parseFloat(addOnTotal).toFixed(2) + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
					discountTotal = document.getElementById('hdActualBasicKitDiscount').value;
					totalDiscount = parseFloat(discountTotal) + parseFloat(addOnDiscountTotal);
					spBasicDiscountTotal = document.getElementById('spBasicDiscountTotal');
					if (spBasicDiscountTotal) {
						spBasicDiscountTotal.innerHTML = '$' + parseFloat(totalDiscount).toFixed(2) + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
					}	
					if (totalDiscount == '0')
						{document.getElementById('discountRow').style.display='none';}
					else
						{document.getElementById('discountRow').style.display='';}					
					spBasicOrderTotal = document.getElementById('spBasicOrderTotal');
					orderTotal = parseFloat(packageCost) + parseFloat(filingFees) + parseFloat(additionalFees) + parseFloat(addOnTotal) + parseFloat(totalDiscount);
					spBasicOrderTotal.innerHTML = '$' + orderTotal.toFixed(2) + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';	
				}
				else if (document.getElementById('radStandard').checked) {
					spStandardPackageTotal = document.getElementById('spStandardPackageTotal');
					packageCost = document.getElementById('hdStandardKitCost').value;
					packageCost = packageCost.replace('$', '');
					packageCost = parseInt(packageCost);
					spStandardPackageTotal.innerHTML = document.getElementById('hdStandardKitCost').value + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
					spStandardFeesTotal = document.getElementById('spStandardFeesTotal');
					spStandardAddOnTotal = document.getElementById('spStandardAddOnTotal');
					
					filingFees = parseFloat(document.getElementById('hdStandardKitIncludedStateFees').value).toFixed(2);
					spStandardFeesTotal.innerHTML = '$' + filingFees + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
					additionalFees = computeAdditionalFees();
					spStandardAdditionalFeesTotal = document.getElementById('spStandardAdditionalFeesTotal');
					//spStandardAdditionalFeesTotal.innerHTML = '$' + additionalFees.toFixed(2) + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
					addOnTotal = computeAddOnTotals();				
					addOnDiscountTotal = -1 * computeAddOnDiscountTotals();				
					spStandardAddOnTotal.innerHTML = '$' + parseFloat(addOnTotal).toFixed(2) + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
					discountTotal = document.getElementById('hdActualStandardKitDiscount').value;
					totalDiscount = parseFloat(discountTotal) + parseFloat(addOnDiscountTotal);
					spStandardDiscountTotal = document.getElementById('spStandardDiscountTotal');
					if (spStandardDiscountTotal) {
						spStandardDiscountTotal.innerHTML = '$' + parseFloat(totalDiscount).toFixed(2) + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
					}	
					if (totalDiscount == '0')
						{document.getElementById('discountRow').style.display='none';}
					else
						{document.getElementById('discountRow').style.display='';}								
					spStandardOrderTotal = document.getElementById('spStandardOrderTotal');
					orderTotal = parseFloat(packageCost) + parseFloat(filingFees) + parseFloat(additionalFees) + parseFloat(addOnTotal) + parseFloat(totalDiscount);
					spStandardOrderTotal.innerHTML = '$' + orderTotal.toFixed(2) + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';	
				}
				else {
					spCompletePackageTotal = document.getElementById('spCompletePackageTotal');
					packageCost = document.getElementById('hdCompleteKitCost').value;
					packageCost = packageCost.replace('$', '');
					packageCost = parseInt(packageCost);
					spCompletePackageTotal.innerHTML = document.getElementById('hdCompleteKitCost').value + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
					spCompleteFeesTotal = document.getElementById('spCompleteFeesTotal');
					spCompleteAddOnTotal = document.getElementById('spCompleteAddOnTotal');
					filingFees = parseFloat(document.getElementById('hdCompleteKitIncludedStateFees').value).toFixed(2);
					spCompleteFeesTotal.innerHTML = '$' + filingFees + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
					additionalFees = computeAdditionalFees();
					spCompleteAdditionalFeesTotal = document.getElementById('spCompleteAdditionalFeesTotal');
					//spCompleteAdditionalFeesTotal.innerHTML = '$' + additionalFees.toFixed(2) + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
					addOnTotal = computeAddOnTotals();					
					addOnDiscountTotal = -1 * computeAddOnDiscountTotals();			
					spCompleteAddOnTotal.innerHTML = '$' + parseFloat(addOnTotal).toFixed(2) + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
					discountTotal = document.getElementById('hdActualCompleteKitDiscount').value;
					totalDiscount = parseFloat(discountTotal) + parseFloat(addOnDiscountTotal);
					spCompleteDiscountTotal = document.getElementById('spCompleteDiscountTotal');
					if (spCompleteDiscountTotal) {
						spCompleteDiscountTotal.innerHTML = '$' + parseFloat(totalDiscount).toFixed(2) + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
					}
					if (totalDiscount == '0')
						{document.getElementById('discountRow').style.display='none';}
					else
						{document.getElementById('discountRow').style.display='';}						
					spCompleteOrderTotal = document.getElementById('spCompleteOrderTotal');
					orderTotal = parseFloat(packageCost) + parseFloat(filingFees) + parseFloat(additionalFees) + parseFloat(addOnTotal) + parseFloat(totalDiscount);
					spCompleteOrderTotal.innerHTML = '$' + orderTotal.toFixed(2) + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';	
				}
				
			}
			else {
				spIntlPackageTotal = document.getElementById('spIntlPackageTotal');
				packageCost = document.getElementById('hdInternationalKitCost').value;
				packageCost = packageCost.replace('$', '');
				packageCost = parseInt(packageCost);
				spIntlPackageTotal.innerHTML = document.getElementById('hdInternationalKitCost').value + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
				spIntlFeesTotal = document.getElementById('spIntlFeesTotal');
				spIntlAddOnTotal = document.getElementById('spIntlAddOnTotal');
				filingFees = parseFloat(document.getElementById('hdInternationalKitIncludedStateFees').value).toFixed(2);
				spIntlFeesTotal.innerHTML = '$' + filingFees + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
				additionalFees = computeAdditionalFees();
				spIntlAdditionalFeesTotal = document.getElementById('spIntlAdditionalFeesTotal');
				//spIntlAdditionalFeesTotal.innerHTML = '$' + additionalFees.toFixed(2) + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
				addOnTotal = computeAddOnTotals();					
				addOnDiscountTotal = -1 * computeAddOnDiscountTotals();			
				spIntlAddOnTotal.innerHTML = '$' + parseFloat(addOnTotal).toFixed(2) + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
				discountTotal = document.getElementById('hdActualIntlKitDiscount').value;
				totalDiscount = parseFloat(discountTotal) + parseFloat(addOnDiscountTotal);
				spIntlDiscountTotal = document.getElementById('spIntlDiscountTotal');
				if (spIntlDiscountTotal) {
					spIntlDiscountTotal.innerHTML = '$' + parseFloat(totalDiscount).toFixed(2) + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
				}
				if (totalDiscount == '0')
					{document.getElementById('discountRowINTL').style.display='none';}
				else
					{document.getElementById('discountRowINTL').style.display='';}					
				spIntlOrderTotal = document.getElementById('spIntlOrderTotal');
				orderTotal = parseFloat(packageCost) + parseFloat(filingFees) + parseFloat(additionalFees) + parseFloat(addOnTotal) + parseFloat(totalDiscount);
				spIntlOrderTotal.innerHTML = '$' + orderTotal.toFixed(2) + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
				
			}	
		}
		
		
		function clearTotals() {
			var hdIntl = document.getElementById('hiddenFieldsMain_hdIntlID').value;
			var tbl;
			// Intl Total Containers
			var spIntlPackageTotal;
			var spIntlFeesTotal;
			var spIntlAdditionalFeesTotal;
			var spIntlAddOnTotal;
			var spIntlOrderTotal;
			var spIntlDiscountTotal;
			//Basic Total Containers
			var spBasicPackageTotal;
			var spBasicFeesTotal;
			var spBasicAdditionalFeesTotal;
			var spBasicAddOnTotal;
			var spBasicOrderTotal;
			var spBasicDiscountTotal;
			//Standard Total Containers
			var spStandardPackageTotal;
			var spStandardFeesTotal;
			var spStandardAdditionalFeesTotal;
			var spStandardAddOnTotal;
			var spStandardOrderTotal;
			var spStandardDiscountTotal;
			//Complete Total Containers
			var spCompletePackageTotal;
			var spCompleteFeesTotal;
			var spCompleteAdditionalFeesTotal;
			var spCompleteAddOnTotal;
			var spCompleteOrderTotal;
			var spCompleteDiscountTotal;
			
			if (hdIntl == 'NO') {
				tbl = document.getElementById('tblNonInternational');
				//get basic containers
				spBasicPackageTotal = document.getElementById('spBasicPackageTotal');
				spBasicFeesTotal = document.getElementById('spBasicFeesTotal');
				//spBasicAdditionalFeesTotal = document.getElementById('spBasicAdditionalFeesTotal');
				spBasicAddOnTotal = document.getElementById('spBasicAddOnTotal');
				spBasicOrderTotal = document.getElementById('spBasicOrderTotal');
				spBasicDiscountTotal = document.getElementById('spBasicDiscountTotal');
				//get standard containers
				spStandardPackageTotal = document.getElementById('spStandardPackageTotal');
				spStandardFeesTotal = document.getElementById('spStandardFeesTotal');
				//spStandardAdditionalFeesTotal = document.getElementById('spStandardAdditionalFeesTotal');
				spStandardAddOnTotal = document.getElementById('spStandardAddOnTotal');
				spStandardOrderTotal = document.getElementById('spStandardOrderTotal');
				spStandardDiscountTotal = document.getElementById('spStandardDiscountTotal');
				//get complete containers
				spCompletePackageTotal = document.getElementById('spCompletePackageTotal');
				spCompleteFeesTotal = document.getElementById('spCompleteFeesTotal');
				//spCompleteAdditionalFeesTotal = document.getElementById('spCompleteAdditionalFeesTotal');
				spCompleteAddOnTotal = document.getElementById('spCompleteAddOnTotal');
				spCompleteOrderTotal = document.getElementById('spCompleteOrderTotal');
				spCompleteDiscountTotal = document.getElementById('spCompleteDiscountTotal');
				//clear them
				spBasicPackageTotal.innerHTML = "&nbsp;";
				spBasicFeesTotal.innerHTML = "&nbsp;";
				//spBasicAdditionalFeesTotal.innerHTML = "&nbsp;";
				spBasicAddOnTotal.innerHTML = "&nbsp;";
				spBasicOrderTotal.innerHTML = "&nbsp;";
				if (spBasicDiscountTotal) {
					spBasicDiscountTotal.innerHTML = "&nbsp;";
				}
				spStandardPackageTotal.innerHTML = "&nbsp;";
				spStandardFeesTotal.innerHTML = "&nbsp;";
				//spStandardAdditionalFeesTotal.innerHTML = "&nbsp;";
				spStandardAddOnTotal.innerHTML = "&nbsp;";
				spStandardOrderTotal.innerHTML = "&nbsp;";	
				if (spStandardDiscountTotal) {
					spStandardDiscountTotal.innerHTML = "&nbsp;";		
				}	
				if (spCompletePackageTotal) {
					spCompletePackageTotal.innerHTML = "&nbsp;";
					spCompleteFeesTotal.innerHTML = "&nbsp;";
					//spCompleteAdditionalFeesTotal.innerHTML = "&nbsp;";
					spCompleteAddOnTotal.innerHTML = "&nbsp;";
					spCompleteOrderTotal.innerHTML = "&nbsp;";
					if (spCompleteDiscountTotal) {
						spCompleteDiscountTotal.innerHTML = "&nbsp;";
					}
				}
			}
			else {
				tbl = document.getElementById('tblInternational');
				spIntlPackageTotal = document.getElementById('spIntlPackageTotal');
				spIntlFeesTotal = document.getElementById('spIntlFeesTotal');
				//spIntlAdditionalFeesTotal = document.getElementById('spIntlAdditionalFeesTotal');
				spIntlAddOnTotal = document.getElementById('spIntlAddOnTotal');
				spIntlOrderTotal = document.getElementById('spIntlOrderTotal');
				spIntlDiscountTotal = document.getElementById('spIntlDiscountTotal');
				//clear them
				spIntlPackageTotal.innerHTML = "&nbsp;";
				spIntlFeesTotal.innerHTML = "&nbsp;";
				//spIntlAdditionalFeesTotal.innerHTML = "&nbsp;";
				spIntlAddOnTotal.innerHTML = "&nbsp;";
				spIntlOrderTotal.innerHTML = "&nbsp;";
				if (spIntlDiscountTotal) {
					spIntlDiscountTotal.innerHTML = "&nbsp;";
				}
			}
			
		}
		
		function computeAddOnTotals() {
			var addOnTotal = 0;
			var hdIntl = document.getElementById('hiddenFieldsMain_hdIntlID').value;
			var hdBLAddOnTotal;
			var tbl;
			var ctlPrefix;
			var oPos;
			var oRow;
			var oCell;
			var oCtl;
			var iRowCount;
			var iCellCount;
			var oParent;
			var oCtlColl;
			var oHdnPrice;
			var x;
			var chk56340;
			var hdOrderKitChkType;
			
			hdOrderKitChkType = document.getElementById("hdOrderKitChkType");
			
			if (hdIntl == 'NO') {
				tbl = document.getElementById('tblNonInternational');
				if (document.getElementById('radBasic').checked) {
					ctlPrefix = 'chkBas';
				}
				else if (document.getElementById('radStandard').checked) {
					ctlPrefix = 'chkSta';
				}
				else {
					ctlPrefix = 'chkCom';
				}
				
				
			}
			else {
				tbl = document.getElementById('tblInternational');
				ctlPrefix = 'chkBas';
			}
			
			oCtlColl = document.getElementsByTagName("input");
					
			for(x=0;x < oCtlColl.length; x++){
				if (oCtlColl.item(x).type == "checkbox") {
					oPos = oCtlColl.item(x).id.indexOf(ctlPrefix);
					if (oPos == 0) {
						if (oCtlColl.item(x).checked) {
							//find the hidden control that contains the price
							oHdnPrice = document.getElementById('hd' + oCtlColl.item(x).id);
							addOnTotal += parseFloat(oHdnPrice.value);
						}
					}
				}
			}
			hdBLAddOnTotal = document.getElementById('hdBLAddOnTotal');
			
			if (hdBLAddOnTotal.value == '') {
				hdBLAddOnTotal.value = '0';
			} 
			
			if (hdBLAddOnTotal.value != '0') {
				chk56340 = document.getElementById(ctlPrefix + '56340');
				if (chk56340) {
					if (chk56340.checked) {
						if (ctlPrefix == hdOrderKitChkType.value) {					
							addOnTotal += parseFloat(hdBLAddOnTotal.value);
						}
					}
				}				
			}
			
			return addOnTotal;
		}
		
		function computeAdditionalFees() {
			var additionalFees = 0;
			var iColIndex;
			var hdIntl = document.getElementById('hiddenFieldsMain_hdIntlID').value;
			var tbl;
			var ctlPrefix;
			var oPos;
			var oRow;
			var oCell;
			var oCtl;
			var iRowCount;
			var iCellCount;
			var oParent;
			var oCtlColl;
			var oAttrColl;
			var oImgColl;
			var oTD;
			var x;
			var i;
			var NewYorkNPServiceFee = parseFloat(document.getElementById('hdNewYorkNPServiceFee').value);
			
			additionalFees += NewYorkNPServiceFee;
			
			if (hdIntl == 'NO') {
				tbl = document.getElementById('tblNonInternational');
				if (document.getElementById('radBasic').checked) {
					iColIndex = 1;
					ctlPrefix = 'chkBas';
				}
				else if (document.getElementById('radStandard').checked) {
					iColIndex = 2;
					ctlPrefix = 'chkSta';
				}
				else {
					iColIndex = 3;
					ctlPrefix = 'chkCom';
				}
				
				
			}
			else {
				tbl = document.getElementById('tblInternational');
				iColIndex = 1;
				ctlPrefix = 'chkBas';
			}
			
			//first, loop through the input (checkboxes) to see if
			oCtlColl = document.getElementsByTagName("input");
					
			for(x=0;x < oCtlColl.length; x++){
				if (oCtlColl.item(x).type == "checkbox") {
					oPos = oCtlColl.item(x).id.indexOf(ctlPrefix);
					if (oPos == 0) {
						if (oCtlColl.item(x).checked) {
							//find the parent <td> that has an "ItemFilingFee" attribute and grab it
							oTD = oCtlColl.item(x).parentNode.parentNode;
							oAttrColl = oTD.attributes;
							additionalFees += parseFloat(oAttrColl.getNamedItem("ItemFilingFee").nodeValue);
						}
					}
				}
			}
			
			//next loop through the table and look for autmoatically checked items with a filingFee
			for (i=1; i < tbl.rows.length; i++){
				//if (indexOf(tbl.rows(i).cells(iColIndex).innerHtml) {
				//}
				oImgColl = tbl.rows.item(i).cells.item(iColIndex).getElementsByTagName("img");
				if (oImgColl.length == 1) {
					if(oImgColl.item(0).src.indexOf('checkitem_highlight.gif') > 0) {
						oTD = tbl.rows.item(i).cells.item(iColIndex);
						oAttrColl = oTD.attributes;
						additionalFees += parseFloat(oAttrColl.getNamedItem("ItemFilingFee").nodeValue);
					}		
				}
			}
			return additionalFees;
		}
		
		function computeAddOnDiscountTotals() {
			var addOnDiscountTotal = 0;
			var hdIntl = document.getElementById('hiddenFieldsMain_hdIntlID').value;
			var tbl;
			var ctlPrefix;
			var oPos;
			var oRow;
			var oCell;
			var oCtl;
			var iRowCount;
			var iCellCount;
			var oParent;
			var oCtlColl;
			var oParentTD;
			var oAttrColl;
			var x;
			
			if (hdIntl == 'NO') {
				tbl = document.getElementById('tblNonInternational');
				if (document.getElementById('radBasic').checked) {
					ctlPrefix = 'chkBas';
				}
				else if (document.getElementById('radStandard').checked) {
					ctlPrefix = 'chkSta';
				}
				else {
					ctlPrefix = 'chkCom';
				}
				
				
			}
			else {
				tbl = document.getElementById('tblInternational');
				ctlPrefix = 'chkBas';
			}
			
			oCtlColl = document.getElementsByTagName("input");
					
			for(x=0;x < oCtlColl.length; x++){
				if (oCtlColl.item(x).type == "checkbox") {
					oPos = oCtlColl.item(x).id.indexOf(ctlPrefix);
					if (oPos == 0) {
						if (oCtlColl.item(x).checked) {
							//find the hidden control that contains the price
							oParentTD = oCtlColl.item(x).parentNode.parentNode;
							oAttrColl = oParentTD.attributes;
							addOnDiscountTotal += parseFloat(oAttrColl.getNamedItem("ItemDiscount").nodeValue);
						}
					}
				}
			}
			return addOnDiscountTotal;
		}
		
		function validateCheckboxes() {
			var oCtlColl;
			var oHdnPrice;
			var x;
			var tbl;
			var hdIntl = document.getElementById('hiddenFieldsMain_hdIntlID').value;
			//var oChkEINUpgrade;
			//var oChkEINForm;
			var oChkSCorpUpgrade;
			var oChkSCorpForm;
			var oChkExpedited;
			var oChkRush;
			var oChkCert;
			var oChkPub;
			var oChkDEMF;
			var oChkDEBank;
			var hdRush;
			//below are vars for new state exped auto-checking with rush item selection
			var oParent;
			var oCtlColl;
			var oParentTD;
			var oAttrColl;
			var x;
			var ctlPrefix;
			var hdStateID;
			var hdPubItemID;
			var hdCertItemID;
			//var oSource = window.event.srcElement;

						
			
			if (hdIntl == 'NO') {
				tbl = document.getElementById('tblNonInternational');
				if (document.getElementById('radBasic').checked) {
					ctlPrefix = 'chkBas';
				}
				else if (document.getElementById('radStandard').checked) {
					ctlPrefix = 'chkSta';
				}
				else {
					ctlPrefix = 'chkCom';
				}
				
				
			}
			else {
				tbl = document.getElementById('tblInternational');
				ctlPrefix = 'chkBas';
			}
			
			hdStateID = document.getElementById('hdStateID');
			hdPubItemID = document.getElementById('hdPubItemID');
			hdCertItemID = document.getElementById('hdCertItemID');
			
			if (hdStateID.value == '33') {
				if (ctlPrefix != 'chkCom'){
					if (hdPubItemID.value != '' && hdCertItemID.value != '') {
						//we have a NY order with a pub and cert copy item present
						oChkPub = document.getElementById(ctlPrefix + hdPubItemID.value);
						oChkCert = document.getElementById(ctlPrefix + hdCertItemID.value);
						if (oChkPub) {
							if (oChkCert) {							
								if (oChkPub.checked) {
									oChkCert.checked = true;
								}
							}
						}
					}
				}
			}
			
			if (hdStateID.value == '9'){
				oChkDEMF = document.getElementById(ctlPrefix + '56661');
				oChkDEBank = document.getElementById(ctlPrefix + '56662');
				if (oChkDEBank){
					if (oChkDEBank.checked){
						if (oChkDEMF){
							oChkDEMF.checked = true;
						}
					}				
				}			
			}
			//oChkEINUpgrade = document.getElementById(ctlPrefix + '55193');
			//oChkEINForm = document.getElementById(ctlPrefix + '55178');
			
			oChkSCorpUpgrade = document.getElementById(ctlPrefix + '55205');
			oChkSCorpForm = document.getElementById(ctlPrefix + '8619');
			
			oChkExpedited = document.getElementById(ctlPrefix + '12147');
			hdRush = document.getElementById('hdRushItemID').value;
			oChkRush = document.getElementById(ctlPrefix + hdRush);
			
			//if (oChkEINUpgrade) {
			//	if (oChkEINUpgrade.checked) {
			//		if (oChkEINForm) {
			//			oChkEINForm.checked = true;
			//		}
			//	}
			//}
			
			if (oChkSCorpUpgrade) {
				if (oChkSCorpUpgrade.checked) {
					if (oChkSCorpForm) {
						oChkSCorpForm.checked = true;
					}
				}
			}
			
			if (oChkRush) {
				if (oChkRush.checked) {
					if (oChkExpedited) {
						oChkExpedited.checked = true;
					}
					else {
						//we need to loop through and see if there is a state-level expedited item
						//if so, check that
						oCtlColl = document.getElementsByTagName("input");
					
						for(x=0;x < oCtlColl.length; x++){
							if (oCtlColl.item(x).type == "checkbox") {
								oPos = oCtlColl.item(x).id.indexOf(ctlPrefix);
								if (oPos == 0) {
									oParentTD = oCtlColl.item(x).parentNode.parentNode;
									oAttrColl = oParentTD.attributes;
									if (oAttrColl.getNamedItem("ItemFilingFeeDescription").nodeValue.indexOf('Expedit') != -1) {
										oCtlColl.item(x).checked = true;									
									}
								}
							}
						}
					}
				}
			}
		}
		
		function DisplayAdditionalFeeRows() {
			var hdIntl = document.getElementById('hiddenFieldsMain_hdIntlID').value;
			var tbl;
			var tbl2;
			var iRows;
			var i;
			var x;
			var oPos;
			var ctlPrefix;
			var iCellIndex;
			var cellHTML;
			var rowHTML;
			var oAttrColl;
			var oCtlColl;
		
			if (hdIntl == 'NO') {
				tbl = document.getElementById('tblPackageTotals');
				if (document.getElementById('radBasic').checked) {
					ctlPrefix = 'chkBas';
					iCellIndex = 1;
				}
				else if (document.getElementById('radStandard').checked) {
					ctlPrefix = 'chkSta';
					iCellIndex = 2;
				}
				else {
					ctlPrefix = 'chkCom';
					iCellIndex = 3;
				}
			}
			else {
				tbl = document.getElementById('tblIntlPackageTotals');
				ctlPrefix = 'chkBas';
					iCellIndex = 1;
			}
			
			//first - delete all additional state fee rows - BUT NOT THE DISCOUNT ROW IF IT EXISTS!
			for (i = tbl.rows.length - 2; i > 2; i--) {
				rowHTML = tbl.rows.item(i).innerHTML;
				if ((rowHTML.indexOf('Discount') == -1) && (rowHTML.indexOf('NY Nonprofit Service Fee') == -1)) {
					tbl.deleteRow(i);
				}				
			}
			
			//next, we'll create a row for each included item, or addOn item, that has an additional state fee
			if (hdIntl == 'NO') {
				tbl2 = document.getElementById('tblNonInternational');				
			}
			else {
				tbl2 = document.getElementById('tblInternational');				
			}
			
			for (i = 0; i <= tbl2.rows.length - 1; i++) {
				cellHTML = tbl2.rows.item(i).cells.item(iCellIndex).innerHTML;
				oAttrColl = tbl2.rows.item(i).cells.item(iCellIndex).attributes;
				if (cellHTML.indexOf('checkitem_highlight.gif') != -1) {
					//it's an included item
					if (oAttrColl.getNamedItem("ItemFilingFee").nodeValue != '0') {
						AddAddlFeeRow(tbl.id, oAttrColl.getNamedItem("ItemFilingFeeDescription").nodeValue, oAttrColl.getNamedItem("ItemFilingFee").nodeValue);							
					}
				}
				else {
					//look for a checkbox
					oCtlColl = tbl2.rows.item(i).cells.item(iCellIndex).getElementsByTagName("input");
					for(x=0;x < oCtlColl.length; x++){
						if (oCtlColl.item(x).type == "checkbox") {
							oPos = oCtlColl.item(x).id.indexOf(ctlPrefix);
							if (oPos == 0) {
								if (oCtlColl.item(x).checked) {
									if (oAttrColl.getNamedItem("ItemFilingFee").nodeValue != '0') {
										AddAddlFeeRow(tbl.id, oAttrColl.getNamedItem("ItemFilingFeeDescription").nodeValue, oAttrColl.getNamedItem("ItemFilingFee").nodeValue);							
									}
								}
								
							}
						}
					}
				}
			}
			
		}
		
		function AddAddlFeeRow(tableName, desc, fee) {
			var hdIntl = document.getElementById('hiddenFieldsMain_hdIntlID').value;
			var hdImplement2PackageOption = document.getElementById('hdImplement2PackageOption');
			var tbl;
			var oDescCell;
			var oFeeCell;
			var oFillerCell;
			var oFiller2Cell;
			var oFeeCategoryCell;
			var oRow;
			var spDiscountText = document.getElementById('spDiscountText');
			var spIntlDiscountText = document.getElementById('spIntlDiscountText');
			var spAbandonedDiscountText = document.getElementById('spAbandonedDiscountText');
			
			
			tbl = document.getElementById(tableName);
			
			if (spIntlDiscountText) {
				oRow = tbl.insertRow(tbl.rows.length - 2);
				}
			else {
				if (spDiscountText && spAbandonedDiscountText) {
					oRow = tbl.insertRow(tbl.rows.length - 3);
				}
				else if (spDiscountText || spAbandonedDiscountText) {
					oRow = tbl.insertRow(tbl.rows.length - 2);
				}
				else {
					oRow = tbl.insertRow(tbl.rows.length - 1);
				}
			
			}
			
			oRow.height = '22px';
			oFeeCategoryCell = oRow.insertCell(0);			
			oFeeCategoryCell.className = 'matrixItemDescCategory';
			oFeeCategoryCell.innerHTML = "&nbsp;"
			
			oDescCell = oRow.insertCell(1);			
			oDescCell.className = 'matrixItemDescTotal';
			oDescCell.innerHTML = desc + "&nbsp;"
				
			if (hdIntl == 'NO') {
				if (document.getElementById('radBasic').checked) {
					oFeeCell = oRow.insertCell(2);
					oFillerCell = oRow.insertCell(3);
					if (hdImplement2PackageOption.value == 'False') {
						oFiller2Cell = oRow.insertCell(4);
					}
				}
				else if (document.getElementById('radStandard').checked) {
					oFillerCell = oRow.insertCell(2);
					oFeeCell = oRow.insertCell(3);
					if (hdImplement2PackageOption.value == 'False') {
						oFiller2Cell = oRow.insertCell(4);
					}
				}
				else {
					oFillerCell = oRow.insertCell(2);
					oFiller2Cell = oRow.insertCell(3);
					oFeeCell = oRow.insertCell(4);
				}
				
				oFillerCell.className = 'matrixItemTotal';
				oFillerCell.style.backgroundColor = '#f4f4f4';
				oFillerCell.innerHTML = '&nbsp;'
				
				if (hdImplement2PackageOption.value == 'False') {
					oFiller2Cell.className = 'matrixItemTotal';
					oFiller2Cell.style.backgroundColor = '#f4f4f4';
					oFiller2Cell.innerHTML = '&nbsp;'	
				}		
			
			}
			else {
				oFeeCell = oRow.insertCell(2);			
				
			}
			oFeeCell.className = 'matrixItemTotal';
			oFeeCell.style.backgroundColor = '#ffff99';
			oFeeCell.innerHTML = '$' + parseFloat(fee).toFixed(2) + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'
		}
