/*
 * Validaciones que se ejercen el la pantalla del concurso
 */

 function basesHover(){
 	$('#imgBases').attr("src", "web/img/logo_bases_on.png");
 }

 function aceptMessage(){
 	$('#msg').html('');
	$('.message').hide();
 }
 
  function adjuntarDoc(){
  	$("span.attachObli").css("color","#C6CBCE");
  	$('.concurso-container-adjunto').show();
  }
  
  function acceptPolitic(){
	  $("span.privacidadObli").css("color","#C6CBCE");
  }
	
  function adjuntarExec(){
	$('.concurso-container-adjunto').hide();
  }

 function enviar(){
 		$('.loading').css('display','block');
		$('.concurso-container-adjunto').hide();
		var procesoCorrecto = true;
		/*Validaciones de campos vacios*/
		if($(".nombre").val() == ""){
		   $(".nombre").css("border","1px solid #FF7F7F"); procesoCorrecto = false;
		}
		if($(".apellido1").val() == ""){
		   $(".apellido1").css("border","1px solid #FF7F7F"); procesoCorrecto = false;
		}
		if($(".apellido2").val() == ""){
		   $(".apellido2").css("border","1px solid #FF7F7F"); procesoCorrecto = false;
		}	
		if($(".telef1").val() == ""){
		   $(".telef1").css("border","1px solid #FF7F7F"); procesoCorrecto = false;
		}	
		if($(".nacimiento").val() == ""){
		   $(".nacimiento").css("border","1px solid #FF7F7F"); procesoCorrecto = false;
		}
		if($(".dni").val() == ""){
		   $(".dni").css("border","1px solid #FF7F7F"); procesoCorrecto = false;
		}
		if($(".calle").val() == ""){
		   $(".calle").css("border","1px solid #FF7F7F"); procesoCorrecto = false;
		}
		if($(".direccion").val() == ""){
		   $(".direccion").css("border","1px solid #FF7F7F"); procesoCorrecto = false;
		}
		if($(".numero").val() == ""){
		   $(".numero").css("border","1px solid #FF7F7F"); procesoCorrecto = false;
		}
		if($(".codipostal").val() == ""){
		   $(".codipostal").css("border","1px solid #FF7F7F"); procesoCorrecto = false;
		}
		if($(".poblacion").val() == ""){
		   $(".poblacion").css("border","1px solid #FF7F7F"); procesoCorrecto = false;
		}
		if($(".provincia").val() == ""){
		   $(".provincia").css("border","1px solid #FF7F7F"); procesoCorrecto = false;
		}
		if($(".email").val() == ""){
		   $(".email").css("border","1px solid #FF7F7F"); procesoCorrecto = false;
		}
		if($("#archivo").attr("value") == ""){
		   $("span.attachObli").css("color","#FF7F7F"); procesoCorrecto = false;
		}
		if($("#privacidad").attr("checked") == false){
		   $("span.privacidadObli").css("color","#FF7F7F"); procesoCorrecto = false;
		}

		if( procesoCorrecto == false)
		{
 		 var camposNoInformados="Los campos en rojo son: <br /> - Obligatorios y deben informarse.";
		 $('.loading').css('display','none');
		 $('#msg').html(camposNoInformados);
		 $('.message').slideDown("slow");
		 return false;
		}
		
		/* ---------------------------------------------------------------------------*/
		var errores="Han aparecido errores:";
		
		//Control de Telefono
		if(!comprueba($('.telef1').val(),'tel')){
			errores+="<br /> - El Telefono esta mal informado.";
			$(".telef1").css("border","1px solid #FF7F7F");
			procesoCorrecto = false;
		}
		
		//Control de fecha de nacimiento
		if (!comprueba ($(".nacimiento").val(),'fec')){
			errores+="<br /> - La fecha de nacimiento esta mal informada.";
			$(".nacimiento").css("border","1px solid #FF7F7F");
			procesoCorrecto = false;
		}else{
			var d = new Date();
			var digit_fn_control_ano = $(".nacimiento").val().substring(6,10);
		    if(((d.getYear() + 1900) - digit_fn_control_ano) < 15){
				errores+="<br /> - No puedes participar eres menor de la edad establecida para el concurso (14 años).";
				$(".nacimiento").css("border","1px solid #FF7F7F");
				procesoCorrecto = false;
			}
		}
		
		//Control de NIF
		if(!comprueba($('.dni').val(),'dni')){
			errores+="<br /> - El DNI/NIE/CIF no se ha introducido correctamente. <br />DNI: 8 cifras + 1 letra<br />NIE: 1 letra + 8 cifras + 1 letra<br />En caso de no tener todas las cifras añadir ceros delante para completar.";
			$(".dni").css("border","1px solid #FF7F7F");
			procesoCorrecto = false;
		}
		
		//Control del codigo postal
		if (!comprueba($('.codipostal').val(),'cod')){
			errores+="<br /> - El codigo postal no se ha introducido correctamente.";
			$(".codipostal").css("border","1px solid #FF7F7F");
			procesoCorrecto = false;
		}
		
		//Control del e-mail
		if (!comprueba($('.email').val(),'ema')){
			errores+="<br /> - El e-mail tiene un formato incorrecto.";
			$(".email").css("border","1px solid #FF7F7F");
			procesoCorrecto = false;
		}
		
		//Presentación de la capa informe de errores
		if( procesoCorrecto == false)
		{
			$('.loading').css('display','none');	
			$('#msg').html(errores);
			$('.message').slideDown("slow");
			
		}else{
			$('#f_concurso').submit();
		}
		return false;
	}
	
	// Funcion que comprueba los datos pasados
	function comprueba(valor,identificador) {
	if(identificador=='') { return false; }
	if(valor=='') { return true; }
	longitud = valor.length;
	if (valor.length!=0) {
		switch(identificador)
		{
			case 'tel':
				var objRegExp  = /^[69]{1}[0-9]{8}$/;
				return objRegExp.test(valor);
			case 'fijo':
				var objRegExp  = /^9[0-9]{8}$/;
				return objRegExp.test(valor);
			case 'movil':
				var objRegExp  = /^6[0-9]{8}$/;
				return objRegExp.test(valor);
				
			case 'num':
				var objRegExp  = /^[0-9]{1,}$/;
				return objRegExp.test(valor);
		case 'fec':
			var objRegExp = /^\d{2}(\-|\/|\.)\d{2}\1\d{4}$/;
			
			if(!objRegExp.test(valor))
			{
				return false;
			}
			else
			{
				if (valor.length != 10) return false ;
				
				var strSeparator = valor.substring(2,3);
				var arrayDate = valor.split(strSeparator);

				if ((isNaN (arrayDate [0])) || (isNaN (arrayDate [1])) || (isNaN (arrayDate [2]))) return false ;

				var mesOK ;
				var diaOK ;
				
				var arrayDays = new Array(0,31,29,31,30,31,30,31,31,30,31,30,31);
				var intDay = parseInt(arrayDate[0],10);
				var intMonth = parseInt(arrayDate[1],10);
				var intYear = parseInt(arrayDate[2],10);
				var maxDays = arrayDays[intMonth];

				if ((intMonth <= 0) || (intMonth > 12))
				{
					mesOK = false;
				}
				else
				{
					mesOK = true;
					
					if (intDay > maxDays)
					{
						diaOK = false ;
					}
					else
					{
						if (intMonth != 2)
						{
							diaOK = true ;
						}
						else
						{
							if (((intDay == 29) && !((intYear % 4 == 0) && ((intYear % 100 != 0) || (intYear % 400 == 0)))))
							{
								diaOK = false ;
							}
							else
							{
								diaOK = true ;
							}
						}
					}
				}

				if (diaOK && mesOK) return true;
			}
			return false;
				
			case 'hor':
				var objRegExp = /^([0-2][0-3]:[0-5][0-9])|([0-1][0-9]:[0-5][0-9])$/;
				return objRegExp.test(valor);
			case 'cod':
				var objRegExp  = /^[0-9]{5}$/;
				return objRegExp.test(valor);
			case 'ema':
				var objRegExp = /^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$/i ; 
				return objRegExp.test(valor);
			case 'eda':
				var objRegExp  = /^[0-9]{1,2}$/;
				return objRegExp.test(valor);

		case 'dni':
			if (valor == "00000000T") return false ;

			objRegExpDNI = /^[0-9]{8}[a-zA-Z]{1}$/;
			objRegExpNIE = /^[xX][0-9]{8}[a-zA-Z]{1}$/;
			
			if ((!objRegExpDNI.test (valor)) && (!objRegExpNIE.test (valor))) return false ;
			bNIE = (valor.charAt (0).toUpperCase () == 'X' ? true : false) ;
			
			letras = "TRWAGMYFPDXBNJZSQVHLCKE" ;
			
			numero = valor.substring ((bNIE ? 1 : 0),(bNIE ? 9 : 8)) ;
			letra = valor.substring (valor.length - 1,valor.length).toUpperCase () ;
		  
			return letra == letras.charAt (parseInt (numero,10) % 23) ;

			case 'neg':
				var objRegExp  = /^-[0-9]{1,}$|^[0-9]{1,}$/;
				return objRegExp.test(valor);
			case 'dec':
				var objRegExp = /^[0-9]{1,}\.[0-9]{1,}$|^[0-9]{1,}$/;
				return objRegExp.test(valor);
			case 'ned':
				var objRegExp = /^-[0-9]{1,}\.[0-9]{1,}$|^[0-9]{1,}\.[0-9]{1,}$|^[0-9]{1,}$|^-[0-9]{1,}$/;
				return objRegExp.test(valor);
			case 'tar':
				return (checkcreditcard(valor));				
			default:
				return true;
		}

	}else{
		return false;
	}
  }
  
  /**
   * Funcion que visualiza por pantalla un mensaje pasado por parametro
   */
  function viewMsg(msg){
 	$('.loading').css('display','none');
  	$('#msg').html(msg);
	$('.message').slideDown("slow");
  }
  
 
	
	
	
	