// JavaScript Document var reizen = []; var maxprijzen = []; function getReis(reiscode) { //-------------------------- for (var i = 0; i < reizen.length; i++) { if (reizen[i].id == reiscode) { return reizen[i]; } } return null; } function calculatePrijs(kamer, id, cnt, kortingArray) { //----------------------------------------------------- var prijs = 0; if (isMonitor(kamer, id, cnt) == 0) { //if ($("#geboortedatum_dag_" + kamer + "_" + id + "_" + cnt).val() && $("#geboortedatum_maand_" + kamer + "_" + id + "_" + cnt).val() && $("#geboortedatum_jaar_" + kamer + "_" + id + "_" + cnt).val() && $("#discipline_" + kamer + "_" + id + "_" + cnt).val() && $("#vervoer_" + kamer + "_" + id + "_" + cnt).val()) { if ($("#geboortedatum_dag_" + kamer + "_" + id + "_" + cnt).val() && $("#geboortedatum_maand_" + kamer + "_" + id + "_" + cnt).val() && $("#geboortedatum_jaar_" + kamer + "_" + id + "_" + cnt).val()) { var prijsArray; // leeftijd var leeftijd = getLeeftijd(kamer, id, cnt); $("#leeftijd_" + kamer + "_" + id + "_" + cnt).val(leeftijd); // prijsarray var lastPrijs = null; for (var i = 0; i < getReis($("#reiscode").val()).sp_reizen_prijsarray.length; i++) { if (parseInt(getReis($("#reiscode").val()).sp_reizen_prijsarray[i].leeftijd, 10) >= leeftijd) { if (kortingArray[cnt-1]["korting"]) { $("#hotelprijs_" + kamer + "_" + id + "_" + cnt).val(getReis($("#reiscode").val()).sp_reizen_prijsarray[i].hotel); prijs += parseInt(getReis($("#reiscode").val()).sp_reizen_prijsarray[i].hotel, 10); prijs += parseInt(getReis($("#reiscode").val()).sp_reizen_prijsarray[i].marge, 10); } else { $("#hotelprijs_" + kamer + "_" + id + "_" + cnt).val(getReis($("#reiscode").val()).sp_reizen_prijsarray[getReis($("#reiscode").val()).sp_reizen_prijsarray.length-1].hotel); prijs += parseInt(getReis($("#reiscode").val()).sp_reizen_prijsarray[getReis($("#reiscode").val()).sp_reizen_prijsarray.length-1].hotel, 10); prijs += parseInt(getReis($("#reiscode").val()).sp_reizen_prijsarray[getReis($("#reiscode").val()).sp_reizen_prijsarray.length-1].marge, 10); } if ($("#discipline_" + kamer + "_" + id + "_" + cnt).val() != "wandelaar") { prijs += parseInt(getReis($("#reiscode").val()).sp_reizen_prijsarray[i].skipas, 10); } break; } } // prijsarray CZZ lastPrijs = null; for (var i = 0; i < maxprijzen.length; i++) { if (parseInt(maxprijzen[i].leeftijd, 10) >= leeftijd) { if (kortingArray[cnt-1]["korting"]) { $("#hotelprijsCZZ_" + kamer + "_" + id + "_" + cnt).val(maxprijzen[i].maxprijs); } else { $("#hotelprijsCZZ_" + kamer + "_" + id + "_" + cnt).val(maxprijzen[maxprijzen.length-1].maxprijs); } break; } } // les opties for (var i = 0; i <= 5; i++) { if (getReis($("#reiscode").val())["sp_reizen_optie" + i] == $("#les_" + kamer + "_" + id + "_" + cnt).val()) { var optiePrijs = getReis($("#reiscode").val())["sp_reizen_meerprijs" + i]; prijs += parseInt(getReis($("#reiscode").val())["sp_reizen_meerprijs" + i], 10); } } // bus if ($("#vervoer_" + kamer + "_" + id + "_" + cnt).val() == "autocar") { prijs += parseInt(getReis($("#reiscode").val()).sp_reizen_buskost, 10); } //materiaal if ($("#materiaal_" + kamer + "_" + id + "_" + cnt).val() && $("#materiaal_" + kamer + "_" + id + "_" + cnt).val() != "" && $("#materiaal_" + kamer + "_" + id + "_" + cnt).val() != "eigen materiaal") { prijs += parseInt( $("#materiaal_" + kamer + "_" + id + "_" + cnt).val().substr(0, $("#materiaal_" + kamer + "_" + id + "_" + cnt).val().indexOf("|")) , 10); } // single if (kamer == 1) { if (id == 0) { if ($("#1persoon_1persoonskamer").is(":checked")) { prijs += parseInt(getReis($("#reiscode").val()).sp_reizen_single, 10); } } else { prijs += parseInt(getReis($("#reiscode").val()).sp_reizen_single, 10); } } } } $("#prijs_" + kamer + "_" + id + "_" + cnt).val(prijs); $("#prijspost_" + kamer + "_" + id + "_" + cnt).val(prijs); updateTotaal(); } function recalculatePrijs() { //--------------------------- for (var kamer = 1; kamer <= 5; kamer++) { for (var id = 0; id <= 5; id++) { for (var cnt = 1; cnt <= kamer; cnt++) { if (id == 0 && kamer > 1) { continue; } var kortingArray = getKortingArray(kamer, id); if ($("#kamer_" + kamer + "_" + id).is(':visible')) { calculatePrijs(kamer, id, cnt, kortingArray); } } } } } function getKortingArray(kamer, id) { //----------------------------------- var kortingArray = []; var cnt; for (cnt = 1; cnt <= kamer; cnt++) { var obj = {}; obj.cnt = cnt; obj.leeftijd = getLeeftijd(kamer, id, cnt); kortingArray.push(obj); kortingArray.sort(function(a, b){return b["leeftijd"] - a["leeftijd"]}); } var cntVolw = 0; for (cnt = 1; cnt <= kamer; cnt++) { if (cnt <= 2) { kortingArray[cnt-1]["korting"] = false; } else { kortingArray[cnt-1]["korting"] = true; } } kortingArray.sort(function(a, b){return a["cnt"] - b["cnt"]}); return kortingArray; } function isMonitor(curKamer, curId, curCnt) { //------------------------------------------- if ($("#code").val() != null && $("#code").val().toLowerCase() == "moni1") { if (curId == 0) return 1; for (var kamer = 1; kamer <= curKamer; kamer++) { for (var id = 1; id <= curId; id++) { if ($("#kamer_" + kamer + "_" + id).is(':visible')) { for (var cnt = 1; cnt <= kamer; cnt++) { if (kamer == curKamer && id == curId && cnt == curCnt) { return 1; } else { return 0; } } } } } } if ($("#code").val() != null && $("#code").val().toLowerCase() == "moni2") { if (curId == 0) return 1; var bFirstFound = false; for (var kamer = 1; kamer <= curKamer; kamer++) { for (var id = 1; id <= curId; id++) { if ($("#kamer_" + kamer + "_" + id).is(':visible')) { for (var cnt = 1; cnt <= kamer; cnt++) { if (!bFirstFound) { if (kamer == curKamer && id == curId && cnt == curCnt) { return 1; } else { bFirstFound = true; } } else { if (kamer == curKamer && id == curId && cnt == curCnt) { return 2; } else { return 0; } } } } } } } return 0; } function getLeeftijd(kamer, id, cnt) { //------------------------------------ var leeftijd; var geboorteDag = parseInt($("#geboortedatum_dag_" + kamer + "_" + id + "_" + cnt).val(), 10); var geboorteMaand = parseInt($("#geboortedatum_maand_" + kamer + "_" + id + "_" + cnt).val(), 10); var geboorteJaar = parseInt($("#geboortedatum_jaar_" + kamer + "_" + id + "_" + cnt).val(), 10); var reisDag = parseInt(getReis($("#reiscode").val()).sp_reizen_begindatum.substring(8, 10), 10); var reisMaand = parseInt(getReis($("#reiscode").val()).sp_reizen_begindatum.substring(5, 7), 10); var reisJaar = parseInt(getReis($("#reiscode").val()).sp_reizen_begindatum.substring(0, 4), 10); if (geboorteMaand > reisMaand || (geboorteMaand == reisMaand && geboorteDag > reisDag)) { leeftijd = reisJaar - geboorteJaar - 1; } else { leeftijd = reisJaar - geboorteJaar; } return leeftijd; } /*function hasKinderkorting(kamer, id, cnt) { //----------------------------------------- //if (cnt > 2 && getLeeftijd(kamer, id, 1) > 18 && getLeeftijd(kamer, id, 2) > 18) return true; if (cnt > 2) return true; else return false; }*/ function updateLes(kamer, id, cnt) { //---------------------------------- if (getLeeftijd(kamer, id, cnt) < 4) { $("#les_" + kamer + "_" + id + "_" + cnt + " option")[1].selected = true; $("#les_" + kamer + "_" + id + "_" + cnt).attr('disabled', true); } else { $("#les_" + kamer + "_" + id + "_" + cnt).attr('disabled', false); } } function updateTotaal() { //----------------------- var subTotaal = 0; var totaalHotel = 0; var totaalHotelCZZ = 0; var aantalBus = 0; for (var kamer = 1; kamer <= 5; kamer++) { for (var id = 0; id <= 5; id++) { if (id == 0 && kamer > 1) { continue; } if (id <= $("#" + kamer + "persoonskamers").val()) { for (var cnt = 1; cnt <= kamer; cnt++) { if ($("#prijs_" + kamer + "_" + id + "_" + cnt).val() != "") { totaalHotel += parseInt($("#hotelprijs_" + kamer + "_" + id + "_" + cnt).val(), 10); totaalHotelCZZ += parseInt($("#hotelprijsCZZ_" + kamer + "_" + id + "_" + cnt).val(), 10); subTotaal += parseInt($("#prijs_" + kamer + "_" + id + "_" + cnt).val(), 10); if ($("#vervoer_" + kamer + "_" + id + "_" + cnt).val() == "autocar") { aantalBus++; } } } } } } $("#subtotaal").val(subTotaal); $("#subtotaalpost").val(subTotaal); $("#totaalhotelkost").val(totaalHotel); $("#totaalhotelkost4commissie").val(Math.min(totaalHotel, totaalHotelCZZ)); $("#totaalmetbus").val(aantalBus); var prijsAnnulatieVerzekering = Math.round(subTotaal*0.055*100)/100 $("#prijsannulatieverzekering").val(prijsAnnulatieVerzekering); $("#prijsannulatieverzekeringpost").val(prijsAnnulatieVerzekering); var totaal = subTotaal; if ($("#annulatieverzekering").is(':checked')) { totaal += prijsAnnulatieVerzekering; } $("#totaal").val(totaal); $("#totaalpost").val(totaal); } function showHideDeelnemers() { //----------------------------- var deelnemer = 1; for (var kamer = 1; kamer <= 5; kamer++) { for (var id = 1; id <= 5; id++) { if (id <= $("#" + kamer + "persoonskamers").val()) { for (var cnt = 1; cnt <= kamer; cnt++) { $("#deelnemer_" + kamer + "_" + id + "_" + cnt).text("Deelnemer " + deelnemer + ":"); deelnemer++; } $("#kamer_" + kamer + "_" + id).show("slow"); } else { $("#kamer_" + kamer + "_" + id).hide("slow"); } } } } function checkKamerverdeling() { //----------------------------- $("#aantalpersonen").removeClass("formError"); if ($("#aantalpersonen").val() == "1") { $("#warning_kamerverdeling").hide("slow"); } else { var totaalDeelnemers = 0; for (var kamer = 1; kamer <= 5; kamer++) { if ($("#" + kamer + "persoonskamers").val() != "") { totaalDeelnemers += (parseInt($("#" + kamer + "persoonskamers").val(), 10) * kamer); } } if (parseInt($("#aantalpersonen").val(), 10) != totaalDeelnemers) { $("#warning_kamerverdeling").show("slow"); } else { $("#warning_kamerverdeling").hide("slow"); } } } function updateVervoerOpties() { //------------------------------ if ($("#vervoer1").is(":checked") || $("#vervoer3").is(":checked")) { $("#group_opstapplaats1").show("slow"); $("#group_opstapplaats2").show("slow"); } else { $("#group_opstapplaats1").hide("slow"); $("#group_opstapplaats2").hide("slow"); } if ($("#aantalpersonen").val() == "1") { $("#vervoer_1_0_1").find('option').remove(); if ($("#vervoer3").is(":checked")) { $("#vervoer_1_0_1").append($("").attr("value", "").text("")); } if ($("#vervoer1").is(":checked") || $("#vervoer3").is(":checked")) { $("#vervoer_1_0_1").append($("").attr("value", "autocar").text("autocar")); } if ($("#vervoer2").is(":checked") || $("#vervoer3").is(":checked")) { $("#vervoer_1_0_1").append($("").attr("value", "eigen wagen").text("eigen wagen")); } } else { for (var kamer = 1; kamer <= 5; kamer++) { for (var id = 0; id <= 5; id++) { for (var cnt = 1; cnt <= kamer; cnt++) { if (id == 0 && kamer > 1) { continue; } $("#vervoer_" + kamer + "_" + id + "_" + cnt).find('option').remove(); if ($("#vervoer3").is(":checked")) { $("#vervoer_" + kamer + "_" + id + "_" + cnt).append($("").attr("value", "").text("")); } if ($("#vervoer1").is(":checked") || $("#vervoer3").is(":checked")) { $("#vervoer_" + kamer + "_" + id + "_" + cnt).append($("").attr("value", "autocar").text("autocar")); } if ($("#vervoer2").is(":checked") || $("#vervoer3").is(":checked")) { $("#vervoer_" + kamer + "_" + id + "_" + cnt).append($("").attr("value", "eigen wagen").text("eigen wagen")); } } } } } } function updateOpmerkingen() { //---------------------------- var strOpmerkingen = ""; if ($("#reiscode").val() != null && $("#reiscode").val() != "" && getReis($("#reiscode").val()).opmerkingboeking != "") { strOpmerkingen += getReis($("#reiscode").val()).opmerkingboeking + "\n"; } if ($("#code").val() != null && $("#code").val().toLowerCase() == "moni1") { strOpmerkingen += "code = MONI1 : er zit een monitor mee in deze boeking.\n"; } else if ($("#code").val() != null && $("#code").val().toLowerCase() == "moni2") { strOpmerkingen += "code = MONI2 : er zitten twee monitoren mee in deze boeking.\n"; } if (strOpmerkingen != "") { $("#opmerkingensnowplus").text(strOpmerkingen); $("#opmerkingensnowpluspost").val(strOpmerkingen); $("#remark_opmerkingen").show("slow"); } else { $("#opmerkingensnowplus").text(""); $("#opmerkingensnowpluspost").val(""); $("#remark_opmerkingen").hide("slow"); } } function updateMonitorWarnings() { //-------------------------------- var iMonitor = 0; for (var kamer = 1; kamer <= 5; kamer++) { for (var id = 0; id <= 5; id++) { for (var cnt = 1; cnt <= kamer; cnt++) { if (id == 0 && kamer > 1) { continue; } if ($("#kamer_" + kamer + "_" + id).is(':visible')) { iMonitor = isMonitor(kamer, id, cnt); if (iMonitor == 1) { $("#monitor1_" + kamer + "_" + id + "_" + cnt).show("slow"); $("#monitor2_" + kamer + "_" + id + "_" + cnt).hide("slow"); } else if (iMonitor == 2) { $("#monitor1_" + kamer + "_" + id + "_" + cnt).hide("slow"); $("#monitor2_" + kamer + "_" + id + "_" + cnt).show("slow"); } else { $("#monitor1_" + kamer + "_" + id + "_" + cnt).hide("slow"); $("#monitor2_" + kamer + "_" + id + "_" + cnt).hide("slow"); } } } } } } function changeReis() { //--------------------- if ($("#reiscode").val() == "") return; //geselecteerde reis $("#reis").val($('#reiscode option:selected').text()); //busprijs $("#busprijs").val(getReis($("#reiscode").val()).sp_reizen_buskost); //vervoersopties if (getReis($("#reiscode").val()).sp_reizen_vervoersopties.indexOf("bus") >= 0) { $("#groep_vervoer1").show("slow"); } else { $("#groep_vervoer1").hide("slow"); } if (getReis($("#reiscode").val()).sp_reizen_vervoersopties.indexOf("auto") >= 0) { $("#groep_vervoer2").show("slow"); } else { $("#groep_vervoer2").hide("slow"); } if (getReis($("#reiscode").val()).sp_reizen_vervoersopties.indexOf("auto") >= 0 && getReis($("#reiscode").val()).sp_reizen_vervoersopties.indexOf("bus") >= 0) { $("#groep_vervoer3").show("slow"); } else { $("#groep_vervoer3").hide("slow"); } if (getReis($("#reiscode").val()).sp_reizen_vervoersopties.indexOf("bus") >= 0 && !(getReis($("#reiscode").val()).sp_reizen_vervoersopties.indexOf("auto") >= 0)) { $("#vervoer1").attr('checked', 'true'); } if (getReis($("#reiscode").val()).sp_reizen_vervoersopties.indexOf("auto") >= 0 && !(getReis($("#reiscode").val()).sp_reizen_vervoersopties.indexOf("bus") >= 0)) { $("#vervoer2").attr('checked', 'true'); } var strBoekingsinfo = getReis($("#reiscode").val()).boekingsinfo; if (strBoekingsinfo != "") { $("#boekingsinfo").text(strBoekingsinfo); $("#boekingsinfo").show("slow"); } else { $("#boekingsinfo").text(""); $("#boekingsinfo").hide("slow"); } updateOpmerkingen(); updateVervoerOpties(); //lesopties for (var kamer = 1; kamer <= 5; kamer++) { for (var id = 0; id <= 5; id++) { for (var cnt = 1; cnt <= kamer; cnt++) { if (id == 0 && kamer > 1) { continue; } $("#les_" + kamer + "_" + id + "_" + cnt).find('option').remove(); $("#les_" + kamer + "_" + id + "_" + cnt).append($("").attr("value", "").text("")); for (var i = 0; i <= 5; i++) { if (getReis($("#reiscode").val())["sp_reizen_optie" + i] != "-") { $("#les_" + kamer + "_" + id + "_" + cnt).append($("").attr("value", getReis($("#reiscode").val())["sp_reizen_optie" + i]).text(getReis($("#reiscode").val())["sp_reizen_optie" + i])); } } } } } //vervoer per deelnemer updateVervoerOpties(); recalculatePrijs(); } function changeDiscipline(curKamer, curId, curCnt) { //-------------------------------------------------- if ($("#discipline_" + curKamer + "_" + curId + "_" + curCnt).val() == "" || $("#discipline_" + curKamer + "_" + curId + "_" + curCnt).val() == "wandelaar") { $("#niveau_" + curKamer + "_" + curId + "_" + curCnt).val(""); $("#les_" + curKamer + "_" + curId + "_" + curCnt).val(""); $("#materiaal_" + curKamer + "_" + curId + "_" + curCnt).val(""); $("#niveau_" + curKamer + "_" + curId + "_" + curCnt).attr('disabled', true); $("#les_" + curKamer + "_" + curId + "_" + curCnt).attr('disabled', true); $("#materiaal_" + curKamer + "_" + curId + "_" + curCnt).find('option').remove(); $("#materiaal_" + curKamer + "_" + curId + "_" + curCnt).attr('disabled', true); } else { $("#niveau_" + curKamer + "_" + curId + "_" + curCnt).attr('disabled', false); $("#les_" + curKamer + "_" + curId + "_" + curCnt).attr('disabled', false); $("#materiaal_" + curKamer + "_" + curId + "_" + curCnt).find('option').remove(); $("#materiaal_" + curKamer + "_" + curId + "_" + curCnt).append($("").attr("value", "").text("")); var materiaal = getReis($("#reiscode").val())["sp_reizen_materiaalarray"]; for (var i = 0; i < materiaal.length; i++) { var discipline = $("#discipline_" + curKamer + "_" + curId + "_" + curCnt).val(); console.log("=> " + discipline); //if (discipline == "snowboard") { // discipline = "snb"; //} if (materiaal[i]["discipline"] == discipline) { $("#materiaal_" + curKamer + "_" + curId + "_" + curCnt).append($("").attr("value", materiaal[i]["prijs"] + "|" + materiaal[i]["inhoud"] + "|" + materiaal[i]["categorie"]).text(materiaal[i]["categorie"] + " - " + materiaal[i]["inhoud"] + " (+ " + materiaal[i]["prijs"] + " EUR)")); } } $("#materiaal_" + curKamer + "_" + curId + "_" + curCnt).attr('disabled', false); } } //===================================================================================================================== //===================================================================================================================== //=====================================================================================================================