$py = jQuery; language_widget = $("html").attr("lang"); if (language_widget == "rs") { $("html").attr("lang", "ru"); language_widget = "ru"; } else if (language_widget == "ru") { $("html").attr("lang", "en"); language_widget = "en"; } //TODO: This is hardcoded by default for development //language_widget = "pt"; var bookingWidgetController = function () { return { init: function () { this.prepare_dependencies(); }, prepare_dependencies: function () { this.append_styles(); $.getScript("//dom-jose-beach-dot-secure-booking16.appspot.com/static_1/lib/selectric/jquery.selectric.1.8.js").done(function () { $.getScript("//dom-jose-beach-dot-secure-booking16.appspot.com/static_1/lib/jquery-ui-1.10.1.custom.min.modified.js").done(function () { $.getScript("//dom-jose-beach-dot-secure-booking16.appspot.com/static_1/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("//dom-jose-beach-dot-secure-booking16.appspot.com/domjosewidget/" + language_widget + "/",function (e) { parent_wrapper_widget = $("
").html(e); }).done(function () { var wrapper_web = $("#paraty_widget"); wrapper_web.html(parent_wrapper_widget).promise().done(function () { $("#full_wrapper_booking").prepend("
"); $("#full-booking-engine-html-5").prepend("
"); $(".deploy_widget, .close_widget").click(function(){ $("#full-booking-engine-html-5").slideToggle(); }); }); $.getScript("//dom-jose-beach-dot-secure-booking16.appspot.com/static_1/lib/jquery-i18n-1.1.1/jquery.i18n.js").done(function () { $.getScript("//dom-jose-beach-dot-secure-booking16.appspot.com/static_1/i18n/messages_" + language_widget + ".js?v=2.1").done(function () { $.i18n.load(messages); $(".deploy_widget").html($.i18n._("reserva_ahora")); bookingWidgetController.build_guests_selector(); $.getScript("//dom-jose-beach-dot-secure-booking16.appspot.com/static_1/plugins/pricescalendar/calendar.plugin.js").done(function () { $.getScript("//dom-jose-beach-dot-secure-booking16.appspot.com/static_1/plugins/dates-selector/datepicker_v1.js?v=1.123").done(function () { DP_extend_info.config.booking_version = '5'; DP_extend_info.config.hotel_path_endpoint = '//dom-jose-beach-dot-secure-booking16.appspot.com'; DP_extend_info.init(); $.getScript("//dom-jose-beach-dot-secure-booking16.appspot.com/static_1/scripts/booking_5.js?v=2"); }); }); }); }); $(".submit_button").attr("no-hide", "true").html("" + $(".submit_button").html() + ""); if ($("#paraty_widget").length){ $(".room_selector").selectric({disableOnMobile: false}); $(".rooms_number").selectric({disableOnMobile: false}); $("select[name=num_nights_select]").selectric({disableOnMobile: false}); $(window).scroll(bookingWidgetController.scroll_mobile); } $("#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", "//dom-jose-beach-dot-secure-booking16.appspot.com/static_1/plugins/pricescalendar/styles.css", "//dom-jose-beach-dot-secure-booking16.appspot.com/static_1/plugins/dates-selector/css/datepicker_ext_inf.css", "//dom-jose-beach-dot-secure-booking16.appspot.com/static_1/css/dom_jose/booking_widget_dom_jose.css?v=1.7" ]; 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"); } }, build_guests_selector: function(){ var guests_wrapper = $("
"), guests_label = $("").text($.i18n._("ocupacion")), select_guests = $("
@@Seleccionar@@
").text($.i18n._("select")); guests_wrapper.append(guests_label).append(select_guests); guests_wrapper.insertAfter('.rooms_number_wrapper'); $(".guest_selector").click(function () { $(".room_list_wrapper").slideToggle(); }); }, update_capacity_rooms: function() { $("#paraty_widget .paraty-booking-form").each(function () { var rooms_number = parseInt($(this).find("select.rooms_number").val()), adults_room_1 = $(this).find('select.adults_room_1').val(), children_room_1 = $(this).find('select.children_room_1').val(), baby_room_1 = $(this).find('select.babies_room_1').val(), adults_room_2 = $(this).find('select.adults_room_2').val(), children_room_2 = $(this).find('select.children_room_2').val(), baby_room_2 = $(this).find('select.babies_room_2').val(), adults_room_3 = $(this).find('select.adults_room_3').val(), children_room_3 = $(this).find('select.children_room_3').val(); baby_room_3 = $(this).find('select.babies_room_3').val(); var final_string = ''; if (rooms_number > 0) { final_string = [adults_room_1, children_room_1].join("-"); } if (rooms_number > 1) { final_string += ' + ' + [adults_room_2, children_room_2].join("-"); } if (rooms_number > 2) { final_string += ' + ' + [adults_room_3, children_room_3].join("-"); } $(this).find(".guest_selector .guest_selection_label").html(final_string); }); } } }(); 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); }