$.fn.zakupBiletu = function (options) { var zakup_biletu_form = $("#zakup_biletu_form"); var nr_biletu_osoby_towarzyszacej = $("#nr_biletu_osoby_towarzyszacej"); var rodzaj_wagonu = $("#rodzaj_wagonu"); var dalej_button = $(".dalej_button"); var klasa_wagonu = $("#klasa_wagonu"); var tryb_posel = $("#tryb_posel"); var przesiadkaPrev = $(".przesiadka_prev"); var przesiadkaNext = $(".przesiadka_next"); var arrow_box_ext_info = $(".arrow_box_ext_info"); var nextStepPrzesiadka = 0; var ODCINEK = { PIERWSZY: 1, DRUGI: 2 }; // events dalej_button.unbind('click').click(function (e) { var self = $(this); var strefaCiszyArr = [52, 11]; var dlaPodrzDzieckiDoLat6Arr = [3,50]; var rowerOferta = 15; var SIEDZACE = 1; var rodzajWagonu = parseInt($("#rodzaj_wagonu").find("option:selected").val()); var rodzajWagonuOdcinek_1 = parseInt($("#rodzaj_wagonu_odcinek_2").val()); var rower = $("#rodzaj_wagonu").find("option:selected").val(); var krajowy = self.attr("krajowy"); var kat_poc = self.attr("kat_poc"); var is_bilet_rodzinny = $("#bilet_rodzinny").is(":checked"); var is_przesiadka_zakupowa = ParamUtil.parseBoolean(self.attr("przesiadka")); var ignoruj_odc = false; if (self.attr("ignoruj_odc") !== null && self.attr("ignoruj_odc") !== undefined) { ignoruj_odc = ParamUtil.parseBoolean(self.attr("ignoruj_odc")); } if (ignoruj_odc) { is_przesiadka_zakupowa = false; } if (!validMiejsceSasiadujaceWskazane(ODCINEK.PIERWSZY)) { return; // blokujemy przycisk Dalej } if (!validNrBiletuOsobyTowarzyszacej()) { return; } var v1 = $("#dalej_modal_ok").attr("v1"); var v2 = $("#dalej_modal_ok").attr("v2"); var v3 = $("#dalej_modal_ok").attr("v3"); var v4 = $("#dalej_modal_ok").attr("v4"); var dalej_modal_false = true; var dalej_modal_atention = false; var dalej_modal_bilet_pies_caly_przedzial = false; var dalej_modal_jedno_lozko_dziecko_opiekun = false; var dalej_modal_wymiana_mm_niechronologiczne_daty = false; var dalej_modal_dziecko_metropol = false; $('.dalej_modal').each(function (index) { $(this).hide(); }); var openModal = false; if (krajowy) { // strefa ciszy if ((strefaCiszyArr.indexOf(rodzajWagonu) > -1 || strefaCiszyArr.indexOf(rodzajWagonuOdcinek_1) > -1) && !is_przesiadka_zakupowa) { openModal = true; $("#dalej_modal_strefa_ciszy").show(); $("#dalej_modal_ok").val(v1); } // dla dziecka do lat 6 if (nextStepPrzesiadka == 0) { if (dlaPodrzDzieckiDoLat6Arr.indexOf(rodzajWagonu) > -1 && !BilDodatkoweService().czyNieWybranoCalegoPrzedzialuDlaPsa()) { var ile_osob = Number($("#liczba_n").find("option:selected").val()) + Number($("#liczba_u").find("option:selected").val()) + Number($("#liczba_u_2").find("option:selected").val()); if (ile_osob >= 2) { if (kat_poc != 81 || ile_osob <= 4) { openModal = true; $("#dalej_modal_dla_podr_z_dzieckiem_do_lat_6").show(); $("#dalej_modal_ok").val(v1); } } } } // bilet rodzinny if (is_bilet_rodzinny) { var usluga_id = parseInt($(".rodzaj_miejsca:checked").val()); var container_id = (usluga_id == SIEDZACE) ? 1 : 2; var usluga_wrapper = $("#rodzaj_ulgi_wrap_" + container_id); var liczba_n = $("#liczba_n").val(); var kod_znizki = usluga_wrapper.find("#kod_znizki").val(); var liczba_u = $("#liczba_u").val(); var kod_znizki_2 = usluga_wrapper.find("#kod_znizki_2").val(); var liczba_u_2 = $("#liczba_u_2").val(); var ile_osob = Number(liczba_n) + Number(liczba_u) + Number(liczba_u_2); if (liczba_n == 0 && (Number(liczba_u) + Number(liczba_u_2)) > 0) { openModal = true; $("#dalej_modal_bilet_rodzinny_bledna_liczba_osob").show(); $("#dalej_modal_ok").val(v2); } else { if ((liczba_u > 0 && kod_znizki == 77) || (liczba_u_2 > 0 && kod_znizki_2 == 77) || ile_osob < 2 || ile_osob > 5) { } else if (liczba_n >= 2 || (liczba_u > 0 && kod_znizki > 1) || (liczba_u_2 > 0 && kod_znizki_2 > 1)) { openModal = true; $("#dalej_modal_bilet_rodzinny").show(); $("#dalej_modal_ok").val(v2); } if (strefaCiszyArr && $("#dalej_modal_strefa_ciszy").is(":visible") && $("#dalej_modal_bilet_rodzinny").is(":visible")) { $("#dalej_modal_strefa_ciszy").hide(); $("#dalej_modal_bilet_rodzinny").hide(); $("#dalej_modal_bilet_rodzinny_strefa_ciszy").show(); $("#dalej_modal_ok").val(v2); } } } /*** oblsuga modala dla pracownikow kolei ***/ var ILOSC_OSOB_PRACOWNIK_KOLEI = 1; // dla 1 normalny submit, powy¿ej 1 pokazujemy modala if (iloscZaznaczonychZnizekPracownikKolei() > ILOSC_OSOB_PRACOWNIK_KOLEI && !ZakupBiletuUtil().isPolbus()) { openModal = true; $("#dalej_modal_pracownik_kolei").show(); } if (BilDodatkoweService().czyNieWybranoCalegoPrzedzialuDlaPsa()) { openModal = true; dalej_modal_bilet_pies_caly_przedzial = true; } if (czyWybranoWspolneUsytuowanieNaJednymLozkuDzieckoOpiekun()) { openModal = true; dalej_modal_jedno_lozko_dziecko_opiekun = true; } } // end krajowy if($("#dalej_modal_dziecko_metropol").length > 0) { var liczba_n = $("#liczba_n").val(); var liczba_u = $("#liczba_u").val(); var nrTaryfyII = $("#nrTaryfyII").val(); if( liczba_n == 0 && liczba_u > 0 && nrTaryfyII == 73) { openModal = true; dalej_modal_dziecko_metropol = true; } } if ($(".bilet_dodatkowy").length > 0) { $(".bilet_dodatkowy").each(function (idx, obj) { var activeOption = $(obj).find("option:selected").val(); if (parseInt(activeOption) == rowerOferta && !is_bilet_rodzinny) { openModal = false; } }); } if($("#dalej_modal_wymiana_mm_niechronologiczne_daty").length > 0) { openModal = true; dalej_modal_wymiana_mm_niechronologiczne_daty = true; } if ($(this).attr("przesiadka") == "true") { var kat_1 = $(this).attr("kat_1"); var kat_2 = $(this).attr("kat_2"); if (kat_1 != kat_2) { if (czyZnalezionoZnizkiKolejarza()) { openModal = true; dalej_modal_atention = true; } } } if (openModal && (nextStepPrzesiadka == 0)) { var modalService = new OknoModalneService(); if (dalej_modal_atention) { modalService.dalejModalAtention(); } else if (dalej_modal_bilet_pies_caly_przedzial) { modalService.dalejModalBiletPiesCalyPrzedzial(); } else if (dalej_modal_jedno_lozko_dziecko_opiekun) { modalService.dalejModalJednoLozkoDzieckoOpiekun(); }else if(dalej_modal_wymiana_mm_niechronologiczne_daty) { modalService.dalejModalMiedzynarodowyNiechronologiczneDaty(); }else if(dalej_modal_dziecko_metropol) { modalService.dalejModalMiedzynarodowyDzieckoMetropol(); }else if (dalej_modal_false) { modalService.dalejModalFalse(); }else { modalService.dalejModalDefault(); } // w przypadku przesiadki podmieniamy dla modala submita na button if (is_przesiadka_zakupowa) { $("#dalej_modal_ok").attr("type", "button").unbind('click').click(function (event) { nextStepPrzesiadka++; przesiadkiService(nextStepPrzesiadka); $(this).okienkoModalne().close(); }); } $(this).okienkoModalne().open(); } else if (is_przesiadka_zakupowa) { if(ZakupBiletuUtil().czyWybranoZnizkiKolejarzaPolbus()) { new OknoModalneService().modalZnizkiDlaKolejarzaPolbus(this); return; }else if (ObslugaKlopotliwychZnizek().validate(this)) { return; } if (nextStepPrzesiadka == 0) { // odcinek 1 informacja_pasazerska($(this).attr("nr_poc_2"), $(this).attr("data_odj_2"), $(this).attr("lang")); nextStepPrzesiadka++; przesiadkiService(nextStepPrzesiadka); return; } else if (nextStepPrzesiadka == 1) { // odcinek 2 if (strefaCiszyArr.indexOf(rodzajWagonuOdcinek_1) > -1) { prepareStrefaCiszyPrzesiadkiModal().unbind('click').click(function (event) { nextStepPrzesiadka++; przesiadkiService(nextStepPrzesiadka); if (nextStepPrzesiadka > 1) { document.forms['zakup_biletu_form'].submit(); } }); $(this).okienkoModalne().open(); return; } if (czyWybranoDlaPodroznychZDziecmiDoLat6(this, dlaPodrzDzieckiDoLat6Arr, kat_poc)) { return; } if (!validMiejsceSasiadujaceWskazane(ODCINEK.DRUGI)) { return; // blokujemy przycisk Dalej } document.forms['zakup_biletu_form'].submit(); } } else { document.forms['zakup_biletu_form'].submit(); } }); // przesiadki events przesiadkaPrev.click(function (event) { informacja_pasazerska($(this).attr("nr_poc_1"), $(this).attr("data_odj_1"), $(this).attr("lang")); nextStepPrzesiadka = 0; var przesiadka = new PrzesiadkiZakupowe(); przesiadka.setIndexPrzesiadki(nextStepPrzesiadka); przesiadka.odblokujPolaDlaPrzesiadkiZakupowej(); przesiadka.aktywujDeaktywujElementy(); $().obslugaUlgi().obslugaWieluZnizek(); }); przesiadkaNext.click(function (event) { var przesiadka = new PrzesiadkiZakupowe(); if (nextStepPrzesiadka == 0) { nextStepPrzesiadka++; przesiadka.setIndexPrzesiadki(nextStepPrzesiadka); przesiadka.aktywujDeaktywujElementy(); } przesiadka.zablokujPolaDlaPrzesiadkiZakupowej(); }); arrow_box_ext_info.toggleClick(function () { $(this).closest(".data_box_section").find(".data_box_rwd").removeClass("data_box_hide").addClass("data_box_show"); $(this).removeClass('arrow_box_down').addClass('arrow_box_up'); }, function () { $(this).closest(".data_box_section").find(".data_box_rwd").removeClass("data_box_show").addClass("data_box_hide"); $(this).removeClass('arrow_box_up').addClass('arrow_box_down'); }); zakup_biletu_form.submit(function () { // obsluga ulgi 100% Dla dziecka do lat 4 if (nr_biletu_osoby_towarzyszacej.is(':visible')) { if (nr_biletu_osoby_towarzyszacej.val().trim().length == 0) { nr_biletu_osoby_towarzyszacej.next().show(); return false; } } /*********************/ return true; }); rodzaj_wagonu.change(function () { var kod_wagonu = $(this).find("option:selected").attr("value"); rodzajWagonuOpis(kod_wagonu); sprawdzRowerRodzajWagonu(); usunInformacjeWstepnaDlaPrzedzialDzieckoDo6Lat(); }); klasa_wagonu.change(function () { if (tryb_posel.length == 0) { ustawKlasaWagonu(); } // dzieckoDoLat6(); }); function iloscZaznaczonychZnizekPracownikKolei() { //PRACOWNIK_KOLEI : 40, EMERYT_RENCISTA_KOLEI : 41, PRACOWNIK_KOLEI_RODZINA : 42, PRACOWNIK_KOLEI_ZAPLECZE_TECHNICZNE : 44 var pracownik_kolei_znizki = [40, 41, 42, 44]; var kod_znizki_arr = ["kod_znizki", "kod_znizki_2", "kod_znizki_3"]; var ilosc_arr = ["liczba_u", "liczba_u_2", "liczba_u_3"]; var laczna_ilosc_osob_pracownik_kolei = 0; $.each(kod_znizki_arr, function (idx, elem) { var zaznaczona_znizka = parseInt($("#" + elem).find("option:selected").val()); if (pracownik_kolei_znizki.indexOf(zaznaczona_znizka) > -1) { var liczba_u_elem = ilosc_arr[idx]; var liczba_u_ilosc = parseInt($("#" + liczba_u_elem).find("option:selected").val()); laczna_ilosc_osob_pracownik_kolei += liczba_u_ilosc; } }); return laczna_ilosc_osob_pracownik_kolei; } function przesiadkiService(nextStepPrzesiadka) { var przesiadka = new PrzesiadkiZakupowe(); przesiadka.setIndexPrzesiadki(nextStepPrzesiadka); przesiadka.zablokujPolaDlaPrzesiadkiZakupowej(); przesiadka.aktywujDeaktywujElementy(); ObslugaKlopotliwychZnizek().pokazKomunikatRozneKatPoc_Eip_TLK(); } function prepareStrefaCiszyPrzesiadkiModal() { $("#dalej_modal_inform").hide(); $("#dalej_modal_strefa_ciszy").show(); $("#dalej_modal_footer").show(); var modal = $("#dalej_modal_ok"); var v1 = modal.attr("v1"); modal.val(v1); modal.attr("type", "button"); modal.addClass("js-modal-close"); return modal; } function validMiejsceSasiadujaceWskazane(odcinek) { var MIEJSCE = { ZAJETE: "rezerwacja_obok_miejsca_juz_zajetego", WSKAZANE: "rezerwacja_miejsca_wskazanego" }; var isWrongFormat = function (odcinek) { var elementy_nr = ["numer_wagonu", "numer_miejsca"]; var flag = false; $.each(elementy_nr, function (idx, elem) { var idx = (odcinek > 1) ? "_" + odcinek : ""; var input = $("#" + elem + idx); if (input.val().length > 0) { if (!input.val().match(/^\d+$/)) { input.addClass("error_input").closest(".form_wrapper_input").find(".error_info_wskazane_zajete").removeClass("display-hide"); flag = true; } else { input.removeClass("error_input").closest(".form_wrapper_input").find(".error_info_wskazane_zajete").addClass("display-hide"); } } }); return flag; }; var idx = (odcinek > 1) ? "_" + odcinek : ""; if ($("#" + MIEJSCE.ZAJETE).is(":checked") || $("#" + MIEJSCE.WSKAZANE + idx).is(":checked")) { return !isWrongFormat(odcinek); } return true; } ; function czyWybranoWspolneUsytuowanieNaJednymLozkuDzieckoOpiekun() { var BEZ_ZNIZKI = 1; var znizkiDzieciMlodziez = [71, 77, 78]; var liczba_lozek = $("#llozek"); var liczba_n = $("#liczba_n"); var kod_znizki_arr = ["kod_znizki", "kod_znizki_2", "kod_znizki_3"]; var liczba_u_arr = ["liczba_u", "liczba_u_2", "liczba_u_3"]; var liczba_doroslych = 0; var liczba_dzieci = 0; var osobne_lozko_dla_dziecka_wrapper = $("#osobne_lozko_dla_dziecka_wrapper"); var jestSiedzacy = (parseInt($(".rodzaj_miejsca:checked").val()) === 1); if(!jestSiedzacy && liczba_lozek.is(":visible")) { liczba_doroslych += parseInt(liczba_n.val()); var znizkaWrapper = "rodzaj_ulgi_wrap_" + (jestSiedzacy ? 1 : 2); $.each(kod_znizki_arr, function(idx, elem) { var kod_znizka = idx===0 ? parseInt($("#" + znizkaWrapper).find("#" + elem).val()) : parseInt($("#" + elem).val()); var liczba_u = parseInt($("#" + liczba_u_arr[idx]).val()); if (znizkiDzieciMlodziez.indexOf(kod_znizka) > -1) { liczba_dzieci += liczba_u; }else if(kod_znizka != BEZ_ZNIZKI) { liczba_doroslych += liczba_u; } }); osobne_lozko_dla_dziecka_wrapper.hide(); $("#osobne_lozko_dla_dziecka").attr('checked', false); var liczba_osob_ogolem = liczba_dzieci + liczba_doroslych; if(parseInt(liczba_lozek.val()) == 0) { return false; }else if(liczba_osob_ogolem > parseInt(liczba_lozek.val())) { return true; } } return false; } function czyWybranoDlaPodroznychZDziecmiDoLat6(inputref, dlaPodrzDzieckiDoLat6Arr, katPoc) { var flag = false; var rodzaj_wagonu_odcinek_2 = parseInt($("#rodzaj_wagonu_odcinek_2").find("option:selected").val()); if (dlaPodrzDzieckiDoLat6Arr.indexOf(rodzaj_wagonu_odcinek_2) > -1) { var ile_osob = 0; var ids_liczba_osob_arr = ["liczba_n", "liczba_u_2_1", "liczba_u_2_2"]; $(ids_liczba_osob_arr).each(function (idx, elem) { ile_osob += parseInt($("#" + elem).find("option:selected").val()); }); if (ile_osob >= 2) { if (katPoc != 81 || ile_osob <= 4) { $(".dalej_modal").hide(); $("#dalej_modal_inform").hide(); $("#dalej_modal_dla_podr_z_dzieckiem_do_lat_6").show(); $("#dalej_modal_footer").show(); var modal = $("#dalej_modal_ok"); var v1 = modal.attr("v1"); modal.val(v1); modal.attr("type", "button"); modal.addClass("js-modal-close").unbind('click').click(function (event) { document.forms['zakup_biletu_form'].submit(); }); flag = true; $(inputref).okienkoModalne().open(); } } } return flag; } function validNrBiletuOsobyTowarzyszacej() { var nr_biletu_osoby_towarzyszacej = $("#nr_biletu_osoby_towarzyszacej"); var nr_osoba_towarz_error = $(".nr_osoba_towarz_error"); var regex = /^[0-9]+$/; var isPoprawny = true; if (nr_biletu_osoby_towarzyszacej.is(':visible')) { if (nr_biletu_osoby_towarzyszacej.val().trim().length === 0 || !regex.test(nr_biletu_osoby_towarzyszacej.val().trim())) { nr_osoba_towarz_error.find("span").show(); isPoprawny = false; } else { nr_osoba_towarz_error.find("span").hide(); isPoprawny = true; } } return isPoprawny; } function czyZnalezionoZnizkiKolejarza() { var znizkaKolejarzPracownikIEmeryt = [40, 41]; var znizkaKolejarzRodzina = [42, 44]; //Badanie czy wybrano zni¿ki kolejarsie oraz inne var znizki_arr = ["kod_znizki", "kod_znizki_2", "kod_znizki_3", "kod_znizki_2_1", "kod_znizki_2_2", "kod_znizki_2_3"]; var znalezionoZnizkaKolejarzRodzina = false; var znalezionoZnizkaKolejarzPracownikIEmeryt = false; $.each(znizki_arr, function (key, elem) { var zaznaczona_znizka = parseInt($("#" + elem).find(":selected").val()); if (znizkaKolejarzRodzina.indexOf(zaznaczona_znizka) > -1) { znalezionoZnizkaKolejarzRodzina = true; } if (znizkaKolejarzPracownikIEmeryt.indexOf(zaznaczona_znizka) > -1) { znalezionoZnizkaKolejarzPracownikIEmeryt = true; } }); return (znalezionoZnizkaKolejarzRodzina && znalezionoZnizkaKolejarzPracownikIEmeryt); } function PrzesiadkiZakupowe() { var elementyOnChange = "#zakup_biletu_form input[type='checkbox'], #zakup_biletu_form input[type='radio'], #zakup_biletu_form select"; var elementy = { id: ["tr_rodzaj_miejsca", "tr_promocja", "tr_liczba_osob_n", "tr_kod_znizki", "tr_kod_znizki_2", "tr_kod_znizki_3", "tr_nr_taryfy_II", "tr_nr_taryfy_I", "tr_przedzial", "tr_plec", "tr_klasa", "tr_kolorowa_karta_ic", "tr_pokaz_kolorowa_karte", "tr_bilety_dodatkowe"], klasa: ["bilet_karta_rodziny_main_wrapper"] }; this.indexPrzesiadki = 0; var odcinek = {PIERWSZY: 0, DRUGI: 1}; this.zablokujPolaDlaPrzesiadkiZakupowej = function () { var elementsToShow = [ ".submit_powrot_zakup_biletu", ".dalej_button", ".przesiadka_info_parametry", "#rodzaj_wagonu_odcinek_2", "#usytuowanie_przesiadka_1" ]; // blokujemy KDR, BR $(".opcja_biletu_rodzinny").each(function () { var self = $(this); if (self.is(":checked")) { _addInputKDFiBR(self, 1); } else { _addInputKDFiBR(self, 0); } }); $("#pokaz_kolorowa_karte").attr('disabled', true); // blokujemy us³ugi (siedzace, sypialne kuszetka) $(".rodzaj_miejsca").each(function (idx) { var self = $(this); if (!self.is(":checked")) { self.attr('disabled', true); } }); // usuwamy X z biletów dodatkowych $(".remove_additional_ticket").each(function (idx) { var self = $(this); self.hide(); }); _ustawMiejsceZajeteWskazaneMIejsce(false); _pokazUkryjElementyDlaPrzesiadek(elementy, false); $.each(elementsToShow, function (key, elem) { $(elem).show(); }); $("#rodzaj_wagonu, #usytuowanie").hide(); this.obslugaZnizkeDlaPrzesiadki(); $("#tr_pokaz_karte_duzej_rodziny").hide(); $("#tr_pokaz_bilet_rodzinny").hide(); }; this.odblokujPolaDlaPrzesiadkiZakupowej = function () { var elementsToHide = [ ".submit_powrot_zakup_biletu", ".przesiadka_info_parametry", "#rodzaj_wagonu_odcinek_2", "#usytuowanie_przesiadka_1", "#tr_liczba_osob_n_2", "#liczba_u_2_1", "#liczba_u_2_2", "#liczba_u_2_3" ]; var elementsToShow = ["#liczba_u", "#liczba_u_2", "#liczba_u_3"]; // usuwamy blokade dla wszystkich elementow /* $(".opcja_biletu_rodzinny").each(function() { var self = $(this); }); */ // uswamy fake dla KDR i BR _removeInputKDRiBR(); $("#pokaz_kolorowa_karte").attr('disabled', false); // odblokujemy us³ugi (siedzace, sypialne kuszetka) $(".rodzaj_miejsca").each(function (idx) { var self = $(this); self.attr('disabled', false); }); // usuwamy X z biletów dodatkowych $(".remove_additional_ticket").each(function (idx) { var self = $(this); self.show(); }); _ustawMiejsceZajeteWskazaneMIejsce(true); _pokazUkryjElementyDlaPrzesiadek(elementy, true); $.each(elementsToHide, function (key, elem) { $(elem).hide(); }); $.each(elementsToShow, function (key, elem) { $(elem).removeClass("przesiadka_hide_elem"); }); $("#rodzaj_wagonu, #usytuowanie").show(); this.obslugaZnizkeDlaPrzesiadki(); }; this.aktywujDeaktywujElementy = function () { var indexPrzesiadki = this.getindexPrzesiadki(); $(".przesiadka_linia_wrapper").each(function (index) { var self = $(this); if (index == indexPrzesiadki) { self.removeClass("przesiadka_linia_deactive").addClass("przesiadka_linia_active"); } else { self.removeClass("przesiadka_linia_active").addClass("przesiadka_linia_deactive"); } }); $(".przesiadka_konfiguracja_wypis").each(function (index) { var self = $(this); if (index == indexPrzesiadki) { self.show(); } else { self.hide(); } }); if (indexPrzesiadki == 0) { $(".przesiadka_prev_bg").addClass("przesiadka_aktywny_odcinek"); $(".przesiadka_next_bg").removeClass("przesiadka_aktywny_odcinek"); } else { $("#rodzaj_wagonu_msg").hide(); $(".przesiadka_prev_bg").removeClass("przesiadka_aktywny_odcinek"); $(".przesiadka_next_bg").addClass("przesiadka_aktywny_odcinek"); } // ustawiamy index odcinka w elemencie html na potrzeby innych modulow $("#indexPrzesiadki").val(indexPrzesiadki); var klasa_poc1 = $("#klasa_wagonu").find("option:selected").val(); var klasa_poc2 = $("#klasa_wagonu").find("option:selected").val(); if (klasa_poc1 !== klasa_poc2) { $("#klasa_wagonu").val(klasa_poc1); } $(".przesiadka_info_znizka_rozne_kategorie").hide(); this.obslugaBiletRodzinny_DuzaRodzina(); }; this.obslugaZnizkeDlaPrzesiadki = function () { var indexOdcinek = this.getindexPrzesiadki(); var znizkiPierwszyOdcinek = ["#kod_znizki", "#kod_znizki_2", "#kod_znizki_3"]; var znizkiDrugiOdcinek = { combo: ["#kod_znizki_2_1", "#kod_znizki_2_2", "#kod_znizki_2_3"], wrapper: ["#tr_kod_znizki", "#tr_kod_znizki_2", "#tr_kod_znizki_3"] }; if (indexOdcinek > 0) { this.pobierzZnizkiDlaPrzesiadki(); } else { // obsluga pierwszego odcinka var liczba_n = $("#liczba_n"); var liczba_u = $("#liczba_u"); var kod_znizki = $("#kod_znizki"); $(znizkiDrugiOdcinek.wrapper).each(function (key, elem) { var znizka_wrapper = $(elem); znizka_wrapper.removeClass("przesiadka_hide_elem"); znizka_wrapper.find(".znizki_wrapper_ulga_ilosc").removeClass("przesiadka_hide_elem"); znizka_wrapper.find("#liczba_u").removeClass("przesiadka_hide_elem"); znizka_wrapper.find(".znizki_wrapper_ulga_nazwa").find("div").each(function (key, elem) { if ($(elem).attr("class") == "znizki_przesiadki_wrapper") { $(elem).val(1); $(elem).hide(); } else { $(elem).removeClass("przesiadka_hide_elem"); } }); }); var isWybranoZnizke = false; $.each(znizkiPierwszyOdcinek, function (key, elem) { if (parseInt($(elem).val()) > 1) { isWybranoZnizke = true; } }); if (isWybranoZnizke) { $("#tr_miejsce_wskazane").hide(); } else { $("#tr_miejsce_wskazane").show(); } $(".znizki_przesiadki_wrapper").hide(); $("#kod_znizki_opis").removeClass("przesiadka_hide_elem"); $(".przesiadka_info_brak_znizki").hide(); //$(".przesiadka_info_znizka_rozne_kategorie").hide(); var znizki_pracownika_kolei_arr = [77, 79, 84]; var wybrana_znizka = parseInt(kod_znizki.val()); if (liczba_n.val() == 0 && liczba_u.val() == 1 && znizki_pracownika_kolei_arr.indexOf(wybrana_znizka) < 0) { $("#tr_miejsce_wskazane").show(); } } }; this.pobierzZnizkiDlaPrzesiadki = function () { $.ajax({ method: "GET", url: "/zakup-biletu-utils", cache: false, data: { action: "pobierzZnizkiPrzesiadki", karta_duzej_rodziny: $("#karta_duzej_rodziny").is(":checked"), bilet_rodzinny: $("#bilet_rodzinny").is(":checked"), klasa_wagonu: $("#klasa_wagonu").val() }, beforeSend: function (xhr) { $(".zakup_biletu_form_main_wrapper").append(addMaskHtml()); }, success: function (data) { var result = JSON.parse(data); wypelnijCombaDlaPrzesiadki(result); obslugaZnizekDlaOdcinkow(); ObslugaKlopotliwychZnizek().run(); obslugaElementowDlaPrzesiadki(); // dzieckoDoLat6(); }, complete: function (r) { removeMaskHtml(); }, error: function (xhr, status, thrownError) { } }); function wypelnijCombaDlaPrzesiadki(options) { var comboZnizki = ["#kod_znizki", "#kod_znizki_2", "#kod_znizki_3"]; var znizkiComboPrzesiadka = ["#kod_znizki_2_1", "#kod_znizki_2_2", "#kod_znizki_2_3"]; $.each(comboZnizki, function (key, elem) { var selectedOption = $(elem).find("option:selected"); if (selectedOption.val() > 0) { var combo = $(znizkiComboPrzesiadka[key]); combo.html(''); var znizkiCombos = options["znizki_" + key]; for (var i = 0; i < znizkiCombos.length; i++) { combo.append(znizkiCombos[i].option); } } }); } ; function obslugaElementowDlaPrzesiadki() { var PIERWSZY_ODCINEK = 1; var dalej_button = $(".dalej_button"); //if(dalej_button.attr("przesiadka") == "true") { // sprawdzamy czy mamy doczynienia z przesiadka var indexOdcinek = parseInt($("#indexPrzesiadki").val()); if (indexOdcinek == PIERWSZY_ODCINEK) { var przesiadkiPola = ["kod_znizki_2_1", "kod_znizki_2_2", "kod_znizki_2_3"]; var isWybranoZnizke = false; $.each(przesiadkiPola, function (key, elem) { if (parseInt($("#" + elem).val()) > 1) { isWybranoZnizke = true; } }); if (isWybranoZnizke) { //$("#tr_miejsce_wskazane").hide(); $("#tr_rezerwacja_obok_miejsca_juz_zajetego_wagon_2").hide(); $("#tr_rezerwacja_obok_miejsca_juz_zajetego_miejsce_2").hide(); $("#rezerwacja_miejsca_wskazanego_2").prop("checked", false); $("#numer_wagonu_2").val(''); $("#numer_miejsca_2").val(''); } else { $("#tr_miejsce_wskazane").show(); } } //} } function obslugaZnizekDlaOdcinkow() { var znizkiPierwszyOdcinek = ["#kod_znizki", "#kod_znizki_2", "#kod_znizki_3"]; var znizkiDrugiOdcinek = { combo: ["#kod_znizki_2_1", "#kod_znizki_2_2", "#kod_znizki_2_3"], wrapper: ["#tr_kod_znizki", "#tr_kod_znizki_2", "#tr_kod_znizki_3"] }; var liczbaUlgArr = [ ["liczba_u", "liczba_u_2_1"], ["liczba_u_2", "liczba_u_2_2"], ["liczba_u_3", "liczba_u_2_3"] ]; var iloscZaznaczonychZnizek = 0; var zaznaczoneZnizkiPierwszyOdcinek = []; var wybraneZnizkiDrugiOdcinek = []; var clearZnizkaDrugiOdcinek = [false, false, false]; var brakujacaZnizkaDrugiOdcinek = {}; $.each(znizkiPierwszyOdcinek, function (key, elem) { // pobieramy zaznaczona znizke dla pierwszego odcinka var zaznaczonaZnizkaOdcinekPierwszy = $(elem).find("option:selected"); var znizkaKodPierwszyOdcinek = zaznaczonaZnizkaOdcinekPierwszy.val(); var znizkaNazwaPierwszyOdcinek = zaznaczonaZnizkaOdcinekPierwszy.text(); zaznaczoneZnizkiPierwszyOdcinek.push({id: znizkaKodPierwszyOdcinek, nazwa: znizkaNazwaPierwszyOdcinek}); if (znizkaKodPierwszyOdcinek > 1) { iloscZaznaczonychZnizek++; } var znizkiOpcjeDrugiOdcinek = znizkiDrugiOdcinek.combo[key]; $(znizkiOpcjeDrugiOdcinek).find("option").each(function (key1, elem1) { var znizkaDrugiOdcinek = $(elem1); if (znizkaKodPierwszyOdcinek > 1) { if (/*(znizkaKodPierwszyOdcinek == znizkaDrugiOdcinek.val()) && */ (znizkaNazwaPierwszyOdcinek.trim() == znizkaDrugiOdcinek.text().trim())) { clearZnizkaDrugiOdcinek[key] = true; wybraneZnizkiDrugiOdcinek.push({id: znizkaDrugiOdcinek.val(), nazwa: znizkaDrugiOdcinek.text()}); } } }); // end each }); // end each var i = 0; for (i; i < iloscZaznaczonychZnizek; i++) { // sprawdzamy czy znizka nie wystepuje dla drugiego odcinka if (clearZnizkaDrugiOdcinek[i] == false) { brakujacaZnizkaDrugiOdcinek = zaznaczoneZnizkiPierwszyOdcinek[i]; } // pokazujemy znizki dla drugiego odcinka var znizkaWrapper = $(znizkiDrugiOdcinek.wrapper[i]); //znizkaWrapper.removeClass("przesiadka_hide_elem"); znizkaWrapper.find(".znizki_wrapper_ulga_ilosc").addClass("przesiadka_hide_elem"); znizkaWrapper.find("#liczba_u" + (i > 0 ? "_" + (i + 1) : "")).addClass("przesiadka_hide_elem"); znizkaWrapper.find(".znizki_wrapper_ulga_nazwa").find("div").each(function (key, elem) { if ($(elem).attr("class") != "znizki_przesiadki_wrapper") { $(elem).addClass("przesiadka_hide_elem"); } else { $(elem).show(); } }); if (wybraneZnizkiDrugiOdcinek[i] != undefined) { $(znizkiDrugiOdcinek.combo[i]).val(wybraneZnizkiDrugiOdcinek[i].id); } } if (brakujacaZnizkaDrugiOdcinek.id != undefined) { var poc_kategoria_odc_1 = parseInt($("#train_category_1").val()); var poc_kategoria_odc_2 = parseInt($("#train_category_2").val()); var okz = ObslugaKlopotliwychZnizek(); if(okz.isPociagKat_EIP_EIC_AND_TLK_IC(poc_kategoria_odc_1, poc_kategoria_odc_2) || okz.isPociagKat_TLK_IC_AND_EIP_EIC(poc_kategoria_odc_1, poc_kategoria_odc_2)) { var przesiadka_info_brak_znizki = $(".przesiadka_info_brak_znizki"); przesiadka_info_brak_znizki.show(); przesiadka_info_brak_znizki.find("span").empty().append("\"" + brakujacaZnizkaDrugiOdcinek.nazwa + "\""); } $("#kod_znizki_opis").addClass("przesiadka_hide_elem"); $("#tr_liczba_osob_n_2").show(); for (var i = 0; i < iloscZaznaczonychZnizek; i++) { var znizkaWrapper = $(znizkiDrugiOdcinek.wrapper[i]); znizkaWrapper.removeClass("przesiadka_hide_elem"); znizkaWrapper.find(".znizki_wrapper_ulga_ilosc").removeClass("przesiadka_hide_elem"); znizkaWrapper.find("#liczba_u_2_" + (i + 1)).show(); } } else { $("#liczba_n_2").val($("#liczba_n").val()); // ustwiamy liczbe osob ulgowych dla drugiego odcinka $(liczbaUlgArr).each(function (key, elem) { $("#" + elem[1]).val($("#" + elem[0]).val()); }); $(wybraneZnizkiDrugiOdcinek).each(function (key, elem) { var znizkaDrugiOdcinekElement = $(elem); var znizkiDrugiOdcinekCombo = znizkiDrugiOdcinek.combo[key]; $(znizkiDrugiOdcinekCombo).find("option").each(function (key1, elem1) { if (znizkaDrugiOdcinekElement[0].nazwa.trim() != $(elem1).text().trim()) { $(elem1).prop("disabled", "disabled"); } else { $(elem1).prop("selected", "selected"); } }); }); } } ; function addMaskHtml() { var html = "

', { value: 0, text: Language.get('wybierz') })); for(var i=0; i < ilosc_osob_w_przedziale; i++ ) { llozekSelect.append($('

', { value: i + 1, text : i + 1 })); } } liczba_lozek(); } function getIloscOsobDlaPrzedzialu() { var getPrzedzialOsoby = function(przedzial_str) { var DEFAULT_VAL = 6; var ilosc = DEFAULT_VAL; var regex = /[+-]?\d+(?:\.\d+)?/g; var match; while (match = regex.exec(przedzial_str)) { ilosc = match[0]; break; } return ilosc; } var zaznaczona_usluga = parseInt($(".rodzaj_miejsca").filter(':checked').val()); var przedzial = (zaznaczona_usluga == usluga.KUSZETKA) ? $("#klasa_wagonu") : $("#przedzial"); var comboText = przedzial.find("option:selected").text(); return getPrzedzialOsoby(comboText); } function ustawKlasePrzedzial(przedzial) { var wybranaUsluga = parseInt($(".rodzaj_miejsca:checked").val()); var ustawWybranaOpcje = function(comboList) { comboList.find("option").each(function(idx, elem) { if($(elem).text().toLowerCase().indexOf(przedzial.toLowerCase()) != -1) { $(elem).attr('selected', 'selected'); } }); } if(wybranaUsluga == usluga.KUSZETKA) { ustawWybranaOpcje($("#klasa_wagonu")); }else if(wybranaUsluga == usluga.SYPIALNE) { ustawWybranaOpcje($("#przedzial")); } } function czyWybranoZnizkiKolejarzaPolbus() { var znalezionoZnizke = false; var znizkiDlaWszystkichOdcinkow = ["#kod_znizki", "#kod_znizki_2", "#kod_znizki_3","#kod_znizki_2_1", "#kod_znizki_2_2", "#kod_znizki_2_3"]; var znizkiKolejarzKody = getValueFromObject(znizkiKolejarza); if(ZakupBiletuUtil().isPolbus()) { $.each(znizkiDlaWszystkichOdcinkow, function (idx, elem) { var select = $(elem); if(select.find("option").length > 0) { var kod = parseInt(select.find("option:selected").val(), 10); if($.inArray(kod, znizkiKolejarzKody) !== -1) { znalezionoZnizke = true; } } }); } return znalezionoZnizke; } function getValueFromObject(elemObj) { var values = []; var keys = Object.keys(elemObj); for (var i = 0; i < keys.length; i++) { var val = parseInt(elemObj[keys[i]], 10); values.push(val); } return values; } function isPolbus() { return ($("#isPolbus").length > 0); } return { odblokujZablokujWieleZnizekDlaWLBC:odblokujZablokujWieleZnizekDlaWLBC, showOkienkoModalne:showOkienkoModalne, ustawLiczbeNJesliNieWybranoZnizkiWymiana:ustawLiczbeNJesliNieWybranoZnizkiWymiana, ustawMaxLiczbeLozekDlaPrzedzialu:ustawMaxLiczbeLozekDlaPrzedzialu, ustawKlasePrzedzial:ustawKlasePrzedzial, getIloscOsobDlaPrzedzialu:getIloscOsobDlaPrzedzialu, czyWybranoZnizkiKolejarzaPolbus:czyWybranoZnizkiKolejarzaPolbus, showModalInfo:showModalInfo, isPolbus:isPolbus } };