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_validateForm()
{ //v4.0

  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  var val2,val3;
  
  val2=MM_findObj(args[3]);
  val3=MM_findObj(args[6]);
  
  for (i=0; i<(args.length-2); i+=3)
  {
	test=args[i+2];
	val=MM_findObj(args[i]);
    if (val)
	{
		nm=val.id;
		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.charAt(0) == 'R')
		{
			if (i == 3)
			{
				if ((val3=val3.value)=="")
					errors+='- '+nm+' is required.\n';
			}
			if (i == 6)
			{
				if ((val2=val2.value)=="")
					errors+='or\n- '+nm+' is required.\n';
			}
			if ( i == 0 )
				errors+='- '+nm+' is required.\n';
		}
	}
  }

  if (errors)
  	alert('The following error(s) occurred:\n'+errors);
  
  document.MM_returnValue = (errors == '');

}
