$ = jQuery;
var bookingWidgetController = function () {
return {
init: function () {
this.prepare_dependencies();
},
prepare_dependencies: function () {
this.append_styles();
var language_widget = $("html").attr("lang");
$.getScript("//muni-kyoto-dot-bear-luxe.appspot.com/static_1/lib/selectric/jquery.selectric.1.8.js").done(function () {
$.getScript("//muni-kyoto-dot-bear-luxe.appspot.com/static_1/lib/jquery-ui-1.10.1.custom.min.modified.js").done(function () {
$.getScript("//muni-kyoto-dot-bear-luxe.appspot.com/static_1/js/datepicker/jquery.ui.datepicker-" + language_widget + ".js?v=1").done(function () {
bookingWidgetController.get_booking_widget_html(language_widget);
});
});
});
},
get_booking_widget_html: function (language_widget) {
var parent_wrapper_widget = "";
$.get("//muni-kyoto-dot-bear-luxe.appspot.com/bearluxewidget/" + language_widget + "/", function (e) {
parent_widget_wrapper = "
";
parent_wrapper_widget = parent_widget_wrapper.replace("@@WIDGET@@", e);
}).done(function () {
_set_datepicker_regional($);
$("#paraty_booking_widget").append(parent_wrapper_widget);
$("#paraty_booking_widget .paraty-booking-form").append($("#paraty-customer-id"));
$("#paraty-customer-id").attr("name", "external_user_id");
$.getScript("//muni-kyoto-dot-bear-luxe.appspot.com/static_1/lib/jquery-i18n-1.1.1/jquery.i18n.js").done(function () {
$.getScript("//muni-kyoto-dot-bear-luxe.appspot.com/static_1/i18n/messages_" + language_widget + ".js").done(function () {
$.i18n.load(messages);
$.getScript("//muni-kyoto-dot-bear-luxe.appspot.com/static_1/plugins/pricescalendar/calendar.plugin.js").done(function () {
$.getScript("//muni-kyoto-dot-bear-luxe.appspot.com/static_1/plugins/dates-selector/datepicker_v1.js").done(function () {
DP_extend_info.config.booking_version = '7';
DP_extend_info.config.hotel_path_endpoint = '//muni-kyoto-dot-bear-luxe.appspot.com';
DP_extend_info.config.custom_format_day_month = function (dateComponents) {
dateComponents = dateComponents.split("/");
return "" + dateComponents[2] + "
/" +
dateComponents[1] + "
/" + dateComponents[0] + "
";
};
DP_extend_info.init();
$.getScript("//muni-kyoto-dot-bear-luxe.appspot.com/static_1/scripts/booking_7.js").done(function () {
DP_extend_info.update_dates_v7($.datepicker.formatDate("dd/mm/yy", new Date()));
bookingWidgetController.set_occupancy_number();
bookingWidgetController.prepare_rooms_modifications();
$("select.room_selector").unbind("change").change(bookingWidgetController.set_occupancy_number);
$(".guest_selector").append($(".room_list_wrapper"));
$(".room_list_wrapper").click(function (e) {
e.stopPropagation();
});
$(".submit_button").html("" + $(".submit_button").text() + "");
});
});
});
});
});
});
},
append_styles: function () {
var list_css = [
"//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css",
"//muni-kyoto-dot-bear-luxe.appspot.com/static_1/plugins/pricescalendar/styles.css",
"//muni-kyoto-dot-bear-luxe.appspot.com/static_1/plugins/dates-selector/css/datepicker_ext_inf.css",
"//muni-kyoto-dot-bear-luxe.appspot.com/static_1/css/booking/booking_widget_bearluxe.css?v=1.24"
];
for (var i = 0; i < list_css.length; i++) {
$('head').append($('').attr('href', list_css[i]));
}
},
set_occupancy_number: function () {
var number_of_rooms = $("select[name='numRooms']").val(),
adults_number = 0,
kids_number = 0;
if (number_of_rooms) {
for (var room_loop = 1; room_loop <= number_of_rooms; room_loop++) {
var actual_select_adults = $("select[name='adultsRoom" + room_loop + "']").val(),
actual_select_kids = $("select[name='childrenRoom" + room_loop + "']").val();
if (actual_select_adults || actual_select_kids) {
adults_number += parseInt(actual_select_adults);
kids_number += parseInt(actual_select_kids);
}
}
}
var target_placeholder = $(".guest_selector .placeholder_text"),
placeholder_string = "";
adults_number = parseInt(adults_number);
var adult_tag = $("#adults_tag").val();
if ($("html").attr("lang") === "ja") {
placeholder_string += "" + adult_tag.slice(0,2) + "" + adults_number + "" + adult_tag.slice(2) + "";
} else {
placeholder_string += "" + adults_number + " " + adult_tag + "";
}
if(!$(".adults_only_selector").length){
placeholder_string += " + " + kids_number + "";
}
placeholder_string += "";
target_placeholder.html(placeholder_string);
},
prepare_rooms_modifications: function () {
var _room2 = $("#full_wrapper_booking .room2");
var _room3 = $("#full_wrapper_booking .room3");
$("#full_wrapper_booking select.rooms_number").unbind("change");
$("#full_wrapper_booking select.rooms_number").change(function (event) {
var number = $(this).val();
if (number == 1) {
_room2.hide();
_room3.hide();
} else if (number == 2) {
_room2.show();
_room3.hide();
} else {
_room2.show();
_room3.show();
}
bookingWidgetController.set_occupancy_number();
});
}
};
}();
bookingWidgetController.init();