/***********************************************
	Funcion para declaracion de campos
	para la funcion de validacion
	Parametros:
		- ID del elemento
		- tipo (texto, email, numero,
		lista y fecha)
		- mensaje de advertencia
------------------------------------------------
	Ejemplo:

	<script language="javascript" type="text/javascript" src="incs/validar.js"></script>
	<script language="javascript" type="text/javascript">
	<!--
	declarar('txtNombre','texto','Falta su nombre');
	declarar('txtEmail','email','Falta su email o es invalido');
	declarar('txtTel','numero','Debe poner un numero de telefono valido');
	declarar('lstProvincia','lista','Elija una opcion');
	-->
	</script>
------------------------------------------------
************************************************/
var obj = new Array();
function declarar(elemento, tipo, msg){
	var indice = obj.length;
	obj[indice] = new Array(elemento,tipo,'- \"'+msg);
}
/***********************************************
	Funcion de validacion de formularios
************************************************/
function check(){
	var error = "We found the following errors:\n\n";
	var primerError = new Array();
	for(i=0;i<obj.length;i++){
		switch(obj[i][1]){
			case "texto":
				if(document.getElementById(obj[i][0]).value == ""){
					error += obj[i][2]+'\" is mandatory';
					primerError[primerError.length] = document.getElementById(obj[i][0]);
					if((1+i) < obj.length){
						error += "\n";
					}
				}
				break;
			case "email":
				if(document.getElementById(obj[i][0]).value.match(/^[^@\.]+@[^@]+\.[\w]+$/) == null){
					error += obj[i][2]+'\" is mandatory and must contain a valid email address';
					primerError[primerError.length] = document.getElementById(obj[i][0]);
					if((1+i) < obj.length){
						error += "\n";
					}
				}
				break;
			case "numero":
				if(document.getElementById(obj[i][0]).value.match(/^[\d]+$/) == null){
					error += obj[i][2]+'\" is mandatory and must contain a number';
					primerError[primerError.length] = document.getElementById(obj[i][0]);
					if((1+i) < obj.length){
						error += "\n";
					}
				}
				break;
			case "lista":
				if(document.getElementById(obj[i][0]).value == 0 || document.getElementById(obj[i][0]).value == ""){
					error += obj[i][2]+'\" is mandatory';
					primerError[primerError.length] = document.getElementById(obj[i][0]);
					if((1+i) < obj.length){
						error += "\n";
					}
				}
				break;
			case "fecha":
				if(document.getElementById(obj[i][0]).value.match(/(0[1-9]|[12][0-9]|3[01])[\/](0[1-9]|1[012])[\/](19|20)[0-9]{2}/) == null){
					error += obj[i][2]+'\" is mandatory and must contain a valid date';
					primerError[primerError.length] = document.getElementById(obj[i][0]);
					if((1+i) < obj.length){
						error += "\n";
					}
				}
				break;
		}
	}
	if(primerError.length > 0){
		alert(error);
		primerError[0].focus();
		return false;
	}else{
		return true;
	}
}
