function date_root(which,form)
{    
	  	  
    if(url_outdatedd != '' && url_outdateMM != '' && url_outdateyyyy != '' && url_retdatedd != '' && url_retdateMM != '' && url_retdateyyyy != '')
         { 
             if(which == 'out' )
            {
                 dd = url_outdatedd
                MM = url_outdateMM
                yyyy = url_outdateyyyy             
            }
            if(which == 'ret' )
            {
                 dd = url_retdatedd
                MM = url_retdateMM
                yyyy = url_retdateyyyy    
            }        
         }
    else if(findCookie('outdd') && findCookie('outMM') && findCookie('outyyyy') && findCookie('retdd') && findCookie('retMM') && findCookie('retyyyy'))
        { 
            if(which == 'out' )
            {
                
                dd = findCookie('outdd')
                MM = findCookie('outMM')
                yyyy = findCookie('outyyyy')                    
            }
            if(which == 'ret' )
            {                
                dd = findCookie('retdd')
                MM = findCookie('retMM')
                yyyy = findCookie('retyyyy')                    
            }        
        }
    else
        { 
			var date = new Date();
			date.setYear(nowYear);
			date.setMonth(nowMonth-1);
			date.setDate(nowDay);						
			if(which == 'out')
             date.setDate(date.getDate()+10);
            if(which == 'ret')
             date.setDate(date.getDate()+20);
            
			dd = date.getDate();
            MM = date.getMonth()+1;
			yyyy = date.getYear();		
			 if(yyyy < 1900)
                 yyyy += 1900;	
			
        }    
    
	
    dd= parseFloat(dd)
    MM= parseFloat(MM)
    yyyy= parseFloat(yyyy)
    
		
    if(which == 'out')
    {		        
        makeYearMonthOptions(form,'depDateMonthYear',MM,yyyy);
        makeDayOptions(dd,MM,yyyy,form,'outdatedd');
		countDays(dd,MM,yyyy,form,'depDateDayName');		
    }
    if(which == 'ret')
    {        
        makeYearMonthOptions(form,'retDateMonthYear',MM,yyyy);
        makeDayOptions(dd,MM,yyyy,form,'retdatedd');
        setNewDates('depDateMonthYear', 'out', form);
        setNewDates('retDateMonthYear', 'ret', form);
        changeReturnIfEarlier('depDateMonthYear','retDateMonthYear','outdatedd','retdatedd','depDateDayName','retDateDayName',form,'retdate')
		countDays(dd,MM,yyyy,form,'retDateDayName');
    }
    
}

function date_root_promo(which)
{    
	if(cal_depdate != '')
	{    
  		dd_from = cal_depdate.substring(0,2);
		MM_from = cal_depdate.substring(3,5);
		yyyy_from = cal_depdate.substring(6,10);
	}
	else
		{
			dd_from = nowDay;
			MM_from = nowMonth;
			yyyy_from = nowYear;
		}
	
	date_from = yyyy_from+''+MM_from+''+dd_from; //kalendarz od
	
	if(cal_retdate != '')
	{    
  		dd_to = cal_retdate.substring(0,2);
		MM_to = cal_retdate.substring(3,5);
		yyyy_to = cal_retdate.substring(6,10);
	}
	else
		{
			dd_to = nowDay;
			MM_to = nowMonth;
			yyyy_to = nowYear+1;
		}
	
	
	
	date_to = yyyy_to+''+MM_to+''+dd_to; //kalendarz do
	
	dd_now = nowDay; if(nowDay <= 9)dd_now = '0'+nowDay;
	MM_now = nowMonth; if(nowMonth <= 9) MM_now = '0'+nowMonth;
	yyyy_now = nowYear; if(nowYear < 2000) yyyy_now = nowYear+1900;
	
	date_now = yyyy_now+''+MM_now+''+dd_now; // dzisiejsza data
	
	//alert(date_from+' '+date_to+' '+date_now)
	
	if(date_from < date_now)
		{
			dd_from = dd_now;
			MM_from = MM_now;
			yyyy_from = yyyy_now;
		}	
  	
      if(url_outdatedd != '' && url_outdateMM != '' && url_outdateyyyy != '' && url_retdatedd != '' && url_retdateMM != '' && url_retdateyyyy != '')
         { 
             if(which == 'out' )
            {
                 dd = url_outdatedd
                MM = url_outdateMM
                yyyy = url_outdateyyyy             
            }
            if(which == 'ret' )
            {
                 dd = url_retdatedd
                MM = url_retdateMM
                yyyy = url_retdateyyyy    
            }        
         }
    else if(findCookie('outdd') && findCookie('outMM') && findCookie('outyyyy') && findCookie('retdd') && findCookie('retMM') && findCookie('retyyyy'))
        { 
            if(which == 'out' )
            {
                
                dd = findCookie('outdd')
                MM = findCookie('outMM')
                yyyy = findCookie('outyyyy')                    
            }
            if(which == 'ret' )
            {                
                dd = findCookie('retdd')
                MM = findCookie('retMM')
                yyyy = findCookie('retyyyy')                    
            }        
        }
    else
        { 
			var date = new Date();
			date.setYear(nowYear);
			date.setMonth(nowMonth-1);
			date.setDate(nowDay);						
			if(which == 'out')
             date.setDate(date.getDate()+10);
            if(which == 'ret')
             date.setDate(date.getDate()+20);
            
			dd = date.getDate();
            MM = date.getMonth()+1;
			yyyy = date.getYear();		
			 if(yyyy < 1900)
                 yyyy += 1900;	
			
        }    
    
	
    dd= parseFloat(dd)
    MM= parseFloat(MM)
    yyyy= parseFloat(yyyy)
    
	
	
    if(which == 'out')
    {		        
        makeYearMonthOptions_promo(dd,MM,yyyy,'mainForm','depDateMonthYear',MM_from,yyyy_from,MM_to,yyyy_to);
        makeDayOptions_promo(dd,MM,yyyy,'mainForm','outdatedd',dd_from,MM_from,yyyy_from,dd_to,MM_to,yyyy_to);
		setNewDates('depDateMonthYear', 'out', 'mainForm');
		countDays_promo(dd,MM,yyyy,'mainForm','depDateDayName');		
    }
    if(which == 'ret')
    {        
        makeYearMonthOptions(dd,MM,yyyy,'mainForm','retDateMonthYear',MM_from,yyyy_from,MM_to,yyyy_to);
        makeDayOptions(dd,MM,yyyy,'mainForm','retdatedd',dd_from,MM_from,yyyy_from,dd_to,MM_to,yyyy_to);        
        setNewDates('retDateMonthYear', 'ret', 'mainForm');        
		countDays(dd,MM,yyyy,'mainForm','retDateDayName');
    }
    
}

function countDays_promo(selectedDay,selectedMonth,selectedYear,form,field)
  {
   //Formatting input data
   selectedDay = parseFloat(selectedDay);
   selectedMonth = parseFloat(selectedMonth);
   selectedYear = parseFloat(selectedYear);   
   
   if(selectedYear > 3000)selectedYear-=1900;
   var days = 0;
   var year = 0;
   //Counting years
   for (year; tblYears[year] < selectedYear; year++ )
   {
    for(var counter=0; counter < 12; counter++)
    {
     days += tblDayEnds[year][counter];           // Adding to days whole year
    }
   }
   
   //Counting months
   for (var j=0; j < (selectedMonth-1); j++)
   { 
    days += tblDayEnds[year][j];
   }
   
   //Counting days
   days += (selectedDay-1);
   var days = days % 7;
   
   try{
    parent.document.forms[form].elements[field].value = tblDayName[days];
   }
   catch(e){}
   
   try{
    document.forms[form].elements[field].value = tblDayName[days];
   }
   catch(e){}
   
  }
  
  function makeYearMonthOptions_promo(selectedDay,selectedMonth,selectedYear,form, field,MM_from,yyyy_from,MM_to,yyyy_to)
  {  
  
   var selectedMonthYear = parseFloat(selectedMonth) + '.' + selectedYear; 
   var yearIndex = tblYears.length;
   var makeTextString = '';
   var makeValueString = '';
   var makeMonth = '';
   var optionsCounter = 0;
  

   for (var i=0; parseFloat(tblYears[i]) <= (parseFloat(yyyy_from)+1); i++)     // Setting one year forward
   {
   if( parseFloat(tblYears[i]) >= parseFloat(yyyy_from) && parseFloat(tblYears[i]) <= parseFloat(yyyy_to))
   {   
    var j=0;
	var maxj = 12;
    if (tblYears[i] == yyyy_from) j= (parseFloat(MM_from)-1);
	if (tblYears[i] == yyyy_to) maxj= (parseFloat(MM_to));
    
   // if (parseFloat(tblYears[i]) == (parseFloat(nowYear)+1)) maxj = nowMonth;
   
    for (j ; j < maxj; j++)
    {
     newj = j+1;
     if (newj < 10) makeMonth = '0' + newj;          // Making 2 signs for month
     else makeMonth = newj;
     
     makeTextString = tblMonthsName[j] + '.' + tblYears[i];
     makeValueString = makeMonth + '.' + tblYears[i];
     document.forms[form].elements[field].options[document.forms[form].elements[field].options.length] = new Option (makeValueString,makeTextString);
     if(selectedMonthYear == ((j+1) + '.' + tblYears[i])) document.forms[form].elements[field].options[optionsCounter].selected = true;
     optionsCounter++;
    }
    }
   }
  }  

  function makeDayOptions_promo(selectedDay, selectedMonth, selectedYear, form, field,dd_from,MM_from,yyyy_from,dd_to,MM_to,yyyy_to)
  {
  document.forms[form].elements[field].length= 0;
   if(selectedYear > 3000)selectedYear-=1900;
   selectedDay = parseFloat(selectedDay);
   selectedMonth = parseFloat(selectedMonth);
   selectedYear = parseFloat(selectedYear);  
   var day = dd_from;
   var year = yyyy_from;
   month = MM_from;
   
   // Finding year Index
   var yearIndex = 0;
   for (var i=0; i != tblYears.length; i++)
   {
    if(tblYears[i] == selectedYear) yearIndex = i;
   }  
   var numberOfDays = tblDayEnds[yearIndex][selectedMonth-1];
   

   var makeDay = '';
   var dayNumber = 0;
   var k = 0;
   if(parseFloat(selectedMonth) == parseFloat(MM_from) && parseFloat(selectedYear) == parseFloat(yyyy_from))
    {
        var k = day;
        k--;
    }	
	
	//alert(parseFloat(selectedMonth) +'=='+ parseFloat(MM_to) +'&&'+ parseFloat(selectedYear)+' =='+ parseFloat(yyyy_to))
	if(parseFloat(selectedMonth) == parseFloat(MM_to) && parseFloat(selectedYear) == parseFloat(yyyy_to))
    {
        var numberOfDays = dd_to;        
    }		
    
   for(var i = k; i < numberOfDays; i++)
   {       
    makeDay = '';
    dayNumber = i+1;
    if((i+1) < 10) makeDay = '0' + dayNumber;
    else makeDay = dayNumber;
    
        document.forms[form].elements[field].options[i-k] = new Option;
        document.forms[form].elements[field].options[i-k].value = makeDay;
        document.forms[form].elements[field].options[i-k].text = makeDay;
            
            if(selectedDay == makeDay) document.forms[form].elements[field].options[i-k].selected = true;
     
   }
  }

   function ifChange_promo(monthYear, day, form, dayNameField, dayNumbersField, updateDays)
  {  	
  
    if(cal_depdate != '')
	{    
  		dd_from = cal_depdate.substring(0,2);
		MM_from = cal_depdate.substring(3,5);
		yyyy_from = cal_depdate.substring(6,10);
	}
	else
		{
			dd_from = nowDay;
			MM_from = nowMonth;
			yyyy_from = nowYear;
		}
	
	date_from = yyyy_from+''+MM_from+''+dd_from; //kalendarz od
	
	if(cal_retdate != '')
	{    
  		dd_to = cal_retdate.substring(0,2);
		MM_to = cal_retdate.substring(3,5);
		yyyy_to = cal_retdate.substring(6,10);
	}
	else
		{
			dd_to = nowDay;
			MM_to = nowMonth;
			yyyy_to = nowYear+1;
		}
	
	
	
	date_to = yyyy_to+''+MM_to+''+dd_to; //kalendarz do
	
	dd_now = nowDay; if(nowDay <= 9)dd_now = '0'+nowDay;
	MM_now = nowMonth; if(nowMonth <= 9) MM_now = '0'+nowMonth;
	yyyy_now = nowYear; if(nowYear < 2000) yyyy_now = nowYear+1900;
	
	date_now = yyyy_now+''+MM_now+''+dd_now; // dzisiejsza data
	
	if(date_from < date_now)
		{
			dd_from = dd_now;
			MM_from = MM_now;
			yyyy_from = yyyy_now;
		}
		
		
   var tblMonthYear = new Array;
   tblMonthYear = monthYear.split('.');
   
   if (updateDays)
   {
    makeDayOptions_promo(day,tblMonthYear[0],tblMonthYear[1], form, dayNumbersField,dd_from,MM_from,yyyy_from,dd_to,MM_to,yyyy_to)
   }
    setNewDates('depDateMonthYear', 'out', 'mainForm');
    setNewDates('retDateMonthYear', 'ret', 'mainForm');
	
	day = document.forms[form].elements[dayNumbersField].value;
		
	countDays(day,tblMonthYear[0],tblMonthYear[1],form,dayNameField);
  }
  
  function setNewDates(optionMonthYear, hidden, form)
  {
    try
        {
           var newDateString = document.forms[form].elements[optionMonthYear][document.forms[form].elements[optionMonthYear].selectedIndex].value;
           document.forms[form].elements[hidden+'dateMM'].value = newDateString.substring(0,2);
           document.forms[form].elements[hidden+'dateyyyy'].value = newDateString.substring(3,7);
        }
        catch(e){}
  } 
  
function findCookie(nazwa)
{
  var ciastkoZnalezione = false;
  var start = 0;
  var koniec = 0;
  var lancuchCiastka = document.cookie;
  var tekst;
   
  var i = 0;
  while (i <= lancuchCiastka.length)
  {
    start = i;
    koniec = start + nazwa.length;
    if (lancuchCiastka.substring(start, koniec) == nazwa)
    {
      ciastkoZnalezione = true;
      break;
    }
    i++;
  } 
  if (ciastkoZnalezione)
  {
    start = koniec + 1;
    koniec = document.cookie.indexOf(";", start);
    if (koniec < start)
    {
      koniec = document.cookie.length;
    }
    tekst = document.cookie.substring(start, koniec);          
  }
  else
  {
    return false;   
  }
  return (tekst);
}

function hide_dates()
{    	
    if(document.mainForm.elements['flight-type-check'].checked == false)
       {                             
            document.mainForm.elements['flight-type-check'].checked = false;
            document.mainForm.retdatedd.disabled = true; 
            document.mainForm.retDateMonthYear.disabled = true; 
			document.mainForm.retDateDayName.disabled = true;              
            document.mainForm.elements['flight-type'].value = 'single';
            document.getElementById('calendar_to_button').disabled = true;
			returncheck = 0;
       }
   else 
      {                             
            document.mainForm.retdatedd.disabled = false;  
            document.mainForm.retDateMonthYear.disabled = false;    
			document.mainForm.retDateDayName.disabled = false;           
            document.mainForm.elements['flight-type'].value = 'return'
            document.getElementById('calendar_to_button').disabled = false;
			returncheck = 1;
       }
}
function hide_dates_onload()
{  
    if(findBannerCookie('search_option') == 'Z')
       {                            
            document.mainForm.elements['flight-type-check'].checked = false;
            document.mainForm.retdatedd.disabled = true; 
            document.mainForm.retDateMonthYear.disabled = true;             
            document.mainForm.elements['flight-type'].value = 'single';
            document.getElementById('calendar_to_button').disabled = true;
            				
			for(i = 0; i < document.mainForm.search_type.length;i++)
				{
					if(document.mainForm.search_type[i].value == "Z")
					document.mainForm.search_type[i].checked = true;
					document.getElementById('promo_code_span').style.display = "none";
					document.mainForm.elements['flight-type-check'].disabled = true; 							
				}                    
           document.mainForm.elements['flight-type-check'].disabled = true;                    
                			
            
       }
   else 
      {     if(findBannerCookie('return') == 'cookie_true')
	  		{                       
	            document.mainForm.retdatedd.disabled = false;  
	            document.mainForm.retDateMonthYear.disabled = false;             
	            document.mainForm.elements['flight-type'].value = 'return'
	            document.getElementById('calendar_to_button').disabled = false;
			}
			else if(findBannerCookie('return') == 'cookie_false')
				{
					document.mainForm.elements['flight-type-check'].checked = false;	
					document.mainForm.retdatedd.disabled = true; 	           
		            document.mainForm.retDateMonthYear.disabled = true;             
		            document.mainForm.elements['flight-type'].value = 'single';
		            document.getElementById('calendar_to_button').disabled = true;
				}
				else
					{
						document.mainForm.elements['flight-type-check'].checked = true;
						 document.mainForm.retdatedd.disabled = false;  
				         document.mainForm.retDateMonthYear.disabled = false;             
				         document.mainForm.elements['flight-type'].value = 'return'
				         document.getElementById('calendar_to_button').disabled = false;
					}
			
			for(i = 0; i < document.mainForm.search_type.length;i++)
						{
							if(document.mainForm.search_type[i].value == findBannerCookie('search_option'))
							document.mainForm.search_type[i].checked = true;													
						} 			
       }
    set_top()
		
	
	
	
	if(findBannerCookie('paxADT') != null)	
	document.mainForm.elements['paxADT'].selectedIndex = findBannerCookie('paxADT');
	if(findBannerCookie('paxCHD') != null)
	document.mainForm.elements['paxCHD'].selectedIndex = findBannerCookie('paxCHD');
	if(findBannerCookie('paxSRC') != null)
	document.mainForm.elements['paxSRC'].selectedIndex = findBannerCookie('paxSRC');
	if(findBannerCookie('paxINF') != null)
	document.mainForm.elements['paxINF'].selectedIndex = findBannerCookie('paxINF');
	if(findBannerCookie('bclass') == 'true')
	document.mainForm.elements['cabinClass'].checked = true;
}


function set_reconfirmation_date()
{			
	countDays(document.mainForm.outdatedd.value,document.mainForm.depDateMonthYear.value.substring(0,2),document.mainForm.depDateMonthYear.value.substring(3,7),'mainForm','depDateDayName');		
	makeDayOptions(document.mainForm.outdatedd.value,document.mainForm.depDateMonthYear.value.substring(0,2),document.mainForm.depDateMonthYear.value.substring(3,7),'mainForm','outdatedd');
	document.mainForm.FlightDay.value = document.mainForm.outdatedd.value;
	document.mainForm.FlightMonth.value = document.mainForm.depDateMonthYear.value.substring(0,2);
	document.mainForm.FlightYear.value = document.mainForm.depDateMonthYear.value.substring(3,7);
}
