
//-----------------------------------------------------------------------------------------------------
//------------ Validacion registro paso 1 -------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------

function validar_reg1(b)
{
    var errores = false;
    
     // nickname
    if ($("#nickname").val() === "") {
        $("#nickname_error").html("CAMPO VACÍO");
        $("#nickname").addClass("textarea_error");
        
        errores = true;
    } else {
        $("#nickname_error").html("");
        $("#nickname").removeClass("textarea_error");
    }

    // password
    if ($("#password").val() === "") {
        $("#password_error").html("CAMPO VACÍO");
        $("#password").addClass("textarea_error");
        errores = true;
    } else if ($("#password").val() != $("#confirma_password").val()) {
        $("#password_error").html("CONTRASEÑAS DIFERENTES");
        $("#password").addClass("textarea_error");
        $("#confirma_password").addClass("textarea_error");
        errores = true;
    } else {
        $("#password_error").html("");
        $("#password").removeClass("textarea_error");
        $("#confirma_password").removeClass("textarea_error");
    }

    // email
    if ($("#email").val() === "") {
        $("#email_error").html("CAMPO VACÍO");
        //$("#email").addClass("input_text_error");
        errores = true;
    } else  if (!(/\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test($("#email").val()))) {
        $("#email_error").html("E-MAIL INCORRECTO");
       //$("#email").addClass("input_text_error");
        errores = true;
    } else {
        $("#email_error").html("");
        //$("#email").removeClass("input_text_error");
    }

    // nombre
    if ($("#nombre").val() === "") {
        $("#nombre_error").html("CAMPO VACÍO");
        //$("#nombre").addClass("textarea_error");
        errores = true;
    } else {
        $("#nombre_error").html("");
        //$("#nombre").removeClass("textarea_error");
    }

    // apellidos
    if ($("#apellidos").val() === "") {
        $("#apellidos_error").html("CAMPO VACÍO");
        //$("#apellidos").addClass("textarea_error");
        errores = true;
    } else {
        $("#apellidos_error").html("");
        //$("#apellidos").removeClass("textarea_error");
    }

    // recogemos la fecha del formulario
    dia = $("#dia").val();
    mes = $("#mes").val();
    anyo = $("#anyo").val();
    
    // fecha
    if (!fechaValida(dia,mes,anyo)) {
        $("#fecha_error").html("FECHA INCORRECTA");
        //$("#dia").addClass("textarea_error");
        //$("#mes").addClass("textarea_error");
        //$("#anyo").addClass("textarea_error");
        errores = true;
    } else {
        $("#fecha_error").html("");
        //$("#dia").removeClass("textarea_error");
        //$("#mes").removeClass("textarea_error");
        //$("#anyo").removeClass("textarea_error");
    }
    
    
    //edad 
    edad = 18;
    mayor_edad = true;
    
	if($("#anyo").val() > _anyo-edad){
        mayor_edad = false;
	}else
		if($("#anyo").val() == _anyo-edad)
			if($("#mes").val() > _mes){
		        mayor_edad = false;
			}else
				if($("#mes").val() == _mes)
					if($("#dia").val() >= _dia){
				        mayor_edad = false;
					}
                    
    if(mayor_edad)
    {
    	_dni = $("#dni").val();
    	// mi dni
	    if (_dni === "" || !validar_nif_nie(_dni)) {
	        $("#dni_error").html("DNI VACÍO O INCORRECTO");
	        //$("#dni").addClass("textarea_error");
	        errores = true;
	        //$("#dni_error").html("");
	        //$("#dni_padre").removeClass("textarea_error");
	    } else {
	        $("#dni_error").html("");
	        //$("#dni").removeClass("textarea_error");
	    }
        
        tipo = "normal";
    }
    else
    {
    	_dni = $("#dni_padre").val();
    	// padre dni
	    if (_dni === "" || !validar_nif_nie(_dni) ) {
	        $("#dni_padre_error").html("DNI PADRE VACÍO O INCORRECTO");
	        //$("#dni_padre").addClass("textarea_error");
	        errores = true;
	        //$("#dni_error").html("");
	        //$("#dni").removeClass("textarea_error");
	    } else {
	        $("#dni_padre_error").html("");
	        //$("#dni_padre").removeClass("textarea_error");
	    }
        tipo = "padre";
    }
    
   
    
    if (errores)
    {
        return false;
    }
    else
    {
        if(b)
        {
    	   return true;
        }
        else
        {
            validarDatos1(_dni,$("#email").val(),tipo);
            return false;
        }
        

    }
}

function validarDatos1(dni,email,tipo)
{

    
				$.ajax({
					   type: "POST",
					   url: "registroRequest.php",
					   data: "tipo=paso1&dni="+dni+"&email="+email+"&tipodni="+tipo,
					   success: function(datos)
					   {
 							
						   	if(datos == 0)
						   	{	
						   		validarDatos3($("#nickname").val());
						   	}
						   	else
						   	{
						   		switch(datos)
						   		{
						   			case "-1": $("#dni_error").html("EL DNI YA EXISTE"); break;
						   			//case "-2": //$("#dni_padre_error").html("EL DNI YA EXISTE"); break;
						   						//document.formregistro1.submit(); break;
						   			case "-3": $("#email_error").html("EL E-MAIL YA EXISTE"); break;
						   		}

						   		
						   	}
						   
					   	
					   }
					});
				
}

function mayorEdad()
{
    //edad 
    edad = 18;
    mayor_edad = true;
    
	if($("#anyo").val() > _anyo-edad){
        mayor_edad = false;
	}else
		if($("#anyo").val() == _anyo-edad)
			if($("#mes").val() > _mes){
		        mayor_edad = false;
			}else
				if($("#mes").val() == _mes)
					if($("#dia").val() >= _dia){
				        mayor_edad = false;
					}
	
    if(mayor_edad)
    {
    	// mi dni
        if(document.getElementById("tr_dni_text"))
        {
            document.getElementById("tr_dni_text").style.display="";
            document.getElementById("tr_dni_input").style.display="";
            document.getElementById("tr_dni_padre_text").style.display="none";
            document.getElementById("tr_dni_padre_input").style.display="none";
            document.getElementById("msj_menor").style.display="none";
        }
    }
    else
    {
    	// padre dni
        if(document.getElementById("tr_dni_text"))
        {
            document.getElementById("tr_dni_text").style.display="none";
            document.getElementById("tr_dni_input").style.display="none";
            document.getElementById("tr_dni_padre_text").style.display="";
            document.getElementById("tr_dni_padre_input").style.display="";
            document.getElementById("msj_menor").style.display="";
            
            
        }
    }
}

function IsUnsignedInteger(YourNumber)
{
var Template = /^d+$/ //Formato de numero entero sin signo
return (Template.test(YourNumber)) ? 1 : 0 //Compara "YourNumber" con el formato "Template" y si coincidevuelve verdadero si no devuelve falso
}

function IsLeapYear(YourYear)
{

return ((YourYear % 4 == 0 && YourYear % 100 != 0) || (YourYear % 400 == 0)) ? 1 : 0// Si "YourYear" es un año es bisiesto devuelve verdadero si no devuelve falso

}


function cambiaMes()
{
	
	mes = document.getElementById('mes').selectedIndex;
	
	var encontrado = false
	var salida;
	
	switch(mes+1)
	{
		case 1: case 3: case 5: case 7: case 8: case 10: case 12:  salida = dias(31);break;
		case 4: case 6: case 9: case 11: salida =  dias(30);break;
		case 2: 
		{
			
			if(IsLeapYear(document.getElementById('anyo').value))
			{
				salida = dias(29); 
			}
			else
			{
				salida = dias(28);
			}
		}
		break;
		
		
		
	}
	
	

}

function dias(limite)
{
    
    var valor = document.getElementById('dia').value;
	
	var salida = '';

	for (i=0;  i < limite; i++)
	{
		opcion=new Option(""+(i+1),(i+1));
		document.getElementById('dia').options[i]=opcion;
	}

	switch(limite)
	{
		case 28:document.getElementById('dia').options[30]=null;   
				document.getElementById('dia').options[29]=null; 
				document.getElementById('dia').options[28]=null;
                
                if(valor <= 28)
                {
                    document.getElementById('dia').options[valor].selected = "1";
                }
				 break;
		
		case 29:document.getElementById('dia').options[30]=null;   
				document.getElementById('dia').options[29]=null;
                
                if(valor <= 29)
                {
                    document.getElementById('dia').options[valor].selected = "1";
                }
				 break;

		case 30: document.getElementById('dia').options[30]=null;
        
                if(valor <= 30)
                {
                    document.getElementById('dia').options[valor].selected = "1";
                }
				 break;
	}
	
	
	
	return true;
			
}
//-----------------------------------------------------------------------------------------------------
//------------ Validacion registro paso 2 -------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------

function validar_reg2()
{

    if ($("#cp").val() === "") {
        $("#cp_error").html("CAMPO VACÍO");
        $("#cp").addClass("textarea_error");
        errores = true;
    } else {
        $("#cp_error").html("");
        $("#cp").removeClass("textarea_error");
        errores = false;
    }
    
    if (errores)
        return false;
    else
    {
    	return true;
    }
}
	
//-----------------------------------------------------------------------------------------------------
//------------ Validacion registro paso 3 -------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------

function validar_reg3()
{
    var errores = false;

    // nickname
    if ($("#nickname").val() === "") {
        $("#nickname_error").html("CAMPO VACÍO");
        $("#nickname").addClass("textarea_error");
        errores = true;
    } else {
        $("#nickname_error").html("");
        $("#nickname").removeClass("textarea_error");
    }

    // password
    if ($("#password").val() === "") {
        $("#password_error").html("CAMPO VACÍO");
        $("#password").addClass("textarea_error");
        errores = true;
    } else if ($("#password").val() != $("#confirma_password").val()) {
        $("#password_error").html("CONTRASEÑAS DIFERENTES");
        $("#password").addClass("textarea_error");
        $("#confirma_password").addClass("textarea_error");
        errores = true;
    } else {
        $("#password_error").html("");
        $("#password").removeClass("textarea_error");
        $("#confirma_password").removeClass("textarea_error");
    }
    
    if (errores)
        return false;
    else
    {
    	validarDatos3($("#nickname").val());
    	return false;
    }
}


function validarDatos3(nickname)
{

				$.ajax({
					   type: "POST",
					   url: "registroRequest.php",
					   data: "tipo=paso3&nickname="+nickname,
					   success: function(datos)
					   {
 							
 							
						   	if(datos == 0)
						   	{
						   		document.formregistro1.submit();
                                
						   	}
						   	else
						   	{
						   		$("#nickname_error").html("EL NICKNAME YA EXISTE");
						   	}
						   
					   	
					   }
					});
					
}



function validarDatos4(nickname)
{

				$.ajax({
					   type: "POST",
					   url: "registroRequest.php",
					   data: "tipo=paso3&nickname="+nickname,
					   success: function(datos)
					   {
						   	if(datos == 0)
						   	{
						   	      $("#nickname_error").html("");
                                  $("#vform").val(1);
                                   return true;
						   	}
						   	else
						   	{
						   		$("#nickname_error").html("EL NICKNAME YA EXISTE");
                                $("#vform").val(-1);
                                return false;s
						   	}
					   }
					});
					
}


function sendData()
{
    if($("#vform").val()== 1)
        return validar_reg123();
    else
        return false;
}

//-----------------------------------------------------------------------------------------------------
//------------ Validacion perfil ----------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------

function validar_reg123()
{
    return validar_reg1(1) && validar_reg2() && validarDatos4();
}

//-----------------------------------------------------------------------------------------------------
//------------ Validacion login -----------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------

function ComprobarLogin() {
    var errores = false;

    if ($('#login_nombre').val() == '' || $('#login_nombre').val() == 'NICK' || $('#login_nombre').val() == 'CAMPO VACÍO') {
        $('#login_nombre').addClass('input_text_error');
        $('#login_nombre').val('CAMPO VACÍO');

        errores = true;
    } else {
        $('#login_nombre').removeClass('input_text_error');
    }

    if ($('#login_password').val() == '' || $('#login_password').val() == 'PASSWORD' || $('#login_password').val() == 'CAMPO VACÍO') {
        $('#login_password').addClass('input_text_error');
        $('#login_password').val('CAMPO VACÍO');

        errores = true;
    } else {
        $('#login_password').removeClass('input_text_error');
    }

    if (errores)
        return false;
    else
        return true;
}

function VaciarCampoLogin(item) {
    if (item == 'login_nombre' && ($('#login_nombre').val() == 'NICK' || $('#login_nombre').val() == 'CAMPO VACÍO')) {
        $('#login_nombre').val('');
        $('#login_nombre').removeClass('input_text_error');
    }

    if (item == 'login_password' && ($('#login_password').val() == 'PASSWORD' || $('#login_password').val() == 'CAMPO VACÍO')) {
        $('#login_password').val('');
        $('#login_password').removeClass('input_text_error');
    }
}

//-----------------------------------------------------------------------------------------------------
//------------ Validacion recordar contraseña ---------------------------------------------------------
//-----------------------------------------------------------------------------------------------------
function ComprobarRecordar() {
    var errores = false;

    if ($('#login_email').val() == '' || $('#login_email').val() == 'E-MAIL' || $('#login_email').val() == 'CAMPO VACÍO') {
        $('#login_email').addClass('input_text_error');
        $('#login_email').val('CAMPO VACÍO');
        errores = true;
    } else 
    {
        if (!(/\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test($("#login_email").val()))) {
            $('#login_email').addClass('input_text_error');
            $('#login_email').val('E-MAIL ERRONEO');
            errores = true;
        } else {
            $('#login_email').removeClass('input_text_error');
        }

        $('#login_email').removeClass('input_text_error');
    }

    if (errores)
        return false;
    else
        return true;
}

function VaciarCampoRecordar(item) {
    
    if (item == 'login_email' && ($('#login_email').val() == 'E-MAIL' || $('#login_email').val() == 'CAMPO VACÍO' || $('#login_email').val() == 'E-MAIL ERRONEO')) {
        $('#login_email').val('');
        //$('#login_email').removeClass('input_text_error');
    }
}

//-----------------------------------------------------------------------------------------------------
//------------ Funciones comunes ----------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------

// Validaciones dni

function isDigit (c)
{
	return ((c >= "0") && (c <= "9"))
}

function letra_nif(dni)
{
    var numero = dni % 23 + 1;
    letra='TRWAGMYFPDXBNJZSQVHLCKET';
    letra=letra.substring(numero-1,numero);
    return letra;
}

function validar_nif_nie(valor)
{
	//Validacion nif y nie
	// nie: X4000091T
	// nie: X74000091Y
	// nif: 74000091Y
	// nif: 7400091Y
	return ( validar_nif(valor) || validar_nie(valor,7) || validar_nie(valor,8) );
}

function validar_nif(valor)
{
	var i;
	var dni=valor;
	var longitud = valor.length;

	if (longitud == 8) {
		valor = '0'+valor;
	}

	for (i = 0; i < 8; i++)
    {
        var c = dni.charAt(i);
        if (!isDigit(c))
        {
            return false;
        }
    }
    var letra_introducido = letra_nif(dni.substring(0,8));
    var letra_real = dni.charAt(8);
    if (letra_introducido == letra_real.toUpperCase())
    {
        return true;
    }
    else
    {
        return false;
    }
}

function validar_nie(valor,numero_digitos)
{
	var i;
	var dni=valor;
	primera_letra = dni.charAt(0);
	if(primera_letra.toUpperCase()!="X" && primera_letra.toUpperCase()!="T")
		return false;

	for (i = 1; i < numero_digitos; i++)
    {
        var c = dni.charAt(i);
        if (!isDigit(c))
        {
            return false;
        }
    }
    var letra_introducido = letra_nif(dni.substring(1,numero_digitos+1));
    var letra_real = dni.charAt(numero_digitos+1);
    if (letra_introducido == letra_real.toUpperCase())
    {
        return true;
    }
    else
    {
        return false;
    }
}

function fechaValida(dia,mes,anyo)
{
    if (
		dia == "" || mes == "" || anyo == "" ||
		dia < 1 || mes < 1 || anyo < 1900 ||
		dia > 31 || mes > 12 || anyo > 2100 ||
		(mes==2 && dia > 29 && esBisiesto(anyo)) ||
		(mes==2 && dia > 28 && !esBisiesto(anyo)) ||
		(dia==31 && (mes==4 || mes==6 || mes==9 || mes==11))
    	) {
        return false;
    } else {
        return true;
    }
	
}

function esBisiesto(anio)
{
	var BISIESTO;
	if(parseInt(anio)%4==0)
	{
		if(parseInt(anio)%100==0)
		{
			if(parseInt(anio)%400==0){
				BISIESTO=true;
			}
			else{
				BISIESTO=false;
			}
		}
		else{
			BISIESTO=true;
		}
	}
	else
		BISIESTO=false;
	
	return BISIESTO;
} 
