// JavaScript Document

var upload_form_delete = null;
var	error = "" 

function validar(){  //validacion del formulario 
	var d = document.formulario 
	error = "";
	if (!(d.politica.checked))
		{ error+="\n* Para darse de alta tiene que aceptar la política de privacidad.";}
	if (d.EmpresaRazonSocial.value=="") 
		{error+="\n* Nombre Comercial debe ser completado";}
	if (d.EmpresaNIF.value=="") 
		{	error+="\n* C.I.F. o N.I.F. debe ser completado";}
	else 
		{
			if (d.cif[0].checked) 
			{	CompruebaDatos();
				ValidaCIF(); }
			else
			{ validarNIF(d.EmpresaNIF.value); }
		}
	if (d.EmpresaActividad.value=="") 
		{error+="\n* Actividad debe ser completado";}
	if (d.Direccion.value=="") 
		{error+="\n* Direccion debe ser completado";}
	if (d.Poblacion.value=="") 
		{error+="\n* Poblacion debe ser completado";}
	if (d.Provincia.value=="") 
		{error+="\n* Provincia debe ser completado";}
	if (d.Pais.value=="") 
		{error+="\n* Pais debe ser completado";}
	if (d.Telefono.value=="" || isNaN(d.Telefono.value)) 
		{error+="\n* Telefono debe ser completado con un valor numerico";}
	if (d.TelefonoAlternativo.value!="" && isNaN(d.TelefonoAlternativo.value)) 
		{error+="\n* Telefono alternativo debe ser completado con un valor numerico";}
	if (d.CodigoPostal.value!="" && isNaN(d.CodigoPostal.value)) 
		{error+="\n* Codifo Postal debe ser completado con un valor numerico";}
	if (d.Email.value=="") 
		{error+="\n* E-mail debe ser completado";}
	if (d.Email.value!=d.EmailConfirmacion.value) 
		{error+="\n* El e-mail y la confirmacion no coinciden";}
	if (d.clave.value=="") 
		{error+="\n* Clave debe ser completado";}
	if (d.clave.value!=d.claveconfirmacion.value) 
		{error+="\n* La clave y la confirmacion no coinciden";}	
	if (d.Nombre.value=="") 
		{error+="\n* Nombre debe ser completado";}
	if (d.Apellido.value=="") 
		{error+="\n* Apellido debe ser completado";}
	if (d.EmpresaCargo.value=="") 
		{error+="\n* Cargo debe ser completado";}

	if (error!=""){ 
	 alert("El formulario está incompleto o contiene errores:\t\t\t\n"+error); 
	}else{ 
	 d.submit(); 
	} 
} 

letras = new Array();
  letras[0]  = "T";
  letras[1]  = "R";
  letras[2]  = "W";
  letras[3]  = "A";
  letras[4]  = "G";
  letras[5]  = "M";
  letras[6]  = "Y";
  letras[7]  = "F";
  letras[8]  = "P";
  letras[9]  = "D";
  letras[10] = "X";
  letras[11] = "B";
  letras[12] = "N";
  letras[13] = "J";
  letras[14] = "Z";
  letras[15] = "S";
  letras[16] = "Q";
  letras[17] = "V";
  letras[18] = "H";
  letras[19] = "L";
  letras[20] = "C";
  letras[21] = "K";
  letras[22] = "E";

function validarNIF(nif){
  txtError = "";
  ok = true;

  dni=nif.substring(0,nif.length-1);
  dni=parseInt(dni, 10);
  letra=nif.charAt(nif.length-1);
	primer = nif.substring(0,1);
  letraCorrecta = letras[ dni % 23];
  var temp = nif.toUpperCase();

   if (!/^[A-Za-z0-9]{9}$/.test(temp))  // Son 9 dígitos? 
	{error+="\n* Longitud incorrecta, un NIF consta de 9 dígitos";
	ok = false;}
//	 else if (primer==0) {
//		error+= "El primer carácter del NIF no debe ser un 0.";
//		ok = false;
//	 }
	
//	if (dni > 99999999){ 
//    txtError += "El N.I.F. debe tener 8 cifras\n";
//    ok = false; }
   //else if(letra<"a" || letra>"Z"){
		else 	if(!/[A-Za-z]$/.test(temp)) {
    error+= "El último carácter del NIF debe ser una letra";
    ok = false;
  } else if(letra.toUpperCase()!=letraCorrecta) {
    error+= "NIF: la letra no es correcta.";
    ok = false;
  }

  if (ok) {
    return true;
  }else{
  //  alert(txtError);
    return false;
  }
}


// Función que comprueba la entrada de datos
function CompruebaDatos() 
{
  var d = document.formulario 
  var resul = false;
  var temp = d.EmpresaNIF.value.toUpperCase(); // pasar a mayúsculas
  if (!/^[A-Za-z0-9]{9}$/.test(temp))  // Son 9 dígitos? 
	{error+="\n* Longitud incorrecta, un CIF consta de 9 dígitos";}
  else if (!/^[ABCDEFGHKLMNPQS]/.test(temp)) // Es una letra de las admitidas ?
	{error+="\n* El primer dí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 ";}
  else 
     resul = true;
  return resul;
}

// Función de validación del CIF, indica el dígito de control.
// La función recibe el CIF completo: A58818501
function ValidaCIF() 
{
  var d = document.formulario 
  var v1 = new Array(0,2,4,6,8,1,3,5,7,9); 
  var temp = 0; 
  var temp1;
  for( i = 2; i <= 6; i += 2 ) 
    {
      temp = temp + v1[ parseInt(d.EmpresaNIF.value.substr(i-1,1)) ];
      temp = temp + parseInt(d.EmpresaNIF.value.substr(i,1));
    }
  temp = temp + v1[ parseInt(d.EmpresaNIF.value.substr(7,1)) ];
  temp = (10 - ( temp % 10));
  return true;
}