﻿//Author        :   Rajnikant Dankhara
//CreatedDate   :   27-09-2008
var oneWayTrip = false;
var mandFldMsgDeptCity, mandFldMsgDeptDate, mandFldMsgDestCity, mandFldMsgReturnDate;
var invalidFldMsgDeptCity, invalidFldMsgDeptDate, invalidFldMsgDestCity, invalidFldMsgReturnDate, invalidReturnDateLessThanDeptDateMsg ;
var invalidInfantsAreNotEqualToAdultsMsg, invalidTotalPassangersMsg;

function setMessage(mandDeptCity, mandDeptDate, mandDestCity, mandReturnDate, invalidDeptCity, invalidDeptDate, invalidDestCity, invalidReturnDate, invalidSameDeptCityAndDestCity, returnDateLessThanDeptDateMsg, infantsAreNotEqualToAdultsMsg, invalidTotalNoOfPassMsg) 
{
    mandFldMsgDeptCity = mandDeptCity;
    mandFldMsgDeptDate = mandDeptDate;
    mandFldMsgDestCity = mandDestCity;
    mandFldMsgReturnDate = mandReturnDate;
    
    invalidFldMsgDeptCity = invalidDeptCity;
    invalidFldMsgDeptDate = invalidDeptDate;
    invalidFldMsgDestCity = invalidDestCity;
    invalidFldMsgReturnDate = invalidReturnDate;
    invalidFldMsgDeptCityAndDestCityAreSame = invalidSameDeptCityAndDestCity;
    invalidReturnDateLessThanDeptDateMsg = returnDateLessThanDeptDateMsg;
    invalidInfantsAreNotEqualToAdultsMsg = infantsAreNotEqualToAdultsMsg;
    invalidTotalPassangersMsg = invalidTotalNoOfPassMsg;
    return true;    
}

function validateOBE(departureCityId, departureDateId, destinationCityId, returnDateId, defaultDeptCity, defaultDestCity, rdoOneWayId, adultsId, infatsId, childsId, flightList,hdnError)
{
    var errorMessage = '';
    var departureCity, departureDate, destinationCity, ReturnDate; 
    oneWayTrip = document.getElementById(rdoOneWayId).checked;
    var objHdnError = document.getElementById(hdnError);
    
    departureCity = document.getElementById(departureCityId).value;
    departureDate = document.getElementById(departureDateId).value;
    destinationCity = document.getElementById(destinationCityId).value;
    returnDate = document.getElementById(returnDateId).value;
    
    //check for mendatory fields
    var isValidDeptDate = false;
    var isValidRetDate = false;
    var deptCityCode = getCityCode(departureCity);
    var destCityCode = getCityCode(destinationCity); 
    
    var deptDate = parseJetLiteDate(departureDate);
    var retDate = parseJetLiteDate(returnDate);
    
    if (departureCity == '' || departureCity == null || departureCity == undefined || departureCity == defaultDeptCity  )
        errorMessage = errorMessage + mandFldMsgDeptCity + "\n\r" ;
    
    if (departureDate == '' || departureDate == null || departureDate == undefined ) 
        errorMessage = errorMessage + mandFldMsgDeptDate + "\n\r";
    else if ( isNaN(deptDate) ) 
        errorMessage = errorMessage + invalidFldMsgDeptDate + "\n\r";
    else 
        isValidDeptDate = true;        
    
    if (destinationCity == '' || destinationCity == null || destinationCity == undefined || destinationCity == defaultDestCity) 
        errorMessage = errorMessage + mandFldMsgDestCity +  "\n\r";

    if ( departureCity.length > 0 && destinationCity.length > 0 ) 
    {
        if (departureCity == destinationCity ) 
            errorMessage = errorMessage + invalidFldMsgDeptCityAndDestCityAreSame + '\n\r';  
    }   
    if (oneWayTrip == false )
    {
        if (returnDate == '' || returnDate == null || returnDate == undefined )  
            errorMessage = errorMessage + mandFldMsgReturnDate + "\n\r";
        else if ( isNaN(retDate) ) 
            errorMessage = errorMessage + invalidFldMsgReturnDate + "\n\r";
        else 
            isValidRetDate = true; 
    }

    
    if (oneWayTrip == false && isValidDeptDate && isValidRetDate  )
    {
        if ( deptDate > retDate ) 
            errorMessage = errorMessage + invalidReturnDateLessThanDeptDateMsg + "\n\r";
    }

    var adultsObj = document.getElementById(adultsId);
    var infantsObj = document.getElementById(infatsId);
    var childsObj = document.getElementById(childsId);
    
    if ( adultsObj != null && adultsObj != undefined && infantsObj != null && infantsObj != undefined && childsObj != null && childsObj != undefined ) 
    {
        var infants = parseInt ( infantsObj.options[infantsObj.selectedIndex].text) ;
        var adults = parseInt (adultsObj.options[adultsObj.selectedIndex].text);
        var childs = parseInt (childsObj.options[childsObj.selectedIndex].text);
                        
        if (infants > 0 && infants > adults) 
        {
            errorMessage = errorMessage + invalidInfantsAreNotEqualToAdultsMsg + "\n\r";
        }
        
        //if ( infants + childs + adults > 7 ) 
        if (childs + adults > 7 ) 
            errorMessage = errorMessage + invalidTotalPassangersMsg + "\n\r";
        
    }
    
     
    if ( errorMessage != '' )
    {
        alert(errorMessage);
        objHdnError.value = "False";
        return false;
    }
    else //code to display jet airways messages from excell file.
    {
        objHdnError.value = "True";
        if (isValidDeptDate )
        {
            //var retVal = displayHybridMessage(deptCityCode, destCityCode, departureDate);
            //if (retVal == false ) return false;
            var retVal = checkForTheFlightAvailability(deptCityCode, destCityCode, flightList, deptDate)
            if (retVal == false) {
                objHdnError.value = "False";
                return false;
            }
            else objHdnError.value = "True";
        }
        
        if (isValidRetDate )
        {
            //var retVal = displayHybridMessage(deptCityCode, destCityCode, returnDate);
            //if (retVal == false ) return false;
            var retVal = checkForTheFlightAvailability(deptCityCode, destCityCode, flightList, retDate)
            if (retVal == false) {
                objHdnError.value = "False";
                return false;
            }
            else objHdnError.value = "True";
        }
    }
    
    //return true;
    //return doWait();
    
    //var x=IndianCities_Offer(departureCity,destinationCity);
    
    //return x;
    
}




//    function IndianCities_Offer(txtOrigin,txtDestination)
//    { 
//       txtOrigin=txtOrigin.substring(txtOrigin.length,txtOrigin.length-5);
//       txtDestination=txtDestination.substring(txtDestination.length,txtDestination.length-5);
//          
//		var user_input;
//		
//		try
//		{				
//	if(arrIndianCities != null)
//	{			
//				
//      if(oneWayTrip==true )
//      {
//      		  var count=0;
//      		 
//								
//			for(i=0;i<arrIndianCities.length;i++)
//			{
//									
//				if(arrIndianCities[i]==txtOrigin)
//				{
//				  	count=1;
//				  	 
//	
//			    }
//	        }	
//									
//			for(i=0;i<arrIndianCities.length;i++)
//			{
//				if(arrIndianCities[i]==txtDestination && count==1)
//				{
//					count=count+1;
//					
//																		
//						if(count=2)	
//						{	
//								 				
//							user_input= confirm("Book a return flight and get a flat 10% discount on the base fare right here. Change your option to 'return' now and avail of this limited period offer. \n\nClick 'OK' to proceed with your selection or click 'Cancel' to modify your selection.");
//								
//						            if(user_input)
//						            {
//						             
//						              return true;
//						            }
//						            
//						            else
//						            {
//						            return false;
//						            }
//						            
//								
//													
//						}
//																
//			   }
//		}	
//									
//									 
//									
//     }
//					
//						
//		count=3;	
//						
//    }
//       
//    }
//    catch(err)
//    {
//      alert("Error");
//    }

//return true;
// }         


//function doOneWay(rdoOneWayId, btnReturnDateId, txtReturnDateId)
//{
//    var rdoOneWay = document.getElementById(rdoOneWayId);
//    var btnReturnDate = document.getElementById(btnReturnDateId);  
//    var txtReturnDate = document.getElementById(txtReturnDateId);
//    
//    oneWayTrip = rdoOneWay.checked;
//    if ( rdoOneWay.checked == true ) 
//    {
//        btnReturnDate.disabled = true;
//        txtReturnDate.disabled = true;
//    }
//    else
//    {
//        btnReturnDate.disabled = false;
//        txtReturnDate.disabled = false;
//    }
//}

//function doRoundTrip(rdoRoundTripId, btnReturnDateId, txtReturnDateId)
//{
//    var rdoRoundTrip = document.getElementById(rdoRoundTripId);
//    var btnReturnDate = document.getElementById(btnReturnDateId);
//    var txtReturnDate = document.getElementById(txtReturnDateId);
//    
//    if ( rdoRoundTrip.checked == true )
//    {
//        oneWayTrip = false;    
//        btnReturnDate.disabled = false;
//        txtReturnDate.disabled = false;
//    }
//    else 
//    {
//        oneWayTrip = true;    
//        btnReturnDate.disabled = true;
//        txtReturnDate.disabled = true;
//    }
//}


function lockDate(dateTextBoxId)
{
    document.getElementById(dateTextBoxId).readOnly = true;     
}

function unLockDate(dateTextBoxId)
{
    document.getElementById(dateTextBoxId).readOnly = false;     
}

function displayHybridMessage(deptCityCode, destCityCode, dateString)
{
    var cityList = 'JAI,GAU,IXA';
    var bookingDateList = '24-Jan-09,25-Jan-09,31-Jan-09,01-Feb-09,07-Feb-09,08-Feb-09,14-Jan-09,15-Jan-09';
    var message ='Flights to & from Agartala, Guwahati and Jaipur will only operate on weekends, effective January 24, 2009 until February 15, 2009.';

    if ( cityList.indexOf(deptCityCode.toUpperCase() ) != -1 || cityList.indexOf(destCityCode.toUpperCase() ) != -1 ) 
    {
        if ( bookingDateList.indexOf (dateString) == -1 ) 
        {
            alert (message );
            return false;
        }
        
    }
    return true;
}

function checkForTheFlightAvailability(deptCityCode, destCityCode, stringList, checkDate)
{
    //check this function for city popup rajnikant.
    //debugger;
    
    //var stringList = 'BOM##DEL##Lorem Epsum Lorem Epsum##1,2,3,4,5,6,0|DEL##MAA##Fly from jet airways##1,2,0|MAA##BOM##Fly from King Fisher ##5,6,0';
    var listArr = stringList.split('|');
    //var checkDate = new Date();
    var checkDay = checkDate.getDay() ;
    var clientDate  = new Date();
    clientDate.setHours(0,0,0,0);
    
    for (var listCount = 0; listCount < listArr.length; listCount++ )
    {
        var listRow = listArr[listCount].split('##');
        var clientDtFrom = parseJetLiteDate(listRow[4]);
        var clientDtTo = parseJetLiteDate(listRow[5]);

        var bookingDtFrom = parseJetLiteDate(listRow[6]);
        var bookingDtTo = parseJetLiteDate(listRow[7]);
        
        // check for city code
        if ( listRow[0].toUpperCase() == deptCityCode.toUpperCase() || listRow[0].toUpperCase() == destCityCode.toUpperCase()  ) 
        {
            //check client date falls between provided date range
            if ( clientDtFrom <= clientDate && clientDtTo >= clientDate )
            {
                if (checkDate  < bookingDtFrom ||  bookingDtTo < checkDate ) 
                {
                    alert(listRow[2]);
                    return false;
                }
                else if ( bookingDtFrom <= checkDate && bookingDtTo >= checkDate )
                { 
                    // if checkday doesn't fall in provided day range display alert  
                        if (listRow[3].indexOf( checkDay.toString()) == -1 )
                        {
                            alert(listRow[2]); 
                            return false;
                        }                
                }//end else 
                
            }//end if check client date
        
        }//end if ( city check)
    }//end for
    return true;
}//end function

function getCityCode(cityNameWithCode)
{
    var arr = cityNameWithCode.split('(');
    if (arr.length <= 1) 
        return '';
    else 
        return arr[1].substring(0, 3);
}
function populateValuesOBESearchBy(stringdata,txtOriginID,txtDestID,ddlOri,ddlDest,rdoOneWay,rdoRoundTrip,rdoFixedDates,rdoFlexibleDates,rdoLowestFares,ddlAdult,ddlChildren,ddlInfant,txtEndDate,txtStartDate,txtPromotion,btnEndDateCal,radConfirmResidentIndYes,radConfirmResidentIndNo)
{


 var objEndDateCal = document.getElementById(btnEndDateCal);
    
    var objEndDate = document.getElementById(txtEndDate);
if(stringdata!="")
    {

      

        var arr=stringdata.split(',');
      
        
        document.getElementById(txtOriginID).value=arr[7];
        document.getElementById(ddlOri).value=arr[12];
  
        document.getElementById(txtDestID).value=arr[8];
        document.getElementById(ddlDest).value=arr[13];
   
   
   if(arr[10]=="fixed")
   {
     document.getElementById(rdoFixedDates).checked=true;
   }
   else if(arr[10]=="flexible")
   {
     document.getElementById(rdoFlexibleDates).checked=true;
   }
   else if(arr[10]=="lowest")
   {
     document.getElementById(rdoLowestFares).checked=true;
   }
      
          if(arr[0]=="One Way")
  {
    
    document.getElementById(rdoOneWay).checked=true;
    objEndDateCal.disabled = true;
     objEndDate.disabled = true;
  }
  else if(arr[0]=="Return")
  {
     document.getElementById(rdoRoundTrip).checked=true;
     objEndDateCal.disabled = false;
     objEndDate.disabled = false;
  }
  
    
   
       
   
   var dropdwnA=document.getElementById(ddlAdult).getElementsByTagName('option');
   var dropdwnC=document.getElementById(ddlChildren).getElementsByTagName('option');
   var dropdwnI=document.getElementById(ddlInfant).getElementsByTagName('option');
   
        
       var selectedA=arr[4]-1;
       dropdwnA[selectedA].selected=true;
       
        var selectedC=arr[5];
        if(selectedC=="")
            selectedC="0";
       dropdwnC[selectedC].selected=true;
       
       var selectedI=arr[6];
        if(selectedI=="")
            selectedI="0";
       dropdwnI[selectedI].selected=true;
       
            if(arr[1]!="" && arr[1]!=null)
      {
         
         document.getElementById(txtEndDate).value=arr[1];
      }
      
      document.getElementById(txtStartDate).value=arr[9];
   if(arr[11]!="" && arr[11]!=null)
      {
        document.getElementById(txtPromotion).value=arr[11];
      }
      
      

      if(arr[14]=="False")
      {
      
      
        document.getElementById(radConfirmResidentIndNo).checked=true;
        document.getElementById(radConfirmResidentIndYes).checked=false;
      }
      else
      {
      
        document.getElementById(radConfirmResidentIndYes).checked=true;
        document.getElementById(radConfirmResidentIndNo).checked=false;
      }
    }
    else
    {
        //For Default selection
        document.getElementById(txtOriginID).value="";
        document.getElementById(ddlOri).value="--Select Origin--";
        
        document.getElementById(txtDestID).value="";
        document.getElementById(ddlDest).value="--Select Destination--";
        
         var dropdwnA=document.getElementById(ddlAdult).getElementsByTagName('option');
         var selectedA="0";
         dropdwnA[selectedA].selected=true;
         
         var dropdwnC=document.getElementById(ddlChildren).getElementsByTagName('option');
         var selectedC="0";
         dropdwnC[selectedC].selected=true;
         
         var dropdwnI=document.getElementById(ddlInfant).getElementsByTagName('option');
         var selectedI="0";
         dropdwnI[selectedI].selected=true;
         
         document.getElementById(rdoRoundTrip).checked=true;
         objEndDateCal.disabled = false;
         objEndDate.disabled = false;
         document.getElementById(rdoFixedDates).checked=true;
         document.getElementById(txtPromotion).value="Promotion Code";
         
        //For Calculation CurrentDate
        
        var m_names = new Array("Jan", "Feb", "Mar","Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");

        var d = new Date();
        var curr_date = d.getDate();
        var curr_month = d.getMonth();
        var curr_year = d.getFullYear();
        
       
        
       if(curr_date<10)
        curr_date="0"+curr_date;
        
        document.getElementById(txtStartDate).value=curr_date+"-" + m_names[curr_month]+ "-" + curr_year.toString().slice(2);
        //For calculatting next date
        var currentDate = new Date();
        var valueofcurrentDate=currentDate.valueOf()+(24*60*60* 1000);
        var newDate =new Date(valueofcurrentDate);
        
        var next_date = newDate.getDate();
        var next_month = newDate.getMonth();
        var next_year = newDate.getFullYear();
        if(next_date<10)
        next_date="0"+next_date;
        document.getElementById(txtEndDate).value=next_date+"-" + m_names[next_month]+ "-" + next_year.toString().slice(2);
        document.getElementById(radConfirmResidentIndYes).checked=true;
    }
 
}



/*past seraches end*/

