function obtenerValor (campo, vType)
{   
   valor = "";  sep = "";  hits = 0;
   
   if (vType == "text") return (campo.value);
   
   if (vType == "textarea") return (campo[0].value);
   
   if (vType == "select")
   {   
     for (var i = 0; i < campo.options.length; i++)
     {   
       if (campo.options[i].selected)
       {   
          if (campo.options[i].value=="")  valor += campo.options[i].text
          else valor+= campo.options[i].value
        }
     }
     return (valor);
   }
   if (vType == "checkbox" || vType == "radio")
   {   
     if (campo.value == null)
     {   
       for (var i = 0; i < campo.length; i++)
       {   
         if (campo[i].checked)
         {   
           hits++;
           if ( hits > 1 ) sep =","
           valor += sep + campo[i].value;
         }
       }
     }
     return (valor);
   }   
   else 
   { 
    if (campo.checked ) return (campo.value);
    else return ("");
   }
}

function muestracombo(campo)
{
  if (document.layers)	
   {return document.layers[campo].visibility="show"; }
  if (document.all) 
   {return document.all[campo].style.visibility="visible"; }
  if (document.getElementById) 
   {	return document.getElementById(campo).style.visibility="visible"; }
}

function ocultacombo(campo)
{
  if (document.layers)	
   {return document.layers[campo].visibility="hide"; }
  if (document.all) 
   {return document.all[campo].style.visibility="hidden"; }
  if (document.getElementById) 
   {	return document.getElementById(campo).style.visibility="hidden"; }
}

function esNumero(argvalue)
{ for (var n = 0; n < argvalue.length; n++)
    if (argvalue.substring(n, n+1) < "0" || argvalue.substring(n, n+1) > "9") return -1;
 return 0;
}

function returnFormIra()
{	
  if (document.irapagina)	return document.irapagina;
  else if (irapagina)	return irapagina;
}

function checkpagina(tope)
{	
  formir = returnFormIra();
  var valor
  valor = formir.pag.value;
  if (valor == "" )
  {
      formir.pag.value = "";
      return false;
  }

  if (esNumero(valor) == -1)
  {
    formir.pag.value = "";
    return false;
  }
  
  if (valor < 1 || valor > tope)
  {
         formir.pag.value = "";
		 return false;
  }
  return true;
}

function returnFormBusca()
{	
  if (document.formbusca)	return document.formbusca;
  else if (formbusca)	return formbusca;
}

function checkbuscador()
{	
  form = returnFormBusca();
  var valor
  valor = form.txtbusca.value;
  
  if (valor == "" )
  {
      return false;
  }

  return true;
}

function returnFormOrden()
{	
  if (document.ordenapor)	return document.ordenapor;
  else if (ordenapor)	return ordenapor;
}

function checkorden()
{	
  form = returnFormOrden();
  var valor
  valor = form.Filtro.value;
  
  if (valor == "" )
  {
      return false;
  }

  return true;
}

function BotonOrden()
{
  form = returnFormOrden();
  var valor
  valor = form.Filtro.value;
  var t
  
  if (document.getElementById)
  {
	t = document.getElementById("exeord"); 
  }
  else 
  {	
    t = document.all("exeord"); 
  }
  if (t==null) {	return; }
  
  if (valor != "" )
  {
      t.className ="ordresaltado";
	  form.exeord.focus();
  }
  else
  { 
      t.className ="ordnormal";
  }
}

function checkpedido(form,unid)
{	
  var valor
  valor = form.unidArt.value

  if (valor == unid )
  {
     form.unidArt.value = unid
     return false;
  }
  
  if (valor == "" )
  {
     form.unidArt.value = unid
     return false;
  }

  if (esNumero(valor) == -1)
  {
     form.unidArt.value = unid
    return false;
  }
  
  if (valor <= 0)
  {
     form.unidArt.value = unid
    return false;
  }
  return true;
}

function checklstpedidos(form)
{
var qrd
var qrm
var qra
var qrs1
var qrs2
var cadena

  if (!esVacio(form.qrltmail.value))
  {
   if (!checkEmail(form.qrltmail.value))
   {		
     alert('Campo E-MAIL no válido.');
	 form.qrltmail.focus();
     return false;
   }
  }
  
  if (!esVacio(form.qrfcini.value))
  {
    cadena = form.qrfcini.value;  
	if (cadena.length !=10)
	{
        alert('La FECHA debe tener formato dd/mm/aaaa o dd-mm-aaaa.');
	    form.qrfcini.focus();
        return false;
	}
	else
	{		 
         qrd = cadena.substring(0, 2);
         qrs1 = cadena.substring(2, 3);
         qrm = cadena.substring(3, 5);
         qrs2 = cadena.substring(5, 6);
         qra = cadena.substring(6);
		  if ((qrs1 != '/' && qrs1 != '-') || (qrs2 !='/' && qrs2 != '-'))
		  {
             alert('La FECHA debe tener formato dd/mm/aaaa o dd-mm-aaaa.');
	         form.qrfcini.focus();
             return false;
		  }
		  else
		  {
             if (!validarFecha(qrd,qrm,qra))
			 {
 	           form.qrfcini.focus();
               return false;
	         } 			 
		  }
     }
  }

  if (!esVacio(form.qrfcfin.value))
  {
    cadena = form.qrfcfin.value;  
	if (cadena.length !=10)
	{
        alert('La FECHA debe tener formato dd/mm/aaaa o dd-mm-aaaa.');
	    form.qrfcfin.focus();
        return false;
	}
	else
	{		 
         qrd = cadena.substring(0, 2);
         qrs1 = cadena.substring(2, 3);
         qrm = cadena.substring(3, 5);
         qrs2 = cadena.substring(5, 6);
         qra = cadena.substring(6);
		  if ((qrs1 != '/' && qrs1 != '-') || (qrs2 !='/' && qrs2 != '-'))
		  {
             alert('La FECHA debe tener formato dd/mm/aaaa o dd-mm-aaaa.');
	         form.qrfcfin.focus();
             return false;
		  }
		  else
		  {
             if (!validarFecha(qrd,qrm,qra))
			 {
 	           form.qrfcfin.focus();
               return false;
	         } 			 
		  }
     }
  }

}

function checklstclientes(form)
{
var qrd
var qrm
var qra
var qrs1
var qrs2
var cadena

  if (!esVacio(form.qrltmail.value))
  {
   if (!checkEmail(form.qrltmail.value))
   {		
     alert('Campo E-MAIL no válido.');
	 form.qrltmail.focus();
     return false;
   }
  }
  
  if (!esVacio(form.qrfcini.value))
  {
    cadena = form.qrfcini.value;  
	if (cadena.length !=10)
	{
        alert('La FECHA debe tener formato dd/mm/aaaa o dd-mm-aaaa.');
	    form.qrfcini.focus();
        return false;
	}
	else
	{		 
         qrd = cadena.substring(0, 2);
         qrs1 = cadena.substring(2, 3);
         qrm = cadena.substring(3, 5);
         qrs2 = cadena.substring(5, 6);
         qra = cadena.substring(6);
		  if ((qrs1 != '/' && qrs1 != '-') || (qrs2 !='/' && qrs2 != '-'))
		  {
             alert('La FECHA debe tener formato dd/mm/aaaa o dd-mm-aaaa.');
	         form.qrfcini.focus();
             return false;
		  }
		  else
		  {
             if (!validarFecha(qrd,qrm,qra))
			 {
 	           form.qrfcini.focus();
               return false;
	         } 			 
		  }
     }
  }

  if (!esVacio(form.qrfcfin.value))
  {
    cadena = form.qrfcfin.value;  
	if (cadena.length !=10)
	{
        alert('La FECHA debe tener formato dd/mm/aaaa o dd-mm-aaaa.');
	    form.qrfcfin.focus();
        return false;
	}
	else
	{		 
         qrd = cadena.substring(0, 2);
         qrs1 = cadena.substring(2, 3);
         qrm = cadena.substring(3, 5);
         qrs2 = cadena.substring(5, 6);
         qra = cadena.substring(6);
		  if ((qrs1 != '/' && qrs1 != '-') || (qrs2 !='/' && qrs2 != '-'))
		  {
             alert('La FECHA debe tener formato dd/mm/aaaa o dd-mm-aaaa.');
	         form.qrfcfin.focus();
             return false;
		  }
		  else
		  {
             if (!validarFecha(qrd,qrm,qra))
			 {
 	           form.qrfcfin.focus();
               return false;
	         } 			 
		  }
     }
  }

}

function checkformarea(form)
{
	if (!checkEmail(form.ltMail.value))
	{		
      alert('Campo E-MAIL no válido.');
	  form.ltMail.focus();
      return false;
	}

    if (esVacio(form.ltPassword.value))
	{
      alert('Campo CONTRASEÑA no informado.');
	  form.ltPassword.focus();
      return false;
	}
}

function checkformolvido(form)
{
	if (!checkEmail(form.ltMailOlv.value))
	{		
      alert('Campo E-MAIL no válido.');
	  form.ltMailOlv.focus();
      return false;
	}

}

function checkformulario(form,pass)
{
	if (esVacio(form.ltNombre.value))
	{		
      alert('Campo NOMBRE no informado.');
	  form.ltNombre.focus();
      return false;
	}
	if (esVacio(form.ltApellido.value))
	{		
      alert('Campo APELLIDOS no informado.');
	  form.ltApellido.focus();
      return false;
	}
    if (esVacio(form.fcNacAnyo.value))
	{
      alert('Campo FECHA DE NACIMIENTO no válido.');
	  form.fcNacAnyo.focus();
      return false;
	}
	var aaaa = form.fcNacAnyo.value;
    if (!caracter(form.fcNacAnyo.value,"es_numero"))
	{
      alert('Campo FECHA DE NACIMIENTO no válido.');
	  form.fcNacAnyo.focus();
      return false;
	}
    if (aaaa.length != 4 )
	{  
      alert('Campo FECHA DE NACIMIENTO no válido. Formato válido dd / mm / aaaa.');
	  form.fcNacAnyo.focus();
      return false;
	}

    if (!validarFecha(form.fcNacDia.value,form.fcNacMes.value,form.fcNacAnyo.value))
	{
	  form.fcNacDia.focus();
      return false;
	}

    if (calcular_edad(form.fcNacDia.value,form.fcNacMes.value,form.fcNacAnyo.value)<18)
	{
      alert('Si eres menor de 18 años tú no puedes comprar y nosotros no debemos vender.');
	  form.fcNacDia.focus();
      return false;
	}

	if ((form.ltSexo.value !="Hombre") && (form.ltSexo.value!= "Mujer"))
	{
      alert('Campo SEXO no válido.');
	  form.ltSexo.focus();
      return false;
	}
	
	if (!validarNIFNIE(form.indTipDoc.value,form.nuDocumento.value))
	{
	  form.nuDocumento.focus();
      return false;
	}
    if (!esVacio(form.nuSocio.value))
	{
	  if (form.indSocio.checked != true)
	  {
        alert('Ha tecleado una identificación de socio, pero el check de socio no esta marcado.');
	    form.indSocio.focus();
        return false;
	  }
	}
	if (!checkEmail(form.ltMail.value))
	{		
      alert('Campo E-MAIL no válido.');
	  form.ltMail.focus();
      return false;
	}

    if (pass == "no")
	{
      if (!esVacio(form.ltPassword.value))
	  {
       if (esVacio(form.ltPassword2.value))
	   {
         alert('Campo CONFIRMAR CONTRASEÑA no informado.');
  	     form.ltPassword2.focus();
         return false;
  	   }
       if (!caracter(form.ltPassword.value,"no_especial"))
	   {
         alert('Campo CONTRASEÑA no válido. Solo se admiten caracteres alfanúmericos.');
	     form.ltPassword.focus();
         return false;
	   }
       if (!caracter(form.ltPassword2.value,"no_especial"))
	   {
         alert('Campo CONFIRMAR CONTRASEÑA no válido. Solo se admiten caracteres alfanúmericos.');
	     form.ltPassword2.focus();
         return false;
  	   }
       if (form.ltPassword2.value != form.ltPassword.value)
	   {
         alert('No coinciden la CONTRASEÑA y la CONFIRMACION.');
	     form.ltPassword.focus();
         return false;
  	   }
	  }
	}
	else
	{
      if (esVacio(form.ltPassword.value))
	  {
        alert('Campo CONTRASEÑA no informado.');
	    form.ltPassword.focus();
        return false;
   	  }
      if (esVacio(form.ltPassword2.value))
	  {
        alert('Campo CONFIRMAR CONTRASEÑA no informado.');
  	    form.ltPassword2.focus();
        return false;
  	  }
      if (!caracter(form.ltPassword.value,"no_especial"))
	  {
        alert('Campo CONTRASEÑA no válido. Solo se admiten caracteres alfanúmericos.');
	    form.ltPassword.focus();
        return false;
	  }
      if (!caracter(form.ltPassword2.value,"no_especial"))
	  {
        alert('Campo CONFIRMAR CONTRASEÑA no válido. Solo se admiten caracteres alfanúmericos.');
	    form.ltPassword2.focus();
        return false;
  	  }
      if (form.ltPassword2.value != form.ltPassword.value)
	  {
        alert('No coinciden la CONTRASEÑA y la CONFIRMACION.');
	    form.ltPassword.focus();
        return false;
  	  }
	}
	
    if (esVacio(form.ltPregunta.value))
	{
      alert('Campo PREGUNTA DE SEGURIDAD no informado.');
	  form.ltPregunta.focus();
      return false;
	}
    if (esVacio(form.ltRespuesta.value))
	{
      alert('Campo RESPUESTA no informado.');
	  form.ltRespuesta.focus();
      return false;
	}
    if (esVacio(form.ltDireccion.value))
	{
      alert('Campo DOMICILIO no informado.');
	  form.ltDireccion.focus();
      return false;
	}
    if (esVacio(form.cdPostal.value))
	{
      alert('Campo CODIGO POSTAL no informado.');
	  form.cdPostal.focus();
      return false;
	}
    if (!caracter(form.cdPostal.value,"es_numero"))
	{
      alert('Campo CODIGO POSTAL no válido.');
	  form.cdPostal.focus();
      return false;
	}
//	var cdpos = form.cdPostal.value;
//    if (cdpos.length != 5 )
//	{  
//      alert('Campo CODIGO POSTAL no válido.');
//	  form.cdPostal.focus();
//      return false;
//	}

    if (esVacio(form.ltProvincia.value))
	{
      alert('Campo PROVINCIA no informado.');
	  form.ltProvincia.focus();
      return false;
	}
    if (form.ltProvincia.value == 0)
	{
      alert('Campo PROVINCIA no informado.');
	  form.ltProvincia.focus();
      return false;
	}
    if (esVacio(form.ltPoblacion.value))
	{
      alert('Campo POBLACION no informado.');
	  form.ltPoblacion.focus();
      return false;
	}
    if ((esVacio(form.nuTlf.value)) && (esVacio(form.nuTlf2.value)))
	{
      alert('Debe informar al menos un teléfono de contacto.');
	  form.nuTlf.focus();
      return false;
	}
    if (!esVacio(form.nuTlf.value))
	{
      if (!caracter(form.nuTlf.value,"es_numero"))
	  {
       alert('Campo TELEFONO no válido.');
	   form.nuTlf.focus();
       return false;
	  }
      if (!checkTelefono(form.nuTlf.value))
	  {
       alert('Campo TELEFONO no válido.');
	   form.nuTlf.focus();
       return false;
	  }
	}
    if (!esVacio(form.nuTlf2.value))
	{
      if (!caracter(form.nuTlf2.value,"es_numero"))
	  {
       alert('Campo TELEFONO no válido.');
	   form.nuTlf2.focus();
       return false;
	  }
      if (!checkTelefono(form.nuTlf2.value))
	  {
       alert('Campo TELEFONO no válido.');
	   form.nuTlf2.focus();
       return false;
	  }
	}
}

function checkrespuesta(form)
{
    if (esVacio(form.ltRespon.value))
	{
      alert('Campo RESPUESTA no informado.');
	  form.ltRespon.focus();
      return false;
	}
}


function esVacio(argvalue)
{ argvalue.replace(/(\s)/gi,'');
  if (argvalue.length == 0) return true;
  return false;
}

function checkEmail(email)
{
  var minEMail=email.toLowerCase();
  //Se pasa a minus. ya que se admiten minus. y mayus.
  //var isEmail = minEMail.match(/^\w+(-\w+)*(\.(-\w*)*)*@\w+(-\w+)*(\.\w+(-\w+)*)*\.([a-z]{3}|[a-z]{2})$/);
  var isEmail = minEMail.match(/^\w+([\.-]?\w+)*(\.(-\w*)*)*@\w+(-\w+)*(\.\w+(-\w+)*)*\.([a-z]{3}|[a-z]{2})$/);
  if (!isEmail)
  { //La dirección de correo no es válida
    return false;
  }
  else
  { //La dirección de correo es correcta
    return true;
  }
}

function caracter(cadena,tipo)
{
  var c=0;
  letras="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
  numero="0123456789";
  caracter_control="§#!|ºª\"\\·$%&/()=?¿¡{}+*'[]_,;:<>";
  letras_especiales="ñÑàèìòùáéíóúüçÁÉÍÓÚÜÇ ";
  signos_puntuacion=".,;:";
if (tipo == "es_numero")
{
  for (c=0;c<cadena.length;c++)
    if (numero.indexOf(cadena.charAt(c)) == -1)
      return false;
}
if (tipo == "no_numero")
{
  for (c=0;c<cadena.length;c++)
    if ((numero.indexOf(cadena.charAt(c)) != -1) ||(caracter_control.indexOf(cadena.charAt(c)) == 1))
      return false;
}
if (tipo == "es_letra")
{
  for (c=0;c<cadena.length;c++)
    if (letras.indexOf(cadena.charAt(c)) == -1)
      return false;
}
if (tipo == "numero_letra")
{
  for (c=0;c<cadena.length;c++)
    if ((letras.indexOf(cadena.charAt(c)) == -1) && (numero.indexOf(cadena.charAt(c)) == -1) && (letras_especiales.indexOf(cadena.charAt(c)) != -1))
      return false;
}
if (tipo == "caracter_control")
{
  for (c=0;c<cadena.length;c++)
    if (caracter_control.indexOf(cadena.charAt(c)) != -1)
      return false;
}
if (tipo == "no_especial")
{
  for (c=0;c<cadena.length;c++)
	{
    if ((numero.indexOf(cadena.charAt(c)) == -1) && (letras.indexOf(cadena.charAt(c)) == -1) && (signos_puntuacion.indexOf(cadena.charAt(c)) == -1) )
      return false;
  }
}

	return true;
}

// Dada una cadena valida si se trata de un NIF o de una Tarjeta de Residencia.
// Llama a una función u a otra dependiendo del primer carácter de la cadena.
function validarNIFNIE(tipodoc,doc)
{
  if (tipodoc=="NIF")
  {
      return validarNIF(doc);
  }
  else
  {
    if(doc.match(/^[A-Za-z]/))
    {
      return validarTarjetaResidencia(doc);
    }
    else
    {
      alert("El DOCUMENTO no parece ser una tarjeta de residencia válida.");
	  return false; 
    }
  }
}

// Dada una cadena valida si es un NIF valido
// devuelve error o la letra correcta para el DNI
function validarNIF(cadena)
{
  if (caracter(cadena,"es_numero"))
   {  if ((cadena.length>8)||(cadena.length==0))
      {  alert('El campo NIF no es válido');
         return false;
      }
      else
       { letraNIF=calculoLetraNIF(cadena);
         alert("La letra válida para el NIF es "+letraNIF);
         return false;
       }
   }
  else
   {  DNI = cadena.substring(0, cadena.length-1);
      letra = cadena.substring(cadena.length-1);
      if ( (esVacio(DNI)) || (!caracter(DNI,"es_numero")) || (!caracter(letra,"es_letra"))||DNI.length>8)
      {  alert('El campo NIF no es válido');
         return false;
      }
      else
       { letraNIF=calculoLetraNIF(DNI);
         if (letra.toUpperCase() != letraNIF)
          {  alert("La letra válida para el NIF es "+letraNIF);
             return false;
          }
         else return true;
       }
   }
}
// Dado un DNI calcula y devuelve la letra del NIF
function calculoLetraNIF(DNI)
{ var baremo;
  var letraNIF, letras = "TRWAGMYFPDXBNJZSQVHLCKET";
  baremo = DNI % 23; // equivale a DNI-23*(DNI/23)
  letraNIF = letras.charAt(baremo);
  return letraNIF;
}
// Dada una cadena valida representando una tarjeta de residencia, devuelve si es correcta o no.
// En caso de no informarse la letra, calcula y devuelve ésta.
function validarTarjetaResidencia(cadena)
{ if ((cadena.charAt(0)!="X") && (cadena.charAt(0)!="x"))
   { alert("La tarjeta de residencia ha de comenzar por X");
     return false;
   }
  cadena = cadena.substring(1,cadena.length);
  if (caracter(cadena,"es_numero"))
   { if ((cadena.length>7) || (esVacio(cadena)))
      { alert("Tarjeta de residencia no válida");
        return false;
      }
      else
       { letraTR=calculoLetraNIF(cadena);
         alert("La letra válida para la tarjeta de residencia es "+letraTR);
         return false;
       }
   }
   else
    { TR = cadena.substring(0, cadena.length-1);
      letra = cadena.substring(cadena.length-1);
      if ( (esVacio(TR)) || (!caracter(TR,"es_numero")) || (!caracter(letra,"es_letra"))||TR.length>7)
       { alert("Tarjeta de residencia no válida");
         return false;
       }
       else
        { letraTR=calculoLetraNIF(TR);
          if (letra.toUpperCase() != letraTR)
           { alert("La letra válida para la tarjeta de residencia es "+letraTR);
             return false;
           }
           else return true;
        }
    }
}

function validarFecha(dia,mes,anyo)
{ 
  if ( !caracter(dia,"es_numero") || !caracter(mes,"es_numero") || !caracter(anyo,"es_numero"))
  { alert ('La FECHA introducida no es válida'+'\n'+'El formato correcto es dd /mm/aaaa');
     return false;
  }
  if (anyo <= 1900)
  { alert ('La FECHA es incorrecta'+'\n'+'El año ha de ser superior a 1900');
    return false;
  }
  if ((dia < 1) || (dia > 31) || (mes < 1) || (mes > 12) || (anyo < 0))
  { alert ('La FECHA es incorrecta');
    return false;
  }
  if ( mes == 2 )
  { if ( dia > 29 )
    { alert ('La FECHA es incorrecta');
      return false;
    }
    if ( (dia ==29 ) && !(bisiesto(anyo)) )
    { alert ('La FECHA es incorrecta, el año '+anyo+ ' no es bisiesto');
       return false;
    }
  }
  else 
  {
    if (( dia == 31 ) && (( mes == 4 ) || ( mes == 6 ) || ( mes == 9 ) || ( mes == 11 )))	
    { alert ('La FECHA es incorrecta, el mes especificado no tiene 31 días.'+'\n'+'El formato correcto es dd/mm/aaaa');
      return false;
    }
  }
  return true;
}
// Comprueba si un año es bisiesto, se le pasa el año
function bisiesto(anyo)
{ if ((anyo%400 == 0)||(anyo%4 == 0)||(anyo%100 == 0)) return true;
  else return false;
}
//calcular la edad de una persona
function calcular_edad(dia,mes,anyo)
{ 
  //calculo la fecha de hoy
  hoy=new Date();
  //resto los años de las dos fechas
  edad=hoy.getUTCFullYear()- anyo - 1; //-1 porque no se si ha cumplido años ya este año
  //si resto los meses y me da menor que 0 entonces no ha cumplido años. Si da mayor si ha cumplido
  if (hoy.getUTCMonth() + 1 - mes < 0) //+ 1 porque los meses empiezan en 0
  { return edad; }
  if (hoy.getUTCMonth() + 1 - mes > 0) { return edad+1; }
  
  //entonces es que eran iguales. miro los dias
  //si resto los dias y me da menor que 0 entonces no ha cumplido años. Si da mayor o igual si ha cumplido
  if (hoy.getUTCDate() - dia >= 0) { return edad + 1; }
  
  return edad
}

function checkTelefono(numero)
{ 
  charTelefono=numero.substring(0,1);
  if ((charTelefono=="6")&&(numero.length==9)) 
  { 
    return true; 
  }
  else
  {
    if ((charTelefono=="9")&&(numero.length==9)) 
	{ 
	 return true; 
	}
    else 
	{ 
	  return false; 
	}
  }
}

function checkentrega()
{
	var form
	if (document.formDirEntrega) 
	   form = document.formDirEntrega; 
	else if (formDirEntrega) 
	      form = formDirEntrega;
		  
    if (esVacio(form.ltDirEnv.value))
	{
      alert('Campo DOMICILIO no informado.');
	  form.ltDirEnv.focus();
      return false;
	}
    if (esVacio(form.cdPosEnv.value))
	{
      alert('Campo CODIGO POSTAL no informado.');
	  form.cdPosEnv.focus();
      return false;
	}
    if (!caracter(form.cdPosEnv.value,"es_numero"))
	{
      alert('Campo CODIGO POSTAL no válido.');
	  form.cdPosEnv.focus();
      return false;
	}

    if (esVacio(form.ltProEnv.value))
	{
      alert('Campo PROVINCIA no informado.');
	  form.ltProEnv.focus();
      return false;
	}
    if (form.ltProEnv.value == 0)
	{
      alert('Campo PROVINCIA no informado.');
	  form.ltProEnv.focus();
      return false;
	}
    if (esVacio(form.ltPobEnv.value))
	{
      alert('Campo POBLACION no informado.');
	  form.ltPobEnv.focus();
      return false;
	}
}
function confirmar(txtconf)
{
	return confirm(txtconf);
}

function CambioUnidades(orden,original)
{
  var txtform
  var txtdocu
  var form
  var t

  if (document.getElementById)
  {
	t = document.getElementById("exeup"+orden); 
  }
  else 
  {	
    t = document.all("exeup"+orden); 
  }
  if (t==null) {return;}

  form=""
  txtform="modifart"+orden;
  txtdocu="document."+txtform;
  
  if (eval(txtdocu)) form = eval(txtdocu);
  else if (eval(txtform)) form = eval(txtform);
  
  if (form=="")
  {
    t.className ="modifboton";
	return;
  }

  if (form==null)
  {
    t.className ="modifboton";
	return;
  }


  if (checkpedido(form,original))
  {
    t.className ="modifbotonresaltado";
  }
  else
  {
    t.className ="modifboton";
  }
  return;
}

function returnFormGasto()
{	
  if (document.modifgasto)	return document.modifgasto;
  else if (modifgasto)	return modifgasto;
}
function CambioGasto(destino,pago)
{
  var form;
  var dst;
  var prg;
  form = returnFormGasto();

  dst= obtenerValor (form.gtosenvio, "select");
  prg= obtenerValor (form.fmapago, "select");
  var t;
  if (document.getElementById)
  {
	t = document.getElementById("exepago"); 
  }
  else 
  {	
    t = document.all("exepago"); 
  }
  if (t==null) {return;}


  if ((dst==destino) && (prg==pago))
  {
    t.className ="gastoboton";
  }
  else
  {
    t.className ="gastobotonresaltado";
  }
  return;
}


function checkdatos(tipo,valor)
{
        var check;

		switch(tipo) {
			case "url":
				check = /http:\/\//i;
				break;
			case "email":
				// http://regexlib.com/UserPatterns.aspx?authorId=1758
  	      	   check = /^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$/i;
				break;
			case "date":
				check = /(((0[1-9]|[12][0-9]|3[01])([-/])(0[13578]|10|12)([-/])(\d{4}))|(([0][1-9]|[12][0-9]|30)([-/])(0[469]|11)([-/])(\d{4}))|((0[1-9]|1[0-9]|2[0-8])([-/])(02)([-/])(\d{4}))|((29)(\-|\/)(02)([-/])([02468][048]00))|((29)([-/])(02)([-/])([13579][26]00))|((29)([-/])(02)([-/])([0-9][0-9][0][48]))|((29)([-/])(02)([-/])([0-9][0-9][2468][048]))|((29)([-/])(02)([-/])([0-9][0-9][13579][26])))/;
				break;
			case "usu612":
				check = /^[0-9a-zA-Z_]{6,12}$/i;
				break;
			case "pass612":
				check = /^[0-9a-zA-Z_]{6,12}$/i;
				break;
			case "textosimple":
				check = /^[0-9a-zA-Z_]+$/i;
				break;
			case "nomarchivo":
				check = /^[0-9a-z_]+\.[0-9a-z]{1,5]$/i;
				break;
			case "entero":
				check = /^[0-9]+$/;
				break;
			case "SN":
				check = /^[SN]$/;
				break;
			case "telFijo":
			    	check = /^[0,8,9][0-9]{2}[0-9]{6,7}$/;
				    errmsg = VALID.telefono;
				    break;
			case "telMovil":
			    	check = /^[6][0-9]{8}$/;
				    errmsg = VALID.telefono;
				    break;
			default:
				check = /[0-9a-z_]/ ;
				break;
		}

		if (check.test(valor))
		{
			 return true;
		}
		else 
		{
			 return false;
		}
}

