//Copyright PRLog var undefined; function IsNum(txt){return (txt.length>0 && txt.search('[^0-9]')<0);} function IsInt(txt){return IsNum(txt);} function IsAlpha(txt){return (txt.length>0 && txt.search('[^a-zA-Z]')<0);} function IsAlphaNum(txt){return (txt.length>0 && txt.search('[^a-zA-Z0-9]')<0);} function ToInt(txt){return (txt-0);} function Flag(f){ f.style.borderColor="red"; f.focus(); } function UnFlag(f){ f.style.borderColor=""; } function VfySize(fld,lbl,rqd,mn,mx,minmsg){ var n=fld.value.length; var serr=''; if(n<=0){ if(rqd)serr='is a required field'; }else if(nmx){ serr='must be less than '+mx+' characters.\n\nYou have '+n+' characters'; } if(serr==''){ UnFlag(fld); return true; }else{ Flag(fld); alert('"'+lbl+'" '+serr+'.'); return false; } } function VfyRegex(fld,label,reqd,min,max,re,errmsg){ if(!VfySize(fld,label,reqd,min,max))return false; if(!fld.value.match(re)){ Flag(fld); alert('"' + label + '" ' + errmsg); return false; } UnFlag(fld); return true; } function VfyName(fld,lbl,reqd,min,max){ return VfyRegex(fld,lbl,reqd,min,max,/^[a-zA-Z_\-,\. ]*$/,'must not contain characters other than letters.'); } function VfyUserName(fld,lbl,reqd,min,max){ return VfyRegex(fld,lbl,reqd,min,max,/^[a-zA-Z0-9_]*$/,'must not contain characters other than letters, numbers and underscore.'); } function VfyPassword(fld,lbl,reqd,min,max){ return VfyRegex(fld,lbl,reqd,min,max,/^[a-zA-Z0-9_]*$/,'must not contain characters other than letters, numbers and underscore.'); } function VfyAlpha(fld,label,reqd,min,max){ return VfyRegex(fld,lbl,reqd,min,max,/^[a-zA-Z]*$/,'must not contain characters other than letters.'); } function VfyAlphaNum(fld,label,reqd,min,max){ return VfyRegex(fld,lbl,reqd,min,max,/^[a-zA-Z0-9]*$/,'must not contain characters other than letters and numbers.'); } function VfyCaptcha(fld){ return VfySize(fld,'Are you human?',1,4,10); } function IsFrom(txt,set){ var n=txt.length; for(var i=0;i0){ if(!isInt(txt)){ if(reqd){ serr='must be a numeric whole value'; }else{ serr='is optional.\n If specified, it must be a numeric whole value'; } }else{ txt=ToInt(txt); if(txtmax){ serr='must be less than or equal to '+ max; } } } if(serr==''){ UnFlag(fld); return true; }else{ Flag(fld); alert('"'+label+'" '+serr+'.'); return false; } } function VfyEmail(fld,lbl,rqd,mn,mx){ var txt=fld.value; var n=txt.length; var serr=''; if(txt.indexOf("@")<1 || txt.indexOf(".")<1 || n<7){ serr='must be a valid email address'; }else if(n>mx){ serr='must be less than ' + mx + ' characters'; } if(serr==''){ UnFlag(fld); return true; }else{ Flag(fld); alert('"'+lbl+'" '+serr+'.'); return false; } } //clears text,textarea,password & resets select to 0 function FormReset(frm){ var n=frm.elements.length; for(var i=0;i=i){ fld.innerHTML=(n-i)+' characters left'; fld.style.color='#008000'; }else{ fld.innerHTML=(i-n)+' characters over'; fld.style.color='#ff0000'; } } function arr2opt(selname,selval,sep,arr){ var sel=document.getElementsByName(selname)[0]; arr=arr.split(sep); var n=arr.length; if(n%2==1)n--; for(var i=0;i0){ fldSel.style.backgroundColor="red"; alert("Please select a valid \"" + label + "\""); fldSel.style.backgroundColor=""; fldSel.selectedIndex=0; fldSel.className=clsSel1; fldOth.className="hidden"; }else if(fldSel.value=='ot'){ fldOth.className=clsOth; fldSel.className=clsSel2; }else{ fldSel.className=clsSel1; fldOth.className="hidden"; } }