$ = jQuery; language_selector = $("#language_widget"); if (language_selector.length){ language_widget = language_selector.val(); } else { language_widget = "es"; } $("html").attr("lang", language_widget); var bookingWidgetController = function () { return { init: function () { this.prepare_dependencies(); }, prepare_dependencies: function () { this.append_styles(); $.getScript("//eibar-rooms-dot-secure-booking15.appspot.com/static_inj/lib/selectric/jquery.selectric.1.8.js").done(function () { $.getScript("//eibar-rooms-dot-secure-booking15.appspot.com/static_inj/lib/jquery-ui-1.10.1.custom.min.modified.js").done(function () { $.getScript("//eibar-rooms-dot-secure-booking15.appspot.com/static_inj/js/datepicker/jquery.ui.datepicker-" + language_widget + ".js").done(function () { bookingWidgetController.get_booking_widget_html(); }); }); }); }, get_booking_widget_html: function () { var parent_wrapper_widget = ""; $.get("//eibar-rooms-dot-secure-booking15.appspot.com/eibarwidget/" + language_widget + "/", function (e) { parent_wrapper_widget = $("
").html(e); }).done(function () { _set_datepicker_regional($); var wrapper_web = ""; if ($(".theiaStickySidebar").length) { wrapper_web = $(".theiaStickySidebar"); wrapper_web.html(parent_wrapper_widget); } else if ($(".main-top").length) { wrapper_web = $(".main-top"); wrapper_web.append(parent_wrapper_widget); } else { wrapper_web = $(".home3-slider"); wrapper_web.append(parent_wrapper_widget); } $.getScript("//eibar-rooms-dot-secure-booking15.appspot.com/static_inj/lib/jquery-i18n-1.1.1/jquery.i18n.js").done(function () { $.getScript("//eibar-rooms-dot-secure-booking15.appspot.com/static_inj/i18n/messages_" + language_widget + ".js?v=2.1").done(function () { $.i18n.load(messages); $(".deploy_widget").html($.i18n._("reserva_ahora")); bookingWidgetController.load_datepicker(); }); }); $(".submit_button").attr("no-hide", "true").html("" + $(".submit_button").html() + ""); $("#paraty_widget .room_selector, #paraty_widget select.rooms_number").change(function () { bookingWidgetController.update_capacity_rooms(); }); //$(window).scroll(bookingWidgetController.scroll_mobile); }); }, append_styles: function () { var list_css = [ "//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css", "//eibar-rooms-dot-secure-booking15.appspot.com/static_inj/plugins/pricescalendar/styles.css", "//eibar-rooms-dot-secure-booking15.appspot.com/static_inj/plugins/dates-selector/css/datepicker_ext_inf.css", "//eibar-rooms-dot-secure-booking15.appspot.com/static_inj/css/eibar/booking_widget_eibar-rooms.css?v=1.18" ]; for (var i = 0; i < list_css.length; i++) { $('head').append($('').attr('href', list_css[i])); } }, scroll_mobile: function () { var scroll_top = $(window).scrollTop(); var widget = $("#full_wrapper_booking"); if (scroll_top >= 242 && !widget.hasClass("floating_widget")) { widget.addClass("floating_widget"); $("body").addClass("has_floating_widget"); } else if (scroll_top < 242 && widget.hasClass("floating_widget")) { widget.removeClass("floating_widget"); $("body").removeClass("has_floating_widget"); } }, prepare_guests_selector: function () { $('body').on('click', '.guest_selector, .close_guesst_button, .save_guest_button', function () { bookingWidgetController.toggle_guest_selector(); }); $("select.room_selector").unbind("change"); $(".room_selector").selectric('destroy'); $(".room_selector").selectric({disableOnMobile: false}); $("select.room_selector, select.rooms_number").change(function () { bookingWidgetController.set_occupancy_number(); }); }, toggle_guest_selector: function () { var target_room_wrapper = $(".room_list_wrapper"); if (!target_room_wrapper.hasClass('active')) { target_room_wrapper.addClass('active'); target_room_wrapper.show(); console.log("showing"); } else { target_room_wrapper.removeClass('active'); target_room_wrapper.hide(); } bookingWidgetController.set_occupancy_number(); }, 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); kids_number = parseInt(kids_number); if (!$(".adults_only_selector").length) { if (kids_number) { placeholder_string = "" + adults_number + "/" + kids_number + " "; } else{ placeholder_string = "" + adults_number + ""; } } target_placeholder.each(function () { $(this).html(placeholder_string); }); }, refresh_dates: function (datepicker_controller) { var m = new Date(); var dateString = ("0" + m.getUTCDate()).slice(-2) + "/" + ("0" + (m.getUTCMonth() + 1)).slice(-2) + "/" + m.getUTCFullYear(); datepicker_controller.update_dates_v7(dateString); }, load_datepicker: function () { //datepicker_object = datepicker_object.length ? datepicker_object : ""; if (typeof(datepicker_object) !== 'undefined') { console.log("cargado"); bookingWidgetController.refresh_dates(datepicker_object); } else { $.getScript("//eibar-rooms-dot-secure-booking15.appspot.com/static_inj/plugins/pricescalendar/calendar.plugin.js").done(function () { $.getScript("//eibar-rooms-dot-secure-booking15.appspot.com/static_inj/plugins/dates-selector/datepicker_v1.js").done(function () { DP_extend_info.config.booking_version = '7'; DP_extend_info.config.hotel_path_endpoint = '//eibar-rooms-dot-secure-booking15.appspot.com'; DP_extend_info.config.custom_format_day_month = function (dateComponents) { dateComponents = dateComponents.split("/"); return "
" + dateComponents[0] + "
/
" + dateComponents[1] + "
/
" + dateComponents[2] + "
"; }; DP_extend_info.init(); datepicker_object = DP_extend_info; $.getScript("//eibar-rooms-dot-secure-booking15.appspot.com/static_inj/scripts/booking_7.js").done(function () { bookingWidgetController.prepare_guests_selector(); bookingWidgetController.set_occupancy_number(); bookingWidgetController.refresh_dates(datepicker_object); $(".booking_form").fadeIn(); }); }); }); } } }; }(); bookingWidgetController.init(); function is_mobile() { return navigator.userAgent.match(/Android/i) || navigator.userAgent.match(/webOS/i) || navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPad/i) || navigator.userAgent.match(/BlackBerry/i) || navigator.userAgent.match(/Windows Phone/i); }