function isString(a){a=String(a);if(typeof(a)=="string"){return true}else{return false}}function isNumeric(a){if(isNaN(Number(a))||a.length<=0){return false}else{return true}}function isWholeNumber(c){if(!isNumeric(c)){return false}c=c.replace(/ /g,"");for(var a=0;a<c.length;a++){var b=c.charAt(a);if(b<"0"||b>"9"){return false}}if(Number(c)<0){return false}return true}function isNumberInRange(d,c,b,a){if(arguments.length<4){a=false}if(a&&!isWholeNumber(d)){return false}if(!isNumeric(d)){return false}if(Number(d)<Number(c)||Number(d)>Number(b)){return false}else{return true}}function formatNumber(c,b){if(arguments.length<2){b=0}var a=0;if(!isNumeric(c)){return c}c=String(Math.round(Number(c)*Math.pow(10,b))/Math.pow(10,b));if(c.search(/\./)>=0){a=c.length-1-c.search(/\./)}else{if(b>0){c+="."}}for(var d=0;d<(b-a);d++){c+="0"}return c}function digits(b,a){if(!isNumeric(b)){return b}if(String(b).search(/\./)>0){var c=String(b).substr(0,b.search(/\./));var e=String(b).substr(b.search(/\./)+1);while(a>c.length){c="0"+c}return c+"."+e}else{var d=String(b);while(a>d.length){d="0"+d}return d}}function isFull(a){if(isNumeric(a)){if(a!=null){return true}else{return true}}if(isString(a)){if(a.length>0){return true}else{return false}}return false}function isValidLength(c,b,a){if(!isString(c)){return false}if(String(c).length<b||String(c).length>a){return false}return true}function getMonths(){var a=["January","February","March","April","May","June","July","August","September","October","November","December"];return a}function guessMask(c){var a=["MM/DD/YYYY","DD/MM/YYYY","MM-DD-YYYY","DD MON YYYY","MON DD YYYY","MONTH DD YYYY"];for(var b=0;b<a.length;b++){if(isDate(c,a[b])){return a[b]}}}function isValidDate(a,b){return isDate(a,b)}function isDate(g,h){if(!isFull(g)){return false}if(arguments.length<2){h=guessMask(g)}if(h==null){return false}var a,d,i,c,e;var b=getMonths();switch(h.toUpperCase()){case"MM/DD/YY":case"MM/DD/YYYY":if(g.match(/\d{1,2}\/\d{1,2}\/\d{2,4}/)==null){return false}a=g.split("/");d=Number(a[0]);c=Number(a[1]);e=Number(a[2]);break;case"DD/MM/YY":case"DD/MM/YYYY":if(g.match(/\d{1,2}\/\d{1,2}\/\d{2,4}/)==null){return false}a=g.split("/");c=Number(a[0]);d=Number(a[1]);e=Number(a[2]);break;case"MM-DD-YY":case"MM-DD-YYYY":if(g.match(/\d{1,2}\-\d{1,2}\-\d{2,4}/)==null){return false}a=g.split("-");d=Number(a[0]);c=Number(a[1]);e=Number(a[2]);break;case"DD MON YY":case"DD MON YYYY":if(g.match(/\d{1,2} [a-zA-Z]{3} \d{2,4}/)==null){return false}a=g.split(" ");c=Number(a[0]);i=a[1];for(var j=0;j<b.length;j++){if(i.toLowerCase()==b[j].toLowerCase().substr(0,3)){d=j+1}}if(d==null){return false}e=Number(a[2]);break;case"DD MONTH YY":case"DD MONTH YYYY":if(g.match(/\d{1,2} [a-zA-Z]{3,9} \d{2,4}/)==null){return false}a=g.split(" ");c=Number(a[0]);i=a[1];for(var j=0;j<b.length;j++){if(i.toLowerCase()==b[j].toLowerCase()){d=j+1}}if(d==null){return false}e=Number(a[2]);break;case"MON DD YY":case"MON DD YYYY":case"MON DD, YY":case"MON DD, YYYY":if(g.match(/[a-zA-Z]{3} \d{1,2},* \d{2,4}/)==null){return false}a=g.split(" ");i=a[0];for(var j=0;j<b.length;j++){if(i.toLowerCase()==b[j].toLowerCase().substr(0,3)){d=j+1}}if(d==null){return false}c=Number(a[1].replace(",",""));e=Number(a[2]);break;case"MONTH DD YY":case"MONTH DD YYYY":case"MONTH DD, YY":case"MONTH DD, YYYY":if(g.match(/[a-zA-Z]{3,9} \d{1,2},* \d{2,4}/)==null){return false}a=g.split(" ");i=a[0];for(var j=0;j<b.length;j++){if(i.toLowerCase()==b[j].toLowerCase()){d=j+1}}if(d==null){return false}c=Number(a[1].replace(",",""));e=Number(a[2]);break}if(!isNumberInRange(d,1,12)){return false}if(!isNumberInRange(c,1,31)){return false}if(!isNumberInRange(e,0,4000)){return false}var f=new Date(e,d-1,c);if(f.getMonth()!=d-1){return false}return true}function getDate(h,i){if(!isDate(h)){return false}if(arguments.length<2){i=guessMask(h)}if(i==null){return false}var a,d,j,c,e;var b=getMonths();switch(i.toUpperCase()){case"MM/DD/YY":case"MM/DD/YYYY":a=h.split("/");d=Number(a[0]);c=Number(a[1]);e=Number(a[2]);break;case"DD/MM/YY":case"DD/MM/YYYY":a=h.split("/");c=Number(a[0]);d=Number(a[1]);e=Number(a[2]);break;case"MM-DD-YY":case"MM-DD-YYYY":a=h.split("-");d=Number(a[0]);c=Number(a[1]);e=Number(a[2]);break;case"DD MON YY":case"DD MON YYYY":a=h.split(" ");c=Number(a[0]);j=a[1];for(var k=0;k<b.length;k++){if(j.toLowerCase()==b[k].toLowerCase().substr(0,3)){d=k+1}}if(d==null){return false}e=Number(a[2]);break;case"DD MONTH YY":case"DD MONTH YYYY":a=h.split(" ");c=Number(a[0]);j=a[1];for(var k=0;k<b.length;k++){if(j.toLowerCase()==b[k].toLowerCase()){d=k+1}}if(d==null){return false}e=Number(a[2]);break;case"MON DD YY":case"MON DD YYYY":case"MON DD, YY":case"MON DD, YYYY":a=h.split(" ");j=a[0];for(var k=0;k<b.length;k++){if(j.toLowerCase()==b[k].toLowerCase().substr(0,3)){d=k+1}}if(d==null){return false}c=Number(a[1].replace(",",""));e=Number(a[2]);break;case"MONTH DD YY":case"MONTH DD YYYY":case"MONTH DD, YY":case"MONTH DD, YYYY":a=h.split(" ");j=a[0];for(var k=0;k<b.length;k++){if(j.toLowerCase()==b[k].toLowerCase()){d=k+1}}if(d==null){return false}c=Number(a[1].replace(",",""));e=Number(a[2]);break}if(e<100){var g=new Date();e+=2000;if(e>g.getFullYear()){e-=100}}var f=new Date(e,d-1,c);return f}function isValidDateTime(b,a){return isDateTime(b,a)}function isDateTime(d,c){var a=d.search(" ");if(a>0){var b=d.substr(0,a);var e=d.substr(a+1)}else{var b=d;var e=""}if(arguments.length>1){return(isDate(b,c)&&(!isFull(e)||isTime(e)))}else{return(isDate(b)&&(!isFull(e)||isTime(e)))}}function isDateInRange(d,g,f,e){if(!isDate(d)){return false}if(arguments.length<4){e="MM/DD/YYYY"}if(d.search("DD/MM/YY")==0){d=convertDate(d)}var a=new Date(d);if(arguments.length>1&&isDate(g,e)){if(g.search("DD/MM/YY")==0){g=convertDate(g)}var c=new Date(g);if(a<c){return false}}if(arguments.length>2&&isDate(f,e)){if(f.search("DD/MM/YY")==0){f=convertDate(f)}var b=new Date(f);if(a>b){return false}}return true}function convertDate(b){if(!isDate(b)){return b}var a=String(b).split(/\//);return a[1]+"/"+a[0]+"/"+a[2]}function formatDate(c,d){if(arguments.length<2){d="DD Mon YYYY"}var a=getMonths();sOut=d;sOut=sOut.replace(/MM/gi,digits(c.getMonth()+1,2));sOut=sOut.replace(/Month/g,a[c.getMonth()]);sOut=sOut.replace(/MONTH/g,a[c.getMonth()].toUpperCase());sOut=sOut.replace(/Mon/g,a[c.getMonth()].substr(0,3));sOut=sOut.replace(/MON/g,a[c.getMonth()].substr(0,3).toUpperCase());sOut=sOut.replace(/DD/gi,digits(c.getDate(),2));var b=c.getYear();if(b<1000){b+=1900}b=String(b);sOut=sOut.replace(/YYYY/gi,b);sOut=sOut.replace(/YY/gi,b.substr(2,2));return sOut}function formatDateTime(c,e){if(arguments.length<2){e="DD Mon YYYY HH:MI:SS AM"}var a=getMonths();sOut=e;sOut=sOut.replace(/MM/gi,digits(c.getMonth()+1,2));sOut=sOut.replace(/Month/g,a[c.getMonth()]);sOut=sOut.replace(/MONTH/g,a[c.getMonth()].toUpperCase());sOut=sOut.replace(/Mon/g,a[c.getMonth()].substr(0,3));sOut=sOut.replace(/MON/g,a[c.getMonth()].substr(0,3).toUpperCase());sOut=sOut.replace(/DD/gi,digits(c.getDate(),2));var b=c.getHours();sOut=sOut.replace(/H24/gi,digits(b,2));var d="AM";if(b>12){d="PM";b-=12}sOut=sOut.replace(/HH/gi,digits(b,2));sOut=sOut.replace(/MI/gi,digits(c.getMinutes(),2));sOut=sOut.replace(/SS/gi,digits(c.getSeconds(),2));sOut=sOut.replace(/AM/gi,d);var f=c.getYear();if(f<1000){f+=1900}f=String(f);sOut=sOut.replace(/YYYY/gi,f);sOut=sOut.replace(/YY/gi,f.substr(2,2));return sOut}function formatTime(e,f){if(arguments.length<2){f="HH:MI AM"}var g=f;var a=getHours(e);var b=getMinutes(e);var c=getSeconds(e);g=g.replace(/H24/gi,digits(a,2));var d="AM";if(a>12){d="PM";a-=12}g=g.replace(/HH/gi,digits(a,2));g=g.replace(/MI/gi,digits(b,2));g=g.replace(/SS/gi,digits(c,2));g=g.replace(/AM/gi,d);return g}function isTime(a){if(!isFull(a)){return false}if(getHours(a)<0){return false}if(getMinutes(a)<0){return false}if(getSeconds(a)<0){return false}if(a.search(/[^: 0123456789apmAPM]/)>=0){return false}return true}function isValidTime(a){return isTime(a)}function isEmail(d){var c;if(!isFull(d)){return false}if(d.search(/[\s]/)!=-1){return false}if(d.search("@")<1){return false}var a=d.split("@");if(a[0].search(/[^a-zA-Z0-9-\._]/)!=-1){return false}if(a[1].search(".")==-1){return false}if(a[1].match(/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/)){c=true}else{c=false}var b=a[1].split(".");if(c){for(var e=0;e<b.length;e++){if(Number(b[e])>255){return false}}}else{if(b.length<2){return false}for(var e=0;e<b.length;e++){if(b[e].length<1){return false}if(b[e].search(/[^a-zA-Z0-9-]/)!=-1){return false}if(b[e].substr(0,1)=="-"){return false}}if(b[b.length-1].search(/[^A-Za-z]/)!=-1){return false}}return true}function isValidEmail(a){return isEmail(a)}function isEmailList(c,d,a){if(d==null){c=c.replace(/;/g,",");c=c.replace(/\n/g,",");c=c.replace(/\f/g,",");c=c.replace(/\r/g,",");c=c.replace(/\s/g,",");c=c.replace(/,{2,}/g,",");d=","}if(d!=" "){c=c.replace(/\s/g,"")}if(d!="\n"){c=c.replace(/\n/g,"")}if(c.substr(c.length-1)==d){c=c.substr(0,c.length-1)}if(!isArray(a)){a=new Array()}var b=c.split(d);for(var e=0;e<b.length;e++){if(!isValidEmail(trim(b[e]))){a.push(b[e])}}if(a.length>0){return false}return true}function isValidEmailList(b,c,a){return isEmailList(b,c,a)}function isValidPhone(b,a){if(!isFull(b)){return false}if(arguments.length<2){a="US"}if(a=="US"||a=="CA"){if(b.match(/[^\d\(\)-\.\s]/)!=null){return false}if(b.match(/^\d{10}$/)!=null){return true}if(b.match(/^\d{3}\-\d{3}\-\d{4}$/)!=null){return true}if(b.match(/^\(\d{3}\) \d{3}\-\d{4}$/)!=null){return true}if(b.match(/^\((\d{3})\)(\d{3})\-(\d{4})$/)!=null){return true}if(b.match(/^(\d{3}) (\d{3})\-(\d{4})$/)!=null){return true}if(b.match(/^(\d{3}) (\d{3})(\d{4})$/)!=null){return true}if(b.match(/^(\d{3})\.(\d{3})\.(\d{4})$/)!=null){return true}if(b.match(/^(\d{3}) (\d{3})\.(\d{4})$/)!=null){return true}if(b.match(/^(\d{3}) (\d{3}) (\d{4})$/)!=null){return true}return false}else{if(b.search(/[^\d\(\)\s-]/)>=0){return false}return true}}function formatPhone(b,c){if(arguments.length<2){c="(###) ###-####"}b=b.replace(/[^\d]/gi,"");var a=c.replace(/[^#]/gi,"").length;if(b.length!=a){return b}switch(c){case"(###)###-####":return"("+b.substring(0,3)+")"+b.substring(3,6)+"-"+b.substring(6,10);case"###-###-####":return b.substring(0,3)+"-"+b.substring(3,6)+"-"+b.substring(6,10);case"(###) ###-####":return"("+b.substring(0,3)+") "+b.substring(3,6)+"-"+b.substring(6,10);default:return b}}function isValidURL(a){if(a.match(/^(https?|mailto|ftp|mms):\/\/[\w-]+[\w-\.\/\(\)~\?=\-&%@\$\+#]+$/)){return true}else{return false}}function isValidCreditCard(e,d){if(d=="test"){return true}if(!isNumeric(e)){return false}var a=0;var b=0;var c=0;if(e.length%2==0){for(var f=0;f<e.length;f++){nMultiplier=2-f%2;b=Number(e.charAt(f))*nMultiplier;if(b>9){b-=9}c+=b}}else{for(var f=0;f<e.length;f++){nMultiplier=f%2+1;b=Number(e.charAt(f))*nMultiplier;if(b>9){b-=9}c+=b}}if(c%10==0){if(arguments.length==1){return true}else{switch(d){case"001":if(e.substr(0,1)=="4"&&(e.length==16||e.length==13)){return true}else{return false}break;case"002":if(e.substr(0,1)=="5"&&e.length==16){return true}else{return false}break;case"003":if(e.substr(0,1)=="3"&&e.length==15){return true}else{return false}break;case"004":if(e.substr(0,1)=="6"&&e.length==16){return true}else{return false}break;case"005":if(e.substr(0,1)=="3"&&e.length==14){return true}else{return false}break;case"006":if(e.substr(0,1)=="6"&&e.length==16){return true}else{return false}break;case"007":if(e.substr(0,1)=="6"&&(e.length==16||e.length==15)){return true}else{return false}break;default:return true;break}}}else{return false}}function isArray(a){return a&&!(a.propertyIsEnumerable("length"))&&typeof a==="object"&&typeof a.length==="number"}function getStates(b){if(arguments.length==0){b="US"}var a;switch(b){case"US":a=["AL","AK","AS","AZ","AR","CA","CO","CT","DE","DC","FM","FL","GA","GU","HI","ID","IL","IN","IA","KS","KY","LA","ME","MH","MD","MA","MI","MN","MS","MO","MT","NE","NV","NH","NJ","NM","NY","NC","ND","MP","OH","OK","OR","PW","PA","PR","RI","SC","SD","TN","TX","UT","VT","VI","VA","WA","WV","WI","WY"];break;case"CA":a=["AB","BC","MB","NB","NL","NS","NT","NU","ON","PE","QC","SK","YT"];break}return a}function isValidState(c,b){if(arguments.length<2){b="US"}if(b!="US"&&b!="CA"){return isValidLength(c,0,100)}var a=getStates(b);for(var d=0;d<a.length;d++){if(a[d]==c.toUpperCase()){return true}}return false}function isValidZip(c,b){if(arguments.length<2){b="US"}if(b!="US"&&b!="CA"){return isValidLength(c,1,20)}switch(b){case"US":var a=c.match(/\d{5}(-?\d{4})?/);if(a==null){return false}return(a[0]==c);break;case"CA":var a=c.match(/[A-Za-z]\d[A-Za-z]\s?\d[A-Za-z]\d/);if(a==null){return false}return(a[0]==c);break}}function getHours(e){var a=false;var d=e.indexOf(":");var b=e.indexOf("A");if(b<0){b=e.indexOf("a")}if(b<0){b=e.indexOf("P")}if(b<0){b=e.indexOf("p")}if(b<0){b=e.length}if(e.indexOf("p")>=0||e.indexOf("P")>=0){a=true}if(d<0){d=b}var c=Number(e.substring(0,d));if(isNaN(c)){return -1}if(c<0||c>24){return -1}if(c>12&&a){return -1}if(a){c+=12}return c}function getMinutes(d){var a=d.indexOf(":");if(a<0){return 0}var b=d.indexOf(":",a+1);if(b<0){b=d.indexOf("A")}if(b<0){b=d.indexOf("a")}if(b<0){b=d.indexOf("P")}if(b<0){b=d.indexOf("p")}if(b<0){b=d.length}var c=Number(d.substring(a+1,b));if(isNaN(c)){return -1}if(c<0||c>=60){return -1}return c}function getSeconds(c){nColonPos=c.indexOf(":");if(nColonPos<0){return 0}var b=c.indexOf(":",nColonPos+1);if(b<0){return 0}var a=c.indexOf("A");if(a<0){a=c.indexOf("a")}if(a<0){a=c.indexOf("P")}if(a<0){a=c.indexOf("p")}if(a<0){a=c.length}nSeconds=Number(c.substring(b+1,a));if(isNaN(nSeconds)){return -1}if(nSeconds<0||nSeconds>=60){return -1}return nSeconds}function validateLength(d,c,b,a){if(!isValidLength(d.value,c,b)){alert(a);d.focus();return 0}return 1}function validateNumber(e,d,c,b,a){if(arguments.length<5){a=false}if(!isNumeric(e.value)||!isNumberInRange(e.value,d,c)){alert(b);e.focus();return 0}if(a&&!isWholeNumber(e.value)){alert(b);e.focus();return 0}return 1}function validateDate(b,a){if(!isDate(b.value)){alert(a);b.focus();return 0}return 1}function validateSelected(b,a){if(b.selectedIndex==0){alert(a);b.focus();return 0}return 1}function isChecked(b){var a=0;if(b==null){return 0}if(b.length==null){if(b.checked){a++}}else{for(var c=0;c<b.length;c++){if(b[c].checked){a++}}}return a}function validateChecked(c,a){var b=isChecked(c);if(!b){alert(a);c.focus()}return b}function trim(a){if(a==null){return null}var b=a;b=b.replace(/^\s+/,"");b=b.replace(/\s+$/,"");return b};
