function Numeros() {
	tecla=window.event.keyCode;
	if (tecla<48 || tecla>57) window.event.keyCode=0;
}


// Rutina de Validación de Formularios
// ===================================
//  Ejemplo:
//		if (ValidaForm("formulario",form_campo,form_valor,form_tipo) == 0)
//			document.formulario.submit();
//
//	Parámetros:
//		1) Nombre del Formulario.
//		2) Matriz con los mensajes a imprimir si falla ese campo.
//		3) Matriz con los nombres de los campos en el formulario.
//		4) Matriz con los tipos de campos:
//				"t":		Campo de texto.
//				"n","nxx":	Campo numérico. "xx" indica el tamaño del campo.
//				"e":		Campo de email.
//				"l":		Campo "Select".
//				"r":		Campo "Radio".
//				"m","mxx":	campo "TextArea". "xx" indica la longitud máxima.
//				"f":		Campo "Fecha".
//
function ValidaForm(form_nombre,form_campo,form_valor,form_tipo) {
	var docuform="document."+form_nombre;
	mensaje="Por favor, rellene: \n";
	error=0;
	
	for (i=0; i<form_campo.length; i++) {
		fallo=0;
		tipo=form_tipo[i].substring(0,1);
		largo=parseInt(form_tipo[i].substring(1,5));
		if (isNaN(largo)) largo=0;
		
		switch (tipo) {
			case "t":
				if (eval(docuform+"."+form_valor[i]+".value")=="") fallo=1;
				break;
			case "n":
				if (isNaN(eval(docuform+"."+form_valor[i]+".value")) ||
					eval(docuform+"."+form_valor[i]+".value")=="" ||
					(eval(docuform+"."+form_valor[i]+".value.length")!=largo && largo!=0)) fallo=1;
				break;
			case "e":
				valor=eval(docuform+"."+form_valor[i]+".value");
				if (valor.indexOf("@")<0 || valor.indexOf(".")<0 || valor.indexOf(" ")>=0) fallo=1;
				break;
			case "l":
				if (eval(docuform+"."+form_valor[i]+".selectedIndex")==0) fallo=1;
				break;
			case "r":
				fallo=1;
				valor=eval(docuform+"."+form_valor[i]+".length");

				for (f=0; f<valor; f++)
					if (eval(docuform+"."+form_valor[i]+"["+f.toString()+"].checked")==true) fallo=0;
				break;
			case "m":
				if (eval(docuform+"."+form_valor[i]+".value.length")>largo && largo>0) fallo=1;
				break;
			case "f":
				largo=eval(docuform+"."+form_valor[i]+".value.length");
				valor=eval(docuform+"."+form_valor[i]+".value");

				if (largo!=0) {
					if (largo!=10) fallo=1;
					if (valor.substring(2,3)!='\/' || valor.substring(5,6)!='\/') fallo=1;
					for (f=0; f<10; f++) {
						char=valor.substring(f,f+1);

						if (f!=2 && f!=5) {
							if (isNaN(parseInt(char))) fallo=1;
						}
						else {
							if (char!="\/") fallo=1;
						}
					}
					if (fallo==0) {
						dia=valor.substring(0,2);
						mes=valor.substring(3,5);
						any=valor.substring(6,10);

						if (dia<"01" || dia >"31" || mes<"01" || mes>"12" || any<"1980" || any>"2050") fallo=1;
					}
				}
				break;
		}

		if (fallo) mensaje+=(error++!=0?", ":"")+form_campo[i];
	}
	
	if (error) alert(mensaje+".");
	return error;
}
// Esta función cambia el src de un gráfico de un href, por otro especificado. También se le puede pasar un texto que aparece en la barra de estado.
// Recibe 3 parámetros, el nombre de la imagen, la src a poner y el texto del mensaje (opcional) */

function AnimaBtn() {
	var argumentos=AnimaBtn.arguments;
	if (argumentos.length >= 2){
		var imagen = eval("document.images."+argumentos[0]);
		imagen.src = argumentos[1];
		if (argumentos[2] != null) {
				window.status = argumentos[2];
				return true;		
		}
	}
}

