//~ ©2001 - Formatted by jFormat - jlbalder@netscape.net
// ********************* Formmail ********************

function MM_findObj(n, d)
{
    //v4.0
    var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length)
    {
        d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
    }
    
    if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
    for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
    if(!x && document.getElementById) x=document.getElementById(n); return x;
}//~function MM_findObj(n, d...

function MM_validateForm()
{
    //v4.0
    var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
    for (i=0; i<(args.length-2); i+=3)
    {
        test=args[i+2]; val=MM_findObj(args[i]);
        if (val)
        {
            nm=val.name; if ((val=val.value)!="")
            {
                if (test.indexOf('isEmail')!=-1)
                {
                    p=val.indexOf('@');
                    if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
                }
                
                else if (test!='R')
                {
                    if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
                    if (test.indexOf('inRange') != -1)
                    {
                        p=test.indexOf(':');
                        min=test.substring(8,p); max=test.substring(p+1);
                        if (val<min || max<val) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
                    }
                }//~else if (test!='R')...
            }//~nm=val.name; if ((val=va...
            
            else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n';
        }//~if (val)...
    }//~for (i=0; i<(args.length...
    
    if (errors) alert('The following error(s) occurred:\n'+errors);
    document.MM_returnValue = (errors == '');
}//~function MM_validateForm...
