var sLock = false;
var sCount = 0;
var sQtyChanged = false;

/*
var b1a = new Image();
var b1n = new Image();
var b2a = new Image();
var b2n = new Image();
var b3a = new Image();
var b3n = new Image();
var b3_2a = new Image();
var b3_2n = new Image();
var b4a = new Image();
var b4n = new Image();
var b5a = new Image();
var b5n = new Image();
var b6a = new Image();
var b6n = new Image();
var b7a = new Image();
var b7n = new Image();
b1a.src="images/Buttons/CheckoutA2.gif";
b1n.src="images/Buttons/CheckoutNA2.gif";
b2a.src="images/Buttons/ConfirmA.gif";
b2n.src="images/Buttons/ConfirmNA.gif";
b3a.src="images/Buttons/PlaceA.gif";
b3n.src="images/Buttons/PlaceNA.gif";
b3_2a.src="images/Buttons/PayPayPalA.gif";
b3_2n.src="images/Buttons/PayPayPalNA.gif";
b4a.src="images/Buttons/KeepA.gif";
b4n.src="images/Buttons/KeepNA.gif";
b5a.src="images/Buttons/ModifyA.gif";
b5n.src="images/Buttons/ModifyNA.gif";
b6a.src="images/Buttons/ReviseA.gif";
b6n.src="images/Buttons/ReviseNA.gif";
b7a.src = "images/Buttons/paygoogleA.gif";
b7n.src = "images/Buttons/paygoogleNA.gif";
*/

/*
function ShippingPopup() {window.open("ShippingPopup.asp","Shipping","width=300,height=300");}
function NeedHelpPopup() {window.open("NeedHelp.asp","Help","width=500,height=500,scrollbars=yes");}
function ContactUsPopup() {window.open("ContactUsPopup.asp","Shipping","width=300,height=300");}
function AboutUsPopup() {window.open("AboutUsPopup.asp","Shipping","width=500,height=400,scrollbars=yes");}
function GuaranteePopup(){window.open("GuaranteePopup.asp","Shipping","width=300,height=300");}
function CSCPopup(){window.open("CSCPopup.asp","Shipping","width=350,height=600,scrollbars=yes");}
function windowPopUp(url){
	var aX = document.body.offsetWidth - 30;
	var aY = document.body.offsetHeight - 30;
	window.open(url,"PopUp","width="+aX+",height="+aY+",left=15,top=15,scrollbars=yes,toolbar=yes,resizable=yes,status=yes,location=yes");
	}
*/


function VerifySearch()
{
	if (document.searchform.search.value.length == 0) {alert("Please Enter Search Keywords"); document.searchform.search.focus(); return false;}
	return true;
}
function isWNumber(o)
{
	var jsNum = new Number(o.value);
	if (isNaN(jsNum)) {alert("Please enter numbers only!"); o.value=""; o.focus();}
	if (jsNum<0 || jsNum>999) {alert("Invalid number!"); o.value=""; o.focus();}
	if (Math.round(jsNum)!=jsNum) {alert("Please enter whole numbers only"); o.value=""; o.focus();}
}
function ToggleCC(val)
{
	var tFlag = val!="PayPal"?"inline":"none";
	CC1.style.display=tFlag;
	CC2.style.display=tFlag;
	CC3.style.display=tFlag;
}

// document.getElementById("DateTime")


function TriggerbAddress(val)
{
	with (document.ShoppingForm)
	{
		if (val.checked)
		{
			bFirstName.value = sFirstName.value;
			bLastName.value = sLastName.value;
			bAddress1.value = sAddress1.value;
			bAddress2.value = sAddress2.value;
			bCity.value = sCity.value;
			bState.value = sState.value;
			bZip.value = sZip.value;
			bCompany.value = sCompany.value;
		}
		else{bCompany.value = bFirstName.value = bLastName.value = bAddress1.value = bAddress2.value = bCity.value = bState.value = bZip.value = "";}
	}
}

function TogglePayPal(){
     document.getElementById("PayPalDetails").style.display="";	    
     document.getElementById("CheckMoneyOrderDetails").style.display="none"
     document.getElementById("PurchaseOrderDetails").style.display="none"
     document.getElementById("CCDetails").style.display="none";
     document.getElementById("GoogleCheckoutDetails").style.display="none";
     document.getElementById("bAddress").style.display="";
     document.getElementById("bAddress1").style.display="";
     document.getElementById("bAddress2").style.display="";
     document.getElementById("bAddress3").style.display="";
     document.getElementById("bAddress4").style.display="";
     document.getElementById("bAddress5").style.display="";
     document.getElementById("bBillTo1").style.display="";
     document.getElementById("bBillTo2").style.display="";
     document.getElementById("bBillTo3").style.display="";
     document.getElementById("bBillTo4").style.display="";
     document.getElementById("bBillTo5").style.display="none";
     document.getElementById("bBillTo6").style.display="none";
     document.ShoppingForm.PayPayPal.checked = true;
     document.ShoppingForm.CheckMoneyOrder.checked = false;
	  document.ShoppingForm.GoogleCheckout.checked = false;
     document.ShoppingForm.CreditCard.checked = false;
     document.ShoppingForm.PurchaseOrder.checked = false;		
}

 
function ToggleGoogleCheckout(){
     document.getElementById("GoogleCheckoutDetails").style.display="";
     document.getElementById("CCDetails").style.display="none";	    
     document.getElementById("PayPalDetails").style.display="none";	    
     document.getElementById("CheckMoneyOrderDetails").style.display="none"
     document.getElementById("PurchaseOrderDetails").style.display="none"
     document.getElementById("bAddress").style.display="";
     document.getElementById("bAddress1").style.display="";
     document.getElementById("bAddress2").style.display="";
     document.getElementById("bAddress3").style.display="";
     document.getElementById("bAddress4").style.display="";
     document.getElementById("bAddress5").style.display="";
     document.getElementById("bBillTo1").style.display="";
     document.getElementById("bBillTo2").style.display="";
     document.getElementById("bBillTo3").style.display="";
     document.getElementById("bBillTo4").style.display="";
     document.getElementById("bBillTo5").style.display="none";
     document.getElementById("bBillTo6").style.display="none";
     document.ShoppingForm.GoogleCheckout.checked = true;
     document.ShoppingForm.PayPayPal.checked = false;
     document.ShoppingForm.CheckMoneyOrder.checked = false;
     document.ShoppingForm.CreditCard.checked = false;
     document.ShoppingForm.PurchaseOrder.checked = false;
}


function ToggleCreditCard(){
     document.getElementById("CCDetails").style.display="";	    
     document.getElementById("GoogleCheckoutDetails").style.display="none";
     document.getElementById("CheckMoneyOrderDetails").style.display="none"
     document.getElementById("PurchaseOrderDetails").style.display="none"
     document.getElementById("PayPalDetails").style.display="none";	    
     document.getElementById("bAddress").style.display="";
     document.getElementById("bAddress1").style.display="";
     document.getElementById("bAddress2").style.display="";
     document.getElementById("bAddress3").style.display="";
     document.getElementById("bAddress4").style.display="";
     document.getElementById("bAddress5").style.display="";
     document.getElementById("bBillTo1").style.display="";
     document.getElementById("bBillTo2").style.display="";
     document.getElementById("bBillTo3").style.display="";
     document.getElementById("bBillTo4").style.display="";
     document.getElementById("bBillTo5").style.display="none";
     document.getElementById("bBillTo6").style.display="none";
     document.ShoppingForm.CreditCard.checked = true;
     document.ShoppingForm.PayPayPal.checked = false;
	  document.ShoppingForm.GoogleCheckout.checked = false;
     document.ShoppingForm.CheckMoneyOrder.checked = false;
     document.ShoppingForm.PurchaseOrder.checked = false;
}

function ToggleCheckMoneyOrder(){
     document.getElementById("CheckMoneyOrderDetails").style.display=""
     document.getElementById("GoogleCheckoutDetails").style.display="none";
     document.getElementById("CCDetails").style.display="none";	    
     document.getElementById("PayPalDetails").style.display="none";	    
     document.getElementById("PurchaseOrderDetails").style.display="none"
     document.getElementById("bBillTo1").style.display="";
     document.getElementById("bBillTo2").style.display="";
     document.getElementById("bBillTo3").style.display="";
     document.getElementById("bBillTo4").style.display="";
     document.getElementById("bBillTo5").style.display="none";
     document.getElementById("bBillTo6").style.display="none";
     document.ShoppingForm.CheckMoneyOrder.checked = true;
     document.ShoppingForm.PayPayPal.checked = false;
	  document.ShoppingForm.GoogleCheckout.checked = false;
     document.ShoppingForm.CreditCard.checked = false;
     document.ShoppingForm.PurchaseOrder.checked = false;
}

function TogglePurchaseOrder(){
     document.getElementById("PurchaseOrderDetails").style.display=""
     document.getElementById("GoogleCheckoutDetails").style.display="none";
     document.getElementById("CheckMoneyOrderDetails").style.display="none"
     document.getElementById("CCDetails").style.display="none";	    
     document.getElementById("PayPalDetails").style.display="none";	    
     document.getElementById("bAddress").style.display="";
     document.getElementById("bAddress1").style.display="";
     document.getElementById("bAddress2").style.display="";
     document.getElementById("bAddress3").style.display="";
     document.getElementById("bAddress4").style.display="";
     document.getElementById("bAddress5").style.display="";
     document.getElementById("bBillTo1").style.display="none";
     document.getElementById("bBillTo2").style.display="none";
     document.getElementById("bBillTo3").style.display="none";
     document.getElementById("bBillTo4").style.display="none";
     document.getElementById("bBillTo5").style.display="";
     document.getElementById("bBillTo6").style.display="";
     document.ShoppingForm.PurchaseOrder.checked = true;
     document.ShoppingForm.PayPayPal.checked = false;
	  document.ShoppingForm.GoogleCheckout.checked = false;
     document.ShoppingForm.CreditCard.checked = false;
     document.ShoppingForm.CheckMoneyOrder.checked = false;
}


function VerifySubmit(){
	if (IsDev){
		LogEvent("Submitted order information")
	}
	with(document.ShoppingForm)
	{
		if (sFirstName.value.length==0) {alert("Please Enter First Name"); sFirstName.focus(); return false;}
		if (sLastName.value.length==0) {alert("Please Enter Last Name"); sLastName.focus(); return false;}
		if (sAddress1.value.length==0) {alert("Please Enter Address 1"); sAddress1.focus(); return false;}
		if (sCity.value.length==0) {alert("Please Enter City"); sCity.focus(); return false;}
		if (sState.value.length==0) {alert("Please Enter State"); sState.focus(); return false;}
		// Free Product validations
		if (FPQ.value > 0){
			if (( FPID.value=="2542") && (sState.value=="HI" || sState.value=="MA" || sState.value=="MI"|| sState.value=="NY"|| sState.value=="WI")){
				// popup lightwindow to choose different product
				myLightWindow.activateWindow({href: '#ChooseAnotherWindow', title: 'Free Merchandise', width: 600, height: 600});
				return false;   // kick back to main screen to review order
			}else{
				if (( FPID.value!="2542") && !(sState.value=="HI" || sState.value=="MA" || sState.value=="MI"|| sState.value=="NY"|| sState.value=="WI")){
					// if it's not a prohibited state, make sure we're sending the free pepper spray
					FPID.value="2542";  
					FP.value="Pepper Shot 1/2 oz with Key Release (Free Bonus)";
				}
			}
		}
		if (sState.value.length==0) {alert("Please Enter State"); sState.focus(); return false;}
		if (isNaN(sZip.value) || sZip.value.length<5) {alert("Please Correct Zip"); sZip.focus(); return false;}
		if (Phone.value.length==0) {alert("Please Enter Area Code"); Phone.focus(); return false;}
		if (Phone2.value.length==0) {alert("Please Enter Phone"); Phone2.focus(); return false;}
		if (Phone3.value.length==0) {alert("Please Enter Phone"); Phone3.focus(); return false;}
		if (Email.value.length==0) {alert("Please Enter Email"); Email.focus(); return false;}
		if (Email.value.indexOf("@")==-1) {alert("Please Enter Correct Email"); Email.focus(); return false;}
//		if (!(PayPayPal.checked) && !(googlecheckout.checked)){
		if (CreditCard.checked){
			if (!isValidCreditCard(CCType.value, CARDNUM.value)) {alert("Invalid Credit Card Number"); CARDNUM.focus(); return false;}
			if (CSC.value.length==0) {alert("Please Enter Card Security Code"); CSC.focus(); return false;}
			if (EXPDATEM.options[EXPDATEM.selectedIndex].value=="SelectMonth"){alert("Invalid Card Expiration Month"); EXPDATEM.focus(); return false;}
			if (EXPDATEY.options[EXPDATEY.selectedIndex].value=="Year"){alert("Invalid Card Expiration Year"); EXPDATEY.focus(); return false;}
			d = new Date();
			exp= new Date(EXPDATEY.options[EXPDATEY.selectedIndex].value,EXPDATEM.options[EXPDATEM.selectedIndex].value, 01, 00, 00, 00);
			if (d>exp){alert("The Card Expiration Date Appears To Be Expired"); EXPDATEM.focus(); return false;}
			/*
			if (CCType.value!="AMEX" && CARDNUM.value.length!=16) {alert("Please Enter All 16 Card Numbers"); CARDNUM.focus(); return false;}
			if (CCType.value=="AMEX" && CARDNUM.value.length!=15) {alert("Please Enter 15 Card Numbers"); CARDNUM.focus(); return false;}
			if (CCType.value=="AMEX" && CARDNUM.value.charAt(0)!="3") {alert("Invalid CC Number"); CARDNUM.focus(); return false;}
			if (CCType.value=="VISA" && CARDNUM.value.charAt(0)!="4") {alert("Invalid CC Number"); CARDNUM.focus(); return false;}
			if (CCType.value=="MC" && CARDNUM.value.charAt(0)!="5") {alert("Invalid CC Number"); CARDNUM.focus(); return false;}
			if (CCType.value=="DISC" && CARDNUM.value.charAt(0)!="6") {alert("Invalid CC Number"); CARDNUM.focus(); return false;}
			*/
		}
		if (!ADDRSameAsShipping.checked)
		{
			if (bFirstName.value.length==0) {alert("Please Enter First Name"); bFirstName.focus(); return false;}
			if (bLastName.value.length==0) {alert("Please Enter Last Name"); bLastName.focus(); return false;}
			if (bAddress1.value.length==0) {alert("Please Enter Address 1"); bAddress1.focus(); return false;}
			if (bCity.value.length==0) {alert("Please Enter City"); bCity.focus(); return false;}
			if (bState.value.length==0) {alert("Please Enter State"); bState.focus(); return false;}
			if (bZip.value.length==0) {alert("Please Enter Zip"); bZip.focus(); return false;}
		}
	}
	if (IsDev){
		LogEvent("Order information validated")
	}

	return true;
}

var Submitted = false;

function VerifyOrderPlaced(){
   if (Submitted) {
//		if (IsDev){
//		PopWaitWindow();
//		}
      return false;
   }
	if (IsDev){
		LogEvent("Order submitted")
	}

	Submitted= true;
	return true;
}	

//function PopWaitWindow(){
//	myLightWindow.activateWindow({
//	href: '#ProcessingOrderWindow',
//	height: 200,
//	width: 350
//	});
//}


function UpdateQty()
{
	document.ShoppingForm.Action.value="Recalculate";
	document.ShoppingForm.submit();
	return false;
}
function DeleteItem(num)
{
	if (document.ShoppingForm.qty.length)
		document.ShoppingForm.qty[num].value=0;
	else document.ShoppingForm.qty.value=0;
	document.ShoppingForm.Action.value="Recalculate";
	document.ShoppingForm.submit();
	return false;
}
function CheckoutNow()
{
	/*if (!sLock){
		alert ("Please call 1-800-490-9471 to complete this order");
		return false;
	}*/
	if (sQtyChanged)
	{
		alert("You have changed quantity of some product(s).\nPlease click \"Update Quantity\" button before proceeding to Check Out");
		return false
	}
	document.ShoppingForm.Action.value="Proceed to Check Out";
//	document.ShoppingForm.action="https://secure.velpro.net/PreventSecurity/shoppingcart.asp";
	document.ShoppingForm.action="https://www.TheHomeSecuritySuperstore.com/shoppingcart.asp";
	document.ShoppingForm.submit();
	return false;
}
function unlock()
{
	if ((++sCount)==4) {window.status="U"; sLock=true;}
}
function SubmitPayPal()
{
	windowPopUp("shoppingcart_blank.asp");
	Pay.submit();
}
function PayPalReturn()
{
	VerifyTransaction();
}
function VerifyTransaction()
{
	document.Verify.submit();
}
function QtyChanged()
{
	sQtyChanged = true;
}
function Re()
{
//	window.setTimeout("window.location.href='http://www.TheHomeSecuritySuperstore.com/'", 1200 * 1000);
}


function GetHTML(url) {
	var req = false;
	if (window.XMLHttpRequest) {
	 try {
	   req = new XMLHttpRequest();
	 } catch (e) {
	   req = false;
	 }
	} else if (window.ActiveXObject) {
	 // For Internet Explorer on Windows
	 try {
	   req = new ActiveXObject("Msxml2.XMLHTTP");
	 } catch (e) {
	   try {
	     req = new ActiveXObject("Microsoft.XMLHTTP");
	   } catch (e) {
	     req = false;
	   }
	 }
	}
	if (req) {
	 // Synchronous request, wait till we have it all
	 req.open('GET', url, false);
	 req.send(null);
	 return req.responseText;
	} else {
	 return false;
	}
}


function isValidCreditCard(type, ccnum) {
   if (type == "VISA") {
      // Visa: length 16, prefix 4, dashes optional.
      var re = /^4\d{3}-?\d{4}-?\d{4}-?\d{4}$/;
   } else if (type == "MC") {
      // Mastercard: length 16, prefix 51-55, dashes optional.
      var re = /^5[1-5]\d{2}-?\d{4}-?\d{4}-?\d{4}$/;
   } else if (type == "DISC") {
      // Discover: length 16, prefix 6011, dashes optional.
      var re = /^6011-?\d{4}-?\d{4}-?\d{4}$/;
   } else if (type == "AMEX") {
      // American Express: length 15, prefix 34 or 37.
      var re = /^3[4,7]\d{13}$/;
   } else if (type == "DINERS") {
      // Diners: length 14, prefix 30, 36, or 38.
      var re = /^3[0,6,8]\d{12}$/;
   }
   if (!re.test(ccnum)) return false;
   // Checksum ("Mod 10")
   // Add even digits in even length strings or odd digits in odd length strings.
   var checksum = 0;
   for (var i=(2-(ccnum.length % 2)); i<=ccnum.length; i+=2) {
      checksum += parseInt(ccnum.charAt(i-1));
   }
   // Analyze odd digits in even length strings or even digits in odd length strings.
   for (var i=(ccnum.length % 2) + 1; i<ccnum.length; i+=2) {
      var digit = parseInt(ccnum.charAt(i-1)) * 2;
      if (digit < 10) { checksum += digit; } else { checksum += (digit-9); }
   }
   if ((checksum % 10) == 0) return true; else return false;
}