// CHECKBOX CHECK/UNCHECK ALL FUNCTIONS function checkAll(controllingField, formName, targetField) { if (controllingField.checked == true) { for (i = 1; i < document.forms[formName].length; i++){ if (document.forms[formName].elements[i].name == targetField){ document.forms[formName].elements[i].checked = true; } } }else{ for (i = 1; i < document.forms[formName].length; i++){ if (document.forms[formName].elements[i].name == targetField){ document.forms[formName].elements[i].checked = false; } } } } function uncheckCheckAll(controllingField, formName, targetField) { if (controllingField.checked == false) { document.forms[formName].elements[targetField].checked = false; } } function expired( month, year ) { var now = new Date(); // this function is designed to be Y2K compliant. var expiresIn = new Date(year,month,0,0,0); // create an expired on date object with valid thru expiration date expiresIn.setMonth(expiresIn.getMonth()+1); // adjust the month, to first day, hour, minute & second of expired month if( now.getTime() < expiresIn.getTime() ) return false; return true; // then we get the miliseconds, and do a long integer comparison } function mod10( cardNumber ) { // LUHN Formula for validation of credit card numbers. var ar = new Array( cardNumber.length ); var i = 0,sum = 0; for( i = 0; i < cardNumber.length; ++i ) { ar[i] = parseInt(cardNumber.charAt(i)); } for( i = ar.length -2; i >= 0; i-=2 ) { // you have to start from the right, and work back. ar[i] *= 2; // every second digit starting with the right most (check digit) if( ar[i] > 9 ) ar[i]-=9; // will be doubled, and summed with the skipped digits. } // if the double digit is > 9, ADD those individual digits together for( i = 0; i < ar.length; ++i ) { sum += ar[i]; // if the sum is divisible by 10 mod10 succeeds } return (((sum%10)==0)?true:false); } function validateCard(cardNumber,CreditCardType) { if( cardNumber.length == 0 ) { //most of these checks are self explanatory alert("Please enter a valid card number."); return false; } for( var i = 0; i < cardNumber.length; ++i ) { // make sure the number is all digits.. (by design) var c = cardNumber.charAt(i); if( c < '0' || c > '9' ) { alert("Please enter a valid card number. Use only digits. do not use spaces or hyphens."); return false; } } var length = cardNumber.length; //perform card specific length and prefix tests if(CreditCardType=="American Express"){ if( length != 15 ) { alert("Please enter a valid American Express Card number."); return; } var prefix = parseInt( cardNumber.substring(0,2)); if( prefix != 34 && prefix != 37 ) { alert("Please enter a valid American Express Card number."); return; } } else if(CreditCardType=="Discover"){ if( length != 16 ) { alert("Please enter a valid Discover Card number."); return; } var prefix = parseInt( cardNumber.substring(0,4)); if( prefix != 6011 ) { alert("Please enter a valid Discover Card number."); return; } } else if(CreditCardType=="MasterCard"){ if( length != 16 ) { alert("Please enter a valid MasterCard number."); return; } var prefix = parseInt( cardNumber.substring(0,2)); if( prefix < 51 || prefix > 55) { alert("Please enter a valid MasterCard Card number."); return; } } else if(CreditCardType=="Visa"){ if( length != 16 && length != 13 ) { alert("Please enter a valid Visa Card number."); return; } var prefix = parseInt( cardNumber.substring(0,1)); if( prefix != 4 ) { alert("Please enter a valid Visa Card number."); return; } } if( !mod10( cardNumber ) ) { // run the check digit algorithm alert("Sorry! this is not a valid credit card number."); return false; } //Check that the Date choosen is not the Past Date if(expired(document.forms[0].ccMonth.selectedIndex,document.forms[0].ccYear.value)){ alert("You have entered an Expired Date for the Card"); return false ; } else { return true; } return true; // at this point card has not been proven to be valid } function checkPaymentInfo(){ if(validateCard(document.forms[0].ccNumber.value, document.forms[0].ccType.value)) { return true; }else{ document.forms[0].ccNumber.focus(); return false; } return true; } function IsNumeric(sText){ var ValidChars = "0123456789"; var IsNumber=true; var Char; for (i = 0; i < sText.length && IsNumber == true; i++){ Char = sText.charAt(i); if (ValidChars.indexOf(Char) == -1){ IsNumber = false; } } return IsNumber; } function validateCSVNumber(){ var value = document.forms[0].ccCVN.value; var ValidChars = "0123456789"; var IsNumber=true; var Char; for (i = 0; i < value.length && IsNumber == true; i++){ Char = value.charAt(i); if (ValidChars.indexOf(Char) == -1){ IsNumber = false; } } return IsNumber; } function submitRefund(actionURL) { if(document.getElementById("refundbuttondiv")!=null){ document.getElementById("refundbuttondiv").innerHTML="
Please Wait processing.....
"; } window.document.forms[0].action = actionURL; window.document.forms[0].submit(); } function cancelValidation(actionURL){ window.document.forms[0].action = actionURL; window.document.forms[0].submit(); } function addressValidation(newStreet){ window.document.getElementById("ship-address-street").value=newStreet; if(newStreet.indexOf(" ... ")>=0){ alert("The address selected has a suggested premises range. \r\n Please review and edit the suite, apartment or building number before clicking the update."); } } function addressMultipleValidation(newStreet,newCity,newZip){ window.document.getElementById("ship-address-street").value=newStreet; window.document.getElementById("ship-address-city").value=newCity; window.document.getElementById("ship-address-zip").value=newZip; } // END CHECKBOX CHECK/UNCHECK ALL FUNCTIONS