﻿ function confirm_delete()
 {
   if (confirm("The Financial Planning Toolkit cannot be edited, only removed. \nDo you wish to remove this item from your cart?")==true)
     return true;
   else
     return false;
 }


function openWin(theUrl, width, height, name) {
    theWin = window.open(theUrl, name, 'width=' + width + ',height=' + height + 'toolbar=0,locationbar=0,resizable=0,scrollbars=1,top=0,left=0');
    myTimer = setTimeout("theWin.focus()", 1000)
}

function openFullWindow(theUrl,name){
    theWin = window.open(theUrl, name);
    myTimer = setTimeout("theWin.focus()", 1000)

}
function rWin(url){window.location=url;}

function sendToCategory(storeKitID, objID) { document.location.href = "ShopFront.aspx?storeKitID=" + storeKitID + "&storeNavigationID=" + document.getElementById(objID).value; }
function sendToItem(objID) { document.location.href = "ProductPage.aspx?storeItemID=" + document.getElementById(objID).value; }

     function validateEmail2(email) {
         //var emailFilter = /^.+@.+\..{2,3,4,6}$/;
         var emailFilter = /^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-]+)+$/;
         var bReturn = true;
         if (!(emailFilter.test(email))) {
             bReturn = false;
         }
         
         var illegalChars = /[\(\)\<\>\,\;\:\\\/\"\[\]]/;
         if (email.match(illegalChars)) {
             bReturn = false;
         }
         return bReturn;              
     }

    function validateCCdate2(CCmonth,CCyear){
                     var ccDate = new Date(CCmonth + "-01-20" + CCyear);
                     var ccDateCur = new Date
                     var ccDateCur = new Date(ccDateCur.getMonth() + "-01-" + ccDateCur.getFullYear());
                     if (ccDate >= ccDateCur) {
                        return true;
                     }else{
                        return false;
                     }     
    }
    
    function validateZip2(zip){
                     var bReturn = false;
                         if (zip.match(/^\d{5}(-\d{4})?$/)) {
                             bReturn= true;
                         }
                         zip = zip.toUpperCase();
                         if (zip.match(/^[A-Z][0-9][A-Z][0-9][A-Z][0-9]$/)) {
                             bReturn =true;
                         }
                         if (zip.match(/^[A-Z][0-9][A-Z].[0-9][A-Z][0-9]$/)) {
                             bReturn = true;
                         }   
                         return bReturn; 
    }
    
	function validateform(CCNumber){
		var returnValue
		returnValue=true

		//check credit card
		returnValue = Mod10(CCNumber);
		if (returnValue == false){return false;}
		return returnValue
	}

	<!-- credit card validation -->
		/* This script and many more are available free online at
		The JavaScript Source!! http://javascript.internet.com
		Created by: David Leppek :: https://www.azcode.com/Mod10

		Basically, the alorithum takes each digit, from right to left and muliplies each second
		digit by two. If the multiple is two-digits long (i.e.: 6 * 2 = 12) the two digits of
		the multiple are then added together for a new number (1 + 2 = 3). You then add up the
		string of numbers, both unaltered and new values and get a total sum. This sum is then
		divided by 10 and the remainder should be zero if it is a valid credit card. Hense the
		name Mod 10 or Modulus 10. */

		function Mod10(ccNumb) {  // v2.0
		var valid = "0123456789"  // Valid digits in a credit card number
		var len = ccNumb.length;  // The length of the submitted cc number
		var iCCN = parseInt(ccNumb);  // integer of ccNumb
		var sCCN = ccNumb.toString();  // string of ccNumb
		sCCN = sCCN.replace (/^\s+|\s+$/g,'');  // strip spaces
		var iTotal = 0;  // integer total set at zero
		var bNum = true;  // by default assume it is a number
		var bResult = false;  // by default assume it is NOT a valid cc
		var temp;  // temp variable for parsing string
		var calc;  // used for calculation of each digit

		// Determine if the ccNumb is in fact all numbers
		for (var j=0; j<len; j++) {
		  temp = "" + sCCN.substring(j, j+1);
		  if (valid.indexOf(temp) == "-1"){bNum = false;}
		}

		// if it is NOT a number, you can either alert to the fact, or just pass a failure
		if(!bNum){
		  /*alert("Not a Number");*/bResult = false;
		}

		// Determine if it is the proper length
		if((len == 0)&&(bResult)){  // nothing, field is blank AND passed above # check
		  bResult = false;
		} else{  // ccNumb is a number and the proper length - let's see if it is a valid card number
		  if(len >= 15){  // 15 or 16 for Amex or V/MC
			for(var i=len;i>0;i--){  // LOOP throught the digits of the card
			  calc = parseInt(iCCN) % 10;  // right most digit
			  calc = parseInt(calc);  // assure it is an integer
			  iTotal += calc;  // running total of the card number as we loop - Do Nothing to first digit
			  i--;  // decrement the count - move to the next digit in the card
			  iCCN = iCCN / 10;                               // subtracts right most digit from ccNumb
			  calc = parseInt(iCCN) % 10 ;    // NEXT right most digit
			  calc = calc *2;                                 // multiply the digit by two
			  // Instead of some screwy method of converting 16 to a string and then parsing 1 and 6 and then adding them to make 7,
			  // I use a simple switch statement to change the value of calc2 to 7 if 16 is the multiple.
			  switch(calc){
				case 10: calc = 1; break;       //5*2=10 & 1+0 = 1
				case 12: calc = 3; break;       //6*2=12 & 1+2 = 3
				case 14: calc = 5; break;       //7*2=14 & 1+4 = 5
				case 16: calc = 7; break;       //8*2=16 & 1+6 = 7
				case 18: calc = 9; break;       //9*2=18 & 1+8 = 9
				default: calc = calc;           //4*2= 8 &   8 = 8  -same for all lower numbers
			  }
			iCCN = iCCN / 10;  // subtracts right most digit from ccNum
			iTotal += calc;  // running total of the card number as we loop
		  }  // END OF LOOP
		  if ((iTotal%10)==0){  // check to see if the sum Mod 10 is zero
			bResult = true;  // This IS (or could be) a valid credit card number.
		  } else {
			bResult = false;  // This could NOT be a valid credit card number
			}
		  }
		}
		// change alert to on-page display or other indication as needed.
		//if(bResult) {
		//  alert("This IS a valid Credit Card Number. \n Saving to account.");
		//}
		//if(!bResult){
		  //alert("This is NOT a valid Credit Card Number!");
		 // bResult = window.confirm("This is NOT a valid Credit Card Number \n\n" + ccNumb.toString() + "\n\n Do you want to save it anyway?");
		//}
		  return bResult; // Return the results
		}