$(document).ready(function(){


$("#tipo_cliente").change(function(){
  var tipo_cliente = $("#tipo_cliente").val();
  if ( tipo_cliente == "0" )                        { $("#capa_cif").fadeOut(500); $("#capa_dni").fadeOut(500); } 
  if ( tipo_cliente == "1" )                        { $("#capa_cif").hide(); $("#capa_dni").fadeIn(500); } 
  if ( tipo_cliente == "2" || tipo_cliente == "3" ) { $("#capa_dni").hide(); $("#capa_cif").fadeIn(500); }
});


$("#pais_cliente").change(function(){
  var pais_cliente = $("#pais_cliente").val();
  if ( pais_cliente == "1" )                        { $("#capa_mex").hide(); $("#capa_esp").fadeIn(500); } 
  if ( pais_cliente == "2" )                        { $("#capa_esp").hide(); $("#capa_mex").fadeIn(500); }
});




// Validar formulario de contacto

var options = { 
  target:        '#mensaje_mail',   // target element(s) updated with server response 
  beforeSubmit:  validateForm,  // pre-submit callback 
  success:       showResponse  // post-submit callback 
}; 

// bind form using 'ajaxForm' 
$('#form_paso1').ajaxForm(options);
// pre-submit callback 
function validateForm(formData, jqForm, options) { 
  
  $("#form_errores").empty();

  var tipo_cliente          = $("#tipo_cliente").val(); 
  var nombre_apellidos      = $("#nombre_apellidos").val(); 
  var dni                   = $("#dni").val(); 
  var cif                   = $("#cif").val(); 
  var email_contacto        = $("#email_contacto").val(); 
  var telefono_contacto     = $("#telefono_contacto").val(); 
  var pais_cliente          = $("#pais_cliente").val();
  var provincia_cliente_esp = $("#provincia_cliente_esp").val();
  var provincia_cliente_mex = $("#provincia_cliente_mex").val();
  var ciudad_cliente        = $("#ciudad_cliente").val();
  var acepto                = $("#acepto_envio:checked").val();
 
  var errors                = 0; 
  
  
  //alert(acepto);


  if (acepto == null || acepto == '') 
  { 
        $("#form_errores").append("No has aceptado las condiciones del servicio.<br/>"); 
        errors++; 
  } 


  if (tipo_cliente == null || tipo_cliente == '' || tipo_cliente == '0') 
  { 
        $("#form_errores").append("Selecciona si eres Particular, Empresa o Aut&#243;nomo.<br/>"); 
        errors++; 
  } 
  if (nombre_apellidos == null || nombre_apellidos == '') 
  { 
        $("#form_errores").append("Escribe tu nombre y apellidos.<br/>"); 
        errors++; 
  } 

  if (tipo_cliente == "1" && (dni == null || dni == '') ) 
  { 
        $("#form_errores").append("Escribe tu n&#250;mero de D.N.I.<br/>"); 
        errors++; 
  }
  
  if (tipo_cliente == "1" && dni == '12345678Z' ) 
  { 
        $("#form_errores").append("Escribe tu n&#250;mero de D.N.I. verdadero.<br/>"); 
        errors++; 
  }


  if (tipo_cliente == "2" && (cif == null || cif == '')) 
  { 
        $("#form_errores").append("Escribe tu n&#250;mero de C.I.F.<br/>"); 
        errors++; 
  }
  else if (tipo_cliente== "2" && CompruebaDatos(cif) == "2") 
  { 
        $("#form_errores").append("El C.I.F. facilitado no es v&#225;lido. Comprueba que no contenga puntos, espacios o guiones.<br/>"); 
        errors++; 
  }

  if (email_contacto == null || email_contacto == '') 
  { 
        $("#form_errores").append("Escribe tu email de contacto.<br/>"); 
        errors++; 
  } 
  else if ( email_contacto.length > 0 )
  {
    var filter=/^[A-Za-z.-][A-Za-z0-9_.-]*@[A-Za-z0-9_]+.[A-Za-z0-9_.]+[A-za-z]$/;
    if (!filter.test(email_contacto))
    {
      $("#form_errores").append("El email de contacto no es v&#225;lido.<br/>"); 
      errors++;
    }
  }

  if (telefono_contacto == null || telefono_contacto == '') 
  { 
        $("#form_errores").append("Escribe un telefono de contacto v&#225;lido.<br/>"); 
        errors++; 
  } 
  else if (!isNumeric(telefono_contacto)) 
  { 
        $("#form_errores").append("El tel&#233;fono debe contener s&#243;lo n&#250;meros. Comprueba que no contenga puntos, espacios o guiones.<br/>"); 
        errors++; 
  } 
  else if ( telefono_contacto.length != 9 )
  {
        $("#form_errores").append("El tel&#233;fono debe ser un número de 9 dígitos.<br/>"); 
        errors++; 
  }


  if (pais_cliente == "1") { 
      if (provincia_cliente_esp == null || provincia_cliente_esp == '' || provincia_cliente_esp == 0) 
      { 
        $("#form_errores").append("Selecciona la provincia donde vives.<br/>"); 
        errors++; 
      }
  }
  else if (pais_cliente == "2") {
      if (provincia_cliente_mex == null || provincia_cliente_mex == '' || provincia_cliente_mex == 0) 
      { 
        $("#form_errores").append("Selecciona la provincia donde vives.<br/>"); 
        errors++; 
      }
  }
  else if (pais_cliente == "3") {
      if (provincia_cliente_arg == null || provincia_cliente_arg == '' || provincia_cliente_arg == 0) 
      { 
        $("#form_errores").append("Selecciona la provincia donde vives.<br/>"); 
        errors++; 
      }
  }

  if (ciudad_cliente == null || ciudad_cliente == '') 
  { 
        $("#form_errores").append("Escribe la ciudad donde vives.<br/>"); 
        errors++; 
  } 
  

  if (errors > 0) 
  { 
        $("#form_errores").fadeIn(1000);
        return false; 
  } 

  return true;      
} 



function isNumeric(form_value) 
{ 
    if (form_value.match(/^\d+$/) == null) 
        return false; 
    else 
        return true; 
} 


//---------------
 // Comprueba la entrada de datos del CIF
 function CompruebaDatos(cif) 
 {
  var result = false;
  // pasar a may&#250;sculas
  var temp = cif.toUpperCase(); 
  if (!/^[A-Za-z0-9]{9}$/.test(temp)) {
   // Son 9 d&#237;gitos?
   //alert ("Longitud incorrecta, un CIF consta de 9 d&#237;gitos");
  result = 2
  }
  else if (!/^[ABCDEFGHKLMNPQS]/.test(temp)) {
   // Es una letra de las admitidas?
   //alert("El primer d&#237;gito es incorrecto, debe ser una letra de las siguientes: A,B,C,D,E,F,G,H,K,L,M,N,P,Q,S ");
  result = 2
  }
  else
    result = 1;

  return result;
 }

  // La funci&#243;n recibe el CIF completo: A58818501
  function ValidaCIF(cif)
  {
   var v1 = new Array(0,2,4,6,8,1,3,5,7,9);
   var temp = 0;
   for( i = 2; i <= 6; i += 2 ) 
   {
    temp = temp + v1[ parseInt(cif.substr(i-1,1))];
    temp = temp + parseInt(cif.substr(i,1));
   };
   temp = temp + v1[ parseInt(cif.substr(7,1))];
   temp = (10 - ( temp % 10));
   if( temp == 10 )
    alert( "El d&#237;gito de control es: J &#243; 0" );
   else
    alert( "El d&#237;gito de control es: "+temp );
   return true;
  }
//----------




// post-submit callback 

function showResponse(responseText, statusText)  { 
/*
        1 = NIF ok, 
        2 = CIF ok, 
        3 = NIE ok, 
       -1 = NIF bad, 
       -2 = CIF bad, 
       -3 = NIE bad,  
*/

  if (responseText == "0")
  {
    $("#form_errores").append("No es posible reconocer el formato del identificador de NIF/CIF. <br/>"); 
    $("#form_errores").fadeIn(1000);
  }
  if (responseText == "-1")
  {
    $("#form_errores").append("El NIF introducido no es v&#225;lido.<br/>"); 
    $("#form_errores").fadeIn(1000);
  }
  if (responseText == "-2")
  {
    $("#form_errores").append("El CIF introducido no es v&#225;lido.<br/>"); 
    $("#form_errores").fadeIn(1000);
  }
  if (responseText == "-3")
  {
    $("#form_errores").append("El NIE introducido no es v&#225;lido.<br/>"); 
    $("#form_errores").fadeIn(1000);
  }

  if (responseText == true || responseText > 0)
  {
   //bloquear el formulario
   $('#tipo_cliente').attr("disabled", true); 
   $("#nombre_apellidos").attr("disabled", true);
   $("#dni").attr("disabled", true);
   $("#cif").attr("disabled", true);
   $("#email_contacto").attr("disabled", true);
   $("#telefono_contacto").attr("disabled", true);
   $("#pais_cliente").attr("disabled", true);
   $("#provincia_cliente").attr("disabled", true);
   $("#ciudad_cliente").attr("disabled", true);
  

    $("#boton_enviar").hide(); 
    $("#form_errores").fadeOut(500);
  
    $("#mensaje_mail").text("Tu solucitud ha sido enviada. En unos momentos enviaremos a tu email los datos de acceso para completar el proceso de alta. Gracias.");
    $("#mensaje_mail").fadeIn(500);
    $("#capa_botones").fadeIn(500); 
  }
} 


});