$ = jQuery; var bookingWidgetController = function () { return { config: { _custom_hotel_namespace: false, _custom_hotel_domain: false, messages: { es: { kids_age: "De 3 a 12 años", babies_age: "Menores de 3 años (cuna bajo petición)" }, en: { kids_age: "From 3 to 12 years", babies_age: "Infants aged under 3 (cot on request)" }, de: { kids_age: "Von 3 bis 12 Jahre", babies_age: "Kinder unter 3 Jahren (kinderbett auf anfrage)" }, fr: { kids_age: "De 3 à 12 ans", babies_age: "Moins de 3 ans (berceau sous demande)" }, nl: { kids_age: "Van 3 tot 12 jaar oud", babies_age: "Onder de 3 jaar (kinderbed op aanvraag)" } } }, init: function () { this.prepare_dependencies(); }, is_mobile: function() { if(navigator.userAgent.match(/Android/i) || navigator.userAgent.match(/webOS/i) || navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPod/i) || navigator.userAgent.match(/iPad/i) || navigator.userAgent.match(/BlackBerry/i) || navigator.userAgent.match(/Windows Phone/i)) { return true; } return false; }, prepare_dependencies: function () { jQuery('head').append(''); if (window.location.origin.indexOf('elfuertemarbella.com') > -1) { var target_css = "//fuerte-conil-costaluz-dot-amare-hotels.appspot.com/static_1/css/elfuertemarbella/booking_widget_fuerte_v2.css?v=1.69"; } else { var target_css = "//fuerte-conil-costaluz-dot-amare-hotels.appspot.com/static_1/css/fuerte/booking_widget_fuerte_v2.css?v=1.69"; } jQuery('head').append(jQuery('').attr('href', target_css)); var target_fawesome = "//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"; jQuery('head').append(jQuery('').attr('href', target_fawesome)); jQuery('head').append(''); jQuery('head').append(''); jQuery.getScript("//fuerte-conil-costaluz-dot-amare-hotels.appspot.com/static_inj/lib/jquery-ui-1.10.1.custom.min.modified.js").done(function(){ $ = jQuery; // if (window.location.origin.indexOf('elfuertemarbella.com') === -1) { jQuery.getScript("//fuerte-conil-costaluz-dot-amare-hotels.appspot.com/static_1/js/mainWebSkeletonAux_injection.js"); // } jQuery.getScript("//fuerte-conil-costaluz-dot-amare-hotels.appspot.com/static_1/lib/selectric/jquery.selectric.1.8.js").done(function () { var language_widget = jQuery("html").attr("lang").replace(/-.*/, ''); jQuery.getScript("//fuerte-conil-costaluz-dot-amare-hotels.appspot.com/static_1/js/datepicker/jquery.ui.datepicker-" + language_widget + ".js?v=1").done(function () { bookingWidgetController.get_booking_widget_html(); }); }); }); }, get_booking_widget_html: function () { if(jQuery(".buscador-reservas-horizontal").length){ var language_widget = jQuery("html").attr("lang").replace(/-.*/, ''), target_widget_url = "//fuerte-conil-costaluz-dot-amare-hotels.appspot.com/fuertewidget/" + language_widget, paraty_widget_namespace = bookingWidgetController.get_namespace_widget(); if (paraty_widget_namespace && ! paraty_widget_namespace == 'custom-paraty-format') target_widget_url = target_widget_url + "?namespace=" + paraty_widget_namespace; jQuery.get(target_widget_url, function (e) { parent_wrapper_widget = jQuery("
").html(e); }).done(function () { jQuery(".buscador-reservas-horizontal").html(parent_wrapper_widget); jQuery(".room.room1 .children_selector").append(jQuery("
").html(bookingWidgetController.config.messages[language_widget].kids_age)); jQuery(".room.room1 .babies_selector").append(jQuery("
").html(bookingWidgetController.config.messages[language_widget].babies_age)); jQuery.getScript("//fuerte-conil-costaluz-dot-amare-hotels.appspot.com/static_1/scripts/hotel_selector_2.js?v=1"); if(jQuery(".destination_wrapper").length) { jQuery("#full_wrapper_booking").addClass("with_hotel_selector"); } jQuery.getScript("//fuerte-conil-costaluz-dot-amare-hotels.appspot.com/static_1/lib/jquery-i18n-1.1.1/jquery.i18n.js").done(function () { jQuery.getScript("//fuerte-conil-costaluz-dot-amare-hotels.appspot.com/static_1/i18n/messages_" + language_widget + ".js?v=1").done(function () { jQuery.i18n.load(messages); _set_datepicker_regional(jQuery); jQuery.getScript("//fuerte-conil-costaluz-dot-amare-hotels.appspot.com/static_1/plugins/pricescalendar/calendar.plugin.js?v=1.1").done(function(){ _set_datepicker_regional(jQuery); jQuery.getScript("//fuerte-conil-costaluz-dot-amare-hotels.appspot.com/static_1/plugins/dates-selector/datepicker_v1.js?v=1.5").done(function () { DP_extend_info.config.booking_version = '7'; DP_extend_info.config.hotel_path_endpoint = '//fuerte-conil-costaluz-dot-amare-hotels.appspot.com'; var target_min_date; if (bookingWidgetController.config._custom_hotel_domain){ DP_extend_info.config.hotel_path_endpoint = bookingWidgetController.config._custom_hotel_domain; } DP_extend_info.init(); if (target_min_date) { DP_extend_info.config.datepicker_sd_wrapper.datepicker('option', 'minDate', target_min_date); DP_extend_info.config.datepicker_ed_wrapper.datepicker('option', 'minDate', target_min_date); DP_extend_info.format_dates($.datepicker.formatDate("dd/mm/yy", target_min_date)); DP_extend_info.set_datepicker_start_date($.datepicker.formatDate("dd/mm/yy", target_min_date)); } jQuery.getScript("//fuerte-conil-costaluz-dot-amare-hotels.appspot.com/static_1/scripts/booking_7.js?v=1.2").done(function () { bookingWidgetController.prepare_booking_button(); bookingWidgetController.prepare_rooms_modifications(); jQuery("select.room_selector").unbind("change"); jQuery(".days_number_datepicker").html("1"); jQuery(".room_selector").selectric({disableOnMobile: false}); jQuery(".rooms_number").selectric({disableOnMobile: false}); _set_datepicker_regional(jQuery); if(jQuery(".destination_wrapper").length) { if (bookingWidgetController.config._custom_hotel_namespace) { jQuery("#" + bookingWidgetController.config._custom_hotel_namespace).trigger('click'); } } if (DP_extend_info.config.min_date) { DP_extend_info.format_dates(jQuery.datepicker.formatDate("dd/mm/yy", DP_extend_info.config.min_date)); } var promocode_hidden_input = jQuery("#paraty_promocode"); if (promocode_hidden_input.length) { var promocode_applied_mesage = jQuery("
").addClass('promocode_applied_message').html(jQuery.i18n._('descuento_aplicado')), full_wrapper_booking = jQuery(".booking_form.paraty-booking-form"), promocode_input = full_wrapper_booking.find(".promocode_input"); promocode_input.addClass("auto_applied").val(promocode_hidden_input.val()); full_wrapper_booking.find(".wrapper_booking_button ").addClass('promocode_autoapplied'); promocode_applied_mesage.insertAfter(promocode_input); } var hide_hotel_selector_input = jQuery("#paraty_hotel_selector_hidden"); if (hide_hotel_selector_input.length){ var engine_wrapper_selector = jQuery("#full_wrapper_booking"); engine_wrapper_selector.find(".destination_wrapper").addClass('hide'); engine_wrapper_selector.removeClass('with_hotel_selector'); } //Custom configuration if (window.location.host.indexOf('promo.') > -1) { $(".tooltip_wrapper").remove(); } }); }); }); }); }); if (jQuery(".babies_selector").length) { jQuery("#full_wrapper_booking").addClass("widget_with_babies"); } bookingWidgetController.adding_room_tag_selector(); bookingWidgetController.adding_adults_tag_selector(); bookingWidgetController.adding_kids_tag_selector(); bookingWidgetController.adding_babies_tag_selector(); bookingWidgetController.prepare_rooms_modifications(); bookingWidgetController.bind_click_buttons(); bookingWidgetController.hide_hotels_in_selector(); var has_promocode_at_url = getUrlParameter('promocode'); if (has_promocode_at_url) { jQuery(".promocode_wrapper .promocode_input").val(has_promocode_at_url); } bookingWidgetController.analytics_utils(); }); } }, get_namespace_widget: function(){ var paraty_widget_namespace = jQuery("#paraty_widget_namespace"), paraty_widget_internal_url = jQuery("#paraty_widget_url"); if (paraty_widget_namespace.length){ this.config._custom_hotel_namespace = paraty_widget_namespace.val(); if (paraty_widget_namespace.val() == 'custom-paraty-format') return 'custom-paraty-format'; this.config._custom_hotel_domain = paraty_widget_internal_url.val(); return this.config._custom_hotel_namespace; } }, bind_click_buttons: function(){ jQuery("a.btn-submit[href*='booking']").click(function(e){ e.preventDefault(); jQuery(".start_end_date_wrapper").trigger('click'); }); jQuery(".paraty_listener").click(function(){ bookingWidgetController.apply_clicked_options($(this)) }); jQuery(".hotel_selector_option").click(function(){ DP_extend_info.config.datepicker_sd_wrapper.datepicker('destroy'); DP_extend_info.create_datepicker_containers(); var open_hotel_property = jQuery(this).attr('data-open-hotel'), external_open = jQuery(this).attr("data-open-external"), target_max_date = new Date("2050-12-31"); if(open_hotel_property) { var json_hotel_property = JSON.parse(open_hotel_property); DP_extend_info.config.period_closed = json_hotel_property; var target_min_date; for (var n=0;n= new Date()) target_min_date = new Date(open_hotel); if (open_hotel && new Date() > new Date(open_hotel)) target_min_date = new Date(); } } if (!target_min_date) {target_min_date = new Date()} DP_extend_info.config.datepicker_sd_wrapper.datepicker('option', 'minDate', target_min_date); bookingWidgetController.set_dates(target_min_date, target_max_date); } else { var today_date = new Date(), future_date = new Date("2050-12-31"); bookingWidgetController.set_dates(today_date, future_date); } if (external_open) { jQuery(".booking_form").attr("target", "_blank"); } else { jQuery(".booking_form").removeAttr("target"); } jQuery(".paraty-booking-form").each(function(){ var submit_button = jQuery(this).find(".submit_button"); if (!submit_button.is(':visible') || submit_button.attr('disabled')){ submit_button.removeAttr('disabled'); } }); let adults_selector = $(".adults_selector .room_selector"), valid_adults = $(this).attr('data-max-adults') adults_selector.each(function(){ $(this).find("option").remove(); for(var i=1; i <= valid_adults; i++) { var option = $("