﻿    function radioButtonListOnClick(elementRef) {
        for (var i = 0; i < elementRef.rows.length; i++) {
            for (var j = 0; j < elementRef.rows[i].cells.length; j++) {
                var listControl = elementRef.rows[i].cells[j].childNodes[0];

                if (listControl.value == "ROUNDTRIP" && listControl.checked) {
                    var rtndate = '<%= txt_bxRtnDate.ClientID %>';
                    var drpdwnrtnTime = '<%= drp_dwnlstRetTime.ClientID %>';

                    var txtbxRtndate = document.getElementById(rtndate + '_DateText');
                    var imgdat = document.getElementById(rtndate + '_DateImageCommand');
                    var drpRtnTime = document.getElementById(drpdwnrtnTime);

                    txtbxRtndate.disabled = false;
                    imgdat.disabled = false;
                    drpRtnTime.disabled = false;

                }
                else if (listControl.value == "ONEWAY" && listControl.checked) {
                    var rtndate = '<%= txt_bxRtnDate.ClientID %>';
                    var drpdwnrtnTime = '<%= drp_dwnlstRetTime.ClientID %>';

                    var tdrtndate = document.getElementById(rtndate + '_DateText');
                    var datimg = document.getElementById(rtndate + '_DateImageCommand');
                    var drpRtnTime = document.getElementById(drpdwnrtnTime);

                    datimg.disabled = true;
                    tdrtndate.disabled = true;
                    drpRtnTime.disabled = true;

                    drpRtnTime.selectedIndex = 0;
                    tdrtndate.value = '';
                }
            }
        }
    }
             

  function autoPopulating(source, e)
    {         
        var txt = source.get_element();
        txt.style.backgroundImage  = 'url("/Image Lib/ajax_txt.gif")';
        txt.style.backgroundRepeat= 'no-repeat';
        txt.style.backgroundPosition = 'right';
   
       
    }
    
    function autoPopulated(source, e)     
    {
        var txt = source.get_element();
        txt.style.backgroundImage  = 'none';
    }    
   
    function GetReturnDate(sender)
    {
        var dtSelected = sender.get_selectedDate();
        dtSelected.setDate(dtSelected.getDate() + 1);
        return dtSelected;
    } 
   
    function SetReturnDate(sender,args)
    {
        var cal = $find("ceRetAir");
        
        if (cal != null)
            cal.set_selectedDate(GetReturnDate(sender));
    }
    
    function SetReturnDateMulti_1(sender,args)
    {
        var dtSelected = GetReturnDate(sender);        
        var cal = $find("ceRetAir_2");        
        if (cal != null)
            cal.set_selectedDate(dtSelected);
        
        cal = $find("ceRetAir_3");
        
        if (cal != null)
            cal.set_selectedDate(dtSelected);
            
        cal = $find("ceRetAir_4");
        
        if (cal != null)
            cal.set_selectedDate(dtSelected);        
    }
    
    function SetReturnDateMulti_2(sender,args)
    {
        var dtSelected = GetReturnDate(sender);
        var cal = $find("ceRetAir_3");
        
        if (cal != null)
            cal.set_selectedDate(dtSelected);
        
        cal = $find("ceRetAir_4");
        
        if (cal != null)
            cal.set_selectedDate(dtSelected);    
    }
    
    function SetReturnDateMulti_3(sender,args)
    {
        var dtSelected = GetReturnDate(sender);
        var cal = $find("ceRetAir_4");
        
        if (cal != null)
            cal.set_selectedDate(dtSelected);
    }
     
//Modified on 16-Aug-2011 to include client side validataions.
   function Validate(strArgs)
   {
   /*• Please select a Region
• Please select Departure Airport
• Please select a valid Departure Airport
• Please select Departure Date
• Date format should be dd-mmm-yyyy
• Please select Destination Airport
• Please select a valid Destination Airport
• Please select Return Date
• Date format should be dd-mmm-yyyy
• Departure Date cannot be greater than Return date
• Departure date should be at least 2 days from today 
*/
   		
   		var Ctls = strArgs.split('|');   		
   		var ddRegion = document.getElementById(Ctls[0]);
   		var lblMsg = document.getElementById(Ctls[8]);
   		var msgOTag = '<font color=red><b>';
   		var msgCTag = '</b></font>';
     
   		

   		lblMsg.innerHTML = '';
		if(ddRegion.options[ddRegion.selectedIndex].value==0)
		{
			lblMsg.innerHTML = "Please select a Region";
			ddRegion.focus();
			return false;
		}
   		var control = document.getElementById(Ctls[1]);
   		if(control.value=='')
   		{
   			lblMsg.innerHTML =  msgOTag +"Please select Departure Airport"+msgCTag ;
   			control.focus();
			return false;
   		}
   		   		
   		var dtFrom  = document.getElementById(Ctls[2]);
   		if(dtFrom .value=='')
   		{
   			lblMsg.innerHTML =  msgOTag +"Please select Departure Date"+msgCTag ;
   			dtFrom.focus();
			return false;
   		}
   			
		control  = document.getElementById(Ctls[3]);
   		if(control.value=='')
   		{
   			lblMsg.innerHTML =  msgOTag +"Please select Destination Airport"+msgCTag ;
   			control.focus();
			return false;
   		}
   		var rbRoundTrip = Ctls[10]+"_0"; 				
 	    if(document.getElementById(rbRoundTrip).checked)
 	    {	
 	    	var dtTo  = document.getElementById(Ctls[4]);
	   		if(dtTo.value=='')
	   		{
	   			lblMsg.innerHTML =  msgOTag +"Please select Return Date"+msgCTag ;
	   			dtTo.focus();
				return false;
	   		}
		}

   		
   		
   		control  = document.getElementById(Ctls[5]);
   		var infCount = document.getElementById(Ctls[7]);
   		if(control.value < infCount.value )
   		{
   			lblMsg.innerHTML =  msgOTag +"No of Infants cannot Exceed No of Adults"+msgCTag ;
   			infCount.focus();
			return false;
   		}   		

    	if(IsFromdateGreaterThanToday(dtFrom.value,Ctls[9],2))
    	{   		
    		//var dt = 'FromDate' + dtFrom.value + ', SystemDate:' + Ctls[9];
    		lblMsg.innerHTML =  msgOTag + "Departure date should be at least 2 days from today" + msgCTag ;
   			dtFrom.focus();
			return false;
    	}
    	//document.getElementById('ctl00_ctl07_FlightSearch1_ctl00_ctl00_tbFrom_Air');
   		//var depAirPort = '<%= tbFrom_Air.ClientID %>';   		
   		//var rtndate = '<%= txt_bxRtnDate.ClientID %>';
        //var drpdwnrtnTime = '<%= drp_dwnlstRetTime.ClientID %>';
        if(document.getElementById(rbRoundTrip).checked)
 	    {	
	   	 return ShowDateDifference(dtFrom,dtTo,lblMsg);
	   	 }
	   	 else
	   	 	return true;
   }
   
// Date validation related -- Start

function IsFromdateGreaterThanToday(from, todayDt, NoDays) 
{		
	if(navigator.appName.indexOf('Netscape') != -1  || navigator.appName.indexOf('Opera') != -1 )
	{
	from = from.replace(/\-/g,',') ;
	todayDt=todayDt.replace(/\-/g,','); 
	}  
	var fromDate = Date.parse(from);	
	var TodayDate = Date.parse(todayDt);	
	TodayDate = TodayDate + 3600 * 24 * 2000;	
if (fromDate  < TodayDate) 
	{
		return true;
	}
else 	
	{	
		return false;	
	}
}


function ShowDateDifference(ADateFrom, ADateTo, lbl_ErrMessage)
{
	var RegExDate = /^((31(?! (Feb|FEB|Apr|APR|Jun|JUN|Sep|SEP|Nov|NOV)))|((30|29)(?! FEB|Feb))|(29(?= FEB|Feb (((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)))))|(0?[1-9])|1\d|2[0-8])\-(Jan|JAN|Feb|FEB|Mar|MAR|May|MAY|Apr|APR|Jul|JUL|Jun|JUN|Aug|AUG|Oct|OCT|Sep|SEP|Nov|NOV|Dec|DEC)\-((1[6-9]|[2-9]\d)\d{2})$/;
	var DateDifference;
	var fromdate = ADateFrom.value;
	var Todate = ADateTo.value;
	lbl_ErrMessage.innerText = "";
	var msgOTag = '<font color=red><b>';
   	var msgCTag = '</b></font>';

	
	if(fromdate != "")
	{
		if (RegExDate.test(fromdate)!= true) 
		{
			lbl_ErrMessage.innerHTML = msgOTag +"Departure Date should be in dd-MMM-yyyy format." + msgCTag;
			ADateFrom.focus();		
			return false;			
		}
	}
	else
	{
		lbl_ErrMessage.innerHTML =  msgOTag +"Departure Date should not be empty." + msgCTag;
		ADateFrom.focus();		
		return false;			
	}
	if(Todate != "")
	{
		if (RegExDate.test(Todate)!= true) 
		{
			lbl_ErrMessage.innerHTML = msgOTag +"Return Date should be in dd-MMM-yyyy format." + msgCTag;
			ADateTo.focus();		 
			return false;			
		}
	}
	else
	{
		lbl_ErrMessage.innerHTML =  msgOTag +"Return Date should not be empty." + msgCTag;
		ADateTo.focus();		
		return false;			
	}
	
	var strFrom = fromdate.split("-");
	var frmmnths = MonthAsNumber(strFrom[1]);
	var strFrmDate = frmmnths+"-"+strFrom[0]+"-"+strFrom[2];
	
	var strTo = Todate.split("-");
	var Tomnths = MonthAsNumber(strTo[1]);
	var strToDate = Tomnths+"-"+strTo[0]+"-"+strTo[2];
	
	var result = CompareDate(strFrmDate, strToDate);
	if(result)
	{
		//var IsToDateGrt = IsToGreaterDate(strFrmDate, strToDate,3);
		////if(IsToDateGrt)
		////	return true;
		////else
		//if (!IsToDateGrt)
		//{
		//	Todate.value = "";
		//	ADateTo.focus();
		//	lbl_ErrMessage.innerHTML = "Return Date should be 3 days greater than Departure Date.";
		//	return false;
		//}
	}
	else
	{
		Todate.value = "";
		ADateTo.focus();
		lbl_ErrMessage.innerHTML =  msgOTag +"Return Date should be greater than Departure Date." + msgCTag;
		return false;
	}
	return true;			
}

function MonthAsNumber(AString)
{
	if (AString != null && AString != "")
	{
		var Mnth;
		if (AString.toUpperCase() == 'JAN')
			Mnth = '01';
		else if (AString.toUpperCase() == 'FEB')
			Mnth = '02';
		else if (AString.toUpperCase() == 'MAR')
			Mnth = '03';
		else if (AString.toUpperCase() == 'APR')
			Mnth = '04';
		else if (AString.toUpperCase() == 'MAY')
			Mnth = '05';
		else if (AString.toUpperCase() == 'JUN')
			Mnth = '06';
		else if (AString.toUpperCase() == 'JUL')
			Mnth = '07';
		else if (AString.toUpperCase() == 'AUG')
			Mnth = '08';
		else if (AString.toUpperCase() == 'SEP')
			Mnth = '09';
		else if (AString.toUpperCase() == 'OCT')
			Mnth = '10';
		else if (AString.toUpperCase() == 'NOV')
			Mnth = '11';
		else if (AString.toUpperCase() == 'DEC')
			Mnth = '12';
		else
			Mnth = '';
		return Mnth;
	}
}

function CompareDate(from, to) {
if(navigator.appName.indexOf('Netscape') != -1  || navigator.appName.indexOf('Opera') != -1 )
{
from = from.replace(/\-/g,',') ;
to=to.replace(/\-/g,','); 
}
if (Date.parse(from) <= Date.parse(to)) 
	return true;
else 
	return false;
}

function IsToGreaterDate(from, to, NoDays) 
{
	if(navigator.appName.indexOf('Netscape') != -1  || navigator.appName.indexOf('Opera') != -1 )
	{
	from = from.replace(/\-/g,',') ;
	to=to.replace(/\-/g,','); 
	}
	var fromDate = Date.parse(from);
	var ToDate = Date.parse(to);
	fromDate = fromDate + (3600 * 24 * 1000 * NoDays);
if (fromDate <= ToDate) 
	return true;
else 
	return false;
}

// Date Validation Related -- End

// Radio button change --start

	function radioButtonOnClick(strArg) {
		var Cntl = strArg.split('|');			    	  	
    	var txtbxRtndate  = document.getElementById(Cntl[1]);
    	var drpRtnTime = document.getElementById(Cntl[2]);
		var rbRoundTrip = Cntl[0]+"_0"; 				
 	    if(document.getElementById(rbRoundTrip).checked)
 	    {
 	    	txtbxRtndate.disabled = false;                
            drpRtnTime.disabled = false;
 	    }
 	    else 	    
 	    { 	    			 	   
                txtbxRtndate.disabled = true;
                drpRtnTime.disabled = true;
                drpRtnTime.selectedIndex = 0;
                txtbxRtndate.value = '';
 	    }    
  
    }
         
     
