jQuery(document).ready(function($) {
var current_width = window.outerWidth;
var current_height = $(window).height();
var menu_height = 0;
var slider_height = 0;
var scrollHeight = 0;
var scrollPosition = 0;
var submenu = 0;
var endOfDocumentTop = 100;
var break_menu_pos = 1024;
var break_content_pos = 1200;
var button_height = 0;
bsp_init();
//show main slider
$('#main_slider').addClass('loaded');
//alt to all images that do not have alt
$('img:not([alt])').attr('alt', 'Borgo Santo Pietro');
$('.tm-header-mobile .uk-logo img').attr('alt', 'Borgo Santo Pietro');
//resize
$(window).resize(function() {
setTimeout(function(){
bsp_init();
calc_drop_item_width();
}, 500);
});
$('.wk-slideshow ').css('height','400px');
// press page link override
$(document).on('click', '.press .esg-media-cover-wrapper a', function(e) {
e.preventDefault();
var post_link = $(this).attr("href");
var is_image = checkURL(post_link);
if (is_image == false) {
if( location.hostname === this.hostname || !this.hostname.length ) {
//local
} else {
//external
$(this).attr('rel','nofollow');
}
window.open(post_link, '_blank');
}else {
UIkit.lightboxPanel({
items: [
{source: post_link, type: 'image'}
],
animation: 'fade',
}).show();
}
});
//after DOM full load
$(window).load(function(){
$('.show-content-after-load').addClass('loaded');
setTimeout(function(){
$('#land_page_nav').addClass('uk-scrollspy-inview uk-animation-slide-bottom');
$('.wk-slideshow ').css('height','400px');
// fix for widgetkit images lazy load
$('.wk-slideshow li').each(function (i) {
// img_src = $(this).find("img").data("lazy-src");
//console.log(img_src);
// $(this).find(".wk-cover-background").css('background-image', 'url("'+img_src+'")');
});
}, 500);
});
// book now form
$('#modal_book_form').on({
'beforeshow': function(){
var menu_height =0;
if ($('.tm-header-mobile').height()>0){
//mob
if($(window).scrollTop() < 60){
menu_height = ($('.tm-header-mobile').height() + $('#wpfront-notification-bar').height() + $('#wpadminbar').height())-$(window).scrollTop();
} else {
menu_height = 0;
}
} else {
//desktop
if($(window).scrollTop() < 140 && $('#wpfront-notification-bar').height()>0 ){
menu_height = ($('.uk-navbar-nav').height() + $('#wpfront-notification-bar').height() + $('#wpadminbar').height())-$(window).scrollTop();
} else {
if($(window).scrollTop() < 100 && $('#wpfront-notification-bar').height()==0 ){
menu_height = $('.uk-navbar-nav').height() + $('#wpadminbar').height()-$(window).scrollTop();
} else {
//sticky menu is shown
menu_height = $('.uk-navbar-nav').height();
}
}
}
$('#modal_book_form').css('top', menu_height+'px');
},
'show': function() {
$('.uk-book-button.menu-item').addClass('opened');
$('.uk-book-button.menu-item').text(bsp_vars.close_txt);
$('#mobile_bottom_buttons a').eq(0).html('' + bsp_vars.close_txt);
},
'hide': function() {
$('.uk-book-button.menu-item').removeClass('opened');
$('.uk-book-button.menu-item').text(bsp_vars.book_txt);
$('#mobile_bottom_buttons a').eq(0).html('' + bsp_vars.book_short_txt);
},
});
$('#tm-mobile').on({
'beforeshow': function(){
var menu_height = $('.uk-navbar-nav').height() + $('#wpfront-notification-bar').height() + $('#wpadminbar').height();
$(this).css('top', menu_height+'px');
},
});
$(document).on('click', '.wpfront-close', function() {
var menu_height = $('.uk-navbar-nav').height() + $('#wpadminbar').height();
$('#modal_book_form').css('top', menu_height+'px');
});
/*datepicker*/
var lang = document.documentElement.lang;
if (lang == 'fr-FR') {
$.datepicker.regional['fr'] = {
monthNames: ['Janvier','Février','Mars','Avril','Mai','Juin',
'Juillet','Août','Septembre','Octobre','Novembre','Décembre'],
monthNamesShort: ['Jan','Fév','Mar','Avr','Mai','Jun',
'Jul','Aoû','Sep','Oct','Nov','Déc'],
dayNames: ['Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'],
dayNamesShort: ['Dim','Lun','Mar','Mer','Jeu','Ven','Sam'],
dayNamesMin: ['Di','Lu','Ma','Me','Je','Ve','Sa']
};
$.datepicker.setDefaults($.datepicker.regional['fr']);
}
if (lang == 'de-DE') {
$.datepicker.regional['de'] = {
monthNames: ['Januar','Februar','März','April','Mai','Juni',
'Juli','August','September','Oktober','November','Dezember'],
monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun',
'Jul','Aug','Sep','Okt','Nov','Dez'],
dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'],
dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'],
dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa']
};
$.datepicker.setDefaults($.datepicker.regional['de']);
}
if (lang == 'it-IT') {
$.datepicker.regional['it'] = {
monthNames: ['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno', 'Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'], // set month names
monthNamesShort: ['Gen','Feb','Mar','Apr','Mag','Giu','Lug','Ago','Set','Ott','Nov','Dic'], // set short month names
dayNames: ['Domenica','Lunedì','Martedì','Mercoledì','Giovedì','Venerdì','Sabato'], // set days names
dayNamesShort: ['Dom','Lun','Mar','Mer','Gio','Ven','Sab'], // set short day names
dayNamesMin: ['Do','Lu','Ma','Me','Gio','Ve','Sa'], // set more short days names
};
$.datepicker.setDefaults($.datepicker.regional['it']);
}
if (lang == 'es-ES') {
$.datepicker.regional['es'] = {
monthNames: ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'],
monthNamesShort: ['Ene', 'Feb', 'Mar', 'Abr', 'May', 'Jun', 'Jul', 'Ago', 'Sep', 'Oct', 'Nov', 'Dic'],
dayNames: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'],
dayNamesShort: ['Dom', 'Lun', 'Mar', 'Mié', 'Juv', 'Vie', 'Sáb'],
dayNamesMin: ['Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sá']
};
$.datepicker.setDefaults($.datepicker.regional['es']);
}
if (lang == 'ru-RU') {
$.datepicker.regional['ru'] = {
monthNames: [ "Январь","Февраль","Март","Апрель","Май","Июнь",
"Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь" ],
monthNamesShort: [ "Янв","Фев","Мар","Апр","Май","Июн",
"Июл","Авг","Сен","Окт","Ноя","Дек" ],
dayNames: [ "воскресенье","понедельник","вторник","среда","четверг","пятница","суббота" ],
dayNamesShort: [ "вск","пнд","втр","срд","чтв","птн","сбт" ],
dayNamesMin: [ "Вс","Пн","Вт","Ср","Чт","Пт","Сб" ],
};
$.datepicker.setDefaults($.datepicker.regional['ru']);
}
var dateFormat ='dd/mm/yy'
if (lang == 'en-US') {
dateFormat ='mm/dd/yy'
}
// initialization
var today = new Date().toDateString();
var minDate = new Date("2020-04-02");
if (today > minDate){
minDate = "+0";
}
$(".datepicker").datepicker(
{
dateFormat: dateFormat,
minDate: minDate,
maxDate: "+2Y",
clickInput: true,
beforeShowDay: function(date){
var val = (new Date("2019-01-01") >= date || new Date("2020-04-02") < date) && (new Date("2020-10-31") >= date || new Date("2021-04-02") <= date ) && (new Date("2021-10-31") >= date || new Date("2022-04-02") <= date );
return [ val ]
}
}
);
// set animation
$(".datepicker").datepicker(
"option", "showAnim", "slide");
$(document).on('click', '.date-icon', function() {
$(this).closest('.form-elem').find('.datepicker').focus();
});
//single room form
$(document).on('click', '#show_book_form', function() {
$(this).addClass('uk-hidden');
});
//input numbers
$(document).on('click', '.vc-plus', function() {
var input_elem = $(this).closest('.form-elem').find('input');
var input_value = input_elem.data("value");
var max_cap = input_elem.data("max");
var new_value = input_value + 1;
input_elem.data('value', new_value);
var book_form = $(this).closest('form');
if (input_elem.hasClass('adults')){
var type='A';
max_cap = input_elem.data("max");
}
if (input_elem.hasClass('children')){
var type='C';
max_cap = input_elem.data("max");
}
if (input_elem.hasClass('rooms')){
var type='R';
}
var type_name = get_person_name(new_value,type);
input_elem.val(new_value + ' ' + type_name);
if (new_value > 0) {
$(this).closest('.form-elem').find('.vc-minus').removeClass('uk-disabled');
}
//check max num of persons
if (input_elem.hasClass('adults') || input_elem.hasClass('children')){
var parent_room = $(this).closest('.per_room');
var num_per_room = parent_room.find('input.adults').data("value") + parent_room.find('input.children').data("value");
if (num_per_room == max_cap){
parent_room.find('.vc-plus').addClass('uk-disabled');
parent_room.find('.persons-warning').removeClass('uk-hidden');
}
}
//check max num of rooms
if (input_elem.hasClass('rooms')){
set_rooms_display(book_form, new_value);
if (new_value == max_cap){
$(this).addClass('uk-disabled');
}
}
});
$(document).on('click', '.vc-minus', function() {
var input_elem = $(this).closest('.form-elem').find('input');
var input_value = input_elem.data("value");
var max_cap = input_elem.data("max");
var new_value = input_value -1;
//what form
var book_form = $(this).closest('form');
if (new_value == 0 && input_elem.hasClass('children')) {
$(this).addClass('uk-disabled');
}
if (new_value == 1 && (input_elem.hasClass('adults') || input_elem.hasClass('rooms'))) {
$(this).addClass('uk-disabled');
}
input_elem.data('value', new_value);
if (input_elem.hasClass('adults')){
var type='A';
max_cap = input_elem.data("max") ;
}
if (input_elem.hasClass('children')){
var type='C';
max_cap = input_elem.data("max") ;
}
if (input_elem.hasClass('rooms')){
var type='R';
}
var type_name = get_person_name(new_value,type);
input_elem.val(new_value + ' ' + type_name);
//check max num of persons
if (input_elem.hasClass('adults') || input_elem.hasClass('children')){
var parent_room = $(this).closest('.per_room');
var num_per_room = parent_room.find('input.adults').data("value") + parent_room.find('input.children').data("value");
if (num_per_room < max_cap){
parent_room.find('.vc-plus').removeClass('uk-disabled');
parent_room.find('.persons-warning').addClass('uk-hidden');
}
}
if (input_elem.hasClass('rooms')){
set_rooms_display(book_form, new_value);
if (new_value < max_cap){
$(this).closest('.form-elem').find('.vc-plus').removeClass('uk-disabled');
}
}
});
//enable check rates button
$(document).on('change', '.check_out_date, .check_in_date', function() {
var book_form = $(this).closest('form');
if ( book_form.find('.check_out_date').val()!="" && book_form.find('.check_in_date').val()!=""){
book_form.find('#submit_rates').removeClass('uk-disabled');
} else {
book_form.find('#submit_rates').addClass('uk-disabled');
}
});
//submit check rates button
$(document).on('click', '#submit_rates', function() {
//what form
var book_form = $(this).closest('form');
//sum number of persons
var total_adults = 0;
var total_children = 0;
var number_of_rooms = 1;
var adults_per_room = '';
var children_per_room = '';
if ($('#number_of_rooms').data("value")>1){
number_of_rooms = $('#number_of_rooms').data("value");
}
var room_ref = $(this).data("room-ref");
var book_form_rooms = book_form.find('.per_room');
book_form_rooms.each(function (i) {
if (!$(this).hasClass('uk-hidden')){
//adults
if ($(this).find('input.adults').data("value") > 0){
if (adults_per_room !=''){
adults_per_room +=',';
}
adults_per_room += $(this).find('input.adults').data("value");
total_adults += $(this).find('input.adults').data("value");
console.log(adults_per_room);
}
//children
if (children_per_room !=''){
children_per_room +=',';
}
if ($(this).find('input.children').data("value") > 0){
children_per_room += $(this).find('input.children').data("value");
total_children = $(this).find('input.children').data("value");
}else {
children_per_room += 0;
}
}
});
//url params
var submit_url = 'https://be.synxis.com/?chain=24447&hotel=32505&Rooms=&nights=&adult=2&rooms=&SRC=30';
submit_url +='&locale='+lang;
submit_url +='&arrive=' + book_form.find('.check_in_date').val();
submit_url +='&depart=' + book_form.find('.check_out_date').val();
submit_url +='&rooms=' + number_of_rooms;
submit_url +='&adult=' + adults_per_room;
if (total_children > 0){
submit_url +='&child=' + children_per_room;
}
if(typeof room_ref != 'undefined' && room_ref !=""){
submit_url +='&room=' + room_ref ;
}
//console.log(submit_url);
window.open(submit_url,'_blank');
});
//scroll
$(window).on("scroll", function() {
var scroll = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
scrollHeight = $(document).height();
scrollPosition = $(window).height() + $(window).scrollTop();
//submenu
if (submenu == 0 && scroll > endOfDocumentTop) {
$('#bsp_subnav').css('opacity',0);
submenu=1;
} else if(submenu == 1 && scroll <= endOfDocumentTop){
$('#bsp_subnav').css('opacity',1);
submenu=0;
}
});
$('#bounce_scroll_down').on("click", function (event){
var jpanel = '.bsp-content-start';
var pos = $(jpanel).offset().top - menu_height ;
$('html, body').animate({ scrollTop: pos }, 1000);
});
//menu dropdown
$('.tm-header ul.uk-navbar-nav>li.uk-parent>a').each(function (i) {
if ($(this).hasClass('bsp-drop-default')) {
$(this).parent().addClass('bsp-drop-default');
}
if ($(this).hasClass('bsp-drop-full')) {
$(this).parent().addClass('bsp-drop-full');
}
if ($(this).hasClass('bsp-drop-right')) {
$(this).parent().addClass('bsp-drop-right');
}
});
calc_drop_item_width();
$(".tm-header .uk-navbar li.uk-parent").hover(function(){
calc_drop_item_width();
});
function calc_drop_item_width(){
//width of each dropdown li/image
var menu_width = $('.tm-header nav.uk-navbar').width();
var drop_item_width = (menu_width -110)/6;
$('.tm-header ul.uk-navbar-dropdown-nav>li').each(function (i) {
$(this).width(drop_item_width);
});
$('.tm-header ul.uk-navbar-nav>li.uk-parent.bsp-drop-right').each(function (i) {
var drop_item_right = $(document).width() - ($(this).offset().left + $(this).outerWidth());
$(this).find('.uk-navbar-dropdown-dropbar').css('right', drop_item_right );
//console.log( $(this).find('a.menu-item').text() +': ' + drop_item_right);
var n = $(this).find('.uk-navbar-dropdown-nav>li').length;
drop_min_width = n*drop_item_width + 110;
$(this).find('.uk-navbar-dropdown').css('min-width',drop_min_width );
});
}
function bsp_init(){
current_width = window.outerWidth;
current_height = $(window).height();
$('.tm-page').attr('id', 'tm-page');
if ($(window).width()> break_menu_pos){
menu_height = $('.tm-header').height();
} else {
menu_height = 0;
}
// footer - small/large screen tuning
if ($(window).width()> break_menu_pos) {
$('#bsp-social .uk-grid').addClass('uk-flex-right');
$('#bsp-social .uk-grid').removeClass('uk-flex-center uk-padding');
$('.bsp-footer .uk-subnav').removeClass('uk-flex-center');
$('#boutique_footer_txt').removeClass('uk-text-center');
$('#boutique_footer_txt').addClass('uk-text-right');
$('.land-box-container>div').eq(3).removeClass('uk-flex-first');
} else {
$('#bsp-social .uk-grid').removeClass('uk-flex-right');
$('#bsp-social .uk-grid').addClass('uk-flex-center uk-padding');
$('.bsp-footer .uk-subnav').addClass('uk-flex-center');
$('#boutique_footer_txt').removeClass('uk-text-right');
$('#boutique_footer_txt').addClass('uk-text-center');
$('.land-box-container>div').eq(3).addClass('uk-flex-first');
}
// landing page - small/large screen tuning
if ($(window).width()> break_content_pos) {
$('.land-box-container.reverse>div:odd').removeClass('uk-flex-first');
$('#land_main_slider a.mob-hide').css('pointer-events','initial');
$('#land_main_slider a.mob-hide').css('cursor','pointer');
$('#land_main_slider a.mob-hide').unbind('click');
}else{
$('.land-box-container.reverse>div:odd').addClass('uk-flex-first');
$('#land_main_slider a.mob-hide').css('pointer-events','none');
$('#land_main_slider a.mob-hide').css('cursor','default');
$('#land_main_slider a.mob-hide').bind('click', function(e){
e.preventDefault();
})
}
//#estate_home_grid
setTimeout(function(){
var estate_grid_img_height = $('#estate_home_grid .el-item').eq(0).height();
$('#estate_grid_hotel').height(estate_grid_img_height);
$('#estate_grid_hotel .el-container').height(estate_grid_img_height);
$('#estate_grid_hotel').css('opacity','1');
}, 500);
}
function checkURL(url) {
return(url.match(/\.(jpeg|jpg|gif|png)$/) != null);
}
function set_rooms_display(book_form, number_of_rooms) {
var book_form_rooms = book_form.find('.per_room');
book_form_rooms.each(function (i) {
if ( i < number_of_rooms ){
$(this).removeClass('uk-hidden');
} else {
$(this).addClass('uk-hidden');
}
});
/**input of adults and children with one box **/
/*
var current_persons = $('.per_room').eq(0).find('input.adults').data("value") + $('.per_room').eq(0).find('input.children').data("value");
console.log ('current_persons:'+current_persons);
var max_cap = 4 * number_of_rooms;
if (current_persons > max_cap){
//reset to start values
$('.per_room').eq(0).find('input.adults').data('value', 2);
$('.per_room').eq(0).find('input.adults').val(2 + ' ' + bsp_vars.adults_txt);
$('.per_room').eq(0).find('input.children').data('value', 0);
$('.per_room').eq(0).find('input.children').val(0 + ' ' + bsp_vars.children_txt);
}
*/
$('.per_room').eq(0).find('.vc-plus').removeClass('uk-disabled');
$('.per_room').eq(0).find('.persons-warning').addClass('uk-hidden');
}
function get_person_name(value,type){
var type_name ="";
if (type=="A"){
if (value ==1 ){
type_name = bsp_vars.adult_txt;
}else{
type_name = bsp_vars.adults_txt;
}
}
if (type=="C"){
if (value == 1 ){
type_name = bsp_vars.child_txt;
}else{
type_name = bsp_vars.children_txt;
}
}
if (type=="R"){
if (value == 1 ){
type_name = bsp_vars.room_txt;
}else{
type_name = bsp_vars.rooms_txt;
}
}
return type_name;
}
});
(function($){
$.fn.bgLoaded = function(custom) {
var self = this;
// Default plugin settings
var defaults = {
afterLoaded : function(){
this.addClass('loaded');
}
};
// Merge default and user settings
var settings = $.extend({}, defaults, custom);
// Loop through element
self.each(function(){
var $this = $(this),
bgImgs = $this.css('background-image').split(', ');
$this.data('loaded-count',0);
$.each( bgImgs, function(key, value){
var img = value.replace(/^url\(["']?/, '').replace(/["']?\)$/, '');
// alert('img:' + img);
$('
').attr('src', img).load(function() {
$(this).remove(); // prevent memory leaks
$this.data('loaded-count',$this.data('loaded-count')+1);
if ($this.data('loaded-count') >= bgImgs.length) {
settings.afterLoaded.call($this);
}
});
});
});
};
})(jQuery);
jQuery(function($) {
$('.widget_nav_menu > ul, .uk-parent > ul').attr('uk-nav','');
$(".uk-parent > a").append(' ');
});