function isFilled(a){return(a.length)}function isNumber(a){pattern=/(^\d+$)/;return pattern.test(a)}function isDecimal(a){pattern=/(^\d+\.?\d{0,}$)|(^\.\d{1,}$)/;return pattern.test(a)}function isFullName(a){pattern=/^([a-zA-Z,\.']+)(\s[a-zA-Z,\.']+)+$/;return pattern.test(a)}function isEmail(a){pattern=/^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9-])+(\.[a-zA-Z0-9_-]+)+$/;return pattern.test(a)}function isURL(a){pattern=/^https?:\/\/([^.]{2,})(\.[^.]{2,})*$/;return pattern.test(a)}function isZip(a){pattern=/(^\d{5}$)|(^\d{5}-\d{4}$)/;return pattern.test(a)}function isPostal(a){pattern=/^[A-Za-z0-9 \-]{2,9}$/;return pattern.test(a)}function isPhone(a){a=a.replace(/([\(\)\-\.# ])/g,"");pattern=/(^\d{10,15}$)|(^\d{10,15}[a-zA-Z]+\d+$)/;return pattern.test(a)}function isPrice(a){pattern=/(^\d{1,}$)|(^\d{1,}\.\d{2}$)/;return pattern.test(a)}function isCardNumber(a){a=a.replace(/([\- ])/g,"");pattern=/(^\d{16}$)/;return pattern.test(a)}function isCardCurrent(b,a){var c=new Date();year=String(c.getFullYear());if(a<100){year=year.slice(2)}month=c.getMonth()+1;if(a<year||(a==year&&b<month)){return(false)}return(true)}function isSecurityNumber(a,b){first_num=(a.length>0)?a.charAt(0):"";if(first_num=="3"){pattern=/(^\d{4}$)/;return pattern.test(b)}else{pattern=/(^\d{3}$)/;return pattern.test(b)}}function validate_fields(passForm,reqArr){var msg="";var field;var field_name;var req;var func;var val;var ret;for(var i=0;i<reqArr.length&&reqArr[i]!="EOL";i++){field_arr=reqArr[i].split(", ");field=field_arr[1];field_name=field_arr[2];val=passForm.elements[field].value;req=(field_arr[0]=="req")?true:false;func=(field_arr.length>3)?field_arr[3]:"";len=val.length;if(req==true&&len==0){msg+=" - the "+field_name+" field is empty.\n"}if(len>0&&func!=""){ret=eval(func)(val);if(func=="isNumber"&&!ret){msg+=" - the "+field_name+" is invalid. Please enter a numeric value.\n"}if(func=="isDecimal"&&!ret){msg+=" - the "+field_name+" is invalid. Please enter a numeric value with an optional decimal point.\n"}if(func=="isFullName"&&!ret){msg+=" - the "+field_name+" is invalid. Please enter your first and last name.\n"}if(func=="isPhone"&&!ret){msg+=" - the "+field_name+" is invalid. Please enter the "+field_name.toLowerCase()+" including the area code.\n"}if(func=="isEmail"&&!ret){msg+=" - the "+field_name+" is invalid. Please enter your email address in the form: name@host.com.\n"}if(func=="isZip"&&!ret){msg+=" - the "+field_name+" is invalid. Please enter a zip code in the form: XXXXX or XXXXX-XXXX.\n"}if(func=="isPostal"&&!ret){msg+=" - the "+field_name+" is invalid. Please enter a post code using only letters, numbers, space or '-'.\n"}if(func=="isURL"&&!ret){msg+=" - the "+field_name+" is invalid. Please enter a URL in the form: http://www.yoursite.com.\n"}if(func=="isCardNumber"&&!ret){msg+=" - the "+field_name+" is invalid. Please enter your 16 digit card number.\n"}}}return(msg)}function validate_message(a){var b;if(a){b="\nThe form cannot be submitted because:\n\n";b+=a;b+="\nPlease correct the error(s) and resubmit.";alert(b)}}function validate(c,b){var a;a=validate_fields(c,b);if(a){validate_message(a);return(false)}return(true)}function isSafeFile(d,f){var a=d.files;var b=0;var e="\nOne or more file(s) cannot be attached because they exceed the server limit of "+f+"mb:\n\n";for(var c=0;c<a.length;c++){size=Math.ceil(a[c].size/1024/1024);if(size>=f){b++;e+=" - File: '"+a[c].name+"', Size: "+size+"mb.\n"}}if(b){e+="\nPlease select a smaller file.";alert(e);return false}return true}function validateFiles(d){totalSize=0;msg="\nThe form cannot be submitted because the size of all attached files exceeds the server limit of "+d+"mb:\n\n";var c=document.getElementsByClassName("fileUpload");for(var b=0;b<c.length;b++){file_arr=c[b].files;for(var a=0;a<file_arr.length;a++){size=(file_arr[a].size/1024/1024);totalSize+=size;msg+="- File: '"+file_arr[a].name+"', Size: "+Math.ceil(size)+"mb.\n"}}if(totalSize<d){return true}totalSize=Math.ceil(totalSize);msg+="\nPlease choose smaller files.";alert(msg);return false};