function 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=findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}
function validateForm() { //v4.0

  var i,p,q,nm,test,num,min,max,errors='',args=validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { 
    test=args[i+2]; 
    val=findObj(args[i]);
    if (val) { 
      nm=val.name; 
      if (test.indexOf('isSel')!=-1) {
        if (val.value=='0' && test.charAt(0) == 'R' ) errors+='- '+nm+' is required.\n';
      }
      else
      if ((val=val.value)!="") {	
        if (test.indexOf('isEmail')!=-1) { 
			p1=val.indexOf('@');
			p2=val.indexOf('.');
			if (p1<1 || p1==(val.length-1) || p2<1 || p2==(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.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; 
    }
  } 
  if (errors) alert('The following error(s) occurred:\t\n\n'+errors);
  document.returnValue = (errors == '');
}
function validarForm() { //v4.0

  var i,p,q,nm,test,num,min,max,errors='',args=validarForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { 
    test=args[i+2]; 
    val=findObj(args[i]);
    if (val) { 
      nm=val.name; 
      if (test.indexOf('isSel')!=-1) {
        if (val.value=='0' && test.charAt(0) == 'R' ) errors+='- '+nm+' es obligatorio.\n';
      }
      else
      if ((val=val.value)!="") {	
        if (test.indexOf('isEmail')!=-1) { 
			p1=val.indexOf('@');
			p2=val.indexOf('.');
			if (p1<1 || p1==(val.length-1) || p2<1 || p2==(val.length-1)) errors+='- '+nm+' debe contener una direccion e-mail.\n';
        } 
        else 
          if (test!='R') {
            if (isNaN(val)) errors+='- '+nm+' debe contener un numero.\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+' debe contener un numero entre '+min+' y '+max+'.\n';
            }
          } 
      } 
      else if (test.charAt(0) == 'R') errors += '- '+nm+' es obligatorio.\n'; 
    }
  } 
  if (errors) alert('Se produjeron los siguientes errores:\t\n\n'+errors);
  document.returnValue = (errors == '');
}
