// Validations.js v 3.4 - Compressed
var RequiredTextStyle="color:red;padding-left:5px;font-family:arial;vertical-align:top;font-size:12px;";function _$(){var elements=new Array();for(var i=0;i<arguments.length;i++){var element=arguments[i];if(typeof element=='string')element=document.getElementById(element);if(arguments.length==1)return element;elements.push(element)}return elements}function filter(id,type){switch(type){case"string":var field=_$(id);var newVal=field.value.replace(/\d/g,"");field.value=newVal;break;case"number":var field=_$(id);var newVal=field.value.replace(/[a-zA-Z!@#$%^&*\s?"'._~`:;<=>{}()|+-]/g,"");field.value=newVal;break;case"money":var field=_$(id);var newVal=field.value.replace(/[a-zA-Z!@#$%^&*\s?"'_~`:;<=>{}()|+-,]/g,"");field.value=newVal;break;case"special":var field=_$(id);var newVal=field.value.replace(/[!@#$%^&*\s?'._~`:;<=>{}()|+]/g,"");field.value=newVal;break}};function validate(params){this.Trim=function(s){return s.toString().replace(/^\s*/,'')};this.eraseAllReqSpanTags=function(){var span=document.getElementsByTagName("span");var re_elmName=new RegExp("_req");for(var i=0;i<span.length;i++){spID=span[i].getAttribute("id");if(re_elmName.test(spID))span[i].innerHTML=""}};if(!params.type)params.type="";if(!params.required)params.required="yes";if(!params.alerts)params.alerts=null;if(!params.minlength)params.minlength=null;var inputElements=document.getElementsByTagName("input");for(i=0;inputElements[i];i++){inputElements[i].setAttribute("autocomplete","off")}if(params.type.toLowerCase()=="radio"||params.type.toLowerCase()=="checkbox"){if(!params.name){alert("ERROR: You must specify a Field name in your calling function. Please check your code.");return false}var fieldname=document.getElementsByName(params.name);if(!fieldname){alert("ERROR: An input field with the Name= "+params.name+" does not exist. Please make sure that all input fields are labeled with the correct name. Please check your code.");return false}var FieldId=fieldname[0]}else{if(!params.id&&!params.name){alert("ERROR: You must specify a Field ID in your calling function. Please check your code.");return false}if(params.id){var FieldId=_$(params.id)}else if(params.name){var FieldId=document.getElementsByName(params.name)[0]}if(!FieldId){alert("ERROR: An input field with the ID= "+params.id+" does not exist. Please make sure that all input fields are labeled with the correct ID and that it matches the field Name. Please check your code.");return false}}var FieldVal=this.Trim(FieldId.value);if(params.type&&params.type.toLowerCase()=='fckeditor'){FieldId=_$(params.id+'___Frame');if(!FieldId){alert("ERROR: An FCKEditor Field could not be found on this page. Please check your code.");return false}oEditor=FCKeditorAPI.GetInstance(params.id);FieldVal=oEditor.GetXHTML(oEditor.FormatOutput)}if(!params.alerts){var newSpan=_$(params.id+"_req");if(newSpan==null){newSpan=document.createElement("span");newSpan.setAttribute('id',params.id+'_req');newSpan.style.cssText=RequiredTextStyle;newSpan.setAttribute('style',RequiredTextStyle)};var parent=FieldId.parentNode;parent.insertBefore(newSpan,FieldId.nextSibling);this.eraseAllReqSpanTags()}else{var required_message=params.alerts}if(!FieldVal.length&&params.required!="no"){if(!params.alerts){newSpan.innerHTML="Required"}else{alert(required_message)}if(params.type.toLowerCase()!="hidden"){FieldId.focus()}return false}else if(FieldVal.length){if(params.minlength&&FieldVal.length<params.minlength){if(!params.alerts){newSpan.innerHTML="Must Have Atleast "+params.minlength+" Characters"}else{alert(params.id+" Must Have Atleast "+params.minlength+" Characters")}FieldId.focus();return false};switch(params.type.toLowerCase()){case"checkbox":case"radio":var checked=-1;for(i=0;i<fieldname.length;i++){if(fieldname[i].checked)checked=i};if(checked==-1){if(!params.alerts){newSpan.innerHTML="Required"}else{alert(required_message)}FieldId.focus();return false}else{if(!params.alerts){newSpan.innerHTML=""}return true};break;case"email":if(!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,5})+$/.test(FieldVal))){if(!params.alerts){newSpan.innerHTML="Enter Valid E-mail"}else{alert("Please Enter a Valid E-mail.")}FieldId.focus();return false}else{if(!params.alerts){newSpan.innerHTML=""}return true};break;case"date":if(!(/^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/.test(FieldVal))){if(!params.alerts){newSpan.innerHTML="Enter Date Format: [ mm/dd/yyyy ]"}else{alert("Please Enter Date Format: [ mm/dd/yyyy ].")}FieldId.focus();return false}else{if(!params.alerts){newSpan.innerHTML=""}return true};break;case"zipcode":var USZip=/(^\d{5}$)|(^\d{5}-\d{4}$)/;var CAZip=/^((\d{5}-\d{4})|(\d{5})|([AaBbCcEeGgHhJjKkLlMmNnPpRrSsTtVvXxYy]\d[A-Za-z]\s?\d[A-Za-z]\d))$/;if(!(USZip.test(FieldVal))&&!(CAZip.test(FieldVal))){if(!params.alerts){newSpan.innerHTML="Enter Valid Zipcode"}else{alert("Please Enter a Valid Zipcode.")}FieldId.focus();return false}else{if(!params.alerts){newSpan.innerHTML=""}return true};break;case"phone":if(!(/(\d{3})\D*(\d{3})\D*(\d{4})\D*(\d*)$/.test(FieldVal))){if(!params.alerts){newSpan.innerHTML="Enter Valid Phone Number"}else{alert("Please Enter a Valid Phone Number With Area Code.")}FieldId.focus();return false}else{if(!params.alerts){newSpan.innerHTML=""}return true};break;case"social":var USSS=/^\d{3}\-?\d{2}\-?\d{4}$/;var CASS=/^\d{9}$/;if(!(USSS.test(FieldVal))&&!(CASS.test(FieldVal))){if(!params.alerts){newSpan.innerHTML="Enter Valid Social Security"}else{alert("Please Enter a Valid Social Security.")}FieldId.focus();return false}else{if(!params.alerts){newSpan.innerHTML=""}return true};break;case"ip":if(!(/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(FieldVal))){if(!params.alerts){newSpan.innerHTML="Enter Valid IP Address"}else{alert("Please Enter a Valid IP Address.")}FieldId.focus();return false}else{if(!params.alerts){newSpan.innerHTML=""}return true};break;case"domain":if(!(/^((http:\/\/|https:\/\/|ftp:\/\/){1})?([\w].+)?([\w]+)*(\.\w{2,5})+$/.test(FieldVal))){if(!params.alerts){newSpan.innerHTML="Enter Valid Domain"}else{alert("Please Enter a Valid Domain.")}FieldId.focus();return false}else{if(!params.alerts){newSpan.innerHTML=""}return true};break;case"url":if(!(/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/.test(FieldVal))){if(!params.alerts){newSpan.innerHTML="Enter Valid URL"}else{alert("Please Enter a Valid URL.")}FieldId.focus();return false}else{if(!params.alerts){newSpan.innerHTML=""}return true};break;case"string":if((/[\d]/.test(FieldVal))){if(!params.alerts){newSpan.innerHTML="Invalid! Only Letters Allowed"}else{alert("Invalid! Only Letters Allowed.")}FieldId.focus();return false}else{if(!params.alerts){newSpan.innerHTML=""}return true};break;case"number":if((/\D/.test(FieldVal))){if(!params.alerts){newSpan.innerHTML="Invalid! Only Numbers Allowed"}else{alert("Invalid! Only Numbers Allowed.")}FieldId.focus();return false}else{if(!params.alerts){newSpan.innerHTML=""}return true};break;case"money":if((/[$]/.test(FieldVal))){if(!params.alerts){newSpan.innerHTML="Please Remove The $"}else{alert("Please Remove The $.")}FieldId.focus();return false}else if((/[a-zA-Z!@#%^&*\s?'_~`:;<=>{}()|+-]/.test(FieldVal))){if(!params.alerts){newSpan.innerHTML="Invalid! Only Numbers Allowed"}else{alert("Invalid! Only Numbers Allowed..")}FieldId.focus();return false}else{if(!params.alerts){newSpan.innerHTML=""}return true};break;case"compare":if(!params.id2){alert("ERROR: You must specify a second Field ID in your calling function if your type is 'compare'.");return false}var FieldId_2=_$(params.id2);if(FieldVal!=this.Trim(FieldId_2.value)){if(!params.alerts){newSpan.innerHTML="Confirmation Mismatch"}else{alert("Confirmation Entry Does Not Match.")}FieldId.focus();return false}else{if(!params.alerts){newSpan.innerHTML=""}return true};break;case"alpha":if(!(/^[a-zA-Z]+$/.test(FieldVal))){if(!params.alerts){newSpan.innerHTML="Invalid! Only Alpha Characters Allowed"}else{alert("Invalid! Only Alpha Characters Allowed.")}FieldId.focus();return false}else{if(!params.alerts){newSpan.innerHTML=""}return true};break;case"alphanumeric":if(!(/^[a-zA-Z0-9]+$/.test(FieldVal))){if(!params.alerts){newSpan.innerHTML="Invalid! Only Alpha Numeric Characters Allowed"}else{alert("Invalid! Only Alpha Numeric Characters Allowed.")}FieldId.focus();return false}else{if(!params.alerts){newSpan.innerHTML=""}return true};break;case"xsscode":var strRegex="(-- )|(' )|(script)|(<)|(>)|(%3c)|(%3e)|(select)|(update)|(insert)|(delete)|(drop)|(grant)|(revoke)|(union)|(&lt;)|(&gt;)";var re=new RegExp(strRegex);var str=FieldVal.toLowerCase();if(str.match(re)){if(!params.alerts){newSpan.innerHTML="XSS (malicious) code detected!"}else{alert("XSS (malicious) code detected!")}FieldId.focus();return false}else{if(!params.alerts){newSpan.innerHTML=""}return true};break;case"un_availablity":if(!params.urlpath){alert("Please pass in a url path to the file that AJAX will read.");return false}try{var result=AJAX.LoadURL("GET",params.urlpath+encodeURIComponent(FieldVal))}catch(err){alert("There was an error using AJAX. Please make sure that the AJAX files are set up correctly.");return false}if(result==0){if(!params.alerts){newSpan.innerHTML="Username Taken"}else{alert("Username Taken.")}FieldId.focus();return false}else{if(!params.alerts){newSpan.innerHTML=""}return true};break;case"checkage":if(!params.minage)params.minage=13;var Today=new Date();Today.setHours(0,0,0,0);if(!validate({id:params.id,type:"date",required:"yes"}))return false;FieldVal=FieldVal.replace(/^(\d{1}\/)/,"0$1").replace(/(\d{2}\/)(\d{1}\/)/,"$10$2");var splitDate=FieldVal.split("/");var bDay=new Date(splitDate[2]+"/"+splitDate[0]+"/"+splitDate[1]);var age=Today.getFullYear()-bDay.getFullYear();var currYrbDay=new Date(Today.getFullYear(),bDay.getMonth(),bDay.getDate());if(currYrbDay>Today&&age>0)age--;if(age<params.minage){alert("Sorry. You Are Not Old Enough To Continue.");return false}else{return true};break;case"regexp":if(!params.regexp){alert("Please pass in a regular expression to validate. Check your code.");return false}var re=new RegExp(params.regexp);if(!(re.test(FieldVal))){if(!params.alerts){if(!params.errortext){newSpan.innerHTML="Invalid Format"}else{newSpan.innerHTML=params.errortext}}else{if(!params.errortext){alert("Invalid Format.")}else{alert(params.errortext)}}FieldId.focus();return false}else{if(!params.alerts){newSpan.innerHTML=""}return true};break;default:if(!params.alerts){newSpan.innerHTML=""}return true;break}}else{if(!params.alerts){newSpan.innerHTML=""}return true}};