/* 

javascript

cyberpodroze/flights_scripts.js,cyberpodroze/hotels_scripts.js

 */

function get_child_age(count)
{
   if(count != 0)
   {
      if(document.getElementById('ch_age_1')) {
         Element.hide('ch_age_1');
      }
      if(document.getElementById('ch_age_2')) {
         Element.hide('ch_age_2');
      }
      if(document.getElementById('ch_age_3')) {
         Element.hide('ch_age_3');
      }
      if(document.getElementById('ch_age_4')) {
         Element.hide('ch_age_4');
      }
      if(document.getElementById('ch_age_5')) {
         Element.hide('ch_age_5');
      }
      if(document.getElementById('ch_age_6')) {
         Element.hide('ch_age_6');
      }

      if(document.getElementById('get_child_age')) {
         Element.show('get_child_age');
      }
      for (i = 1 ; i <= count ; i++)
      {
         if(document.getElementById('ch_age_' + i)) {
            Element.show('ch_age_' + i);
         }
      }
   }
   else
      Element.hide('get_child_age');
}

function get_child_age_multi_searches(count)
{
 if (document.getElementById('r1').checked == true)
  {
   if(count != 0)
   {
      if(document.getElementById('ch_age_fl_1')) {
         Element.hide('ch_age_fl_1');
      }
      if(document.getElementById('ch_age_fl_2')) {
         Element.hide('ch_age_fl_2');
      }
      if(document.getElementById('ch_age_fl_3')) {
         Element.hide('ch_age_fl_3');
      }
      if(document.getElementById('ch_age_fl_4')) {
         Element.hide('ch_age_fl_4');
      }
      if(document.getElementById('ch_age_fl_5')) {
         Element.hide('ch_age_fl_5');
      }
      if(document.getElementById('ch_age_fl_6')) {
         Element.hide('ch_age_fl_6');
      }

      if(document.getElementById('get_child_age_fl')) {
         Element.show('get_child_age_fl');
      }
      for (i = 1 ; i <= count ; i++)
      {
         if(document.getElementById('ch_age_fl_' + i)) {
            Element.show('ch_age_fl_' + i);
         }
      }
   }
   else {
      if(document.getElementById('get_child_age_fl')) {
         Element.hide('get_child_age_fl');
      }
   }
  }
  else if (document.getElementById('r3').checked == true)
  {
   if(count != 0)
   {
      if(document.getElementById('ch_age_hpf_1')) {
         Element.hide('ch_age_hpf_1');
      }
      if(document.getElementById('ch_age_hpf_2')) {
         Element.hide('ch_age_hpf_2');
      }
      if(document.getElementById('ch_age_hpf_3')) {
         Element.hide('ch_age_hpf_3');
      }
      if(document.getElementById('ch_age_hpf_4')) {
         Element.hide('ch_age_hpf_4');
      }
      if(document.getElementById('ch_age_hpf_5')) {
         Element.hide('ch_age_hpf_5');
      }
      if(document.getElementById('ch_age_hpf_6')) {
         Element.hide('ch_age_hpf_6');
      }
      
      if(document.getElementById('get_child_age_hpf')) {
         Element.show('get_child_age_hpf');
      }

      for (i = 1 ; i <= count ; i++)
      {
         if(document.getElementById('ch_age_hpf_' + i)) {
            Element.show('ch_age_hpf_' + i);
         }
      }
   }
   else {
      if(document.getElementById('get_child_age_hpf')) {
         Element.hide('get_child_age_hpf');
      }
   }
  }
  else if (document.getElementById('r6').checked == true)
  {
   if(count != 0)
   {
      if(document.getElementById('ch_age_fpc_1')) {
         Element.hide('ch_age_fpc_1');
      }
      if(document.getElementById('ch_age_fpc_2')) {
         Element.hide('ch_age_fpc_2');
      }
      if(document.getElementById('ch_age_fpc_3')) {
         Element.hide('ch_age_fpc_3');
      }
      if(document.getElementById('ch_age_fpc_4')) {
         Element.hide('ch_age_fpc_4');
      }
      if(document.getElementById('ch_age_fpc_5')) {
         Element.hide('ch_age_fpc_5');
      }
      if(document.getElementById('ch_age_fpc_6')) {
         Element.hide('ch_age_fpc_6');
      }

      if(document.getElementById('get_child_age_fpc')) {
         Element.show('get_child_age_fpc');
      }
      for (i = 1 ; i <= count ; i++)
      {
         if(document.getElementById('ch_age_fpc_' + i)) {
            Element.show('ch_age_fpc_' + i);
         }
      }
   }
   else {
      if(document.getElementById('get_child_age_fpc')) {
         Element.hide('get_child_age_fpc');
      }
   }
  }
  else if (document.getElementById('r7').checked == true)
  {
   if(count != 0)
   {
      if(document.getElementById('ch_age_hpfpc_1')) {
         Element.hide('ch_age_hpfpc_1');
      }
      if(document.getElementById('ch_age_hpfpc_2')) {
         Element.hide('ch_age_hpfpc_2');
      }
      if(document.getElementById('ch_age_hpfpc_3')) {
         Element.hide('ch_age_hpfpc_3');
      }
      if(document.getElementById('ch_age_hpfpc_4')) {
         Element.hide('ch_age_hpfpc_4');
      }
      if(document.getElementById('ch_age_hpfpc_5')) {
         Element.hide('ch_age_hpfpc_5');
      }
      if(document.getElementById('ch_age_hpfpc_6')) {
         Element.hide('ch_age_hpfpc_6');
      }

      if(document.getElementById('get_child_age_hpfpc')) {
         Element.show('get_child_age_hpfpc');
      }
      for (i = 1 ; i <= count ; i++)
      {
         if(document.getElementById('ch_age_hpfpc_' + i)) {
            Element.show('ch_age_hpfpc_' + i);
         }
      }
   }
   else {
      if(document.getElementById('get_child_age_hpfpc')) {
         Element.hide('get_child_age_hpfpc');
      }
   }
  }
}
  

function change_flight_type(type){
 if (type == 0)
   one_way();
 else if (type == 1)
   round_trip();
 else if (type == 2)
   multicity_f();
}


//*************************************************************
// funkcje wspomagające wyszukiwarki lotów
//*************************************************************

// zmienia wygląd wyszukiwarki na 'w jedną stronę'
function one_way () {
   Element.show('fly_there_txt');
   Element.hide('round_trip');
   document.getElementById('SearchFlightPage').value = 1;
   document.getElementById('SearchFlightMulticityNum').value = 0;
   Element.hide('mc_1');
   Element.hide('mc_2');
   Element.hide('mc_3');
   Element.hide('mc_4');
   if(document.getElementById('menu_one_way')) {
      document.getElementById('menu_one_way').className = 'active';
      document.getElementById('menu_round_trip').className = '';
      document.getElementById('menu_many_landings').className = '';
   }
}
// zmienia wygląd wyszukiwarki na 'tam i z powrotem'
function round_trip () {
   Element.show('fly_there_txt');
   Element.show('round_trip');
   document.getElementById('SearchFlightPage').value = 2;
   document.getElementById('SearchFlightMulticityNum').value = 0;
   Element.hide('mc_1');
   Element.hide('mc_2');
   Element.hide('mc_3');
   Element.hide('mc_4');
   if(document.getElementById('menu_one_way')) {
      document.getElementById('menu_one_way').className = '';
      document.getElementById('menu_round_trip').className = 'active';
      document.getElementById('menu_many_landings').className = '';
   }
}
// zmienia wygląd wyszukiwarki na 'wiele przelotów'
function multicity_f () {
   Element.hide('fly_there_txt');
   Element.hide('round_trip');
   document.getElementById('SearchFlightPage').value = 3;

   if(document.getElementById('SearchFlightMulticityNum').value != null && document.getElementById('SearchFlightMulticityNum').value == 0) {
      document.getElementById('SearchFlightMulticityNum').value = 2;
   }
   if(document.getElementById('menu_one_way')) {
      document.getElementById('menu_one_way').className = '';
      document.getElementById('menu_round_trip').className = '';
      document.getElementById('menu_many_landings').className = 'active';
   }
   multicity_show();
}
// dodaje 1 przelot, gdy wybrano 'wiele przelotów'
function add_multicity (x) {
   var new_multicity = document.getElementById('SearchFlightMulticityNum').value;
   new_multicity++;
   document.getElementById('SearchFlightMulticityNum').value = new_multicity;
   if(x == 2) {
      if(document.getElementById('FlyFrom[4]')) {
         document.getElementById('SearchFlightFlyFrom[4]').value = document.getElementById('SearchFlightFlyFrom[3]').value;
         document.getElementById('SearchFlightFlyTo[4]').value = document.getElementById('SearchFlightFlyTo[3]').value;
         document.getElementById('SearchFlightFlyDate[4]').value = document.getElementById('SearchFlightFlyDate[3]').value;
         //document.getElementById('SearchFlightFlyHour[4]').value = document.getElementById('SearchFlightFlyHour[3]').value;
         if(document.getElementById('SearchFlightFlyNonStop[4]')) {
            document.getElementById('SearchFlightFlyNonStop[4]').checked = document.getElementById('SearchFlightFlyNonStop[3]').checked;
         }
      }
      document.getElementById('SearchFlightFlyFrom[3]').value = '';
      document.getElementById('SearchFlightFlyTo[3]').value = '';
      document.getElementById('SearchFlightFlyDate[3]').value = '';
      //document.getElementById('SearchFlightFlyHour[3]').value = '';
      if(document.getElementById('SearchFlightFlyNonStop[3]')) {
         document.getElementById('SearchFlightFlyNonStop[3]').checked = false;
      }
   }
   if(x == 3) {
      document.getElementById('SearchFlightFlyFrom[4]').value = '';
      document.getElementById('SearchFlightFlyTo[4]').value = '';
      document.getElementById('SearchFlightFlyDate[4]').value = '';
      //document.getElementById('SearchFlightFlyHour[4]').value = '';
      if(document.getElementById('SearchFlightFlyNonStop[4]')) {
         document.getElementById('SearchFlightFlyNonStop[4]').checked = false;
      }
   }
   multicity_show();
}
// usuwa 1 przelot, gdy wybrano 'wiele przelotów'
function del_multicity (x) {
   var new_multicity = document.getElementById('SearchFlightMulticityNum').value;
   new_multicity--;
   document.getElementById('SearchFlightMulticityNum').value = new_multicity;
   if(x < 3) {
      document.getElementById('SearchFlightFlyFrom[2]').value = document.getElementById('SearchFlightFlyFrom[3]').value;
      document.getElementById('SearchFlightFlyTo[2]').value = document.getElementById('SearchFlightFlyTo[3]').value;
      document.getElementById('SearchFlightFlyDate[2]').value = document.getElementById('SearchFlightFlyDate[3]').value;
      document.getElementById('SearchFlightFlyHour[2]').value = document.getElementById('SearchFlightFlyHour[3]').value;
      if(document.getElementById('SearchFlightFlyNonStop[2]')) {
         document.getElementById('SearchFlightFlyNonStop[2]').checked = document.getElementById('SearchFlightFlyNonStop[3]').checked;
      }
   }
   if(x < 4) {
      if(document.getElementById('FlyFrom[4]')) {
         document.getElementById('SearchFlightFlyFrom[3]').value = document.getElementById('SearchFlightFlyFrom[4]').value;
         document.getElementById('SearchFlightFlyTo[3]').value = document.getElementById('SearchFlightFlyTo[4]').value;
         document.getElementById('SearchFlightFlyDate[3]').value = document.getElementById('SearchFlightFlyDate[4]').value;
         document.getElementById('SearchFlightFlyHour[3]').value = document.getElementById('SearchFlightFlyHour[4]').value;
         if(document.getElementById('SearchFlightFlyNonStop[3]')) {
            document.getElementById('SearchFlightFlyNonStop[3]').checked = document.getElementById('SearchFlightFlyNonStop[4]').checked;
         }
      }
   }
   multicity_show();
}
//wyświetla odpowiednią ilość pól multicity
function multicity_show() {
   if(document.getElementById('SearchFlightPage').value == 3) {
      if(document.getElementById('SearchFlightMulticityNum').value == 2) {
         Element.show('mc_1');
         Element.show('mc_2');
         Element.hide('mc_3');
         Element.hide('mc_4');
         Element.hide('mc2_del');
         Element.show('mc2_add');
         Element.show('mc3_add');
      }
      if(document.getElementById('SearchFlightMulticityNum').value == 3) {
         Element.show('mc_1');
         Element.show('mc_2');
         Element.show('mc_3');
         Element.hide('mc_4');
         Element.show('mc2_del');
         Element.show('mc2_add');
         Element.show('mc3_add');
         // WYŁĄCZAM WIĘCEJ NIŻ 4 PRZELOTY W WIELE PRZELOTÓW [MB]
         Element.hide('mc3_add');
         Element.hide('mc2_add');
      }
      if(document.getElementById('SearchFlightMulticityNum').value == 4) {
         Element.show('mc_1');
         Element.show('mc_2');
         Element.show('mc_3');
         Element.show('mc_4');
         Element.show('mc2_del');
         Element.hide('mc2_add');
         Element.hide('mc3_add');
      }
   }
}


//*************************************************************
// funkcje wykorzystywane przy prezentacji wyników
//*************************************************************

function see_more_lines(x, right, left)
{
  if (x == 0)
  {
  Element.show('more_lines');
  Element.show('arrow_l');
  Element.hide('arrow_r');
  
  //document.getElementById('see_more_lines').innerHTML = "<img src="'. $html->url('/img/right.gif') .'"/><br><br><img src="'. $html->url('/img/right.gif') .'"/>";
  document.getElementById('see_more_lines').href = 'javascript: see_more_lines(1);';
  //document.getElementById('arrow_l').src= right;
  }
  else
  {
  Element.hide('more_lines');
  Element.show('arrow_r');
  Element.hide('arrow_l');

  //document.getElementById('see_more_lines').innerHTML = "<img src="'. $html->url('/img/right.gif') .'"/><br><br><img src="'. $html->url('/img/right.gif') .'"/>";
  document.getElementById('see_more_lines').href = 'javascript: see_more_lines(0);';
  //document.getElementById('arrow').src= left;
  }

}


//*************************************************************
// funkcje wspomagające wyszukiwarki hoteli
//*************************************************************

// zmienia wygląd wyszukiwarki na 'cel podróży'
function destination () {
   document.getElementById('DataPage').value = 1;
   show_hotel();
}
// zmienia wygląd wyszukiwarki na 'mapa'
function map () {
   document.getElementById('DataPage').value = 2;
   show_hotel();
}
// zmienia wygląd wyszukiwarki na 'nazwa hotelu'
function hotel_name () {
   document.getElementById('DataPage').value = 3;
   show_hotel();
}
function show_hotel () {
   if(document.getElementById('DataPage').value == 1) {
      Element.show('destination');
      Element.show('destination_button');
      if(document.getElementById('menu_destination')) {
         document.getElementById('menu_destination').className = 'active';
      }
   } else {
      Element.hide('destination');
      Element.hide('destination_button');
      if(document.getElementById('menu_destination')) {
         document.getElementById('menu_destination').className = 'inactive';
      }
   }
   if(document.getElementById('DataPage').value == 2) {
      Element.show('map');
      if(document.getElementById('menu_map')) {
         document.getElementById('menu_map').className = 'active';
      }
   } else {
      Element.hide('map');
      if(document.getElementById('menu_map')) {
         document.getElementById('menu_map').className = 'inactive';
      }
   }
   if(document.getElementById('DataPage').value == 3) {
      Element.show('hotel_name');
      Element.show('hotel_name_button');
      if(document.getElementById('menu_hotel_name')) {
         document.getElementById('menu_hotel_name').className = 'active';
      }
   } else {
      Element.hide('hotel_name');
      Element.hide('hotel_name_button');
      if(document.getElementById('menu_hotel_name')) {
         document.getElementById('menu_hotel_name').className = 'inactive';
      }
   }
}
// oblicza ilość dni pobytu wg dat
function length_of_stay(d1,d2,model1) {
   var divname1 = '';

   if(model1 == 'undefined'){
      model1 = 'SearchHotel';
      divname1 = '';
   } else if(!model1) {
      model1 = 'SearchHotel';
      divname1 = '';
   } else if(model1 != 'SearchHotel') {
      if(model1 == 'SearchTouristPackage') {
        divname1 = '';
      } else {
        divname1 = 'Datahpc_';
      }
   }

   var one_day = 1000 * 60 * 60 * 24;
   var date1 = prs_tsmp(d1);
   var date2 = prs_tsmp(d2);
   var field = model1+'Duration';
   document.getElementById(field).value = Math.abs(Math.ceil((date1.getTime() - date2.getTime()) / (one_day)));

   document.getElementById(divname1 +'length_of_stay').innerHTML = Math.abs(Math.ceil((date1.getTime() - date2.getTime()) / (one_day)));
}

//*************************************************************
// funkcje wspomagające wyświetlanie szczegółów hotelu
//*************************************************************

// zmienia wygląd szczegółów hotelu na 'zdjęcia i opis'
function photo_desc (URL, nr) {
   var date = new Date();
   var timestamp = date.getTime();
   new Ajax.Updater('hotel_details', URL + 'photo_desc/0/' + nr +'/'+ timestamp, {
     method: 'get',
     onLoading: function(transport) {show_loading();},
     onComplete: function(transport) {

      // ODPALANIE SKRYPTÓW KTÓRE PRZYSZŁY W ODPOWIEDZI
      var temp_script_start = transport.responseText.split("<sc" + "ript language=\"JavaScript\">");
      for(var i = 0; i < temp_script_start.length; i++) {

         if(temp_script_start[i].indexOf("</sc" + "ript>") == -1) {
            continue;
         }

         var temp_script_end = temp_script_start[i].split("</sc" + "ript>");

         if(temp_script_end[0].indexOf("<script") != -1) {
            continue;
         }

         var temp_script = temp_script_end[0];

         if (window.execScript) {
            window.execScript(temp_script);
         } else {
            eval(temp_script);
         }
      }

      var temp_script_start = transport.responseText.split("<sc" + "ript type=\"text/javascript\">");
      for(var i = 0; i < temp_script_start.length; i++) {

         if(temp_script_start[i].indexOf("</sc" + "ript>") == -1) {
            continue;
         }

         var temp_script_end = temp_script_start[i].split("</sc" + "ript>");

         if(temp_script_end[0].indexOf("<script") != -1) {
            continue;
         }

         var temp_script = temp_script_end[0];

         if (window.execScript) {
            window.execScript(temp_script);
         } else {
            eval(temp_script);
         }
      }
      ////////////////////////////////////////////////////////////////
      Element.hide('photo_desc_details_text');
      Element.hide('photo_desc_details_img');
      Element.hide('photo_desc_details_a');
      Element.show('map_details_text');
      Element.show('map_details_img');
      Element.show('map_details_a');

      Element.hide('hotel_map');
      Element.show('hotel_details');
      hide_loading();}
   });
}

var map_loaded = 0;
// zmienia wygląd szczegółów hotelu na 'mapy i kierunki'
function map_direct (URL, nr) {
   if(map_loaded == 0) {

      var date = new Date();
      var timestamp = date.getTime();
      new Ajax.Updater('hotel_map', URL + 'map_direct/'+ nr +'/' + timestamp , {
        method: 'get',
        onLoading: function(transport) {show_loading();},
        onComplete: function(transport) {

           Element.show('photo_desc_details_text');
           Element.show('photo_desc_details_img');
           Element.show('photo_desc_details_a');
           Element.hide('map_details_text');
           Element.hide('map_details_img');
           Element.hide('map_details_a');

           Element.hide('hotel_details');
           Element.show('hotel_map');
           load_map();
           map_loaded = 1;
           hide_loading();
        }
      });
   } else {

      Element.show('photo_desc_details_text');
      Element.show('photo_desc_details_img');
      Element.show('photo_desc_details_a');
      Element.hide('map_details_text');
      Element.hide('map_details_img');
      Element.hide('map_details_a');

      Element.hide('hotel_details');
      Element.show('hotel_map');
   }

}

// zmienia wygląd szczegółów hotelu na 'opinia gości'
function guest_opinion (URL, nr) {
   document.getElementById('menu_photo_desc').className = 'inactive';
   if(document.getElementById('menu_map_direct')) {
      document.getElementById('menu_map_direct').className = 'inactive';
   }
   if(document.getElementById('menu_guest_opinion')) {
      document.getElementById('menu_guest_opinion').className = 'active';
   }
   if(document.getElementById('menu_room_price')) {
      document.getElementById('menu_room_price').className = 'inactive';
   }

   Element.hide('hotel_map');

   var date = new Date();
   var timestamp = date.getTime();
   new Ajax.Updater('hotel_details', URL + 'guest_opinion/' + nr +'/'+ timestamp, {
     method: 'get',
     onLoading: function(transport) {show_loading();},
     onComplete: function(transport) {Element.show('hotel_details'); hide_loading();}
   });
}