function MM_openBrWindow(theURL,winName,features)
{ //v2.0
    window.open(theURL,winName,features);
}
function MM_findObj(n, d)
{ //v4.01
    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 && d.getElementById)
        x=d.getElementById(n);

    return x;
}

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')
                {
                    num = parseFloat(val);
                    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 (num<min || max<num)
                            errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
                    }
                }
            }
            else if (test.charAt(0) == 'R')
            {
                errors += '- '+nm+' is required.\n';
            }
        }
    }
  
    if (errors)
        alert('The following error(s) occurred:\n'+errors);
  
    document.MM_returnValue = (errors == '');
}

function MM_reloadPage(init)
{  //reloads the window if Nav4 resized
    if (init==true) with (navigator)
    {
        if ((appName=="Netscape")&&(parseInt(appVersion)==4))
        {
            document.MM_pgW=innerWidth;
            document.MM_pgH=innerHeight;
            onresize=MM_reloadPage;
        }
    }
    else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH)
    {
        location.reload();
    }
}
