var string = ''; var badChars = "%^()+=[]\\\';{}|\":<>?"; var badCharsreg = /\%|\^|\*|\(|\)|\+|\=|\[|\]|\\\|\'|\;|\{|\}|\"|\:|\<|\>|\?/g; var jsmaxlength ='jsmaxlength'; var jsbadcharacters='Characters NOT Allowed :'; var goodChars = ".#*&,/- "; var goodCharsreg = / .#*&,\/-/g; //------------------------- //Validate Member Application function MemberValidate(theForm) { valcheck=true; if (!JSFNvalidTxtfld(theForm.username,'username',1,'Please check the username entered.',badCharsreg)){return false;} if (!JSFNvalidTxtfld(theForm.password,'string',1,'Please check the password entered.',badCharsreg)){return false;} if (theForm.password.value != theForm.password2.value) {alert('Your passwords do not match - Please reenter them.');theForm.password.focus(); return false;} if (fieldexists ("securityanswer")){ var secquestion = theForm.securityquestion.options[theForm.securityquestion.selectedIndex].value; var secquestioncustom = theForm.securityquestioncustom.value; if (secquestion.length ==0 && secquestioncustom.length==0){alert('Please select a security question.');return false;} if (!JSFNvalidTxtfld(theForm.securityanswer,'string',,'Please check your security answer.',badCharsreg)){return false;} } if (!JSFNvalidTxtfld(theForm.emailaddress,'email',,'Please check your Email Address',badCharsreg)){return false;} if (theForm.emailaddress.value != theForm.emailaddress2.value) {alert('your Email Address do not appear to match - Please reenter them.');theForm.emailaddress.focus();return false;} if (!JSFNvalidTxtfld(theForm.firstname,'alpha',,'Please check your first name',badCharsreg)) {return false;} if (!JSFNvalidTxtfld(theForm.lastname,'alpha',,'Please check your last name',badCharsreg)) {return false;} if (!JSFNvalidTxtfld(theForm.companyname,'alpha',,'please check the Company name',badCharsreg)) {return false;} if (!JSFNvalidTxtfld(theForm.phone,'phone',,'Please check the Phone number',badCharsreg)) {return false;} if (!JSFNvalidTxtfld(theForm.address1,'string',,'Please check the Street Address',badCharsreg)) {return false;} if (!JSFNvalidTxtfld(theForm.address2,'string',,'Please enter your City.',badCharsreg)) {return false;} if (!JSFNvalidTxtfld(theForm.state,'alpha',,'Please check the State/Province',badCharsreg)) {return false;} if (!JSFNvalidTxtfld(theForm.zip,'alphanumeric',,'Please check the Zip/ Postal code',badCharsreg)) {return false;} if (!JSFNvalidTxtfld(theForm.country,'alpha',,'Please enter your Country.',badCharsreg)) {return false;} if (!JSFNvalidTxtfld(theForm.siteurl,'website',,'please check the url','')) {return false;} if (!JSFNvalidTxtfld(theForm.category,'string',,'Please select a category.','')) {return false;} if (!JSFNvalidTxtfld(theForm.targetmarket,'string',,'Select the option that best describes your primary target market.','')) {return false;} if (!JSFNvalidTxtfld(theForm.preflangid,'numeric',,'Please select your preferred language.','')) {return false;} if (!JSFNvalidTxtfld(theForm.prefcontact,'string',,'Please select a preferred contact method.','')) {return false;} if (!JSFNvalidTxtfld(theForm.hearaboutus,'string',,'Please select how you heard about us.','')) {return false;} if (!ValidatepaymentOptions(theForm)) return false; if (!validTick(theForm.agree,"agree",'You must agree to the Terms and conditions to Join the Program.')) {return false; } if (fieldexists ("agree2")){if (!validTick(theForm.agree2,"agree2",'You must agree to the Terms and conditions to Join the Program.')) return false;} return true; } var appendmessage = ''; function JSFNvalidTxtfld(formField,fieldtype,fieldstatusid,Message,stripbadchar) { var result = true; if (fieldstatusid == "1"){ fieldstatus=true;} else { fieldstatus=false;} if (isObject(formField)){ switch(formField.type.toLowerCase()) { case 'text': rawstr=formField.value; result = JSfieldtypvalidation(fieldtype,rawstr,formField,fieldstatus ) if (!result){alert(Message + appendmessage);} break; case 'password': rawstr=formField.value; result = JSfieldtypvalidation(fieldtype,rawstr,formField,fieldstatus) if (!result){alert(Message + appendmessage);} break; case 'textarea': rawstr=formField.value; result = JSfieldtypvalidation(fieldtype,rawstr,formField,fieldstatus ) if (!result){alert(Message + appendmessage);} break; case 'checkbox': if (!formField.checked){alert(Message + appendmessage);formField.focus();result = false;} break; case 'select-one': if (formField.selectedIndex==-1){alert(Message + appendmessage);formField.focus();result = false;} break; } } return result; } function JSfieldtypvalidation(fieldtype,fieldvalue,formField,fieldstatus ){ result = true; if (isFunction(badCharsreg) && fieldtype.toLowerCase()!='website'){if (fieldvalue.match(badCharsreg)){alert(jsbadcharacters + ' ' +fieldvalue+ ' ' );str = fieldvalue.replace(badCharsreg,""); formField.value = str;formField.focus();result = false;}} if( result) { switch(fieldtype.toLowerCase()) { case 'username': result = isString(fieldvalue);break; case 'string':result = isString(fieldvalue);break; case 'alpha':result = isAlpha(fieldvalue);break; case 'alphanumeric':result = isAlphaNumeric(fieldvalue);break; case 'numeric': result = JSFNvalidateInteger(fieldvalue);break; case 'phone':result = isPhone(fieldvalue);break; case 'email':result = isEmail(fieldvalue);break; case 'website':result = isWebsite(fieldvalue);break; case 'date':result = isDate(fieldvalue);break; }} if (fieldstatus) { if (result){if (formField.value == ""){result = false;}} } if (!result){ formField.focus();} return result; } function JSFNvalidHTTP(formfield,Message) { result = true; if (JSFNfieldexists(formfield)){ var wholeurl = formfield.value; var urlprefix = wholeurl.substring(0, 7); if (urlprefix.toLowerCase()=="http://") {result = true;} else {if (urlprefix.toLowerCase()=="https://") {result = true;}else {alert(Message);formfield.focus();result = false;};}; } return result; } function validTick (formfield,fieldLabel,Message){ result = true; if (JSFNfieldexists(fieldLabel)){ var result = formfield.checked ; if (!result){alert(Message);} } return result; } function JSFNemailvalidate(formField,alertmessage,stripbadchar) { str = formField.value; var at="@"; var dot="."; var lat=str.indexOf(at); var lstr=str.length; var ldot=str.indexOf(dot); //if (stripbadchar.length>0){ str = str.replace(stripbadchar,""); formField.value = str;} if (str.indexOf(at)==-1){ alert(alertmessage);formField.focus(); return false;} else if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){ alert(alertmessage);formField.focus(); return false;} else if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){alert(alertmessage);formField.focus(); return false;} else if (str.indexOf(at,(lat+1))!=-1){alert(alertmessage);formField.focus(); return false; } else if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){ alert(alertmessage);formField.focus(); return false; } else if (str.indexOf(dot,(lat+2))==-1){alert(alertmessage);formField.focus(); return false;} else if (str.indexOf(" ")!=-1){alert(alertmessage);formField.focus(); return false; } return true; } function JSFNbadcharcheck (iChars, fieldvalue) { for (var i = 0; i < fieldvalue.length; i++) {if (iChars.indexOf(fieldvalue.charAt(i)) != -1) {return true;}} return false; } function JSFNvalidCustomfld(formField,isrequired, maxlength,valuetype,Message,stripbadchar) { var result = true; if (isObject(formField)){ switch(formField.type.toLowerCase()) { case 'text': if (!isrequired && formField.value == ""){return true;} rawstr=formField.value; if (valuetype=='number'){if(!JSFNvalidateInteger(rawstr)){alert(Message);formField.focus();result = false;}} if (rawstr.length > maxlength ){alert( jsmaxlength + ' ' + maxlength + '. ' + Message);formField.focus();result = false;} if (isFunction(stripbadchar)){if (rawstr.match(stripbadchar)){alert(badChars + ' ' + jsbadcharacters + ' ' + Message);str = rawstr.replace(stripbadchar,""); formField.value = str;formField.focus();result = false;}} if (isrequired==true){ if (result){if (formField.value == ""){alert(Message);formField.focus();result = false;}} } break; case 'textarea': if (!isrequired && formField.value == ""){return true;} rawstr=formField.value; if (valuetype=='number'){if(!JSFNvalidateInteger(rawstr)){alert(Message);formField.focus();result = false;}} if (rawstr.length > maxlength ){alert( jsmaxlength + ' ' + maxlength + '. ' + Message);formField.focus();result = false;} if (isFunction(stripbadchar)){if (rawstr.match(stripbadchar)){alert(badChars + ' ' + jsbadcharacters + ' ' + Message);str = rawstr.replace(stripbadchar,""); formField.value = str;formField.focus();result = false;}} if (isrequired==true){if (result){if (formField.value == ""){alert(Message);formField.focus();result = false;}} } break; case 'checkbox': if (!isrequired){return true;} if (!formField.checked){alert(Message);formField.focus();result = false;} break; case 'select-one': if (!isrequired){return true;} if (formField.selectedIndex==-1){alert(Message);formField.focus();result = false;} break; } } return result; } function JSFNvalidateInteger( strValue ) { var objRegExp = /(^-?\d\d*$)/; return objRegExp.test(strValue);} function isset(varname){ return(typeof(varname)!='undefined');} function isFunction(o) {return 'function' == typeof o;} function isObject(o) {return 'object' == typeof o;} function JSFNfieldexists (fieldname) { var result = false; if (document.layers){fieldcheck = document.layers[fieldname];} else if (document.getElementById){fieldcheck = document.getElementById(fieldname);} else if (document.all){ fieldcheck = document.all[fieldname];} if (fieldcheck!=null){ result = true;} return result; } function isString(strValue) { if ((strValue == "" ) || (strValue.match(/^[a-zA-Z0-9 .#*&,\/-]+$/))){return true;}else{appendmessage = " (Allowed : a-zA-Z0-9 .#*&,\/-)";return false;} } function isAlphaNumeric(strValue) { if ((strValue == "" ) || (strValue.match(/^[ .a-zA-Z0-9-]+$/))){return true;}else{ appendmessage = " (Allowed : a-zA-Z0-9)";return false;} } function isAlpha(strValue) { if ((strValue == "" ) || (strValue.match(/^[ a-zA-Z]+$/))){return true;}else{ appendmessage = " (Allowed : a-z)"; return false;} } function isPhone(strValue){ if ((strValue == "" ) || (strValue.match(/^[ .+()0-9-]+$/))){return true;}else{ return false;} } function isWebsite (strValue) { //result = true; //var wholeurl = strValue;var urlprefix = wholeurl.substring(0, 7); //if (urlprefix.toLowerCase()=="http://") {result = true;} //else {if (urlprefix.toLowerCase()=="https:/") {result = true;}else {result = false;};}; //return result; if ((strValue == "" ) || (strValue.match(/^((https?|ftp):\/\/)?([\w\d-~]+|([\w\d-~]+\.))\.[a-z]{2,6}\/?([^\s<>\#%"\,\{\}\\|\\\^\[\]`]+)?$/i))){return true;}else{ return false;} } function isEmail(strValue) { str = strValue; var at="@"; var dot="."; var lat=str.indexOf(at); var lstr=str.length; var ldot=str.indexOf(dot); if (str.indexOf(at)==-1){ return false;} else if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){return false;} else if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){return false;} else if (str.indexOf(at,(lat+1))!=-1){return false; } else if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){ return false; } else if (str.indexOf(dot,(lat+2))==-1){return false;} else if (str.indexOf(" ")!=-1){return false; } return true; } function isDate(datestring) { // assumes a date string in the format of yyyy/mm/dd var datearr = datestring.split('/'); if (datearr.length==3){ var datecheck1 = Date.parse(getmonthname(datearr[1]) + " " + datearr[2] + " " + datearr[0]); var firstdate = Date.parse("january 1 1900"); var datecheck2 = new Date(datearr[0],(datearr[1]-1),datearr[2]); if (datecheck2==='Invalid Date'|| isNaN(datecheck1) ){ alert(getmonthname(datearr[1]) + " " + datearr[2] + " " + datearr[0]);return false;} if (datecheck1 < firstdate){ return false;} if ( (datecheck2.getDate() != datearr[2]) || (datecheck2.getMonth() != (datearr[1]-1)) || (datecheck2.getYear() === datearr[0]) ){return false;} else {return true;} }else{return false;} } function getmonthname(monthint) { monthint = parseInt(monthint); switch (monthint) { case 1 : return "january";break; case 2 :return "february";break; case 3 :return "march";break; case 4 :return "april";break; case 5 :return "may";break; case 6 :return "june";break; case 7 :return "july";break; case 8 :return "august";break; case 9 :return "september";break; case 10 :return "october";break; case 11 :return "november";break; case 12 :return "december";break; } return ""; } // ------------------------------------------------------------------