function bisiesto (anyo) 
{
  if ((anyo % 100) == 0){
   if ((anyo % 400) == 0){ return true; }
  }
  else {
   if ((anyo % 4) == 0) { return true; }
  }
  return false;
}

function val_fecha (vDia, vMes, vAnyo, Error)
{
 if(vDia.length!=0 && vMes.length!=0 && vAnyo.length!=0)
 {
  if ((!isNaN(vDia))&&(!isNaN(vMes))&&(!isNaN(vAnyo)))
  {
    var error=0;
    var dia=vDia
    var mes=vMes
    var anyo=vAnyo
    if ((mes<1)||(mes>12)) { error=1; }
    if ((dia<1)||(dia>31)) { error=2; }
    if ((dia>30)&&((mes==4)||(mes==6)||(mes==9)||(mes==11))){ error=3 ;}
    if ((dia>28)&&(mes==2)&&(!bisiesto(anyo))) { error=4; }
    if ((dia>29)&&(mes==2)&&(bisiesto(anyo))) { error=5; }
    if (anyo<1900){ error=6;}
    if (error != 0)
    {
       return false;
    }
    return true;
  }
  else 
  {
   return false;
  }
 }
}

function val_horas (vHoras, vMinutos) 
{
  if ((vHoras.length!=0) && (vMinutos.length!=0))
  {
    if ( (!isNaN(vHoras)) && (!isNaN(vMinutos)) )
    {
	  error = 0;
	  if ( (vHoras <0) || (vHoras>23) ) error=1;
	  if ( (vMinutos < 0) || (vMinutos>59)) error=2;
	  if (error!=0)
	  {
	    return false;
	  }
	  return true;
    }
    return false;
  }
  return false;
}

function EnterQuery(form)
{
  form.reset();
  for (i=0; i<form.elements.length; i++)
  {
    if (((form.elements[i].className != "FieldOpcQu")&&(form.elements[i].className != "FieldOblQu"))&&
    (form.elements[i].type == "text"))
    { 
      form.elements[i].disabled = true;
    }
    if (form.elements[i].id == "Eq")
    {
       form.elements[i].style.display = "inline";
    }
    if (form.elements[i].id == "Qu")
    {
       form.elements[i].style.display = "none";
    }
    if ((form.elements[i].className == "FieldOblQu")&&(form.elements[i].type == "text"))
    {  
       form.elements[i].className = "FieldOblEq";
    }
    if ((form.elements[i].className == "FieldOpcQu")&&(form.elements[i].type == "text"))
    {
       form.elements[i].className = "FieldOpcEq";
    }   
  }
}

function CancelQuery(form)
{
  for (i=0; i<form.elements.length; i++)
  {
    if (form.elements[i].id == "Eq")
    {
      form.elements[i].style.display = "none";
    }
    if (form.elements[i].id == "Qu")
    {
      form.elements[i].style.display = "inline";
    }
    if ((form.elements[i].className == "FieldOblEq")&&(form.elements[i].type == "text"))
    {
      form.elements[i].className = "FieldOblQu";
    }
    if ((form.elements[i].className == "FieldOpcEq")&&(form.elements[i].type == "text"))
    {
      form.elements[i].className = "FieldOpcQu";
    }
    if (((form.elements[i].className != "FieldOpcQu")&&(form.elements[i].className != "FieldOblQu"))&&(form.elements[i].type == "text")&&(form.elements[i].className!="FieldCon"))
    {
      form.elements[i].disabled = false;
    }
 }
}

function ValFld(fld,fil)
{
  fil = fil + ",#";
  opc = fil.split(",");
  var error = false;
  for (i=0; i<opc.length; i++)
  {
   if (opc[i]=="U")
   {
    fld.value = fld.value.toUpperCase();
   }
   if (opc[i]=="@")
   {
	if (fld.value.length == 0)
	{
		return (true);
	}
    if (fld.value.indexOf("@") > -1)
    {
	   var CadAux  = fld.value.substr(fld.value.indexOf("@")+1 ,fld.value.length);
	   if (CadAux.indexOf("@")>-1)
	   {
		 fld.focus();
		 fld.select();
		 return(false);
	   }
	   else
	   {
		 if (CadAux.indexOf(".")-CadAux.indexOf("@")>1)
		 {
	       var CadAux2 = CadAux.substr(CadAux.indexOf(".")+1 ,CadAux.length);
	       if (CadAux2.length<1)
	       {
		     fld.focus();
		     fld.select();
		     return(false);
	       }
		 }
		 else
		 {
		   fld.focus();
		   fld.select();
		   return(false);
		 }
	   }
	}
	else
	{
	  fld.focus();
	  fld.select();
	  return(false);
	}
   }
   if (opc[i]=="A")
   {
    if (fld.value.match("[*0-9]")!=null)
    {
		fld.focus();
		fld.select();
		return(false);
	}
   }
   if (opc[i]=="N")
   {
    if (isNaN(fld.value))
    {
		fld.focus();
		fld.select();
		return(false);
    }
   }
   if (opc[i].indexOf("D")>-1)
   {
    if (fld.value.length>0)
    {
     if (opc[i].indexOf("[")==(opc[i].indexOf("D")+1)&&(opc[i].indexOf("ddmmyyyy")==-1))
     {
	    var fldFecha = '';
		var cadenaHora = '';
        var fldHora = '';
		var CheckHora = false;
        var Cadena = opc[i].substring(opc[i].indexOf("D")+2, opc[i].length);
        if (Cadena.indexOf("hh:mm") == -1) 
		{
		  Cadena = Cadena.substring(0,opc[i].indexOf("]")-2);
		  fldFecha = fld.value;
		}
		else
		{
		  cadenaHora = Cadena.substring (opc[i].indexOf(" ")-1, opc[i].indexOf("]")-2);
		  Cadena = Cadena.substring(0,opc[i].indexOf(" ")-2);
		  auxiliar = fld.value.split(" ");
		  if (auxiliar.length <= 1)
		  {
		    fld.focus();
			fld.select();
			return(false);  
		  }
		  fldFecha = auxiliar[0];
		  fldHora = auxiliar[1]; 
		  CheckHora = true;
		}
	    var valido = "dmy"
	    var temp;
		var Separador='';
	    Cadena = Cadena.toLowerCase();
	    for (j=0; j<Cadena.length; j++)
		{
	       temp = Cadena.substring(j, j+1);
	       if (valido.indexOf(temp) == "-1")
	       { 
	         if (Separador.length >0 && Separador != temp)
	         {
				fld.focus();
				fld.select();
				return(false);
	         }
	         else
	         {
    	        Separador = temp;
	         }
	       }
        }
	    var masFec = Cadena.split(Separador);
	    var Fecha = fldFecha.split(Separador);
	    if (masFec.length != Fecha.length)
  	    {
		   fld.focus();
           fld.select();
		   return(false);
	    }
	    else
	    {
	      for (j=0; j<masFec.length;j++)
	      {
	         if (masFec[j].length != Fecha[j].length)
	         {
			    fld.focus();
			    fld.select();
				return(false);
	         }
	         else
	         {
	           if ( masFec[j].indexOf("d") > -1 ) 
	           {
	             var vDia = Fecha[j];
	           }
	           else
	           {
	             if (masFec[j].indexOf("m")>-1)
		         {
		           var vMes = Fecha[j];
		         }
		         else
	   	         {
		           if ( masFec[j].indexOf("y")>-1)
		           {
		              var vAnyo = Fecha[j];
		           }
		         }
	           }
	         }
	      }
	    }
        error = !val_fecha (vDia, vMes, vAnyo, Error);
		if (error == true)
		{
		    fld.focus();
		    fld.select();
			return(false);
		}
        if (CheckHora)
        {
          var masHora = cadenaHora.split(":");
	      var Hora = fldHora.split(":");
	      if (masHora.length != Hora.length)
  	      {
		    fld.focus();
            fld.select();
		    return(false);
	      }
          for (j=0; j<masHora.length;j++) 
		  {
		    if (masHora[j].length != Hora[j].length)
	        {
			  fld.focus();
			  fld.select();
			  return(false);
	        }
			if ( masHora[j].indexOf("h") > -1 ) 
	        {
	          var vHoras = Hora[j];
	        }
	        else
	        {
	          if (masHora[j].indexOf("m")>-1)
		      {
		        var vMinutos = Hora[j];
		      }
			}
		  }
		  error = !val_horas(vHoras, vMinutos);
		  if (error == true)
		  {
		    fld.focus();
		    fld.select();
			return(false);
		  }
        }
	 }
	 else
        error = !val_fecha (fld.value.substr(0,2), fld.value.substr(2,2), fld.value.substr(4,4), Error);
		if (error == true)
		{
		    fld.focus();
		    fld.select();
			return(false);
		}
    }
   }
  }
}

function Cambio_Estado_Pestanya(Obj,Pestana)
{
  for (i=0;i<Obj.length;i++)
  {
    if (Obj(i).name==Pestana)
    {
      if ( Obj(i).src.indexOf('_off') > -1 )
      {
        Obj(i).src=Obj(i).src.substr(0,Obj(i).src.indexOf('_off'))+'_on.gif';
      }
    }
    else
    {
      if ( Obj(i).src.indexOf('_on') > -1 )
      {
        Obj(i).src=Obj(i).src.substr(0,Obj(i).src.indexOf('_on'))+'_off.gif';
      }
    }
  }
}

function Val_Fecha2 (fld,dig)
{
  if ( fld.value.length>6 || fld.value.length==0 )
  {
    null;
  }
  else
  {
   if (eval(dig)==undefined)
   {
     var vdig = '20';
   }
   else
   {
     var vdig = dig;
   }
   var dia  = fld.value.substr(0,2);
   var mes  = fld.value.substr(2,2);
   var anyo = fld.value.substr(4,2);
   var Error = 0;
     if (val_fecha (dia, mes, vdig+anyo, Error))
     {
	   fld.value =  dia+'/'+mes+'/'+vdig+anyo;
	   return true;
     }
     else
     {
       fld.focus();
       fld.select();
 	   return false;
     }
  }
}

function Val_Hora2 (fld)
{
  if ( fld.value.length>4 || fld.value.length==0 )
  {
    null;
  }
  else
  {
   var hora  = fld.value.substr(0,2);
   var minuto  = fld.value.substr(2,2);
   if ( ( hora < 0 || hora > 23 ) || ( minuto < 0 || minuto > 59 ) || fld.value.length < 2 )
   {
     fld.focus();
     fld.select();
 	 return(false);
   }
   else
   {
     if ( minuto.length==0 )
     {
        minuto = '00';
     }
	 if (minuto.length==1)
	 {
	   minuto = minuto+'0';
	 }
     fld.value = hora+':'+minuto;
   }
  }
}

function Reestablecer_Fecha (fld)
{
   Vector = fld.value.split("/");
   if (Vector.length == 3)
   {
       fld.value = Vector[0]+Vector[1]+Vector[2].substr(2,2);
       fld.focus();
       fld.select();
   }
}

function Reestablecer_Hora (fld)
{
   Vector = fld.value.split(":");
   if (Vector.length == 2)
   {
       fld.value = Vector[0]+Vector[1];
       fld.focus();
       fld.select();
   }
}

function ValidaObligatorios(form,submitform)
{
 error=false;
 HayId=true;
 CadenaError="";
 Separador="";
 for (i=0; i<form.elements.length; i++){
  if ((form.elements[i].className == "FieldOblEq"||form.elements[i].className =="FieldOblQu"||form.elements[i].className =="FieldObl")&&((form.elements[i].value==null)||form.elements[i].value=='')){
   if (form.elements[i].id==''){
    alert('Faltan campos obligatorios por rellenar');
    error=true;
    HayId=false;
    break;
   }
   else {
    CadenaError=CadenaError+Separador+'\n'+form.elements[i].id;
   }
   error=true;
   Separador=", ";
  }
 }
 if (error==false) {
  return (true);
 }
 else 
  {
  if (HayId==true)
   {
   alert('Debe rellenar los siguientes campos, son obligatorios: \n'+CadenaError);
   }
  return (false);
 }
}

function Replace_val (pString,pSubStr,pNewStr)
{
	var Vector = pString.split(pSubStr);
	var Salida = "";
	for (i=0; i<Vector.length-1; i++)
	{
       Salida = Salida+Vector[i]+pNewStr;
	}
    Salida = Salida+Vector[Vector.length-1];
	return Salida;
}

function checkNumber(num)
{
	if (ValFld(num,'N')==false){
	  document.MsgLng.P_CodMsg.value = '70061';
	  document.MsgLng.submit();
	  return(false);
	}
	else
	  return(true);
}

function check_obli(form)
{
	for(i=0;i < form.length;i++)
	{
		if(form.elements[i].className == 'FieldObl' && (form.elements[i].value == null || form.elements[i].value == ''))
		{
			document.MsgLng.P_CodMsg.value = 'CAMP_OBLI';
			document.MsgLng.submit();
			return(false);
		}
	}
	return(true);
}

function mayusculas(obj)
{
	obj.value = obj.value.toUpperCase();
}

function reemplaza_PuntoxComa (cad) 
{
  vcad = cad;
  vcad = vcad.replace('.',',');
  if (vcad.charAt(0) == ',')
  {
	  vcad = '0'+vcad;
  }
  vcad = vcad.replace('-,','-0,');
  return vcad;
  //return cad.replace('.',',');
}

function reemplaza_ComaxPunto (cad) 
{
  vcad = cad;
  vcad = vcad.replace(',','.');
  if (vcad.charAt(0) == '.')
  {
	  vcad = '0'+vcad;
  }
  vcad = vcad.replace('-.','-0.');
  return vcad;
//  return cad.replace(',','.');
}

function validar_2decimales(obj)
{
	vr = obj.value.split(".");
	if(obj.value.indexOf(".") == -1)
	{
		obj.value = obj.value + '.00';
		if (obj.value.charAt(0) == '.')
		{
			obj.value = '0.00';
		}
		return true;
	}
	else 
	{
		if(vr[1].length == 1)
		{
			obj.value = obj.value + '0';
			return true;
		}
		else if(vr[1].length > 2)
		{
			document.MsgLng.P_CodMsg.value = 'CAMP_DECI';
			document.MsgLng.submit();
			return false;
		}
		else
		  return true;
	}
}

function validar_SinDecimales (obj) 
{
  if(obj.value.indexOf(".") != -1) { 
    document.MsgLng.P_CodMsg.value = '70066';
	document.MsgLng.submit();
	return(false);
  }
  else 
    return(true);
}

function validar_2Digitos (valor) 
{
  aux = '' + valor;
  if (aux.length < 2) {
    return ('0'+aux);
  }
  return aux;
}

function validar_max2decimales(obj)
{
	vr = obj.value.split(".");
	if(obj.value.indexOf(".") != -1)
	{
		if(vr[1].length > 2)
		{
          v_aux = parseFloat(obj.value) * 100;
		  v_aux = Math.round(v_aux) / 100;
		  obj.value = v_aux;
		} else {
		  if (obj.value.charAt(0) == '.')
		  {
			obj.value = '0' + obj.value;
		  }
		  return true;
		}
	}
}

function redondea_2decimales(valor)
{
	valor = '' + valor;
	v_aux = valor;
	vr = valor.split(".");

	if(valor.indexOf(".") != -1)
	{
		if(vr[1].length > 2)
		{
          v_aux = parseFloat(valor) * 100;
		  v_aux = Math.round(v_aux) / 100;
		}
	}
	return v_aux;
}

function redondeaDefecto_2decimales(valor)
{
	valor = '' + valor;
	v_aux = valor;
	vr = valor.split(".");

	if(valor.indexOf(".") != -1)
	{
		if(vr[1].length > 2)
		{
          v_aux = parseFloat(valor) * 100;
		  v_aux = Math.floor(v_aux) / 100;
		}
	}
	return v_aux;
}

function fun_construye_fecha(p_fecha)
{
   var v_anyo;
  if (p_fecha.value.length != 0)
  {
    if (parseInt(p_fecha.value.substring(4, 6)) < 50)
    {
      v_anyo="20";
    }
    else
    {
      v_anyo="19";
    }
    if (p_fecha.value.length == 6)
    {
       p_fecha.value=p_fecha.value.substring(0,2) + "/" + p_fecha.value.substring(2,4) + "/" + v_anyo + p_fecha.value.substring(4,6);
	}
    ValFld(p_fecha, 'D[dd/mm/yyyy]');
  }
}


// *** Modificacion para actualizar los campos de AWB**

function Actualiza_AWB(oBject,oForm)
{

oBject.value=oBject.value.toUpperCase();	
	if (oForm.name=='Consulta2')
	{
		if (oBject.name=='p_awb1'){
			oForm.p_awb3.value=oBject.value;
	
		}else{
			oForm.p_awb1.value=oBject.value;
	
		}	
	}else{
		if (oBject.name=='p_awbini1')
		{
			oForm.p_awbfin1.value=oBject.value;
		}else{
			oForm.p_awbini1.value=oBject.value;
		}
	}
}

//** Funcion para validar el rango del AWB inicio y fin**

function ValidoRango(oForm)
{
var vReturn=true;
var vRango=0;
var vRangoReal=10000;

	if (oForm.name=='Consulta2'){
		if (oForm.p_awb4.value!='')
		{
			vRango=parseInt(oForm.p_awb4.value*1)-parseInt(oForm.p_awb2.value*1);
		}
	}else{
		if (oForm.p_awbfin2.value!='')
		{
			vRango=parseInt(oForm.p_awbfin2.value*1)-parseInt(oForm.p_awbini2.value*1);
		}
	}
	if (vRango>vRangoReal){
	    document.MsgLng.P_CodMsg.value = '70725';
	    document.MsgLng.submit();  
		vReturn=false;
	}

return vReturn;
}

// funcion que valida que no se realicen reservas de tipo AV7 desde este MTO.
function ValidoAV7(oBject,p_modo)
{
var vReturn=true;
	if (oBject.value=='AV7'){
		oBject.value='';
//		alert ('p_modo '+p_modo);
		if (p_modo=='BB'){
			document.Reserva.p_desmer.value=''; 
			document.Bultos.p_tipmer.value=''; 
			document.Bultos.p_desmer.value='';
		}
	top.menu.div_procesando.style.visibility = 'visible';
	document.formconfirm.p_confirm.value = 'N';
	document.MsgLng.P_CodMsg.value = '70726';
	document.MsgLng.submit();
	oBject.focus();
	vReturn=false;
	}
return vReturn;
}

function fun_compara_fechas(a, b)
{
  data = new Date(a.value.substring(6,10), a.value.substring(3,5), a.value.substring(0,2),0,0,0);
  datb = new Date(b.value.substring(6,10), b.value.substring(3,5), b.value.substring(0,2),0,0,0);
  if(a.value!="")
  {
    if(b.value!="")
    {
      if(datb < data)
      {
    	 document.formconfirm.p_confirm.value = 'N';
	     document.MsgLng.P_CodMsg.value = '70004';
	     document.MsgLng.submit();
        return(false);
      }
    }
  }
  return(true);
}

