function isblank(s)
{
for(var i=0;i<s.length;i++)
{
var c=s.charAt(i);
if((c!=' ')&&(c!='\n')&&(c!='\t'))return false;
}
return true;
}
function verify(f)
{
var msg;
var empty_fields="";
var notselected_fields="";
var errors="";
for(var i=0;i<f.length;i++)
{
var e=f.elements[i];
if((e.type=="text")||(e.type=="textarea")||(e.type=="select-multiple")||(e.type=="select-one"))
{
var fname;
if(e.fieldname!=null)fname=e.fieldname;else fname=e.name
if((e.type=="select-multiple")||(e.type=="select-one"))
{
if(((!e.optional)&&(e.selectedIndex==-1))||
((e.requirenondefaultselect)&&(e.selectedIndex>-1)&&(e[e.selectedIndex].defaultSelected)))
{
notselected_fields+="\n          "+fname;
continue;
}
else continue;
}
else if((e.value==null)||(e.value=="")||isblank(e.value))
{
if(!e.optional)
{
empty_fields+="\n          "+fname;
continue;
}
else continue;
}
if(e.numeric||e.integer||(e.min!=null)||(e.max!=null))
{
var v=parseFloat(e.value);
if(e.integer)var objRegExp=/^ *-?(0|[1-9]\d*) *$/;
else var objRegExp=/^ *-?((\d+\.\d*)|(\d+)|(\.\d+)) *$/;
if(isNaN(v)||
(!objRegExp.test(e.value))||
((e.min!=null)&&(v<e.min))||
((e.max!=null)&&(v>e.max)))
{
errors+="-  "+fname+" must be ";
if(e.integer)
errors+="an integer number with no leading zeros";
else
errors+="a number";
if(e.min!=null)
errors+=" that is at least "+e.min;
if(e.max!=null&&e.min!=null)
errors+=" and not more than "+e.max;
else if(e.max!=null)
errors+=" that is not more than "+e.max;
errors+=".\n";
}
}
if(!e.numeric||((e.minlength!=null)||(e.maxlength!=null)))
{
if(((e.minlength!=null)&&(e.value.length<e.minlength))||
((e.maxlength!=null)&&(e.value.length>e.maxlength)))
{
errors+="-  "+fname+" must be";
if(e.minlength!=null)
errors+=" at least "+e.minlength+" characters";
if(e.maxlength!=null&&e.minlength!=null)
errors+=" and not more than "+e.maxlength+" characters";
else if(e.maxlength!=null)
errors+=" not more than "+e.maxlength+" characters";
errors+=".  Your entry is "+e.value.length+" character(s)";
errors+=".\n";
}
}
if(e.email)
{
var goodEmail=e.value.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\.int)|(\.arpa)|(\.biz)|(\.aero)|(\.name)|(\.coop)|(\.info)|(\.pro)|(\.museum)|(\..{2,2}))$)\b/gi);
if(!goodEmail)
{
errors+="-  "+fname+" is not a valid e-mail address";
errors+=".\n";
}
}
if(e.phone)
{
var goodPhone=e.value.match(/^(((1))?[ ,\-,\.]?([\\(]?([1-9][0-9]{2})[\\)]?))?[ ,\-,\.]?([^0-1]){1}([0-9]){2}[ ,\-,\.]?([0-9]){4}(( )((x){0,1}([0-9]){1,5}){0,1})?$/);
if(!goodPhone)
{
errors+="-  "+fname+" is not a valid phone number formatted such as\n    xxx-xxx-xxxx (e.g. 520-321-2000)";
errors+=".\n";
}
}
}}
if(!empty_fields&&!notselected_fields&&!errors)return true;
msg="______________________________________________________\n\n"
msg+="Error(s) were found.\n";
msg+="Correct these error(s) and re-submit.\n";
msg+="______________________________________________________\n\n"
if(empty_fields)
{
msg+="- The following required field(s) are empty:"
+empty_fields+"\n";
if(errors)msg+="\n";
}
if(notselected_fields)
{
msg+="- The following required field(s) are not selected:"
+notselected_fields+"\n";
if(errors)msg+="\n";
}
msg+=errors;
alert(msg);
return false;
}