﻿$(document).ready(function()
{
   $('.panelError').hide();
   //$('.messageLabel').html();
   $('.timeTableButton').click(function(){
         var fromFlight=$('.fromFlight').val();
         var toFlight=$('.toFlight').val();
         var exitDate=$('.exitDate').val();
         var returnDate=$('.returnDate').val();
         var message="";
//         if(validateFlights(fromFlight,toFlight))
//         {
//            if(fromFlight=="0")
//            {
//              $('.panelError').show();
//              $('.BodyMessage').html($("#"+errorMessage4).val());
//              return false;
//            }
//            if(toFlight=="0")
//            {
//              $('.panelError').show();
//              $('.BodyMessage').html($("#"+errorMessage5).val());
//              return false;
//            }
//            if(document.getElementById("returnRow").style.display!="none")
//            {
//              if(exitDate!="")
//              {
//                if(ValidateDate(exitDate))
//                {
//                  if(returnDate!="")
//                  {
//                    if(ValidateDate(returnDate))
//                    {
//                       $('panelError').hide();
//                       return true;
//                    }
//                    else
//                    {
//                      $('.panelError').show();
//                      $('.BodyMessage').html($("#"+errorMessage7).val());
//                      return false;
//                    }
//                  }
//                  else
//                  {
//                     $('.panelError').show();
//                     $('.BodyMessage').html($("#"+errorMessage3).val());
//                  } 
//                }
//                else
//                {
//                  $('.panelError').show();
//                  $('.BodyMessage').html($("#"+errorMessage2).val());
//                  return false;
//                }
//              }
//              else
//              {
//                 $('.panelError').show();
//                 $('.BodyMessage').html($("#"+errorMessage6).val());
//                 return false;
//              }
//            }
//            else
//            {
//              if(exitDate!="")
//              {
////                $('.panelError').hide();
////                 return true;
//                  if(ValidateDate(exitDate))
//                  {
//                     $('.panelError').hide();
//                     return true;
//                  }
//                  else
//                  {
//                    $('.panelError').show();
//                    $('.BodyMessage').html($("#"+errorMessage2).val());
//                    return false;
//                  }
//              }
//              else
//              {
//                 $('.panelError').show();
//                 $('.BodyMessage').html($("#"+errorMessage6).val());
//                 return false;
//              }
//            }  
//         }
//         else
//         {
//           $('.panelError').show();
//           $('.BodyMessage').html($("#"+errorMessage1).val());
//           return false;
//         }
         if(!validateFlights(fromFlight, toFlight))
         {
           //message+=$("#"+errorMessage1).val()+" <br />";
           //llamando para crear el mensaje de error
           message=BuildMessage(message,errorMessage1);
         }
         if(fromFlight=="0")
         {
           //message+=$("#"+errorMessage4).val()+" <br />";
           message=BuildMessage(message,errorMessage4);
         }
         if(toFlight=="0")
         {
           //message+=$("#"+errorMessage5).val()+" <br />";
           message=BuildMessage(message,errorMessage5);
         }
         
         if(document.getElementById("returnRow").style.display!="none")
         {
           if(exitDate=="")
           {
             //message+=$("#"+errorMessage6).val()+"<br />";
             message=BuildMessage(message,errorMessage1);
           }
           
           if(!ValidateDate(exitDate))
           {
             //message+=$("#"+errorMessage2).val()+"<br />";
             message=BuildMessage(message,errorMessage2);
           }
           
           if(returnDate=="")
           {
             //message+=$("#"+errorMessage7).val()+"<br />";
             message=BuildMessage(message,errorMessage7);
           }
           
           if(!ValidateDate(returnDate))
           {
             //message+=$("#"+errorMessage3).val()+"<br />";
             message=BuildMessage(message,errorMessage3);
           }
         }
         else
         {
           if(exitDate=="")
           {
             //message+=$("#"+errorMessage6).val()+"<br />";
             message=BuildMessage(message,errorMessage6);
           }
           
           if(!ValidateDate(exitDate))
           {
             //message+=$("#"+errorMessage2).val()+"<br />";
             message=BuildMessage(message,errorMessage2);
           }
         }
         
         if(message!="")
         {
           //$('.panelError').show();
           //$('.BodyMessage').html(message);
           RenderError("",message);
           return false;
         }
         else
           return true;
   });
});

function validateFlights(fromFlight, toFlight)
{
  if((fromFlight!=toFlight))
  {
     return true;
  }
  else
    return false;
}

//function validateFields(aux)
//{
//  if(aux!="")
//  {
//    return ValidateDate(aux);
//  }
//  else 
//    return false;
//}

function ValidateDate(aux)
{
  var regexp=new RegExp(/^([\w]+\s\d{1,2},\s\d{4})$/);
  if(regexp.test(aux))
  {
    var arrayDate=aux.toString().split(",");
    //arrayDate[1]=arrayDate[1].toString().replace(/^\s+/,"");
    var arrayDate1=arrayDate[0].toString().split(" ");
    var daysInMonth=DaysArray(12);
    var day;
    //falta validar el calendario de acuerdo a lo actual
//    if(isInteger(arrayDate1[1]))
//      day=(+arrayDate1[1]);
//    var month;
//    for(var i=0; i < objconfig.MONTHS_LONG.length; i++)
//    {
//      if(objconfig.MONTHS_LONG[i]==arrayDate1[0])
//      {
//        month=i+1;
//        break;
//      }
//    }
//    var year;
//    if(isInteger(arrayDate[1]))
//      year=(+arrayDate[1]);
//    
//    if((day==null) ||(month==null) || (year==null))
//      return false;  
//    if((day < 1) || (day>31) || (month==2 && day > daysInFebruary(year)) || (day > daysInMonth[month]))
//      return false;
//    if(month<exitDate.getMonth() || year<exitDate.getFullYear())
//      return false;
    
    return true;
  }
  else
  {
    return false;
  }
   //return true;
}

function DaysArray(n)
{
  for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 28}
  }
  return this;
}

function daysInFebruary(year)
{
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}

function isInteger(s)
{
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

//agregado por Julio Obispo
//13-04-2009
//construye el mensaje del error, segun
//lo va reconociendo el método 'RenderError'
function BuildMessage(message,valueError)
{
  if(message=="")
    message=$("#"+valueError).val();
  else
    message+=","+$("#"+valueError).val();
  return message;
}
