// 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);
}
}
//=====================================================================================================================
//=====================================================================================================================
//=====================================================================================================================