\ \ \ var flightSearchType; // sets up search forms according to selected search type function setupSearchFields(){ //Inject searchTypeTitle to flightsOffers_slimquicksearch.htm $("h2.searchTypeTitle").hide(); $("#searchTypeHolder").html($("h2.searchTypeTitle").html()); /* $(".dateinput").datepicker({ onClose: function() {$(this).valid();} }); */ $("#frmAirSearch").validate({ rules: { returnDate: { required: function(){ return $("#flightType_roundTrip").is(":checked"); } } } }); $("#airlinecriteria").click(function(){ if($("#tbl_holder4").css('display') == 'none')$("#tbl_holder4").show(); else $("#tbl_holder4").hide(); }); $("#hourcriteria").click(function(){ if($("#tbl_holder5").css('display') == 'none')$("#tbl_holder5").show(); else $("#tbl_holder5").hide(); }); switch (flightSearchType) { /*ONLY FLIGHTS*/ case "flightSearchFields": setupflightsSearchFields("#frmAirSearch"); break; /*HOTEL - FLIGHTS*/ case "hotelFlightsSearchFields": setuphotelFlightsSearchFields("#frmAirSearch"); break; /*CAR - FLIGHTS*/ case "flightCarSearchFields": setupflightsCarSearchFields("#frmAirSearch"); break; /*HOTEL - CAR - FLIGHTS*/ case "hotelFlightCarSearchFields": setuphotelFlightsCarSearchFields("#frmAirSearch"); break; } } function doQuickFlightSearch(){ if ($("#frmAirSearch").valid()) { document.forms["frmAirSearch"].submit(); } } function setupflightsSearchFields(formId){ $(".trAddIntermediateDestinations").hide(); $(".tdInfantSeats").hide(); $("input[name='flightType']").change(function(){ if ($("#flightType_roundTrip").is(":checked")) { $(".trReturnDate").show(); } else{ $(".trReturnDate").hide(); } if ($("#flightType_withIntermediateDestinations").is(":checked")){ $(".trAddIntermediateDestinations").show(); } else{ $(".trAddIntermediateDestinations").hide(); } }); $(formId + " .infants").change(function(){ updateFlightNeatInfantOptions($(this),formId); }); $(formId + " .childrenRoom1").change(function(){ updateChildrenOptions($(this),formId); }); $(formId + " .tdRoom1childrenages").hide(); //ensures that children selector is checked on load of page $(formId + " .childrenRoom1").change(); //ensures that infants selector is checked on load of page $(formId + " .infants").change(); } function setuphotelFlightsSearchFields(formId){ $("input[name='flightType']").change(function(){ if ($("#flightType_roundTrip").is(":checked")) { $(".trReturnDate").show(); } else{ $(".trReturnDate").hide(); } }); var totalRooms = $.cookie("totalRooms"); if (totalRooms == "" || totalRooms == null) { totalRooms = 1; } totalRooms = eval(totalRooms); initializeRoomFields(totalRooms , "#frmAirSearch"); } function setupflightsCarSearchFields(formId){ $("input[name='flightType']").change(function(){ if ($("#flightType_roundTrip").is(":checked")) { $(".trReturnDate").show(); } else{ $(".trReturnDate").hide(); } }); loadAutocomplete("#carPickUp,#carDropOff" , "/ajax/carpickup.txt" ,2 ); $(formId + " .infants").change(function(){ updateFlightNeatInfantOptions($(this),formId); }); $(formId + " .childrenRoom1").change(function(){ updateChildrenOptions($(this),formId); }); $(formId + " .tdRoom1childrenages").hide(); //ensures that children selector is checked on load of page $(formId + " .childrenRoom1").change(); //ensures that infants selector is checked on load of page $(formId + " .infants").change(); } function setuphotelFlightsCarSearchFields(formId){ $("input[name='flightType']").change(function(){ if ($("#flightType_roundTrip").is(":checked")) { $(".trReturnDate").show(); } else{ $(".trReturnDate").hide(); } }); loadAutocomplete("#carPickUp,#carDropOff" , "/ajax/carpickup.txt" ,2 ); var totalRooms = $.cookie("totalRooms"); if (totalRooms == "" || totalRooms == null) { totalRooms = 1; } totalRooms = eval(totalRooms); initializeRoomFields(totalRooms , "#frmAirSearch"); } //takes formId in order to enable the page to have multiple room - flight selectors with the same script function initializeRoomFields(totalRooms , formId) { for (var count = 1; count <= 4; ++count) { $(formId + " .childrenRoom" + count).change(function(){ updateChildrenOptions($(this),formId); }); $(formId + " .infantsRoom" + count).change(function(){ updateFlightInfantOptions($(this),formId); }); $(formId + " .tdRoom" + count + "childrenages").hide(); if (count > totalRooms) { $(formId + " .room" + count).hide(); } } showHideRoomOptions(totalRooms,formId); $(formId + " .totalRooms").change(function(){ var totalRooms = eval($(formId + " .totalRooms").val()); $.cookie("totalRooms", totalRooms, { path: '/', expires: 10 }); showHideRoomOptions(totalRooms ,formId); }); } //takes formId in order to enable the page to have multiple room - flight selectors with the same script function showHideRoomOptions(totalRooms , formId){ for (var i=1;i<=totalRooms;++i) { $(formId + " .room" + i).show(); $(formId + " .childrenRoom" + i).change(); $(formId + " .infantsRoom" + i).change(); } for (var i=totalRooms + 1;i<=4;++i) { $(formId + " .room" + i).hide(); } $(formId + " .totalRooms").val(totalRooms); } //takes formId in order to enable the page to have multiple room - flight selectors with the same script function updateChildrenOptions(control,formId) { var totalChildren = eval($(control).val()); var roomNo = eval($(control).attr("class").substring(12,13)); if (totalChildren == 0) { $(formId + " .tdRoom" + roomNo + "childrenages").hide(); } else { $(formId + " .tdRoom" + roomNo + "childrenages").show(); for (var i=1;i<=totalChildren;++i){ $(formId + " .room" + roomNo + "child" + i + "age").show(); } for (var i=totalChildren + 1;i<=4;++i){ $(formId + " .room" + roomNo + "child" + i+ "age").hide(); } } } //It is used by FLIGHT and CAR-Flight forms which have only one Room function updateFlightNeatInfantOptions(control,formId) { var totalInfants = eval($(control).val()); var selected = eval($(formId + " .infantSeats").val()); if (totalInfants == 0) { $(formId + " .tdInfantSeats").hide(); } else { $(formId + " .tdInfantSeats").show(); var options = ""; for (var i=0;i<=totalInfants;++i) { if(selected==i) options += " "; else options += " "; } $(formId + " .infantSeats").html(options); } } //Is is USED by HOTEL-FLIGHT and HOTEL-FLIGHT-CAR forms which have 4 rooms function updateFlightInfantOptions(control,formId) { var totalInfants = eval($(control).val()); var roomNo = eval($(control).attr("class").substring(11,12)); var selectedInfant = eval($(formId + " .infantSeatsRoom" + roomNo).val()); if (totalInfants == 0) { $(formId + " .tdInfantSeatsRoom" + roomNo).hide(); } else { $(formId + " .tdInfantSeatsRoom" + roomNo).show(); var options = ""; for (var i=0;i<=totalInfants;++i) { if(i==selectedInfant) options += " "; else options += " "; } $(formId + " .infantSeatsRoom" + roomNo).html(options); } } function removeDestination(which) { $(which).closest('tr').remove(); if ($("#tblDestinations tbody > tr").size() == 0) { $("#tblDestinations tfoot").show(); } } function addDestination() { if ($("#frmAirSearch").valid()) { alert("valid"); var html = String.format(" \"Διαγραφή\" {0}
\ {1}
\ {2} ", $("#flightOrigin").val().replace("\"", """), $("#flightDestination").val().replace("\"", """), $("#departureDate").val().replace("\"", """)); $("#tblDestinations tbody").append(html); if ($("#tblDestinations tbody > tr").size() > 0) { $("#tblDestinations tfoot").hide(); } } else { alert("invalid"); } return false; }