$ = 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()]; }