// Validar Campos
function validar(campo, tipo, requerido, msg) {
	
	var actual;
	var valor_actual;
	
	function error(error_msg) {
		$(actual).next(".error").remove();
		if (error_msg != "") {
//<![CDATA[
			$(actual).parent("p").append('<span class="error">' + error_msg + '<\/span>');
			$(actual).parent("p").children("input").focus();
//]]>
		}
	}
	
	var seguir = true;
	
	actual = $("#" + campo);
	valor_actual = $(actual).attr("value");
		
	error("");
	
	if ((requerido == true) && (valor_actual == "")) {
		error(msg);
		seguir = false;
	} else if (valor_actual != "") {
		
		switch(tipo) {
			
			case "entero":				
				if (valor_actual - parseInt(valor_actual) != 0) {
					error(msg);
					seguir = false;
				}
			break;
			
			case "numero":				
				if (valor_actual - parseFloat(valor_actual) != 0) {
					error(msg);
					seguir = false;
				}
			break;
			
			case "email":
				var patron = /^[a-z][a-z_\.\d]*[@][a-z][a-z_\.\d]*[\.][a-z]{2,6}$/i
				if (!patron.test(valor_actual)) {
					error(msg);
					seguir = false;
				}
			break;
			
			case "email_sin_dominio":
				var patron = /^[a-z][a-z_\.\d]*$/i
				if (!patron.test(valor_actual)) {
					error(msg);
					seguir = false;
				}
			break;
			
			case "dominio":
				var patron = /^[a-z][a-z_\.\d]*[\.][a-z]{2,6}$/i
				if (!patron.test(valor_actual)) {
					error(msg);
					seguir = false;
				}
			break;
			
			case "fecha":
				var patron = /^[\d]{1,2}(\/|-)[\d]{1,2}(\/|-)[\d]{2,4}$/i;
				if (!patron.test(valor_actual)) {
					error(msg);
					seguir = false;
				}
			break;
			
			case "dni":
				var patron = /^[\d]{8}[\W]{0,1}[a-z]$/i;
				if (!patron.test(valor_actual)) {
					error(msg);
					seguir = false;
				}
			break;
			
			case "cif":
				var patron = /^[\w][\d]{7}[a-z]$/i;
				if (!patron.test(valor_actual)) {
					error(msg);
					seguir = false;
				}
			break;
			
			case "dni_cif":
				var patron_dni = /^[\d]{8}[\W]{0,1}[a-z]$/i;
				var patron_cif = /^[\w][\d]{7}[\d|a-z]$/i;
				
				if (patron_dni.test(valor_actual)) {
					seguir = true;
				} else if (patron_cif.test(valor_actual)) {
					seguir = true;
				} else {
					error(msg);
					seguir = false;
				}
			break;
			
			case "cp":
				var patron = /^[\d]{5,5}$/i;

				if (!patron.test(valor_actual)) {
					error(msg);
					seguir = false;
				}
			break;
			
			case "telf":
				var patron = /^[\d]{9,9}$/i;
				valor_actual = valor_actual.replace(/ /g, "");
				
				if (!patron.test(valor_actual)) {
					error(msg);
					seguir = false;
				}
			break;
			
			case "password":
				var patron = /(?!^[0-9]*$)(?!^[a-z]*$)^([a-z0-9]{6,10})$/i;
				if (!patron.test(valor_actual)) {
					error(msg);
					seguir = false;
				}
			break;
		}
	}
	return seguir;
}
