var tempError;
/*
function mostrar_error(texto) {	
  clearTimeout(tempError);
	$("#texto_error").html(texto);
	$("#ventana_error").animate({ 
      top: "0px"
    }, 500 );
  tempError=setTimeout(ocultar_error, 7000);  
}
function ocultar_error() {  
  $("#ventana_error").animate({ 
      top: "-170px"
    }, 500 );    
    clearTimeout(tempError);
}		
*/
function check_fields(tipo,nombre,valor,longitud) {
	var elcontenido=jQuery.trim(valor);
	//elcontenido=elcontenido.replace(/^\s*|\s*$/g,"");	
	
//	Control campos alfanumericos
	if (tipo=="t") {		
		if (elcontenido == '') {
			mostrar_error(nombre + " es obligatorio.");							
			return false;					
		}
		if (elcontenido.length > longitud) {
			mostrar_error(nombre + " debe tener menos de " + longitud + " carácteres.");							
			return false;							
		}		
		ocultar_error();
		return elcontenido;
	}
//	Control campos numericos	
	if (tipo=="n") {
		if (elcontenido == '') {
			mostrar_error(nombre + " es obligatorio.");							
			return false;
		}		
		if (nombre=="Edad") {
			if (isNaN(elcontenido)){
				mostrar_error(nombre + " solo puede contener números.");							
				return false;	
			} else {
				if (elcontenido>longitud){
					mostrar_error("Seguro que eres tan viejo.");							
					return false;	
				}
				if (elcontenido<0){
					mostrar_error(nombre + " incorrecta.");							
					return false;	
				}
			}
		} else {
			if ((elcontenido.length != longitud) || (isNaN(elcontenido))){
				mostrar_error(nombre + " es incorrecto.");							
				return false;	
			}				
		}
		
		ocultar_error();
		return elcontenido;
	}
	
//	Control campos email
	if (tipo=="e") {		
		if (elcontenido == '') {
			mostrar_error(nombre + " es obligatorio.");							
			return false;
		}		
		if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(elcontenido)){				
			ocultar_error();		  
	  } else {
	  	mostrar_error(nombre + " tiene un formato incorrecto.");							
			return false;
	  }	
	  ocultar_error();	
	  return elcontenido;
	}
}
	
$("#close_message").click(function() {
  ocultar_error();
});

// Validacion de campos del formulario

$(document).ready(function(){
	
// Validacion de nombre	
	$("#nombre").blur(function () {		
		var resultado='';		
		resultado=check_fields("t","Nombre",$(this).val(),50);
		if (resultado != false) {
			ocultar_error();
			$(this).removeClass("input_formp1_error");
			$(this).addClass("input_formp1");	
			$(this).val(resultado);
		} else {
			$(this).removeClass("input_formp1");
			$(this).addClass("input_formp1_error");	
		}			
	});

// Validacion de apellido	
	$("#apellido").blur(function () {
		var resultado='';				
		resultado=check_fields("t","Apellido",$(this).val(),50);
		if (resultado != false) {
			ocultar_error();
			$(this).removeClass("input_formp1_error");
			$(this).addClass("input_formp1");	
			$(this).val(resultado);
		} else {
			$(this).removeClass("input_formp1");
			$(this).addClass("input_formp1_error");	
		}			
	});	
	
	// Validacion de Codigo Postal	
	$("#codpostal").blur(function () {	
		var resultado='';			
		resultado=check_fields("n","Código postal",$(this).val(),5);
		if (resultado != false) {
			ocultar_error();
			$(this).removeClass("input_formp1_error");
			$(this).addClass("input_formp1");	
			$(this).val(resultado);
		} else {
			$(this).removeClass("input_formp1");
			$(this).addClass("input_formp1_error");	
		}			
	});	
	
	// Validacion de Email 1
	$("#email1").blur(function () {		
		var resultado='';		
		resultado=check_fields("e","Email 1",$(this).val(),0);
		if (resultado != false) {
			$.get("check_email.asp", { id: resultado },
		  	function(data){
		  		var result = data;
		    	if (result.indexOf('invalid')==-1) {
		    		ocultar_error();
						$("#email1").removeClass("input_formp1_error");
						$("#email1").addClass("input_formp1");	
						$("#email1").val(resultado);
		    	} else {
		    		mostrar_error(resultado + " ya existe en la base de datos.");							
						$("#email1").removeClass("input_formp1");
						$("#email1").addClass("input_formp1_error");	
		    	}		    			    	
		  },"text");						
		} else {
			$(this).removeClass("input_formp1");
			$(this).addClass("input_formp1_error");	
		}			
	});	

	// Validacion de Email 2
	$("#email2").blur(function () {	
		var resultado='';	
		if ($(this).val() != '') {			
			resultado=check_fields("e","Email 2",$(this).val(),0);
			if (resultado != false) {
				$.get("check_email.asp", { id: resultado },
			  	function(data){
			  		var result = data;
			    	if (result.indexOf('invalid')==-1) {
			    		ocultar_error();
							$("#email2").removeClass("input_formp1_error");
							$("#email2").addClass("input_formp1");	
							$("#email2").val(resultado);
			    	} else {
			    		mostrar_error(resultado + " ya existe en la base de datos.");							
							$("#email2").removeClass("input_formp1");
							$("#email2").addClass("input_formp1_error");	
			    	}		    			    	
			  },"text");						
			} else {
				$(this).removeClass("input_formp1");
				$(this).addClass("input_formp1_error");	
			}	
		}		
	});		
	
// Validacion de Email 1 rep
	$("#email1rep").blur(function () {		
		var resultado='';		
		resultado=check_fields("e","Repetir Email 1",$(this).val(),0);
		if (resultado != false) {
			$.get("check_email.asp", { id: resultado },
		  	function(data){
		  		var result = data;
		    	if (result.indexOf('invalid')==-1) {
		    		var e0=resultado;
						var e1=$("#email1").val();						
						if (e0!=e1) {
							mostrar_error("Email 1 y Repetir Email 1 deben ser iguales.");							
							$("#email1rep").removeClass("input_formp1");
							$("#email1rep").addClass("input_formp1_error");	
						} else {
			    		ocultar_error();
							$("#email1rep").removeClass("input_formp1_error");
							$("#email1rep").addClass("input_formp1");	
							$("#email1rep").val(resultado);
						}
		    	} else {
		    		mostrar_error(resultado + " ya existe en la base de datos.");							
						$("#email1rep").removeClass("input_formp1");
						$("#email1rep").addClass("input_formp1_error");	
		    	}		    			    	
		  },"text");						
		} else {
			$(this).removeClass("input_formp1");
			$(this).addClass("input_formp1_error");	
		}					
	});			

// Validacion de Email 2 rep
	$("#email2rep").blur(function () {			
		var resultado='';
		if ($(this).val() != '') {				
			resultado=check_fields("e","Repetir Email 2",$(this).val(),0);
			if (resultado != false) {
				$.get("check_email.asp", { id: resultado },
			  	function(data){
			  		var result = data;
			    	if (result.indexOf('invalid')==-1) {
			    		var e0=resultado;
							var e1=$("#email2").val();						
							if (e0!=e1) {
								mostrar_error("Email 2 y Repetir Email 2 deben ser iguales.");							
								$("#email2rep").removeClass("input_formp1");
								$("#email2rep").addClass("input_formp1_error");	
							} else {
				    		ocultar_error();
								$("#email2rep").removeClass("input_formp1_error");
								$("#email2rep").addClass("input_formp1");	
								$("#email2rep").val(resultado);
							}
			    	} else {
			    		mostrar_error(resultado + " ya existe en la base de datos.");							
							$("#email2rep").removeClass("input_formp1");
							$("#email2rep").addClass("input_formp1_error");	
			    	}		    			    	
			  },"text");						
			} else {
				$(this).removeClass("input_formp1");
				$(this).addClass("input_formp1_error");	
			}	
		} else {
			if ($("#email2").val() != '') {
				mostrar_error("Email 2 y Repetir Email 2 deben ser iguales.");							
				$("#email2rep").removeClass("input_formp1");
				$("#email2rep").addClass("input_formp1_error");	
			} else {
    		ocultar_error();
				$("#email2rep").removeClass("input_formp1_error");
				$("#email2rep").addClass("input_formp1");	
				$("#email2rep").val(resultado);
			}
		}				
	});			
	
// Validacion de Edad	
	$("#edad").blur(function () {		
		var resultado='';		
		resultado=check_fields("n","Edad",$(this).val(),135);
		if (resultado != false) {
			ocultar_error();
			$(this).removeClass("input_formp1_error");
			$(this).addClass("input_formp1");	
			$(this).val(resultado);
		} else {
			$(this).removeClass("input_formp1");
			$(this).addClass("input_formp1_error");	
		}			
	});	

// Validacion de Movil	
	$("#movil").blur(function () {	
		var resultado='';	
		if ($(this).val() != '') {	
			resultado=check_fields("n","Celular",$(this).val(),10);
			if (resultado != false) {						 		
			 		$.get("check_movil.asp", { id: resultado },
				  	function(data){
				  		var result = data;
				    	if (result.indexOf('invalid')==-1) {
				    		ocultar_error();
								$("#movil").removeClass("input_formp1_error");
								$("#movil").addClass("input_formp1");	
								$("#movil").val(resultado);
				    	} else {
				    		mostrar_error(resultado + " ya existe en la base de datos.");							
								$("#movil").removeClass("input_formp1");
								$("#movil").addClass("input_formp1_error");	
				    	}		    			    	
				  },"text");				 							
			} else {
				$(this).removeClass("input_formp1");
				$(this).addClass("input_formp1_error");	
			}	
		}		
	});		

// Validacion de Movil Rep
	$("#movilrep").blur(function () {		
		var resultado='';
		if ($(this).val() != '') {	
			resultado=check_fields("n","Repetir Celular",$(this).val(),10);
			if (resultado != false) {
					var e0=resultado;
					var e1=$("#movil").val();						
					if (e0!=e1) {
						mostrar_error("Celular y Repetir Celular deben ser iguales.");							
						$("#movilrep").removeClass("input_formp1");
						$("#movilrep").addClass("input_formp1_error");	
					} else {
		    		ocultar_error();
						$("#movilrep").removeClass("input_formp1_error");
						$("#movilrep").addClass("input_formp1");	
						$("#movilrep").val(resultado);
					}									
			} else {
				$(this).removeClass("input_formp1");
				$(this).addClass("input_formp1_error");	
			}	
		}	else {
			if ($("#movil").val() != '') {
				mostrar_error("Celular y Repetir Celular deben ser iguales.");							
				$("#movilrep").removeClass("input_formp1");
				$("#movilrep").addClass("input_formp1_error");	
			} else {
    		ocultar_error();
				$("#movilrep").removeClass("input_formp1_error");
				$("#movilrep").addClass("input_formp1");	
				$("#movilrep").val(resultado);
			}	
		}
	});			

// Validacion de Referenciado
	$("#referenciado").blur(function () {	
		var resultado='';
		if ($(this).val() != '') {				
			resultado=check_fields("e","Referenciado",$(this).val(),0);
			if (resultado != false) {
				$.get("check_email.asp", { id: resultado },
			  	function(data){
			  		var result = data;
			    	if (result.indexOf('invalid')==-1) {
			    		mostrar_error(resultado + " no existe en la base de datos.");							
							$("#referenciado").removeClass("input_formp1");
							$("#referenciado").addClass("input_formp1_error");	
			    	} else {
			    		ocultar_error();
							$("#referenciado").removeClass("input_formp1_error");
							$("#referenciado").addClass("input_formp1");	
							$("#referenciado").val(resultado);			    		
			    	}		    			    	
			  },"text");						
			} else {
				$(this).removeClass("input_formp1");
				$(this).addClass("input_formp1_error");	
			}	
		}		
	});	
		
// Validacion del formulario
	$("#continuar").click(function () {			
		var hayError=0;
		var camposObligatorios=['nombre','apellido','codpostal','email1','email1rep','edad'];
		
		$("form").each(function() {
			$("input").each(function() {
				if ($(this).attr("class")=='input_formp1_error') {
					hayError=1;
				}
				if ((jQuery.inArray($(this).attr("id"),camposObligatorios)>-1) && ($(this).val()=='')) {
					hayError=2;
					$(this).removeClass("input_formp1");
					$(this).addClass("input_formp1_error");
				}
			});
		});
		if(hayError==1) {
			mostrar_error("El registro contiene errores, compruébelo antes de continuar.");
		} 
		if(hayError==2) {
			mostrar_error("Existen campos obligatorios por cumplimentar.");
		} 	
		if (hayError==0){
			if ($("input:checked").length<1){
			  hayError=3;
				mostrar_error("Debes seleccionar tu sexo.");
				$("#divsexo").removeClass("input_formp1");
				$("#divsexo").addClass("input_formp1_error");
			} else {
				$("#divsexo").removeClass("input_formp1_error");
				$("#divsexo").addClass("input_formp1");
			}	
		}
// Si no hay error procedemos al submit		
		if (hayError==0){
			$("#form1").attr("action","reg_b.asp"); 
			$("#form1").submit();
		}
	});	
			
});
