$ = jQuery;
var bookingWidgetController = function () {
return {
config: {
'available_languages': ['es', 'en']
},
init: function () {
this.prepare_dependencies();
},
prepare_dependencies: function () {
$("html").attr("lang", translate_code_language());
var language_widget = $("html").attr("lang");
$('head').append('');
$('head').append('');
$.getScript("//ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js", function(){
$.getScript('//hotel-don-pancho.appspot.com/static_1/lib/jquery-ui-1.10.1.custom.min.modified.js', function () {
$.getScript("//hotel-don-pancho.appspot.com/static_1/lib/jquery-i18n-1.1.1/jquery.i18n-min.js", function(){
$.getScript("//hotel-don-pancho.appspot.com/static_1/js/datepicker/jquery.ui.datepicker-" + language_widget + ".js", function(){
_set_datepicker_regional($);
$.getScript("//hotel-don-pancho.appspot.com/static_1/js/mainWebSkeletonAux_injection.js", function(){
$.getScript("//hotel-don-pancho.appspot.com/static_1/i18n/messages_" + language_widget + ".js?v=1.3", function(){
$.getScript("//hotel-don-pancho.appspot.com/static_1/lib/spin.min.js", function(){
bookingWidgetController.get_booking_widget_html();
});
});
});
});
});
});
});
},
get_booking_widget_html: function () {
var language_widget = $("html").attr("lang");
if (this.config.available_languages.indexOf(language_widget) == -1){
language_widget = 'en';
}
$.get("//hotel-don-pancho.appspot.com/booking-donpancho/" + language_widget + "/?version=injection", function (e) {
widget_donpancho = e;
if ($(".seccion-reserva").length) {
$(".seccion-reserva").html(widget_donpancho);
if($("input#paraty_widget_vertical").length && $("input#paraty_widget_vertical").val()) {
$(".paraty_widget_vertical form#searchForm").addClass("vertical_widget");
}
$('head').append($('').attr('href', '//hotel-don-pancho.appspot.com/static_1/css/booking/booking_engine_2_injection.css?v=11.17'));
}
bookingWidgetController.preparing_widget_inteligent();
$(".show_widget_wrapper").click(function(){
$(".paraty-booking-form").slideToggle("slow").promise().done(function(){
$(".paraty-booking-form").css("overflow", "visible");
});
});
$.getScript("//hotel-don-pancho.appspot.com/static_1/scripts/url_modifier.js");
$(".paraty-booking-form button.button-hover").addClass("");
$("button.colocar_envio").click(function(event){
var stat_date_value = $("input[name=startDate]").val(),
end_date_value = $("input[name=endDate]").val();
if( stat_date_value == "" || end_date_value == ""){
$("input[name=startDate]").trigger("click");
event.stopPropagation();
}
});
});
},
preparing_widget_inteligent: function(){
$.getScript("//hotel-don-pancho.appspot.com/static_1/plugins/pricescalendar/calendar.plugin.js?v=1.4", function(){
$.getScript("///hotel-don-pancho.appspot.com/static_1/plugins/dates-selector/datepicker_v1.js?v=1.125", function () {
DP_extend_info.config.booking_version = '2';
DP_extend_info.config.hotel_path_endpoint = '//hotel-don-pancho.appspot.com';
DP_extend_info.config.max_date_datepicker = 365;
DP_extend_info.config.room_hotel_selector = true;
DP_extend_info.config.language_web = language_code_to_title();
$.i18n.load(messages);
no_dispo_text = $.i18n._("no_disponible");
DP_extend_info.init();
bookingWidgetController.set_datepicker_popup_default();
if($("#paraty_entry_date").length) {
$(".colocar_fechas input[name=startDate]").val($("#paraty_entry_date").val());
}
if($("#paraty_departure_date").length) {
$(".colocar_fechas input[name=endDate]").val($("#paraty_departure_date").val());
}
if($("#paraty_nu_rooms").length) {
$(".paraty-booking-form").each(function(){
$(this).find("#selector_habitaciones").val($("#paraty_nu_rooms").val());
$(this).find("#selector_habitaciones").change();
});
}
if($("#paraty_adults_1").length) {
$(".paraty-booking-form").each(function(){
$(this).find("#hab1_adultos").val($("#paraty_adults_1").val());
});
}
if($("#paraty_adults_2").length) {
$(".paraty-booking-form").each(function(){
$(this).find("#hab2_adultos").val($("#paraty_adults_2").val());
});
}
if($("#paraty_adults_3").length) {
$(".paraty-booking-form").each(function(){
$(this).find("#hab3_adultos").val($("#paraty_adults_3").val());
});
}
if($("#paraty_promocode").length) {
$("input[name=promocode]").val($("#paraty_promocode").val());
}
});
});
},
set_datepicker_popup_default: function(){
if (navigator.userAgent.match(/Android/i)
|| navigator.userAgent.match(/webOS/i)
|| navigator.userAgent.match(/iPhone/i)
|| navigator.userAgent.match(/iPad/i)
|| navigator.userAgent.match(/iPod/i)
|| navigator.userAgent.match(/BlackBerry/i)
|| navigator.userAgent.match(/Windows Phone/i)) {
return;
}
let language_widget = $("html").attr("lang");
if (this.config.available_languages.indexOf(language_widget) == -1){
language_widget = 'en';
}
const tooltips = {
es: 'Por favor seleccione la habitación en la que quiere ver su disponibilidad y precio en el calendario',
en: 'Please select the room in which you want to see its availability and price on the calendar'
}
var targets_selectors = $("#fecha_entrada, #fecha_salida");
targets_selectors.unbind("click");
targets_selectors.click(function () {
var actual_date = new Date(),
month_to_search = actual_date.getMonth() + 1, //Javascript give months from 0
year_to_search = actual_date.getFullYear();
DP_extend_info.search_specific_month(month_to_search, year_to_search);
DP_extend_info.hide_datepicker_wrapper();
setTimeout(function () {
help_messages_controller_datepicker.show_messages();
/*$('.room_selector_popup_wrapper').trigger('change');
$('.room_selector_popup_wrapper option').each(function() {
if ($(this).text() === 'Habitación Estándar' || $(this).text() === 'Standard Room') {
$(this).prop('selected', true);
}
});*/
if (!$('.calendar_tooltip').length) {
$('' + tooltips[language_widget] + '').insertAfter('.room_selector_popup_wrapper');
}
}, 2000)
});
$(document).on('mousedown', 'input[readonly]', function (e) {
e.preventDefault();
});
},
mostrarHabitaciones2: function(selector) {
var form_paraty = selector.closest(".paraty-booking-form"),
numHab = selector.val();
for (var i=4; i>numHab-1; i--) {
form_paraty.find('#hab'+i).hide();
form_paraty.find('#childrenRoom'+(i+1)).val("0");
}
for (var j=numHab-1; i>=0; i--) {
form_paraty.find('#hab'+j).show();
}
}
}
}();
bookingWidgetController.init();
function translate_code_language() {
var dict_lang = {
'es-es': 'es',
'de-de': 'de',
'en-gb': 'en',
'en-us': 'en'
};
return dict_lang[$("html").attr("lang").toLowerCase()];
}
function language_code_to_title() {
var dict_lang = {
'es': 'SPANISH',
'en': 'ENGLISH'
};
return dict_lang[$("html").attr("lang").toLowerCase()];
}