function posicRatonXY(e) {
if (IE) { posicX = event.clientX + document.body.scrollLeft;
          posicY = event.clientY + document.body.scrollTop}
          else { posicX = e.pageX; posicY = e.pageY };
if (posicX < 0) {posicX = 0};
if (posicY < 0) {posicY = 0};

document.getElementById("Raton").RatonX.value = posicX;
document.getElementById("Raton").RatonY.value = posicY;
return true;
}
function posicRatonXYDev() {
    var IE = document.all?true:false
    if (!IE) document.captureEvents(Event.MOUSEMOVE)
    document.onmousemove = posicRatonXY;
    var posicX = 0
    var posicY = 0
}
function Validar_Form() { //v4.0
	// R: Obligatorio
	// inRange: rango entre números válidos
	// isNum: :);
	// isEmail: ta claro;
	// Ej.: Numérico requerido -> 'RisNum';
	// Ej.: Numérico NO obligatorio ->'isNum';
	// 
	var i,p,q,nm,test,num,min,max,errors='',args=Validar_Form.arguments;
	for (i=0; i<(args.length-2); i+=3) {
		test=args[i+2]; 
		val=Busca_Obj(args[i]);
		if (val) { 
			nm=val.name;
			//¡¡OJO!! usaremos 'nm.substr(3)' para quitar el prefijo 'txt' 
			if ((val=val.value)!="") {
				if (test.indexOf('isEmail')!=-1) { 
					p=val.indexOf('@');
					if (p<1 || p==(val.length-1)) errors+='['+nm.substr(3)+'] debe contener una dirección de correo.\n';
				}
				else if (test!='R') {
					num = parseFloat(val);
					if (isNaN(val)) errors+='['+nm.substr(3)+'] debe ser numérico.\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.substr(3)+'] debe ser un número entre  '+min+'  y  '+max+'.\n';
					}
				}
			}
			else if (test.charAt(0) == 'R') errors += '['+nm.substr(3)+'] es obligatorio.\n'; 
		}
	} 
	if (errors) alert('ATENCION!!\n'+errors);
	document.Valor_Devuelto = (errors == '');
}

