  function isEmail( text )
  {     
    var pattern = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
    var regex = new RegExp( pattern );
    return regex.test( text );
  }
  
  function isNIF( dni )
  {
    numero = dni.substr(0,dni.length-1);
    let = dni.substr(dni.length-1,1);
    numero = numero % 23;
    letra='TRWAGMYFPDXBNJZSQVHLCKET';
    letra=letra.substring(numero,numero+1);
    if (letra!=let) 
      return false;
    else
      return true;
  }
  
  function isCIF( abc )
  {
    par = 0;
	non = 0;
	letras = "ABCDEFGHKLMNPQS";
	let = abc.charAt(0);
	if (abc.length!=9)
	{
	  return false;
	}
	if (letras.indexOf(let.toUpperCase())==-1)
	{
	  return false;
	}
	for (zz=2;zz<8;zz+=2)
	{
	  par = par+parseInt(abc.charAt(zz));
	}
	for (zz=1;zz<9;zz+=2)
	{
	  nn = 2*parseInt(abc.charAt(zz));
	  if (nn > 9) nn = 1+(nn-10);
	  non = non+nn;
	}
	parcial = par + non;
	control = (10 - ( parcial % 10));
	if (control==10) control=0;
	if (control!=abc.charAt(8))
	{
	  return false;
	}
	return true;
  }

  function validar_cliente()
  {
    var frm_cliente = document.forms.frm_cliente;
	var frm_ok = true;
	var boleano_foco = false;

	if (frm_cliente.cliente_usuario.value=='')
	{
	  document.getElementById('cliente_error_usuario').style.display='block';
	  if (!boleano_foco)
	  {
	    frm_cliente.cliente_usuario.focus();
	    boleano_foco = true;
	  }
	  frm_ok = false;
	}
	else
	{
	  document.getElementById('cliente_error_usuario').style.display='none';
	}
	
	if (frm_cliente.cliente_clave.value=='')
	{
	  document.getElementById('cliente_error_clave').style.display='block';
	  if (!boleano_foco)
	  {
	    frm_cliente.cliente_clave.focus();
	    boleano_foco = true;
	  }
	  frm_ok = false;
	}
	else
	{
	  document.getElementById('cliente_error_clave').style.display='none';
	}

	if (frm_cliente.cliente_nombre.value=='')
	{
	  document.getElementById('cliente_error_nombre').style.display='block';
	  if (!boleano_foco)
	  {
	    frm_cliente.cliente_nombre.focus();
	    boleano_foco = true;
	  }
	  frm_ok = false;
	}
	else
	{
	  document.getElementById('cliente_error_nombre').style.display='none';
	}

	if (frm_cliente.cliente_cargo.value=='')
	{
	  document.getElementById('cliente_error_cargo').style.display='block';
	  if (!boleano_foco)
	  {
	    frm_cliente.cliente_cargo.focus();
	    boleano_foco = true;
	  }
	  frm_ok = false;
	}
	else
	{
	  document.getElementById('cliente_error_cargo').style.display='none';
	}

	if (frm_cliente.cliente_empresa.value=='')
	{
	  document.getElementById('cliente_error_empresa').style.display='block';
	  if (!boleano_foco)
	  {
	    frm_cliente.cliente_empresa.focus();
	    boleano_foco = true;
	  }
	  frm_ok = false;
	}
	else
	{
	  document.getElementById('cliente_error_empresa').style.display='none';
	}
	
	if (frm_cliente.cliente_sector.value=='')
	{
	  document.getElementById('cliente_error_sector').style.display='block';
	  if (!boleano_foco)
	  {
	    frm_cliente.cliente_sector.focus();
	    boleano_foco = true;
	  }
	  frm_ok = false;
	}
	else
	{
	  document.getElementById('cliente_error_sector').style.display='none';
	}
	
	if ( (!isNIF(frm_cliente.cliente_nif.value)) && (!isCIF(frm_cliente.cliente_cif.value)) )
	{
	  alert('Error: Debe introducir su NIF/CIF');
	}
	else
	{
	  document.getElementById('cliente_error_nif').style.display='none';
	  document.getElementById('cliente_error_cif').style.display='none';
	}
	
	if (frm_cliente.cliente_direccion.value=='')
	{
	  document.getElementById('cliente_error_direccion').style.display='block';
	  if (!boleano_foco)
	  {
	    frm_cliente.cliente_direccion.focus();
	    boleano_foco = true;
	  }
	  frm_ok = false;
	}
	else
	{
	  document.getElementById('cliente_error_direccion').style.display='none';
	}
	
	if (frm_cliente.cliente_localidad.value=='')
	{
	  document.getElementById('cliente_error_localidad').style.display='block';
	  if (!boleano_foco)
	  {
	    frm_cliente.cliente_localidad.focus();
	    boleano_foco = true;
	  }
	  frm_ok = false;
	}
	else
	{
	  document.getElementById('cliente_error_localidad').style.display='none';
	}
	
	if (frm_cliente.cliente_provincia.value=='')
	{
	  document.getElementById('cliente_error_provincia').style.display='block';
	  if (!boleano_foco)
	  {
	    frm_cliente.cliente_provincia.focus();
	    boleano_foco = true;
	  }
	  frm_ok = false;
	}
	else
	{
	  document.getElementById('cliente_error_provincia').style.display='none';
	}
	
	if (frm_cliente.cliente_cp.value=='')
	{
	  document.getElementById('cliente_error_cp').style.display='block';
	  if (!boleano_foco)
	  {
	    frm_cliente.cliente_cp.focus();
	    boleano_foco = true;
	  }
	  frm_ok = false;
	}
	else
	{
	  document.getElementById('cliente_error_cp').style.display='none';
	}
	
	if (frm_cliente.cliente_telefono.value=='')
	{
	  document.getElementById('cliente_error_telefono').style.display='block';
	  if (!boleano_foco)
	  {
	    frm_cliente.cliente_telefono.focus();
	    boleano_foco = true;
	  }
	  frm_ok = false;
	}
	else
	{
	  document.getElementById('cliente_error_telefono').style.display='none';
	}
	
	if (!isEmail(frm_cliente.cliente_email.value))
	{
	  document.getElementById('cliente_error_email').style.display='block';
	  frm_cliente.cliente_email.value='';
	  if (!boleano_foco)
	  {
	    frm_cliente.cliente_email.focus();
	    boleano_foco = true;
	  }
	  frm_ok = false;
	}
	else
	{
	  document.getElementById('cliente_error_email').style.display='none';
	}
	
	return frm_ok;
  }