//debugWin = window.open("","debugWin","height=500,width=400,resizable=yes,scrollbars=yes");

function SelVue(){
        v="";
        if (document.reserva.AirlineID.selectedIndex == 0) v = '971';
        else if (document.reserva.AirlineID.selectedIndex == 1) v = '321';
        else if (document.reserva.AirlineID.selectedIndex == 2) v = '759';
        else if (document.reserva.AirlineID.selectedIndex == 3) v = '';
        else if (document.reserva.AirlineID.selectedIndex == 4) v = '6161';
        else if (document.reserva.AirlineID.selectedIndex == 5) v = '';
        else if (document.reserva.AirlineID.selectedIndex == 6) v = '514';
        else if (document.reserva.AirlineID.selectedIndex == 7) v = '';
        else if (document.reserva.AirlineID.selectedIndex == 8) v = '';
        else if (document.reserva.AirlineID.selectedIndex == 9) v = '';
        document.reserva.FlightID.value = v;
}

function FecDef(){
	var d = new Date();
	document.reserva.PUDay.selectedIndex = (d.getDate());
	document.reserva.PUMonth.selectedIndex = (d.getMonth());
}

   function revisa(formObj)
    {if (emptyDate(formObj.PUDay) || emptyDate(formObj.PUMonth)){alert("No reportó la fecha en la que RECOGERÁ su vehículo,\npor favor introdúzcala completa (Día, Mes y Año).");formObj.PUDay.focus();}
      else if (ValiFec1(formObj.PUDay, formObj.PUMonth, formObj.PUYear)){alert("El mes reportado no tiene tantos días,\npor favor corrija.");formObj.PUDay.focus();}
      else if (ValiFec(formObj.PUDay, formObj.PUMonth, formObj.PUYear)){alert("La fecha de arribo debe ser la de hoy o posterior,\npor favor corrija.");formObj.PUDay.focus();}
      else if (emptyDate(formObj.DODay) || emptyDate(formObj.DOMonth)){alert("No reportó la fecha en la que ENTREGARÁ su vehículo,\npor favor introdúzcala completa (Día, Mes y Año).");formObj.DODay.focus();}
      else if (ValiFec1(formObj.DODay, formObj.DOMonth, formObj.DOYear)){alert("El mes reportado no tiene tantos días,\npor favor corrija.");formObj.DODay.focus();}
      else if (ValiFec2(formObj.PUDay, formObj.PUMonth, formObj.PUYear, formObj.DODay, formObj.DOMonth, formObj.DOYear)){alert("La fecha de retorno debe ser posterior a la fecha de arribo,\npor favor corrija.");formObj.DODay.focus();}
      else if (emptyDate(formObj.Car)){alert("Por favor, escoja el vehículo que desea conducir.");formObj.Car.focus();}
      else if (emptyField(formObj.Nombres)){alert("Por favor verifique Ud. el campo 'Nombres',\naparentemente ha quedado en blanco.");formObj.Nombres.focus();}
      else if (emptyField(formObj.Apellido_1)){alert("Su primer Apellido ha quedado en blanco,\nPor favor revise.");formObj.Apellido_1.focus();}
      else if (emptyField(formObj.email)){alert("Olvidó proveernos su 'Correo Electrónico',\npor favor introdúzcalo.\n\nEn caso de no poseer uno, por favor introduzca \nun Correo de un familiar o persona cercana.\n\nA esa dirección le remitiremos los datos de\ncosto y su Número de Confirmación.");formObj.email.focus();}
      else if (VerEm(formObj.email) != ""){alert(VerEm(formObj.email));formObj.email.focus();}
      else if (emptyField(formObj.HomeArea) || emptyField(formObj.HomePhone)){alert("Necesitamos su Código de Area/País y su Número Telefónico,\nPor favor introdúzcalos.");formObj.HomeArea.focus();}
      else return true;
      return false;
    }
    // Verifica si el campo está vacío
    function emptyField(textObj)
     {if (textObj.value.length == 0)
       return true;
       for (var i=0; i<textObj.value.length; ++i)
        {var ch = textObj.value.charAt(i);
         if (ch != ' ' && ch != '\t') return false;
        }
        return true;}
    // verifica si no se seleccionó alguna de las listas desplegables.
    function emptyDate(textObj)
     {if (textObj.selectedIndex == 0)
      return true;}
    // Verifica que el día seleccionado no sea mayor que la cantidad de días del mes seleccionado
	function ValiFec1(tO1, tO2, tO3)
	 {if (tO1.selectedIndex > mon(tO2, tO3))
	  return true;
	 }
	//Establece la cantidad de días de los meses, distingue años bisiestos.
	function mon(tobj1, tobj2)
	{if (tobj1.selectedIndex == 1 || tobj1.selectedIndex == 3 || tobj1.selectedIndex == 5 || tobj1.selectedIndex == 7 || tobj1.selectedIndex == 8 || tobj1.selectedIndex == 10 || tobj1.selectedIndex == 12) return 31;
	 if (tobj2.value % 4 == 0 && tobj1.selectedIndex == 2) return 29;
	 if (tobj2.value % 4 != 0 && tobj1.selectedIndex == 2) return 28;
	 if (tobj1.selectedIndex == 4 || tobj1.selectedIndex == 6 || tobj1.selectedIndex == 9 || tobj1.selectedIndex == 11) return 30;
	}
	//Verifica que la fecha de arribo sea igual o posterior a la fecha actual
	function ValiFec(tO1, tO2, tO3)
	{var FecIni = new Date();
	 var FecAct = new Date();
	 FecIni.setDate(tO1.selectedIndex);
     FecIni.setMonth(tO2.selectedIndex - 1);
     FecIni.setYear(tO3.value);
     if (FecIni < FecAct) return true;
	}
	//Verifica que la fecha de retorno sea posterior a la de recepción.
	function ValiFec2(tO11, tO12, tO13, tO21, tO22, tO23)
	 {var FecIni = new Date();
	  var FecFin = new Date();
	  FecIni.setDate(tO11.selectedIndex);
           if (tO11.selectedIndex == 31) FecIni.setDate(31);
          FecIni.setMonth(tO12.selectedIndex - 1);
          FecIni.setYear(tO13.value);
          FecFin.setDate(tO21.selectedIndex);
           if (tO21.selectedIndex == 31) FecFin.setDate(31);
	  FecFin.setMonth(tO22.selectedIndex - 1);
	  FecFin.setYear(tO23.value);
	  if (FecFin <= FecIni) return true;
	 }
    function VerEm(textObj)
     {var Count;Count= 0;var cS;cS=textObj.value;var punto;punto=0;var tex;
     for (var i = 0; i < cS.length; i++) {
      ch = cS.substring(i, i + 1)
      if ((ch >= "A" && ch <= "Z") || (ch >= "a" && ch <= "z")
             || (ch == "_") || (ch == "-") || (ch >= "0" && ch <= "9")
             || (ch == "@") || (ch == ".")) {}
      else {tex="Su dirección de correo incluye caracteres no aceptables. \nPor favor revise.";return tex;}
      if (ch == ".") punto++;
      else punto=0;
      if (punto>1) {tex="Hay dos '.' contiguos en su dirección de correo. \nPor favor revise.";return tex;}
      if (ch == "@") Count++;
      if (Count > 1) {tex="Hay dos '@' en su dirección de correo. \nPor favor revise.";return tex;}
     }
     if (cS.indexOf("@") == -1){tex="Falta la '@' en su dirección de correo. \nPor favor revise.";return tex;}
      else if (cS.indexOf("@") == cS.length - 1){tex="Una '@' ocupa la última posición en su dirección de correo. \nPor favor revise.";return tex;}
       else if (cS.indexOf("@") == 0){tex="Una '@' ocupa la primera posición en su dirección de correo. \nPor favor revise.";return tex;}
        else if (cS.indexOf(".") == -1){tex="No hay '.' en su dirección de correo. \nPor favor revise.";return tex;}
         else if (cS.lastIndexOf(".") < cS.lastIndexOf("@")){tex="No hay '.' a la derecha de la '@' en su dirección de correo. \nPor favor revise.";return tex;} 
          else if (cS.lastIndexOf(".") == cS.length - 1){tex="Un '.' ocupa la última posición en su dirección de correo. \nPor favor revise.";return tex;}
           else if (cS.indexOf(".") == 0){tex="Un '.' ocupa la primera posición en su dirección de correo. \nPor favor revise.";return tex;}
            else if (cS.charAt(cS.indexOf("@") - 1) == "."){tex="Hay un '.' inmediatamente antes de la '@' en su dirección de correo. \nPor favor revise.";return tex;}
             else if (cS.charAt(cS.indexOf("@") + 1) == "."){tex="Hay un '.' inmediatamente a continuación de una '@' en su dirección de correo. \nPor favor revise.";return tex;}
              else if (cS.lastIndexOf(".") < cS.length - 4){tex="No puede haber más de tres letras a la derecha del último punto en su dirección de correo. \nPor favor revise.";return tex;}
               else if (cS.lastIndexOf(".") == cS.length - 2){tex="No puede haber una única letra luego del último punto en su dirección de correo. \nPor favor revise.";return tex;}
     else return false;}

