home *** CD-ROM | disk | FTP | other *** search
- <!-- to hide script contents from old browsers
-
-
-
- function go(msg)
- {
- if (parent.parent.globals.document.vars.editMode.value == "yes")
- return true;
- else
- return(checkData());
- }
-
-
-
- function generateCards()
- {
- var theFile = parent.parent.globals.getAcctSetupFilename(self);
- var theCards = parent.parent.globals.GetNameValuePair(theFile,"New Acct Mode","CardTypes");
- if (theCards == null || theCards == "") {
- theCards = "AX,DC,MC,VI";
- }
-
- if (theCards.indexOf("AX")>=0) {
- document.writeln("<OPTION VALUE='American Express'>American Express");
- }
- if (theCards.indexOf("DC")>=0) {
- document.writeln("<OPTION VALUE='Discover Card'>Discover Card");
- }
- if (theCards.indexOf("MC")>=0) {
- document.writeln("<OPTION VALUE='MasterCard'>MasterCard");
- }
- if (theCards.indexOf("VI")>=0) {
- document.writeln("<OPTION VALUE='VISA'>VISA");
- }
- }
-
-
-
- function loadData()
- {
- // make sure all data objects/element exists and valid; otherwise, reload. SUCKS!
- if (((document.forms[0].cardname == "undefined") || (document.forms[0].cardname == "[object InputArray]")) ||
- ((document.forms[0].cards == "undefined") || (document.forms[0].cards == "[object InputArray]")) ||
- ((document.forms[0].cardnumber == "undefined") || (document.forms[0].cardnumber == "[object InputArray]")) ||
- ((document.forms[0].month == "undefined") || (document.forms[0].month == "[object InputArray]")) ||
- ((document.forms[0].year == "undefined") || (document.forms[0].year == "[object InputArray]")))
- {
- parent.controls.reloadDocument();
- return;
- }
-
- document.forms[0].cardname.value = parent.parent.globals.document.vars.cardname.value;
- if (document.forms[0].cardname.value == "") {
- document.forms[0].cardname.value = parent.parent.globals.document.vars.first.value + " " + parent.parent.globals.document.vars.last.value;
- }
- for (var i = 0; i<document.forms[0].cards.length; i++) {
- if (parent.parent.globals.document.vars.cardtype.value == document.forms[0].cards[i].value) {
- document.forms[0].cards.selectedIndex = i;
- break;
- }
- }
- document.forms[0].cardnumber.value = parent.parent.globals.document.vars.cardnumber.value;
-
- var month = parent.parent.globals.document.vars.month.value;
- if (month == "") month = 0;
- document.forms[0].month.selectedIndex = month;
-
- var found = false;
- var year = parent.parent.globals.document.vars.year.value;
- // if (year == "") year = document.forms[0].year[0].value;
- for (var i = 0; i<document.forms[0].year.length; i++) {
- if (year == document.forms[0].year[i].value) {
- document.forms[0].year.selectedIndex = i;
- found = true;
- break;
- }
- }
- if (found == false) {
- document.forms[0].year.selectedIndex = 0;
- }
- parent.parent.globals.setFocus(document.forms[0].cardname);
- if (parent.controls.generateControls) parent.controls.generateControls();
- }
-
-
-
- function saveData()
- {
- // make sure all form element are valid objects, otherwise just skip & return!
- if (((document.forms[0].cardname == "undefined") || (document.forms[0].cardname == "[object InputArray]")) ||
- ((document.forms[0].cards == "undefined") || (document.forms[0].cards == "[object InputArray]")) ||
- ((document.forms[0].cardnumber == "undefined") || (document.forms[0].cardnumber == "[object InputArray]")) ||
- ((document.forms[0].month == "undefined") || (document.forms[0].month == "[object InputArray]")) ||
- ((document.forms[0].year == "undefined") || (document.forms[0].year == "[object InputArray]")))
- {
- parent.controls.reloadDocument();
- return;
- }
-
- parent.parent.globals.document.vars.cardname.value = document.forms[0].cardname.value;
- if (document.forms[0].cards.length>0 && document.forms[0].cards.selectedIndex >=0) {
- parent.parent.globals.document.vars.cardtype.value = document.forms[0].cards[document.forms[0].cards.selectedIndex].value;
- }
- else {
- parent.parent.globals.document.vars.cardtype.value="";
- }
- parent.parent.globals.document.vars.cardnumber.value = document.forms[0].cardnumber.value;
- parent.parent.globals.document.vars.month.value = document.forms[0].month.selectedIndex;
- parent.parent.globals.document.vars.year.value = document.forms[0].year[document.forms[0].year.selectedIndex].value;
- }
-
-
-
- function checkData()
- {
- if (document.forms[0].cardname.value == "") {
- alert("You must enter a cardholder name.");
- document.forms[0].cardname.focus();
- document.forms[0].cardname.select();
- return false;
- }
- if (document.forms[0].cardnumber.value == "") {
- alert("You must enter a credit card number.");
- document.forms[0].cardnumber.focus();
- document.forms[0].cardnumber.select();
- return false;
- }
-
- // check cardnumber validity here
-
- var cardNumber=document.forms[0].cardnumber.value;
- for (var i=0; i<cardNumber.length; i++) {
- if ("1234567890 -".indexOf(cardNumber.substring(i,i+1)) == -1) {
- alert("'" + cardNumber + "' is not a valid card number.");
- document.forms[0].cardnumber.focus();
- document.forms[0].cardnumber.select();
- return(false);
- }
- }
-
- // do cardnumber check-digit validity here
-
- var length=cardNumber.length;
- var checkDigit=cardNumber.substring(length-1,length);
- var tempCardNumber="";
- for (var i=0; i<cardNumber.length; i++) {
- if ("1234567890".indexOf(cardNumber.substring(i,i+1))>=0) {
- tempCardNumber+=cardNumber.substring(i,i+1);
- }
- }
- var length=tempCardNumber.length;
- var checkSum=0;
- for (var i=0; i<length-1; i++) {
- var digit=tempCardNumber.substring(length-i-2,length-i-1);
- var temp=digit * (1+((i+1)%2));
- if (temp<10) checkSum=checkSum+temp;
- else checkSum=checkSum+(temp-9);
- }
- checkSum=(10-(checkSum%10))%10;
- if (checkSum != checkDigit) {
- alert("'" + cardNumber + "' is not a valid card number.");
- document.forms[0].cardnumber.focus();
- document.forms[0].cardnumber.select();
- return(false);
- }
-
- // do cardtype check
-
- var cardType="";
-
- if (cardNumber.substring(0,1)=="3" && cardNumber.substring(1,2)=="7") {
- cardType="American Express";
- cardCode="AX";
- }
- /*
- else if (cardNumber.substring(0,1)=="5" && cardNumber.substring(1,2)=="6") {
- cardType="BankCard";
- cardCode="BC";
- }
- */
-
- /*
- else if (cardNumber.substring(0,1)=="3") {
- cardType="Diner's Club";
- cardCode="DI";
- }
- */
- else if (cardNumber.substring(0,1)=="5") {
- cardType="MasterCard";
- cardCode="MC";
- }
- else if (cardNumber.substring(0,1)=="4") {
- cardType="VISA";
- cardCode="VI";
- }
- else if (cardNumber.substring(0,1)=="6") {
- cardType="Discover Card";
- cardCode="DC";
- }
- // else cardType="unknown";
-
- parent.parent.globals.document.vars.cardcode.value = cardCode;
-
- if (document.forms[0].cards.length>0) {
- if (cardType != document.forms[0].cards[document.forms[0].cards.selectedIndex].value) {
- var found=false;
- var currentSelection = document.forms[0].cards.selectedIndex;
- if (cardType!="") {
- if (!confirm(cardNumber + " is a " + cardType + ". Correct?")) {
- document.forms[0].cardnumber.focus();
- document.forms[0].cardnumber.select();
- return(false);
- }
- for (var i = 0; i < document.forms[0].cards.length; i++) {
- if (document.forms[0].cards[i].value==cardType) {
- document.forms[0].cards[i].selected=true;
- parent.parent.globals.document.vars.cardtype.value=cardType;
- found=true;
- }
- else {
- document.forms[0].cards[i].selected=false;
- }
- }
- if (found == false && currentSelection>=0) {
- document.forms[0].cards[currentSelection].selected=true;
- }
- }
-
- if (found==false) {
-
- // is the card accepted?
-
- var theFile = parent.parent.globals.getAcctSetupFilename(self);
- var theCards = parent.parent.globals.GetNameValuePair(theFile,"New Acct Mode","CardTypes");
- if (theCards == null || theCards == "") {
- theCards = "AX,DC,MC,VI";
- }
-
- if (theCards.indexOf(cardCode)<0) {
- alert(cardType + " is not accepted for payment.");
- }
- else {
- alert("'" + cardNumber + "' is not a valid card number.");
- }
- document.forms[0].cardnumber.focus();
- document.forms[0].cardnumber.select();
- return(false);
- }
- }
-
- // check credit card lengths
-
- var length=tempCardNumber.length;
- var validLength = false;
- if (cardCode != "") {
- if (cardCode == "AX") {
- if (length == 16) validLength=true;
- }
- else if (cardCode == "MC") {
- if (length == 16) validLength=true;
- }
- else if (cardCode == "VI") {
- if (length == 13 || length == 16) validLength=true;
- }
- else if (cardCode == "DC") {
- if (length == 16) validLength=true;
- }
- }
- if (validLength == false) {
- alert("'" + cardNumber + "' is not a valid card number. (Invalid length)");
- document.forms[0].cardnumber.focus();
- document.forms[0].cardnumber.select();
- return(false);
- }
- }
-
- // check month and year
-
- var today = new Date();
- var theMonth = today.getMonth();
-
- // Fix #97353
- // the year is special, the Date.getYear method returns:
- // 00-99 for years in the 1900s
- // 20xx for years in the 2000s
- var theYear = today.getYear();
-
- // Only adjust if the date returned is less than 3 digits
- if (theYear < 100)
- theYear += 1900;
-
- var expiredFlag = false;
- if (theYear > document.forms[0].year[document.forms[0].year.selectedIndex].value) {
- expiredFlag = true;
- }
- else if (theYear == document.forms[0].year[document.forms[0].year.selectedIndex].value) {
- if (theMonth > document.forms[0].month.selectedIndex) {
- expiredFlag = true;
- }
- }
- if (expiredFlag) {
- alert("'" + cardNumber + "' appears to have expired.");
- return(false);
- }
-
- return true;
- }
-
-
-
- // end hiding contents from old browsers -->
-