// Globalsvar salesTax = .07; // Updated as of law change in NJ, 7/15/06 (By Daniel Boston)OrderXML = "Order.xml";ShippingModule = "https://ccsrv.bostontech.com/Shipping/Shipping.asp";BillingModule = "https://ccsrv.bostontech.com/Billing/Billing.asp";var DBLoc;var LoggedIn;var UserID;var ActiveCart;function nFormat(numb, declength, begin){  try  {	var stNumb = String(numb);	begin = String(begin);	stNumb = begin + String(Number(stNumb).toFixed(declength));  }  catch(e)  {  	errorHandleExp(e, "Globals.js", "nFormat(numb, declength, begin): numb=" + sstr(numb) + " declength=" + sstr(numb) + " begin=" + sstr(begin));  }	return stNumb;}function genID(){	//NNLLNNNLL-NLNLNL (random valued)	var randval = String.fromCharCode(Math.round(9*Math.random()+48),Math.round(9*Math.random()+48),Math.round(25*Math.random()+65),Math.round(25*Math.random()+65),Math.round(9*Math.random()+48),Math.round(9*Math.random()+48),Math.round(9*Math.random()+48),Math.round(25*Math.random()+65),Math.round(25*Math.random()+65),45,Math.round(9*Math.random()+48),Math.round(25*Math.random()+65),Math.round(9*Math.random()+48),Math.round(25*Math.random()+65),Math.round(9*Math.random()+48),Math.round(25*Math.random()+65));	return randval;}function pad(strng, size, pchar){  try  {	//Simple Recursion to get the job done, without using for loops	if (strng.length < size)	{		strng = pchar + strng;		strng = pad(strng, size, pchar);	}  }  catch(e)  {	errorHandle(true, e.message, "", "", e.number & 0xFFFF, "", "Globals.js", "Other", "In pad(strng, size, pchar): strng=" + sstr(strng) + " size=" + sstr(size) + " pchar=" + sstr(pchar));  }	return strng;}function QuickBuy(tPN, tProName, tQty, tPrice, tTax, tTotal, tWeight, tOrig, sForm){	if (!(DBLoc))	{		globalStart();	}	var xmldoc;	var xmlhttp = XMLHttpObject();	xmlhttp.open("GET",DBLoc + "/" + OrderXML, false);try{	try{		//IE		xmlhttp.send();	}catch(e){		//NS		xmlhttp.send(" ");	}	var tempxml = xmlhttp.responseText;	try{		xmldoc = XMLLoadString(XMLDocument(), tempxml);	}catch(e){		e.message = "Loading XML: " + e.message;		throw e;	}	try{		XMLCheckErrors(xmldoc, "Globals.js");	}catch(e){		e.message = "Check XML: " + e.message;		throw e;	}}catch(e){	alert("Overarc:"+String(e.message) + "|" + String(e.lineNumber) + "|" + String(e.number & 0xFFFF));}	try	{		try{			xmldoc.documentElement.getAttributeNode("OrderID").value = genID();		}catch(e){			e.message="setID:" + e.message; throw e;		}		//hhmmssMMDDYYYY (hours/minutes/seconds/Month/Day/Year)		var td		try{td = new Date();}catch(e){e.message="td:" + e.message; throw e;}		var nowdate;		try{nowdate = pad(td.getHours().toString(10), 2, "0") + pad(td.getMinutes().toString(10), 2, "0") + pad(td.getSeconds().toString(10), 2, "0") + pad((td.getMonth() + 1).toString(10), 2, "0") + pad(td.getDate().toString(10), 2, "0") + td.getFullYear().toString(10);}catch(e){e.message="nowdate:" + e.message; throw e;}		try{xmldoc.documentElement.getAttributeNode("DateStamp").value = nowdate;}catch(e){e.message="setDate:" + e.message; throw e;}		try{xmldoc.documentElement.getAttributeNode("Origin").value = tOrig;}catch(e){e.message="setOrigin:" + e.message; throw e;}		try{XMLSET2(xmldoc, "//Order/Item/Name", sstr(tProName));}catch(e){e.message="setName:" + e.message; throw e;}		try{XMLSET2(xmldoc, "//Order/Item/PN", sstr(tPN));}catch(e){e.message="setPN:" + e.message; throw e;}		try{XMLSET2(xmldoc, "//Order/Item/Weight", sstr(tWeight));}catch(e){e.message="setWeight:" + e.message; throw e;}		try{XMLSET2(xmldoc, "//Order/Item/Quant", sstr(tQty));}catch(e){e.message="setQuant:" + e.message; throw e;}		try{XMLSET2(xmldoc, "//Order/Item/Price", sstr(tPrice));}catch(e){e.message="setPrice:" + e.message; throw e;}		try{XMLSET2(xmldoc, "//Order/Item/SalesTax", sstr(tTax));}catch(e){e.message="setTax:" + e.message; throw e;}		try{XMLSET2(xmldoc, "//Order/Item/Total", sstr(tTotal));}catch(e){e.message="setTotal:" + e.message; throw e;}		var Finalize = xmldoc.createElement("Finalize");		  var comm1 = xmldoc.createElement("Communicate");		    var cond1 = xmldoc.createElement("Condition");		    var url1 = xmldoc.createElement("URL");		    var msg1 = xmldoc.createElement("PostExec");		  var comm2 = xmldoc.createElement("Communicate");		    var cond2 = xmldoc.createElement("Condition");		    var url2 = xmldoc.createElement("URL");		    var msg2 = xmldoc.createElement("PostMSG");		  var comm4 = xmldoc.createElement("Communicate");		    var cond4 = xmldoc.createElement("Condition");		    var url4 = xmldoc.createElement("URL");		    var msg4 = xmldoc.createElement("PostMSG");		  var comm5 = xmldoc.createElement("Communicate");		    var cond5 = xmldoc.createElement("Condition");		    var url5 = xmldoc.createElement("URL");		    var msg5 = xmldoc.createElement("PostMSG");		var CustomAuth = xmldoc.createElement("CustomAuth");		var CustomCancel = xmldoc.createElement("CustomCancel");		//Send order to orderPending agent		var Send1;		try{Send1 = XMLHttpObject();}catch(e){e.message="Send1:" + e.message; throw e;}		try{Send1.open("GET", DBLoc + "/addToCart?OpenAgent&GenerateCart&UserID=" + ((LoggedIn) ? UserID : "Anom") + "&BTIPartNum=" + sstr(tPN) + "&QTY=" + sstr(tQty) + "&CloseCart", false);}catch(e){e.message="Send1Open:" + e.message; throw e;}		try{			//IE			Send1.send();		}catch(e){			//NS			try			{				Send1.send(" ");			}catch(e){				e.message="Send1Send:" + e.message; throw e;			}		}		try{tResponse = Send1.responseText;}catch(e){e.message="Send1Response:" + e.message; throw e;}		var tCartID;		try{tCartID = parseReturns(tResponse, "CartID");}catch(e){e.message="tCartID:" + e.message; throw e;}		   //Finalize, Authorized		   XMLSET(cond1, "Authorized");		   XMLSET(url1, DBLoc + "/orderPending");		   XMLSET(msg1, "\"?OpenAgent&Paid&OrderID=" + xmldoc.documentElement.getAttributeNode("OrderID").value + "&CartID=" + tCartID + "&AuthNum=\" + String(AuthCode) + \"&OrderXML=\" + escape(orderXML.xml)");		   XMLSET(cond2, "Authorized");		   XMLSET(url2, DBLoc + "/addToCart");		   XMLSET(msg2, escape("\"?OpenAgent&CartID=" + tCartID + "&Status=Order+Placed&CloseCart\""));		   //Finalize, Error		   XMLSET(cond4, "Errored");		   XMLSET(url4, DBLoc + "/orderPending");		   XMLSET(msg4, escape("\"?OpenAgent&Cancel&OrderID=" + xmldoc.documentElement.getAttributeNode("OrderID").value + "&CartID=" + tCartID + "\""));		   XMLSET(cond5, "Errored");		   XMLSET(url5, DBLoc + "/addToCart");		   XMLSET(msg5, escape("\"?OpenAgent&CartID=" + tCartID + "&CloseCart&Status=Error\""));			   //Custom Auth			   			   var tempRedir = DBLoc + "/finalizeOrder?OpenForm&Paid&CartID=" + tCartID + ((tCartID == ActiveCart) ? "&ActiveCart" : "") + "&OrderID=" + xmldoc.documentElement.getAttributeNode("OrderID").value;			   if (sForm.hasFinalExec.value == "true") { tempRedir = escape(escape(tempRedir)); }		   XMLSET(CustomAuth, (sForm.hasFinalExec.value == "true" ? sForm.FinalExec.value + "&redirect=" : "") + tempRedir);		   XMLSET(CustomCancel, DBLoc + "/orderPending?OpenAgent&Cancel&CartID=" + tCartID + "&OrderID=" + xmldoc.documentElement.getAttributeNode("OrderID").value);		   		   		     comm1.appendChild(cond1);		     comm1.appendChild(url1);		     comm1.appendChild(msg1);		   Finalize.appendChild(comm1);		     comm2.appendChild(cond2);		     comm2.appendChild(url2);		     comm2.appendChild(msg2);		   Finalize.appendChild(comm2);		     comm4.appendChild(cond4);		     comm4.appendChild(url4);		     comm4.appendChild(msg4);		   Finalize.appendChild(comm4);		     comm5.appendChild(cond5);		     comm5.appendChild(url5);		     comm5.appendChild(msg5);		   Finalize.appendChild(comm5);		  		 xmldoc.documentElement.appendChild(Finalize);		 xmldoc.documentElement.appendChild(CustomAuth);		 xmldoc.documentElement.appendChild(CustomCancel);			Send1 = null;		Send1 = XMLHttpObject();		ToSend = DBLoc + "/orderPending"		TSend2 = "?OpenAgent&OrderID=" + xmldoc.documentElement.getAttributeNode("OrderID").value + "&CartID=" + tCartID + "&OrderXML=" + escape(XMLToString(xmldoc));		try{			Send1.open("POST", ToSend, false);		}catch(e){			e.message="Send2Open:" + e.message;			throw e;		}		try{Send1.send(TSend2);}catch(e){e.message="Send2Send:" + e.message; throw e;}		if (LoggedIn)		{			fillUserInfo(xmldoc);		}		try{sForm.action = (sForm.needShipping.value =="Yes") ? ShippingModule : BillingModule;}catch(e){e.message="setModule:" + e.message; throw e;}		sForm.target="_parent";		try{sForm.method = "POST";}catch(e){e.message="setMethod:" + e.message; throw e;}		try{sForm.xmlOrder.value = escape(XMLToString(xmldoc));}catch(e){e.message="setXML:" + e.message; throw e;}		try{sForm.submit();}catch(e){e.message="submit:" + e.message; throw e;}	}	catch(e)	{		alert(e.name + " : " + e.message);	}}function globalCheckout(tPNs, tProNames, tQtys, tPrices, tTaxes, tTotals, tWeights, tOrig, sForm){	globalCheckout2(tPNs, tProNames, tQtys, tPrices, tTaxes, tTotals, tWeights, tOrig, sForm, ActiveCart);}function globalCheckout2(tPNs, tProNames, tQtys, tPrices, tTaxes, tTotals, tWeights, tOrig, sForm, CID){	if (!(DBLoc))	{		globalStart();	}	var xmldoc;	var xmlhttp = XMLHttpObject();	xmlhttp.open("GET",DBLoc + "/" + OrderXML, false);try{	try{		//IE		xmlhttp.send();	}catch(e){		//NS		try		{			xmlhttp.send(" ");		}catch(e){			e.message= "xmlhttp GET: " + e.message;			throw e;		}	}	var tempxml = xmlhttp.responseText;	try{		xmldoc = XMLLoadString(XMLDocument(), tempxml);	}catch(e){		e.message = "Loading XML: " + e.message;		throw e;	}	try{		XMLCheckErrors(xmldoc, "Globals.js");	}catch(e){		e.message = "Check XML: " + e.message;		throw e;	}}catch(e){	alert("Overarc:"+String(e.message) + "|" + String(e.lineNumber) + "|" + String(e.number & 0xFFFF));}	try	{		try{xmldoc.documentElement.getAttributeNode("OrderID").value = genID();}catch(e){e.message="setID:" + e.message; throw e;}		//hhmmssMMDDYYYY (hours/minutes/seconds/Month/Day/Year)		var td		try{td = new Date();}catch(e){e.message="td:" + e.message; throw e;}		var nowdate;		try{nowdate = pad(td.getHours().toString(10), 2, "0") + pad(td.getMinutes().toString(10), 2, "0") + pad(td.getSeconds().toString(10), 2, "0") + pad((td.getMonth() + 1).toString(10), 2, "0") + pad(td.getDate().toString(10), 2, "0") + td.getFullYear().toString(10);}catch(e){e.message="nowdate:" + e.message; throw e;}		try{xmldoc.documentElement.getAttributeNode("DateStamp").value = nowdate;}catch(e){e.message="setDate:" + e.message; throw e;}		try{xmldoc.documentElement.getAttributeNode("Origin").value = tOrig;}catch(e){e.message="setOrigin:" + e.message; throw e;}			//First one set is free.		try{XMLSET2(xmldoc, "//Order/Item/Name", sstr(tProNames[0]));}catch(e){e.message="setName:" + e.message; throw e;}		try{XMLSET2(xmldoc, "//Order/Item/PN", sstr(tPNs[0]));}catch(e){e.message="setPN:" + e.message; throw e;}		try{XMLSET2(xmldoc, "//Order/Item/Weight", sstr(tWeights[0]));}catch(e){e.message="setWeight:" + e.message; throw e;}		try{XMLSET2(xmldoc, "//Order/Item/Quant", sstr(tQtys[0]));}catch(e){e.message="setQuant:" + e.message; throw e;}		try{XMLSET2(xmldoc, "//Order/Item/Price", sstr(tPrices[0]));}catch(e){e.message="setPrice:" + e.message; throw e;}		try{XMLSET2(xmldoc, "//Order/Item/SalesTax", sstr(tTaxes[0]));}catch(e){e.message="setTax:" + e.message; throw e;}		try{XMLSET2(xmldoc, "//Order/Item/Total", sstr(tTotals[0]));}catch(e){e.message="setTotal:" + e.message; throw e;}				if (tPNs.length > 1)		{			for (var b = 1; b < tPNs.length; b++)			{				var nItem = xmldoc.createElement("Item");				var nameItem = xmldoc.createElement("Name");				var pnItem = xmldoc.createElement("PN");				var weightItem = xmldoc.createElement("Weight");				var quantItem = xmldoc.createElement("Quant");				var priceItem = xmldoc.createElement("Price");				var staxItem = xmldoc.createElement("SalesTax");				var totalItem = xmldoc.createElement("Total");				XMLSET(nameItem, sstr(tProNames[b]));				XMLSET(pnItem, sstr(tPNs[b]));				XMLSET(weightItem, sstr(tWeights[b]));				XMLSET(quantItem, sstr(tQtys[b]));				XMLSET(priceItem, sstr(tPrices[b]));				XMLSET(staxItem, sstr(tTaxes[b]));				XMLSET(totalItem, sstr(tTotals[b]));				nItem.appendChild(nameItem);				nItem.appendChild(priceItem);				nItem.appendChild(quantItem);				nItem.appendChild(staxItem);				nItem.appendChild(totalItem);				nItem.appendChild(pnItem);				nItem.appendChild(weightItem);				xmldoc.documentElement.insertBefore(nItem, XMLSelectNode(xmldoc, "//Order/Shipping"));			}		}		var Finalize = xmldoc.createElement("Finalize");		  var comm1 = xmldoc.createElement("Communicate");		    var cond1 = xmldoc.createElement("Condition");		    var url1 = xmldoc.createElement("URL");		    var msg1 = xmldoc.createElement("PostExec");		  var comm2 = xmldoc.createElement("Communicate");		    var cond2 = xmldoc.createElement("Condition");		    var url2 = xmldoc.createElement("URL");		    var msg2 = xmldoc.createElement("PostMSG");		  var comm3 = xmldoc.createElement("Communicate");		    var cond3 = xmldoc.createElement("Condition");		    var url3 = xmldoc.createElement("URL");		    var msg3 = xmldoc.createElement("PostMSG");		  var comm4 = xmldoc.createElement("Communicate");		    var cond4 = xmldoc.createElement("Condition");		    var url4 = xmldoc.createElement("URL");		    var msg4 = xmldoc.createElement("PostMSG");		  var comm5 = xmldoc.createElement("Communicate");		    var cond5 = xmldoc.createElement("Condition");		    var url5 = xmldoc.createElement("URL");		    var msg5 = xmldoc.createElement("PostMSG");		var CustomAuth = xmldoc.createElement("CustomAuth");		var CustomCancel = xmldoc.createElement("CustomCancel");				   //Finalize, Authorized		   XMLSET(cond1, "Authorized");		   XMLSET(url1, DBLoc + "/orderPending");		   XMLSET(msg1, escape("\"?OpenAgent&Paid&OrderID=" + xmldoc.documentElement.getAttributeNode("OrderID").value + "&CartID=" + CID + "&AuthNum=\" + String(AuthCode) + \"&OrderXML=\" + escape(orderXML.xml)"));		   XMLSET(cond2, "Authorized");		   XMLSET(url2, DBLoc + "/addToCart");		   XMLSET(msg2, escape("\"?OpenAgent&CartID=" + CID + "&Status=Order+Placed&CloseCart\""));		if (LoggedIn && (CID == ActiveCart))		{		   XMLSET(cond3, "Authorized");		   XMLSET(url3, DBLoc + "/userModify"); /*DBLoc.substr(7,DBLoc.length)*/		   XMLSET(msg3, escape("?OpenAgent&UserID=" + UserID + "&CartID="));		}		   //Finalize, Error		   XMLSET(cond4, "Errored");		   XMLSET(url4, DBLoc + "/orderPending");		   XMLSET(msg4, escape("\"?OpenAgent&Cancel&OrderID=" + xmldoc.documentElement.getAttributeNode("OrderID").value + "&CartID=" + CID+"\""));		   XMLSET(cond5, "Errored");		   XMLSET(url5, DBLoc + "/addToCart");		   XMLSET(msg5,escape("\"?OpenAgent&CartID=" + CID + "&Status=Order+Pending,+Error\""));			   //Custom Auth		   XMLSET(CustomAuth, DBLoc + "/finalizeOrder?OpenForm&Paid&CartID=" + CID + ((CID == ActiveCart) ? "&ActiveCart" : "") + "&OrderID=" + xmldoc.documentElement.getAttributeNode("OrderID").value);		   XMLSET(CustomCancel, DBLoc + "/orderPending?OpenAgent&Cancel&CartID=" + CID + "&OrderID=" + xmldoc.documentElement.getAttributeNode("OrderID").value);		     comm1.appendChild(cond1);		     comm1.appendChild(url1);		     comm1.appendChild(msg1);		   Finalize.appendChild(comm1);		     comm2.appendChild(cond2);		     comm2.appendChild(url2);		     comm2.appendChild(msg2);		   Finalize.appendChild(comm2);		if (LoggedIn)		{		     comm3.appendChild(cond3);		     comm3.appendChild(url3);		     comm3.appendChild(msg3);		   Finalize.appendChild(comm3);		}		     comm4.appendChild(cond4);		     comm4.appendChild(url4);		     comm4.appendChild(msg4);		   Finalize.appendChild(comm4);		     comm5.appendChild(cond5);		     comm5.appendChild(url5);		     comm5.appendChild(msg5);		   Finalize.appendChild(comm5);		  		 xmldoc.documentElement.appendChild(Finalize);		 xmldoc.documentElement.appendChild(CustomAuth);		 xmldoc.documentElement.appendChild(CustomCancel);		 		if (LoggedIn)		{			fillUserInfo(xmldoc);		}		//Send order to orderPending agent		var Send1;		Send1 = XMLHttpObject();		ToSend = DBLoc + "/orderPending"		TSend2 = "?OpenAgent&OrderID=" + xmldoc.documentElement.getAttributeNode("OrderID").value + "&CartID=" + CID + "&OrderXML=" + escape(XMLToString(xmldoc));		try{			Send1.open("POST", ToSend, false);		}catch(e){			e.message="Send2Open:" + e.message;			throw e;		}		try{Send1.send(TSend2);}catch(e){e.message="Send2Send:" + e.message; throw e;}				try{sForm.action = ShippingModule;}catch(e){e.message="setModule:" + e.message; throw e;}		sForm.target="_parent";		try{sForm.method = "POST";}catch(e){e.message="setMethod:" + e.message; throw e;}		try{sForm.xmlOrder.value = escape(XMLToString(xmldoc));}catch(e){e.message="setXML:" + e.message; throw e;}		try{sForm.submit();}catch(e){e.message="submit:" + e.message; throw e;}	}	catch(e)	{		alert(e.name + " : " + e.message);	}}function fillUserInfo(xmldoc){	var SendI;	SendI = XMLHttpObject();	SendI.open("GET", DBLoc + "/retrieveUserInfo?OpenAgent&UserID=" + UserID, false);	try{		SendI.send();	}catch(e){		try{			SendI.send(" ");		}catch(e){			e.message="SendISend:" + e.message; throw e;		}	}	tReturns = SendI.responseText;	//alert(tReturns);	tvar = tReturns.indexOf("{<");		evar = tReturns.indexOf(">}", tvar);	tReturns = tReturns.substring(tvar + 2, evar);	//tReturns = tReturns.substring(0, tvar) + tReturns.substring(evar + 1, tReturns.length);		temp = parseReturns(tReturns, "Name");	if (temp != "") {XMLSET2(xmldoc, "//Order/Billing/Purchaser/FullName", temp);}	temp = parseReturns(tReturns, "Company");	if (temp != "") {XMLSET2(xmldoc, "//Order/Billing/Purchaser/Company", temp);}	temp = parseReturns(tReturns, "Address1");	if (temp != "") {XMLSET2(xmldoc, "//Order/Billing/Purchaser/Addr1", temp);}	temp = parseReturns(tReturns, "Address2");	if (temp != "") {XMLSET2(xmldoc, "//Order/Billing/Purchaser/Addr2", temp);}	temp = parseReturns(tReturns, "City");	if (temp != "") {XMLSET2(xmldoc, "//Order/Billing/Purchaser/City", temp);}	temp = parseReturns(tReturns, "State");	if (temp != "") {XMLSET2(xmldoc, "//Order/Billing/Purchaser/State", temp);}	temp = parseReturns(tReturns, "Zip");	if (temp != "") {XMLSET2(xmldoc, "//Order/Billing/Purchaser/Zip", temp);}	temp = parseReturns(tReturns, "Phone");	if (temp != "") {XMLSET2(xmldoc, "//Order/Billing/Purchaser/Phone", temp);}	temp = parseReturns(tReturns, "Email");	if (temp != "") {XMLSET2(xmldoc, "//Order/Billing/Purchaser/Email", temp);}				temp = parseReturns(tReturns, "ShipName");	if (temp != "") {XMLSET2(xmldoc, "//Order/Shipping/Address/ShipFullName", temp);}	temp = parseReturns(tReturns, "ShipCompany");	if (temp != "") {XMLSET2(xmldoc, "//Order/Shipping/Address/ShipCompany", temp);}	temp = parseReturns(tReturns, "ShipAddress1");	if (temp != "") {XMLSET2(xmldoc, "//Order/Shipping/Address/ShipAddr1", temp);}	temp = parseReturns(tReturns, "ShipAddress2");	if (temp != "") {XMLSET2(xmldoc, "//Order/Shipping/Address/ShipAddr2", temp);}	temp = parseReturns(tReturns, "ShipCity");	if (temp != "") {XMLSET2(xmldoc, "//Order/Shipping/Address/ShipCity", temp);}	temp = parseReturns(tReturns, "ShipState");	if (temp != "") {XMLSET2(xmldoc, "//Order/Shipping/Address/ShipState", temp);}	temp = parseReturns(tReturns, "ShipZip");	if (temp != "") {XMLSET2(xmldoc, "//Order/Shipping/Address/ShipZip", temp);}	temp = parseReturns(tReturns, "ShipPhone");	if (temp != "") {XMLSET2(xmldoc, "//Order/Shipping/Address/ShipPhone", temp);}	temp = parseReturns(tReturns, "Shipper");	if (temp != "") {XMLSET2(xmldoc, "//Order/Shipping/Method/Carrier", temp);}	temp = parseReturns(tReturns, "ShipPlan");	if (temp != "") {XMLSET2(xmldoc, "//Order/Shipping/Method/Plan", temp);}		temp = parseReturns(tReturns, "PONumReq");	if (temp == "Require")	{		xmldoc.documentElement.getAttributeNode("PONumReq").value = "Y";	}	else	{		xmldoc.documentElement.getAttributeNode("PONumReq").value = "N";	}		 temp = parseReturns(tReturns, "OnAccountGranted");  if (temp == "Granted")	{		XMLSET2(xmldoc, "//Order/OrderData/BillType", "OnAccount");		var OnAccount = xmldoc.createElement("OnAccount");		XMLSelectNode(xmldoc, "//Order/Billing/Payment").replaceChild(OnAccount, XMLSelectNode(xmldoc, "//Order/Billing/Payment/Card"));		//XMLSelectNode(xmldoc, "//Order/Billing/Payment").removeChild();	}	else	{		XMLSET2(xmldoc, "//Order/OrderData/BillType", "Card");	}}function parseReturns(responseData, field){	//alert(responseData);	var tags = responseData.split("&");		var response = "";		for (var k=0; k < tags.length; k++)	{		if (tags[k].indexOf("=") > -1)		{			tTag = tags[k].split("=");			if (tTag[0] == field)			{				response = tTag[1];				break;			}		}		else		{			response = tags[k];		}	}		return response;}function parseReplace(responseData, fieldN, data){	var tags = responseData.split("&");		var response = "";		var replaced = false;		for (var k=0; k < tags.length; k++)	{		if (tags[k].indexOf("=") > -1)		{			tTag = tags[k].split("=");			if (tTag[0] == fieldN)			{				if (response.length > 0)				{					response = response + "&";				}								response = response + tTag[0] + "=" + sstr(data);				replaced = true;				break;			}		}		else		{			if (response.length > 0)			{				response = response + "&";			}			response = response + tags[k];		}	}		if (replaced == false)	{		if (response.length > 0)		{			response = response + "&";		}				response = response + fieldN + "=" + sstr(data);	}		return response;}function parseReplace2(responseData, fieldN, data){	//alert(responseData);	var response = "";	var tags = responseData.split("=")[1].split(",");		var replaced = false;		for (var k=0; k < tags.length; k++)	{		if (tags[k].indexOf(":") > -1)		{			tTag = tags[k].split(":");			if (tTag[0] == fieldN)			{				if (response.length > 0)				{					response = response + ",";				}								response = response + tTag[0] + ":" + sstr(data);				replaced = true;			}			else			{				if (response.length > 0)				{					response = response + ",";				}				response = response + tTag[0] + ":" + tTag[1];			}		}		else		{			if (response.length > 0)			{				response = response + ",";			}			response = response + tags[k];		}	}		if (replaced == false)	{		if (response.length > 0)		{			response = response + ",";		}				response = response + fieldN + ":" + sstr(data);	}		response = responseData.split("=")[0] + "=" + response;	//alert(response);		return response;}function orderNow(){	if (LoggedIn)	{		if (!(DBLoc))		{			globalStart();		}		window.location = DBLoc +"/placeOrder?OpenForm&BTIPartNum=" + document.forms[0].BTIPartNum.value;	}	else	{	alert("Credit card processing is currently off-line. Please create an account and log-in first.");	return;	}}/*function addToCart(){	window.location = DBLoc + "/" + "addToCart?OpenAgent&BTIPartNum=" + document.forms[0].BTIPartNum.value}*/function finalizeLogin(){	try{UserID = document.forms[0].UID.value;}catch(e){alert(e.message + ":" + e.name);}	try{ActiveCart = document.forms[0].CID.value;}catch(e){alert(e.message + ":" + e.name);}		HTMLCreateCookie(document, "BTICS_LoggedIn", "UserID:" + UserID + "," + "ActiveCart:" + ActiveCart);}function globalLogout(){	HTMLClearCookie(document, "BTICS_LoggedIn");	document.location = DBLoc + "/UALogin?OpenForm";}function globalLogout2(){	HTMLClearCookie(document, "BTICS_LoggedIn");}function updateLoginCookie(){	curCook = HTMLGetCookie(document, "BTICS_LoggedIn");		curCook = parseReplace2(curCook, "ActiveCart", ActiveCart);	curCook = parseReplace2(curCook, "UserID", UserID);	HTMLUpdateCookie(document, "BTICS_LoggedIn", curCook.split("=")[1]);}function updateAnomCookie(){	HasCartCookie = HTMLHasCookie(document, "BTICS_AnomCart");			if (HasCartCookie)	{		curCook = HTMLGetCookie(document, "BTICS_AnomCart");			curCook = parseReplace2(curCook, "ActiveCart", ActiveCart);		HTMLUpdateCookie(document, "BTICS_AnomCart", curCook.split("=")[1]);	}	else	{		if (ActiveCart != "")		{			curCook = "ActiveCart:" + ActiveCart;			HTMLCreateCookie(document, "BTICS_AnomCart", curCook);		}	}	}function globalStart(){	try{DBLoc = "http://" + document.forms[0].TSP.value + document.forms[0].TDB.value;}catch(e){alert(e.message + ":" + e.name);}	LoggedIn = HTMLHasCookie(document, "BTICS_LoggedIn");		//alert(LoggedIn);	if (LoggedIn)	{		// BTICS_LoggedIn=UserID:DocUniqueID,ActiveCart:DocUniqueID		cookieString = HTMLGetCookie(document, "BTICS_LoggedIn");		crumbs = cookieString.split("=")[1].split(",");		for (var k=0; k<crumbs.length; k++)		{			chips = crumbs[k].split(":");			if (chips[0] == "UserID")			{				UserID = chips[1];			}			else if (chips[0] == "ActiveCart")			{				if (chips[1].length > 20)				{					ActiveCart = chips[1];				}else{					ActiveCart = "";				}			}		}		//alert(cookieString + "|" + UserID + "|" + ActiveCart);	}	else	{		HasCartCookie = HTMLHasCookie(document, "BTICS_AnomCart");				if (HasCartCookie)		{			//BTICS_AnomCart=ActiveCart:DocUniqueID			cookieString = HTMLGetCookie(document, "BTICS_AnomCart");			crumbs = cookieString.split("=")[1].split(",");			for (var k=0; k<crumbs.length; k++)			{				chips = crumbs[k].split(":");				if (chips[0] == "ActiveCart")				{					ActiveCart = chips[1];				}			}			//alert(cookieString + "|" + ActiveCart);		}	}}function addToCart(PN){	addToCart2(PN, 1);}function addToCart2(PN, QTY){	if (!(DBLoc))	{		globalStart();	}	if (LoggedIn)	{		if ((ActiveCart == "") || (ActiveCart == undefined))		{			var Send1;			try{Send1 = XMLHttpObject();}catch(e){e.message="Send1:" + e.message; throw e;}			try{Send1.open("GET", DBLoc + "/addToCart?OpenAgent&GenerateCart&UserID=" + UserID + "&BTIPartNum=" + sstr(PN) + "&QTY=" + sstr(QTY), false);}catch(e){e.message="Send1Open:" + e.message; throw e;}			try{				Send1.send();			}catch(e){				try{					Send1.send(" ");				}catch(e){					e.message="Send1Send:" + e.message; throw e;				}			}			try{tResponse = Send1.responseText;}catch(e){e.message="Send1Response:" + e.message; throw e;}			var tCartID;			try{tCartID = parseReturns(tResponse, "CartID");}catch(e){e.message="tCartID:" + e.message; throw e;}			ActiveCart = tCartID;			updateLoginCookie();			//alert(DBLoc + "/viewCart?OpenForm&CartID=" + ActiveCart);			parent.Main.window.document.location = DBLoc + "/viewCart?OpenForm&CartID=" + ActiveCart;		}		else		{			var Send1;			try{Send1 = XMLHttpObject();}catch(e){e.message="Send1:" + e.message; throw e;}			//alert(DBLoc + "/addToCart?OpenAgent&CartID=" + ActiveCart + "&UserID=" + UserID + "&BTIPartNum=" + sstr(PN));			try{Send1.open("GET", DBLoc + "/addToCart?OpenAgent&CartID=" + ActiveCart + "&UserID=" + UserID + "&BTIPartNum=" + sstr(PN) + "&QTY=" + sstr(QTY), false);}catch(e){e.message="Send1Open:" + e.message; throw e;}			try{				Send1.send();			}catch(e){				try{					Send1.send(" ");				}catch(e){					e.message="Send1Send:" + e.message; throw e;				}			}			try{tResponse = Send1.responseText;}catch(e){e.message="Send1Response:" + e.message; throw e;}						//alert(DBLoc + "/viewCart?OpenForm&CartID=" + ActiveCart);			parent.Main.window.document.location = DBLoc + "/viewCart?OpenForm&CartID=" + ActiveCart;		}	}	else	{		alert("Credit card processing is currently off-line. Please create an account and log-in first.");		return;				if ((ActiveCart == "") || (ActiveCart == undefined))		{			var Send1;			try{Send1 = XMLHttpObject();}catch(e){e.message="Send1:" + e.message; throw e;}			try{Send1.open("GET", DBLoc + "/addToCart?OpenAgent&GenerateCart&UserID=Anom&BTIPartNum=" + sstr(PN) + "&QTY=" + sstr(QTY), false);}catch(e){e.message="Send1Open:" + e.message; throw e;}			try{				Send1.send();			}catch(e){				try{					Send1.send(" ");				}catch(e){					e.message="Send1Send:" + e.message; throw e;				}			}			try{tResponse = Send1.responseText;}catch(e){e.message="Send1Response:" + e.message; throw e;}			var tCartID;			try{tCartID = parseReturns(tResponse, "CartID");}catch(e){e.message="tCartID:" + e.message; throw e;}			ActiveCart = tCartID;			updateAnomCookie();			parent.Main.window.document.location = DBLoc + "/viewCart?OpenForm&CartID=" + ActiveCart;		}		else		{			var Send1;			try{Send1 = XMLHttpObject();}catch(e){e.message="Send1:" + e.message; throw e;}			try{Send1.open("GET", DBLoc + "/addToCart?OpenAgent&CartID=" + ActiveCart + "&UserID=Anom&BTIPartNum=" + sstr(PN) + "&QTY=" + sstr(QTY), false);}catch(e){e.message="Send1Open:" + e.message; throw e;}			try{				Send1.send();			}catch(e){				try{					Send1.send(" ");				}catch(e){					e.message="Send1Send:" + e.message; throw e;				}			}					try{tResponse = Send1.responseText;}catch(e){e.message="Send1Response:" + e.message; throw e;}						parent.Main.window.document.location = DBLoc + "/viewCart?OpenForm&CartID=" + ActiveCart;		}	}	globalRefreshBanner();}function removeFromCart(PN){	if (!(DBLoc))	{		globalStart();	}	if (LoggedIn)	{		if ((ActiveCart == "") || (ActiveCart == undefined))		{			alert("This item is already gone from your cart.");		}		else		{			var Send1;			try{Send1 = XMLHttpObject();}catch(e){e.message="Send1:" + e.message; throw e;}			try{Send1.open("GET", DBLoc + "/addToCart?OpenAgent&CartID=" + ActiveCart + "&UserID=" + UserID + "&BTIPartNum=" + sstr(PN) + "&QTY=-1", false);}catch(e){e.message="Send1Open:" + e.message; throw e;}			try{				Send1.send();			}catch(e){				try{					Send1.send(" ");				}catch(e){					e.message="Send1Send:" + e.message; throw e;				}			}					try{tResponse = Send1.responseText;}catch(e){e.message="Send1Response:" + e.message; throw e;}						parent.Main.window.document.location = DBLoc + "/viewCart?OpenForm&CartID=" + ActiveCart;		}	}	else	{		if ((ActiveCart == "") || (ActiveCart == undefined))		{			alert("This item is already gone from your cart.");		}		else		{			var Send1;			try{Send1 = XMLHttpObject();}catch(e){e.message="Send1:" + e.message; throw e;}			try{Send1.open("GET", DBLoc + "/addToCart?OpenAgent&CartID=" + ActiveCart + "&UserID=Anom&BTIPartNum=" + sstr(PN) + "&QTY=-1", false);}catch(e){e.message="Send1Open:" + e.message; throw e;}			try{				Send1.send();			}catch(e){				try{					Send1.send(" ");				}catch(e){					e.message="Send1Send:" + e.message; throw e;				}			}					try{tResponse = Send1.responseText;}catch(e){e.message="Send1Response:" + e.message; throw e;}						parent.Main.window.document.location = DBLoc + "/viewCart?OpenForm&CartID=" + ActiveCart;		}	}}function globalRefreshBanner(){	var Swap = "Top+Banner+Log+Out.gif";	var SwapO = "Top+Banner+Log+In.gif";	var MBSG = "My+BTI+Shop_G.gif";	var MBSN = "My+BTI+Shop.gif";	dcment = parent.TNav.window.document;	if (LoggedIn)	{		lg1 = HTMLGEBI(dcment, "log1");		lg1.style.background="url(" + Swap + ")";		lg2 = HTMLGEBI(dcment, "log2");		lg2.style.display="none";		lg3 = HTMLGEBI(dcment, "log3");		lg3.style.display="block";		lg4 = HTMLGEBI(dcment, "log4");		lg4.href = "viewCart?OpenForm&ActiveCart=" + ActiveCart;		lg5 = HTMLGEBI(dcment, "log5");		lg5.style.display="block";		lg6 = HTMLGEBI(dcment, "log6");		lg6.style.background="url(" + MBSN + ")";	}	else	{		lg1 = HTMLGEBI(dcment, "log1");		lg1.style.background="url(" + SwapO + ")";		lg2 = HTMLGEBI(dcment, "log2");		lg2.style.display="block";		lg3 = HTMLGEBI(dcment, "log3");		lg3.style.display="none";		lg4 = HTMLGEBI(dcment, "log4");		if (ActiveCart != "")		{			lg4.href = "viewCart?OpenForm&ActiveCart=" + ActiveCart;		}		else		{			lg4.href = "viewCart?OpenForm&ActiveCart=";		}		lg5 = HTMLGEBI(dcment, "log5");		lg5.style.display="none";		lg6 = HTMLGEBI(dcment, "log6");		lg6.style.background="url(" + MBSG + ")";	}}
