function MM_validateForm() 
          { //v4.0
              if (document.getElementById)
              {
                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=document.getElementById(args[i]);
                  				if(!val){val=obj = document.all(args[i]);}
	if (val) 
					  { 
							nm=args[i+1];
							if(val != null && test=='checked')
							{
								  if(!val.checked)
								  errors += '- '+nm+' must be checked.\n';
							}
							else 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);	return false;} 
	 }//end val
 
}

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;

}
