var fcsVerify=new function(){this.lastError="";this.empty_fields="";this.errors="";this.firstErrorElement=-1;this.elementHasError=false;this.allNumbers="1234567890";this.allLetters="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";this.allSpecialChars="!@#$%^&*()-_=+[]{};:'\",.<>/\\?|`~ "};function hasNoNumbers(a){return passesCharacterRestriction(a,fcsVerify.allNumbers)}function hasNoLetters(a){return passesCharacterRestriction(a,fcsVerify.allLetters)}function hasNoSpecialChars(a){return passesCharacterRestriction(a,fcsVerify.allSpecialChars,a.fcsSpecialCharExceptions)}function passesCharacterRestriction(d,a,c){var e=d.value;if(c==null){c=""}if(e==null||a==null||a==0){return true}for(var b=0;b<e.length;b++){if(a.indexOf(e.charAt(b))>=0&&c.indexOf(e.charAt(b))==-1){return false}}return true}function areLegalCharacters(b){var c=b.value;if(c==null){return true}for(var a=0;a<c.length;a++){if((c.charAt(a)=="\n")||(c.charAt(a)=="\r")){continue}if((c.charAt(a)=="'")||(c.charAt(a)=='"')||(c.charAt(a)<" ")||(c.charAt(a)>"~")){b.value=b.value.substring(0,a)+"`"+b.value.substring(a+1)}}return true}function isblank(b){for(var a=0;a<b.length;a++){var d=b.charAt(a);if((d!=" ")&&(d!="\n")&&(d!="\t")){return false}}return true}function isNumber(b){for(var a=0;a<b.length;a++){var d=b.charAt(a);if((d<"0")||(d>"9")){return false}}return true}function isAlphaNumeric(b){for(var a=0;a<b.length;a++){if(((b.charAt(a)>"9")||(b.charAt(a)<"0"))&&((b.charAt(a)>"z")||(b.charAt(a)<"a"))&&((b.charAt(a)>"Z")||(b.charAt(a)<"A"))){return false}}return true}function dateGreater(c,b){var a=c.substring(4,8)+c.substring(0,4);var d=b.substring(4,8)+b.substring(0,4);return(a<=d)}function isDollars(b){var d=0;for(var a=0;a<b.length;a++){if((b.charAt(a)=="-")&&(a==0)){continue}if(b.charAt(a)=="."){if(d++!=0){return false}if((b.length-a)!=3){return false}}else{if((b.charAt(a)<"0")||(b.charAt(a)>"9")){return false}}}return true}function BROKENisDollars(b){var d=0;for(var a=0;a<b.length;a++){if((b.charAt(a)=="-")&&(a==0)){continue}if(b.charAt(a)=="."){if(d++!=0){return false}else{continue}}if((b.charAt(a)<"0")||(b.charAt(a)>"9")){return false}}return true}function y2k(a){return(a<1000)?a+1900:a}function isValidDate(a){if((a==null)||(a=="")){return""}if(a.length==8){var c=a.substring(2,4);var d=a.substring(0,2);var b=a.substring(4,8);var e=new Date(b,d-1,c);if(b==y2k(e.getYear())&&(d-1==e.getMonth())&&(c==e.getDate())){return""}else{return"is an Invalid Date"}}else{return"must be entered as mmddyyyy"}}function isValidDateWithSep(a,d){if(!(a.substring(2,3)==d&&a.substring(5,6)==d)){return"must be entered as mm/dd/yyyy"}else{var c=a.split(d);var b=isValidDate(c[0]+c[1]+c[2]);if(b=="must be entered as mmddyyyy"){return"must be entered as mm/dd/yyyy"}else{return b}}}function isMatch(b,a){if(b==a){return true}return false}function isEmail(g){var r=1;var v=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/i;var q=/^(.+)@(.+)$/;var o='\\(\\)><@,;:\\\\\\"\\.\\[\\]';var j="[^\\s"+o+"]";var c='("[^"]*")';var p=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;var a=j+"+";var n="("+a+"|"+c+")";var k=new RegExp("^"+n+"(\\."+n+")*$");var e=new RegExp("^"+a+"(\\."+a+")*$");var b=g.match(q);if(b==null){return false}var t=b[1];var u=b[2];for(l=0;l<t.length;l++){if(t.charCodeAt(l)>127){return false}}for(l=0;l<u.length;l++){if(u.charCodeAt(l)>127){return false}}if(t.match(k)==null){return false}var h=u.match(p);if(h!=null){for(var l=1;l<=4;l++){if(h[l]>255){return false}}return true}var f=new RegExp("^"+a+"$");var d=u.split(".");var m=d.length;for(l=0;l<m;l++){if(d[l].search(f)==-1){return false}}if(r&&d[d.length-1].length!=2&&d[d.length-1].search(v)==-1){return false}if(m<2){return false}return true}function verifyForm(k,j,b,a){var b=b||false;var a=a||false;var c;var m="";var g="";var d="";fcsVerify.lastError="";fcsVerify.empty_fields="";fcsVerify.errors="";fcsVerify.firstErrorElement=-1;fcsVerify.elementHasError=false;var l;for(var h=0;h<k.length;h++){l=k.elements[h];verifyElement(l,b,j,h,k)}if(!fcsVerify.empty_fields&&!fcsVerify.errors){return true}c="______________________________________________________\n\n";c+="The form was not submitted because of the following error(s).\n";c+="Please correct these error(s) and re-submit.\n";c+="______________________________________________________\n\n";if(fcsVerify.empty_fields){c+="- The following required field(s) are empty:"+fcsVerify.empty_fields+"\n";if(fcsVerify.errors){c+="\n"}}c+=fcsVerify.errors;if(!j||a){alert(c)}k.elements[fcsVerify.firstErrorElement].focus();return false}function verifyElement(k,m,c,h,j){fcsVerify.lastError="";var c=c||false;var m=m||false;var d=true;fcsVerify.elementHasError=false;if(k.fcsName){displayName=k.fcsName}else{displayName=k.name}if(!areLegalCharacters(k)){adderror(k,"- The field ","'"+displayName+"' cannot contain control characters or quotes","\n",false,"",h)}if(k.fcsAlphaNumeric){if(!isAlphaNumeric(k.value)){adderror(k,"- The field ","'"+displayName+"' cannot contain special characters","\n",false,"",h)}}if(k.fcsRequired){if((k.value==null)||(k.value=="")){d=false;adderror(k,"\n          ",displayName+" required.","",true,displayName,h)}}if(d){var a=true;var p=true;var b=true;if(k.fcsNoNumbers){a=hasNoNumbers(k)}if(k.fcsNoLetters){p=hasNoLetters(k)}if(k.fcsNoSpecialChars){b=hasNoSpecialChars(k)}if(!(a&&p&&b)){adderror(k,"- The field ","'"+displayName+"' can only contain "+buildCharacterRestrictionMessage(k),"\n",false,"",h)}if(k.fcsUnCheckedRadio){adderror(k,"\n          ",displayName+" required.","",true,displayName,h)}if(k.fcsSelectRequired){if(k.value=="0"){adderror(k,"\n          ",displayName+" required.","",true,displayName,h)}}if(k.fcsMultiPartTelephone){k.fcsRequiredLength=3;k.fcsNumeric=true;var o=j.elements[h+1];o.fcsRequiredLength=3;o.fcsNumeric=true;if(o.fcsName){displayName1=o.fcsName}else{displayName2=o.name}var n=j.elements[h+2];n.fcsRequiredLength=4;n.fcsNumeric=true;if(n.fcsName){displayName2=n.fcsName}else{displayName2=n.name}var g=k.value.length+o.value.length+n.value.length;if((g>0)&&(g<10)){adderror(k,"- ","The telephone number '"+displayName+"/"+displayName1+"/"+displayName2+"' must be filled in completely if entered","\n",false,"",h)}}if((k.fcsTelephone)&&(k.value.length>0)){if((!isNumber(k.value))||(k.value.length!=10)){adderror(k,"- ","The telephone number '"+displayName+"' must be 10 digits - NO PUNTUATION","\n",false,"",h)}}if(k.value.length>0){if((k.fcsRequiredLength!=null)&&(k.fcsRequiredLength!=k.value.length)){adderror(k,"- The field ","'"+displayName+"' must be "+k.fcsRequiredLength+" characters","\n",false,"",h)}}var q="";if(k.fcsDate){q=isValidDate(k.value);if(q!=""){adderror(k," - The field ","'"+displayName+"' "+q,"\n",false,"",h)}else{if(k.fcsFirstDate!=null){if((k.fcsFirstDate.value!="")&&(k.value!="")){if(!dateGreater(k.fcsFirstDate.value,k.value)){adderror(k," - The field ","'"+displayName+"' is before '"+k.fcsFirstDate.fcsName+"'","\n",false,"",h)}}}}}if(k.fcsDateWithSep){q=isValidDateWithSep(k.value,k.fcsDateSeparator);if(q!=""){adderror(k," - The field ","'"+displayName+"' "+q,"\n",false,"",h)}}if(k.fcsMatch){if(k.value!=null&&k.value!=""&&k.fcsMatchMe.value!=null&&k.fcsMatchMe.value!=""){if(!isMatch(k.value,k.fcsMatchMe.value)){adderror(k," - The field ","'"+displayName+"' and '"+k.fcsMatchName+"' do not match","\n",false,"",h)}}}if(k.fcsNumeric){if(!isNumber(k.value)){adderror(k,"- The field ","'"+displayName+"' must be a number","\n",false,"",h)}}if(k.fcsDollars){if(!isDollars(k.value)){adderror(k,"- The field ","'"+displayName+"' must be dollars or dollars & cents ","\n",false,"",h)}}if((k.fcsMin!=null)&&(k.value<k.fcsMin)){adderror(k,"- The field ","'"+displayName+"' must not be less than "+k.fcsMin,"\n",false,"",h)}if((k.fcsMax!=null)&&(k.value>k.fcsMax)){adderror(k,"- The field ","'"+displayName+"' must not be greater than "+k.fcsMax,"\n",false,"",h)}if(k.fcsMinLength!=null&&k.fcsMaxLength!=null){if((k.value.length<k.fcsMinLength)||(k.value.length>k.fcsMaxLength)){adderror(k,"- The field ","'"+displayName+"' must be between "+k.fcsMinLength+" and "+k.fcsMaxLength+" characters.","\n",false,"",h)}}else{if(k.fcsMinLength!=null&&k.value.length<k.fcsMinLength){adderror(k,"- The field ","'"+displayName+"' must be at least "+k.fcsMinLength+" characters.","\n",false,"",h)}if(k.fcsMaxLength!=null&&k.value.length>k.fcsMaxLength){adderror(k,"- The field ","'"+displayName+"' must be no more than "+k.fcsMaxLength+" characters.","\n",false,"",h)}}if(k.fcsEmail){if((k.value!=null)&&(k.value!="")){if(!isEmail(k.value)){adderror(k,"- The Field ","'"+displayName+"' is not a valid Email address","\n",false,"",h)}}}}if(fcsVerify.elementHasError){if(c){$(k).addClassName("form_validation_error")}if(m&&k.fcsDiv){k.fcsDiv.innerHTML=fcsVerify.lastError}}else{if(c){$(k).removeClassName("form_validation_error")}if(m&&k.fcsDiv){k.fcsDiv.innerHTML=""}}}function buildCharacterRestrictionMessage(d){var b="";if(!d.fcsNoNumbers){b+="numbers"}if(!d.fcsNoLetters){if(b!=""){b+=", "}b+="letters"}if(!d.fcsNoSpecialChars){if(b!=""){b+=", "}b+="special characters"}else{var c=d.fcsSpecialCharExceptions;var a=false;if(d.fcsSpecialCharExceptions!=null&&d.fcsSpecialCharExceptions!=""){if(d.fcsSpecialCharExceptions.indexOf(" ")>=0){a=true;c=c.replace(" ","")}b+=", "+c;if(a){b+=", spaces"}}}if(b.split(",").length==2){b=b.replace(", "," and ")}if(b.split(",").length>2){b=b.substring(0,b.lastIndexOf(", ",b.length))+b.substring(b.lastIndexOf(", ",b.length),b.length).replace(", "," and ")}return b}function adderror(f,d,b,i,h,g,a){var c=fcsVerify.lastError.length>0&&fcsVerify.lastError.substr(fcsVerify.lastError.length-1)==".";if(c){fcsVerify.lastError+=" "}fcsVerify.lastError+=b;if(fcsVerify.lastError!=null&&fcsVerify.lastError!=""&&c==false){fcsVerify.lastError+="."}if(h){fcsVerify.empty_fields+=d+g}else{fcsVerify.errors+=d+b+i}fcsVerify.elementHasError=true;if(fcsVerify.firstErrorElement==-1){fcsVerify.firstErrorElement=a}f.fcsVerifyMsg=b};