File: /home/zwafgyp/dodolodge-net/wp-content/themes/hotel-wp/assets/js/thim-custom.js
/**
* Script custom for theme
*
* TABLE OF CONTENT
*
* Header: Main menu
* Header: Sticky menu
*
* Blog: Grid layout
* Blog: Masonry layout
* Blog: Post gallery
*
* Room: Masonry layout
*
* Features: Back to top
* Features: Preload
* Features: RTL
*
* WooCommerce: Quick view
* WooCommerce: Switcher layout
* WooCommerce: Shopping cart
* WooCommerce: Product slider
* WooCommerce: Product share
* WooCommerce: Cart widget
*
* Footer: Sticky footer
*
* Sidebar: Sticky sidebar
* Contact form: Loading
* Parallax
* Change value input Mailchimp plugin
* Custom select use Dropkickjs.
* Search box
* Language plugin
*/
(function ($) {
"use strict";
$(document).on('ready',function () {
thim_hotel_wp.ready();
});
$(window).on('load',function () {
thim_hotel_wp.load();
});
var thim_hotel_wp = {
/**
* Call functions when document ready
*/
ready: function () {
this.back_to_top();
this.feature_preloading();
this.sticky_sidebar();
this.header_menu();
if ($("body.woocommerce").length) {
//this.list_switcher();
}
if ($("body.post-type-archive-tp_event").length) {
this.event_switch_tabs();
}
this.minicart_hover();
this.contactform7();
if (typeof(hotel_settings) === 'undefined') {
} else {
this.room_gallery();
this.room_toggle_review_form();
}
this.popup_share();
this.comingsoon();
this.custom_select();
if (typeof(hotel_settings) === 'undefined') {
} else {
this.rooms_search_custom_datepicker();
this.rooms_search();
}
this.switch_layout_rooms();
},
/**
* Call functions when window load.
*/
load: function () {
this.header_menu();
this.header_menu_mobile();
this.parallax();
this.post_gallery();
this.quick_view();
this.blog_layout_grid();
this.blog_layout_masonry();
//this.room_layout_masonry();
this.event_layout_masonry();
this.thim_shortcode_slider();
if ($("body.woocommerce").length) {
this.product_slider();
}
this.custom_select();
this.rtl_support();
this.search_box();
this.language();
},
thim_shortcode_slider:function(){
var attr = $('html').attr('dir');
if (typeof attr !== typeof undefined && attr !== false) {
var righttoleft = true;
} else {
righttoleft = false;
}
$(window).resize(function(){
var width_container = $('.container').width() + 30,
width_screen = $(window).width(),
padding = ((width_screen - width_container) /2 );
if($('.thim-sc-hb-rooms.slider.style-1').length){
$('.thim-sc-hb-rooms.slider.style-1').css('margin-left',padding);
}
if($('.tp-home-2-position .thim-sc-hb-rooms-search').length){
$('.tp-home-2-position .thim-sc-hb-rooms-search').css('left',padding)
}
if($('.slick-dots','element-main-slider .wrap-element')){
$('.slick-dots').css('left',padding);
}
});
if($('.tp-list-posts.style-4').length){
$('.tp-list-posts.style-4').owlCarousel({
loop:true,
dots:true,
nav: false,
items:1,
})
}
if($('.thim-sc-hb-rooms.slider.style-1 .tp-hotel-booking').length){
setTimeout(function(){
$('.tp-hotel-booking').owlCarousel({
rtl:righttoleft,
loop:true,
dots:false,
nav: true,
items:2,
stagePadding: 183,
responsive:{
0:{
items:1,
stagePadding: 10,
},
480:{
items:1,
stagePadding: 80,
},
768:{
items:2,
stagePadding: 80,
},
1024:{
items:2,
stagePadding: 150,
},
1440:{
items:2,
stagePadding: 183,
}
}
});
}, 500);
}
if($('.thim-list-events.style-1 .content-events').length){
$('.thim-list-events.style-1 .content-events').slick({
autoplay: false,
arrows: true,
dots: false,
slidesToShow: 3,
vertical: true,
})
}
if($('.thim-sc-testimonials.layout-3').length){
$('.thim-sc-testimonials.layout-3 .testimonial-slider').slick({
rtl:righttoleft,
autoplay: false,
arrows: false,
dots: true,
slidesToShow: 3,
slidesToScroll: 1,
responsive: [
{
breakpoint: 1199,
settings: {
slidesToShow: 2,
slidesToScroll: 1,
}
},
{
breakpoint: 991,
settings: {
slidesToShow: 2,
slidesToScroll: 1,
}
},
{
breakpoint: 768,
settings: {
slidesToShow: 2,
slidesToScroll: 1,
}
},
{
breakpoint: 575,
settings: {
slidesToShow: 1,
slidesToScroll: 1,
}
},
]
})
}
if($('.tp-list-posts.style-5').length){
let number = $('.tp-list-posts.style-5').data('number');
$('.tp-list-posts.style-5').slick({
rtl:righttoleft,
autoplay: false,
arrows: false,
dots: true,
centerMode: true,
centerPadding: '19%',
slidesToShow: number,
slidesToScroll: 1,
responsive: [
{
breakpoint: 1299,
settings: {
slidesToShow: 2,
slidesToScroll: 1,
centerPadding: '15%',
}
},
{
breakpoint: 991,
settings: {
slidesToShow: 2,
slidesToScroll: 1,
centerPadding: '0',
}
},
{
breakpoint: 600,
settings: {
slidesToShow: 1,
slidesToScroll: 1,
centerPadding: '0',
}
},
]
})
}
if($('.tp-list-posts.style-6').length){
let number = $('.tp-list-posts.style-6').data('number');
let slider = $('.tp-list-posts.style-6'),
sliderCounter = $('.slider__counter','.tp-list-posts-wrapper');
slider.on('init reInit afterChange', function (event, slick, currentSlide, nextSlide) {
//currentSlide is undefined on init -- set it to 0 in this case (currentSlide is 0 based)
var i = (currentSlide ? currentSlide : 0) + 1;
$('.slider__counter .current-item','.tp-list-posts-wrapper').text(i)
$('.slider__counter .total-items','.tp-list-posts-wrapper').text(slick.slideCount)
});
slider.slick({
rtl:righttoleft,
autoplay: false,
arrows: false,
dots: false,
slidesToShow: number,
slidesToScroll: 1,
responsive: [
{
breakpoint: 1199,
settings: {
slidesToShow: 2,
slidesToScroll: 1,
}
},
{
breakpoint: 991,
settings: {
slidesToShow: 2,
slidesToScroll: 1,
}
},
{
breakpoint: 600,
settings: {
slidesToShow: 1,
slidesToScroll: 1,
}
},
]
})
}
if($('.thim-sc-hb-rooms.slider.style-3 .tp-hotel-booking,.thim-sc-hb-rooms.slider.style-2 .tp-hotel-booking').length){
let slider = $('.tp-hotel-booking'),
sliderCounter = $('.slider__counter','.thim-sc-hb-rooms.slider');
slider.on('init reInit afterChange', function (event, slick, currentSlide, nextSlide) {
//currentSlide is undefined on init -- set it to 0 in this case (currentSlide is 0 based)
var i = (currentSlide ? currentSlide : 0) + 1;
$('.slider__counter .current-item','.thim-sc-hb-rooms.slider').text(i)
$('.slider__counter .total-items','.thim-sc-hb-rooms.slider').text(slick.slideCount)
});
slider.slick({
rtl:righttoleft,
autoplay: false,
arrows: false,
dots: false,
slidesToShow: 3,
slidesToScroll: 1,
responsive: [
{
breakpoint: 1199,
settings: {
slidesToShow: 2,
slidesToScroll: 1,
}
},
{
breakpoint: 991,
settings: {
slidesToShow: 2,
slidesToScroll: 1,
}
},
{
breakpoint: 600,
settings: {
slidesToShow: 1,
slidesToScroll: 1,
}
},
]
})
}
$('.element-main-slider').each(function(){
if($('.element-main-slider .wrap-element').length){
let enable_autoplay = $('.element-main-slider .wrap-element').data('autoplay'),
speed = $('.element-main-slider .wrap-element').data('speed'),
auto_play = false;
if(enable_autoplay == 1){
auto_play = true;
}else{
auto_play = false;
}
$('.element-main-slider .wrap-element').slick({
dots: true,
infinite: true,
autoplay: auto_play,
autoplaySpeed: speed,
speed: 1000,
fade: true,
arrows: false,
rtl: righttoleft,
});
}
});
},
//Filter Archive Room Layout
switch_layout_rooms:function(){
var cookie_name = 'room_switch',
archive = $('#thim-room-archive');
if (archive.length > 0) {
//Check grid-layout
if (!jQuery.cookie(cookie_name) || jQuery.cookie(cookie_name) == 'grid-layout') {
if (archive.hasClass('thim-room-list')) {
archive.removeClass('thim-room-list').addClass('thim-room-grid');
}
$('.thim-room-switch-layout > a.switchToGrid').addClass('switch-active');
} else {
if (archive.hasClass('thim-room-grid')) {
archive.removeClass('thim-room-grid').addClass('thim-room-list');
}
$('.thim-room-switch-layout > a.switchToList').addClass('switch-active');
}
$('.thim-room-switch-layout > a').on('click', function (event) {
var elem = $(this);
event.preventDefault();
if (!elem.hasClass('switch-active')) {
if (elem.hasClass('switchToGrid')) {
$('.thim-room-switch-layout > a').removeClass('switch-active');
elem.addClass('switch-active');
archive.fadeOut(300, function () {
archive.removeClass('thim-room-list').addClass(' thim-room-grid').fadeIn(300);
jQuery.cookie(cookie_name, 'grid-layout', {expires: 3, path: '/'});
});
} else {
$('.thim-room-switch-layout > a').removeClass('switch-active');
elem.addClass('switch-active');
archive.fadeOut(300, function () {
archive.removeClass('thim-room-grid').addClass('thim-room-list').fadeIn(300);
jQuery.cookie(cookie_name, 'list-layout', {expires: 3, path: '/'});
});
}
}
});
}
},
// CUSTOM FUNCTION IN BELOW
header_menu_mobile: function () {
$(document).on('click', '.menu-mobile-effect', function (e) {
e.stopPropagation();
$('.responsive').toggleClass('mobile-menu-open');
});
$(document).on('click', '.mobile-menu-open #main-content', function () {
$('.responsive').removeClass('mobile-menu-open');
});
$('header li.menu-item-has-children >a, header li.menu-item-has-children >span').after('<span class="icon-toggle"><i class="fa fa-angle-down"></i></span>');
$('.responsive .mobile-menu-container .navbar-nav>li.menu-item-has-children >a, .responsive .mobile-menu-container .mega-menu>li.menu-item-has-children >a').after('<span class="icon-toggle"><i class="fa fa-angle-down"></i></span>');
$('.responsive .mobile-menu-container .navbar-nav>li.menu-item-has-children .icon-toggle, .responsive .mobile-menu-container .mega-menu>li.menu-item-has-children .icon-toggle').on('click', function () {
if ($(this).next('ul.sub-menu').is(':hidden')) {
$(this).next('ul.sub-menu').slideDown(200, 'linear');
$(this).html('<i class="fa fa-angle-up"></i>');
}
else {
$(this).next('ul.sub-menu').slideUp(200, 'linear');
$(this).html('<i class="fa fa-angle-down"></i>');
}
});
},
header_menu: function () {
var $header = $('#masthead.sticky-header'),
off_Top = ($('.content-pusher').length > 0) ? $('.content-pusher').offset().top : 0,
$topbar = $('#thim-header-topbar'),
menuH = $header.outerHeight(),
topbarH = $topbar.outerHeight(),
latestScroll = 0,
target = 2;
let menu_height;
if ($topbar.length){
menu_height = menuH + topbarH
}else{
menu_height = menuH
}
if ($('#masthead.header-default').hasClass('sticky-header')) {
$('#main-content').css('padding-top', menu_height);
}
if ($(window).width() <= 600) {
$('html').addClass('thim');
}
target = menu_height;
$(window).scroll(function () {
var current = $(this).scrollTop();
if (current >= target) {
$header.removeClass('affix-top').addClass('affix');
} else {
$header.removeClass('affix').addClass('affix-top');
}
if (current > latestScroll && current > off_Top) {
if (!$header.hasClass('menu-hidden')) {
$header.addClass('menu-hidden');
}
}
else {
if ($header.hasClass('menu-hidden')) {
$header.removeClass('menu-hidden');
}
}
latestScroll = current;
}
);
$('#masthead .navbar > .menu-item-has-children, .navbar > li ul li').on({
mouseenter: function () {
$(this).children('.sub-menu').stop(true, false).slideDown(250);
},
mouseleave: function () {
$(this).children('.sub-menu').stop(true, false).slideUp(250);
}
});
if ($(window).width() > 768) {
var menu_active = $('#masthead.header-magic-line .navbar>li.menu-item.current-menu-item,#masthead.header-magic-line .navbar>li.menu-item.current-menu-parent');
if (menu_active.length > 0) {
menu_active.before('<span id="magic-line"></span>');
var menu_active_child = menu_active.find('>a,>span.disable_link'),
menu_left = menu_active.position().left,
menu_child_left = parseInt(menu_active_child.css('padding-left')),
margin_left = 0,
magic = $('#magic-line'),
attr = $('html').attr('dir');
if (typeof attr !== typeof undefined && attr !== false) {
var righttoleft = true;
} else {
righttoleft = false;
}
if(righttoleft == true && menu_active.hasClass('menu-item-has-children')){
margin_left = 15;
}
magic.width(menu_active_child.width()).css("left", Math.round(menu_child_left + menu_left + margin_left)).data('magic-width', magic.width()).data('magic-left', magic.position().left);
} else {
var first_menu = $('#masthead.header-magic-line .navbar>li.menu-item:first-child');
first_menu.after('<span id="magic-line"></span>');
var magic = $('#magic-line');
magic.data('magic-width', 0);
}
var nav_H = parseInt($('.site-header .navigation').outerHeight());
magic.css('bottom', nav_H - (nav_H - 90) / 2 - 64);
$('#masthead .navbar>li.menu-item').on({
'mouseenter': function () {
if(($(this).hasClass('menu-item-has-children')) && righttoleft == true){
margin_left = 15;
}else{
margin_left = 0;
}
var elem = $(this).find('>a,>span.disable_link'),
new_width = elem.width(),
parent_left = elem.parent().position().left,
left = parseInt(elem.css('padding-left'));
if (!magic.data('magic-left')) {
magic.css('left', Math.round(parent_left + left));
magic.data('magic-left', 'auto');
}
magic.stop().animate({
left : Math.round(parent_left + left + margin_left),
width: new_width
});
},
'mouseleave': function () {
magic.stop().animate({
left : magic.data('magic-left'),
width: magic.data('magic-width')
});
}
});
}
},
back_to_top: function () {
var $element = $('#back-to-top');
$(window).scroll(function () {
if ($(this).scrollTop() > 100) {
$element.addClass('scrolldown').removeClass('scrollup');
} else {
$element.addClass('scrollup').removeClass('scrolldown');
}
});
$element.on('click', function () {
$('html,body').animate({scrollTop: '0px'}, 800);
return false;
});
},
sticky_sidebar: function () {
var offsetTop = 20;
if ($(window).width() <= 768) {
return false;
}
if ($("#wpadminbar").length) {
offsetTop += $("#wpadminbar").outerHeight();
}
if ($('.sticky-sidebar').height() > $('#main').height()) {
return false;
}
if ($('#masthead.sticky-header')) {
offsetTop += $('#masthead.sticky-header').outerHeight();
}
$(".sticky-sidebar").theiaStickySidebar({
"containerSelector" : "",
"additionalMarginTop" : offsetTop,
"additionalMarginBottom": "0",
"updateSidebarHeight" : false,
"minWidth" : "768",
"sidebarBehavior" : "modern"
});
},
/**
* Effect parallax.
*/
parallax: function () {
$(window).stellar({
horizontalOffset: 0,
verticalOffset : 0
});
},
/**
* Feature: Preloading
*/
feature_preloading: function () {
var $preload = $('#thim-preloading');
if ($preload.length > 0) {
$preload.fadeOut(1000, function () {
$preload.remove();
});
}
},
/**
* Custom select use Dropkickjs
*/
custom_select: function () {
$('select').select2({
//minimumResultsForSearch: -1,
});
$('select').on('select2:select', function (evt) {
$(this).next().removeClass('hotel_booking_invalid_quantity');
});
$(".number_room_select").bind('cssClassChanged', function () {
if ($(this).hasClass('hotel_booking_invalid_quantity')) {
$(this).next().addClass('hotel_booking_invalid_quantity');
}
});
},
/**
* Support plugin google language
*/
support_plugin_google_language: function () {
$('#google_language_translator .skiptranslate').contents().filter(function () {
return this.nodeType == Node.TEXT_NODE;
}).remove();
},
/**
* Product Grid, List switch
*/
list_switcher : function () {
var activeClass = 'switcher-active';
var gridClass = 'product-grid';
var listClass = 'product-list';
$('.switchToList').on('click', function () {
switchToList();
});
$('.switchToGrid').on('click', function () {
switchToGrid();
});
function switchToList() {
$('.switchToList').addClass(activeClass);
$('.switchToGrid').removeClass(activeClass);
$('.archive_switch').fadeOut(300, function () {
$(this).removeClass(gridClass).addClass(listClass).fadeIn(300);
});
localStorage.magwp_products_page = 'list';
}
function switchToGrid() {
$('.switchToGrid').addClass(activeClass);
$('.switchToList').removeClass(activeClass);
$('.archive_switch').fadeOut(300, function () {
$(this).removeClass(listClass).addClass(gridClass).fadeIn(300);
});
localStorage.magwp_products_page = 'grid';
}
if (typeof(Storage) !== "undefined") {
if (typeof localStorage.magwp_products_page != 'undefined') {
if (localStorage.magwp_products_page === 'list') {
$('.archive_switch').removeClass('product-grid').addClass('product-list');
$('.switchToList').addClass(activeClass);
} else {
$('.switchToGrid').addClass(activeClass);
$('.archive_switch').removeClass('product-list').addClass('product-grid');
}
} else {
$('.switchToGrid').addClass(activeClass);
$('.archive_switch').removeClass('product-list').addClass('product-grid');
}
} else {
$('.switchToGrid').addClass(activeClass);
$('.archive_switch').removeClass('product-list').addClass('product-grid');
}
},
/**
* Archive events page: switch between tabs Upcoming, Happening, Expired
*/
event_switch_tabs: function () {
var activeClass = 'event-tab-active';
$(".thim-event-tabs .tab").on("click", function (e) {
var $current_status = $(this).attr("data-tab");
if ($current_status == "upcoming") {
switchToUpcoming();
} else if ($current_status == 'happening') {
switchToHappening();
} else {
switchToExpired();
};
if (typeof(Storage) !== "undefined") {
if (typeof localStorage.current_event_tab != 'undefined') {
if (localStorage.current_event_tab === 'upcoming') {
$(".thim-event-tabs .tab").removeClass("active");
$(".thim-event-tabs .tab[data-tab=upcoming]").addClass("active");
$(".archive-content .tab-pane").removeClass("active");
$(".archive-content #upcoming").addClass("active");
} else if (localStorage.current_event_tab === 'happening') {
$(".thim-event-tabs .tab").removeClass("active");
$(".thim-event-tabs .tab[data-tab=happening]").addClass("active");
$(".archive-content .tab-pane").removeClass("active");
$(".archive-content #happening").addClass("active");
} else {
$(".thim-event-tabs .tab").removeClass("active");
$(".thim-event-tabs .tab[data-tab=expired]").addClass("active");
$(".archive-content .tab-pane").removeClass("active");
$(".archive-content #expired").addClass("active");
}
}
}
thim_hotel_wp.event_layout_masonry();
$.ajax({
url : ajaxurl,
type: 'GET',
data: {
action: 'status_event_ajax',
status: localStorage.current_event_tab,
},
});
});
function switchToUpcoming() {
localStorage.current_event_tab = 'upcoming';
}
function switchToHappening() {
localStorage.current_event_tab = 'happening';
}
function switchToExpired() {
localStorage.current_event_tab = 'expired';
}
},
/**
* Post gallery
*/
post_gallery: function () {
$('article.format-gallery .flexslider').imagesLoaded(function () {
$('.flexslider').flexslider({
slideshow : true,
animation : 'fade',
pauseOnHover : true,
animationSpeed: 400,
smoothHeight : true,
directionNav : true,
controlNav : false
});
});
},
/**
* Quickview product
*/
quick_view: function () {
$('.quick-view').on('click', function (e) {
/* add loader */
$('.quick-view span').css('display', 'none');
$(this).prepend('<span class="loading dark"></span>');
var product_id = $(this).attr('data-prod');
var data = {action: 'jck_quickview', product: product_id};
$.post(ajaxurl, data, function (response) {
$.magnificPopup.open({
mainClass: 'my-mfp-zoom-in',
items : {
src : response,
type: 'inline'
}
});
$('.quick-view span').css('display', 'inline-block');
$('.loading').remove();
$('.product-card .wrapper').removeClass('animate');
setTimeout(function () {
$('.product-lightbox form').wc_variation_form();
}, 600);
thim_hotel_wp.product_slider();
});
e.preventDefault();
});
},
/**
* Custom effect and UX for contact form.
*/
contactform7: function () {
$(".wpcf7-submit").on('click', function () {
$(this).css("opacity", 0.2);
$(this).parents('.wpcf7-form').addClass('processing');
$('input:not([type=submit]), textarea').attr('style', '');
});
$(document).on('spam.wpcf7', function () {
$(".wpcf7-submit").css("opacity", 1);
$('.wpcf7-form').removeClass('processing');
});
$(document).on('invalid.wpcf7', function () {
$(".wpcf7-submit").css("opacity", 1);
$('.wpcf7-form').removeClass('processing');
});
$(document).on('mailsent.wpcf7', function () {
$(".wpcf7-submit").css("opacity", 1);
$('.wpcf7-form').removeClass('processing');
});
$(document).on('mailfailed.wpcf7', function () {
$(".wpcf7-submit").css("opacity", 1);
$('.wpcf7-form').removeClass('processing');
});
$('body').on('click', 'input:not([type=submit]).wpcf7-not-valid, textarea.wpcf7-not-valid', function () {
$(this).removeClass('wpcf7-not-valid');
});
},
/**
* Effect when hover on mini cart.
*/
minicart_hover: function () {
$("body").on("mouseenter mouseleave", ".widget_shopping_cart", function (e) {
var cart = $('.widget_shopping_cart');
var cart_content = cart.find('.widget_shopping_cart_content');
if (e.type == "mouseenter") {
cart_content.stop().slideDown(200);
} else {
cart_content.stop().slideUp(200);
}
});
},
/**
* Product single slider
*/
product_slider: function () {
$('#carousel').flexslider({
animation : "slide",
direction : "vertical",
controlNav : false,
animationLoop: false,
slideshow : false,
itemWidth : 101,
itemMargin : 5,
maxItems : 3,
directionNav : false,
asNavFor : '#slider'
});
$('#slider').flexslider({
animation : "slide",
controlNav : false,
animationLoop: false,
directionNav : false,
slideshow : false,
sync : "#carousel"
});
},
/**
* Blog layout grid
*/
blog_layout_grid: function () {
var windownWidth = $(window).outerWidth();
if (windownWidth <= 768) {
return false;
}
var $blog = $('.thim-sc-posts article, .blog .grid_layout article, .archive .grid_layout article'),
maxHeight = 0;
// Get max height of all items.
$blog.each(function () {
if (maxHeight < $(this).find('.content-inner').height()) {
maxHeight = $(this).find('.content-inner').height();
}
});
// Set height for all items.
if (maxHeight > 0) {
$blog.each(function () {
$(this).find('.content-inner').css('height', maxHeight);
});
}
},
/**
* Blog layout masonry
*/
blog_layout_masonry: function () {
$(".masonry_layout").isotope({
itemSelector : '.type-post',
percentPosition: true,
masonry : {
columnWidth: '.type-post',
fitWidth : true
}
});
},
/**
* Room layout masonry
*/
// room_layout_masonry: function () {
// $(".post-type-archive-hb_room .rooms").isotope({
// itemSelector : '.hb_room',
// percentPosition: true,
// masonry : {
// columnWidth: '.hb_room',
// fitWidth : true
// }
// });
// },
/**
* Event layout masonry
*/
event_layout_masonry: function () {
setTimeout(function(){
$(".post-type-archive-tp_event .clearfix").isotope({
layoutMode: 'masonry',
itemSelector : '.tp_event',
percentPosition: true,
masonry : {
columnWidth: '.tp_event',
fitWidth : false
}
});
},100);
},
/**
* RTL
*/
rtl_support: function () {
$(document).ready(function () {
setTimeout(function () {
$(window).trigger('resize');
}, 150);
$(window).resize(function () {
var $rtl = $('body.class-rtl #wrapper-container ');
var get_padding1 = $rtl.find('.vc_row-has-fill').css('left');
var get_padding2 = $rtl.find('.vc_row-no-padding').css('left');
var get_padding3 = $rtl.find('.vc_row[data-vc-full-width].vc_slider').css('left');
if (get_padding1 != null) {
var right = 0 - parseInt(get_padding1.replace('px', '')) + 15;
$rtl.find('.vc_row-has-fill').css('right', get_padding1);
}
if (get_padding2 != null) {
$rtl.find('.vc_row-no-padding').css('right', get_padding2);
}
if (get_padding3 != null) {
$rtl.find('.vc_row[data-vc-full-width].vc_slider').css('right', get_padding3);
}
});
});
},
/**
* Search widget
*/
search_box: function () {
$('.thim-search-box').on('click', '.toggle-form', function (e) {
e.preventDefault();
$('body').toggleClass('thim-active-search');
var $search = $(this).parent();
setTimeout(function () {
$search.find('.search-field').focus();
}, 400);
});
$('.thim-search-box .background-toggle').on('click', function (e) {
e.preventDefault();
$('body').removeClass('thim-active-search');
});
$(window).scroll(function () {
$('body').removeClass('thim-active-search');
});
},
/**
* Change text language translate
*/
language: function () {
$(".goog-te-combo .dk-selected, .goog-te-combo .dk-select-options .dk-option:first").text("EN");
},
isInteger: function (a) {
return Number(a) || (a % 1 === 0);
},
rooms_search_custom_datepicker: function () {
var today = new Date();
var tomorrow = new Date();
if (typeof(hotel_settings) == "undefined") {
var start_plus = 1;
} else {
var start_plus = hotel_settings.min_booking_date;
}
start_plus = parseInt(start_plus);
if (!thim_hotel_wp.isInteger(start_plus)) {
start_plus = 1;
}
tomorrow.setDate(today.getDate() + start_plus);
$('input[id^="check_in_date"]').datepicker( {
showOn : 'button',
buttonText: '<i class="fa fa-calendar"></i>',
altField : $('input[id^="check_in_date"]').parent().find('.day'),
altFormat : "dd",
onSelect : function () {
var unique = $(this).attr('id');
unique = unique.replace('check_in_date_', '');
var date = $(this).datepicker('getDate');
var month = hotel_booking_i18n.monthNamesShort[date.getMonth()];
$('input[id^="check_in_date"]').parent().find('.month').val(month);
var checkout = $('#check_out_date_' + unique);
date.setDate(date.getDate() + start_plus);
checkout.datepicker('option', 'minDate', date);
},
onClose : function () {
var unique = $(this).attr('id');
unique = unique.replace('check_in_date_', '');
var checkout = $('#check_out_date_' + unique);
checkout.datepicker("show");
},
});
$('input[id^="check_in_date"]').datepicker('refresh');
$('input[id^="check_out_date"]').datepicker({
showOn : 'button',
buttonText: '<i class="fa fa-calendar"></i>',
altField : $('input[id^="check_out_date"]').parent().find('.day'),
altFormat : "dd",
onSelect : function () {
var unique = $(this).attr('id');
unique = unique.replace('check_out_date_', '');
var date = $(this).datepicker('getDate');
var month = hotel_booking_i18n.monthNamesShort[date.getMonth()];
$('input[id^="check_out_date"]').parent().find('.month').val(month);
}
});
$('input[id^="check_out_date"]').datepicker('refresh');
}
,
/**
* HB rooms search
*/
rooms_search: function () {
var $form = $('form[name=hb-search-form]');
$form.on('click', '.hb-submit button', function (e) {
setTimeout(function () {
$form.find('input').each(function (index, element) {
if ($(element).hasClass('error')) {
var id = $(element).attr('id');
$('.' + id).addClass('error');
}
else {
$(element).removeClass('error');
}
});
}, 300);
});
$('.goUp').on('click', function () {
var index = $('select[name="adults_capacity"] option:selected').index();
var count = $(' select[name="adults_capacity"] option').length;
if (index + 1 >= count) {
return;
}
var selected = $($('select[name="adults_capacity"] option')[index + 1]).val();
$('select[name="adults_capacity"]').val(selected);
$('select[name="adults_capacity"]').trigger('change.select2'); // Notify only Select2 of changes
});
$('.goDown').on('click', function () {
var index = $('select[name="adults_capacity"] option:selected').index();
if (index <= 0) {
return;
}
var selected = $($('select[name="adults_capacity"] option')[index - 1]).val();
$('select[name="adults_capacity"]').val(selected);
$('select[name="adults_capacity"]').trigger('change.select2'); // Notify only Select2 of changes
});
//Multidate
$('#guests').each(function () {
var $form_list = $('.layout-special .hb-form-field-list');
$('#guests').on('click touch', function () {
$form_list.toggleClass('active');
});
$(document).on('click touch', function (event) {
if (!$(event.target).parents().addBack().is('#guests')) {
$form_list.removeClass('active');
}
});
$form_list.on('click touch', function (event) {
event.stopPropagation();
});
});
function changeNumber() {
var $max_child = $(' select[name="max_child"] option:selected').html();
var $adults_capacity = $('select[name="adults_capacity"] option:selected').html();
var $number_total = Math.round($adults_capacity);
if ($number_total < 10) {
$('#number').val('0' + $number_total);
} else {
$('#number').val($number_total);
}
}
$('.layout-special .goUp').on('click', function () {
changeNumber();
});
$('.layout-special .goDown').on('click', function () {
changeNumber();
});
$('.goUp2').on('click', function () {
var index = $('select[name="max_child"] option:selected').index();
var count = $(' select[name="max_child"] option').length;
if (index + 1 >= count) {
return;
}
var selected = $($('select[name="max_child"] option')[index + 1]).val();
$('select[name="max_child"]').val(selected);
$('select[name="max_child"]').trigger('change.select2'); // Notify only Select2 of changes
changeNumber();
});
$('.goDown2').on('click', function () {
var index = $('select[name="max_child"] option:selected').index();
if (index <= 0) {
return;
}
var selected = $($('select[name="max_child"] option')[index - 1]).val();
$('select[name="max_child"]').val(selected);
$('select[name="max_child"]').trigger('change.select2'); // Notify only Select2 of changes
changeNumber();
});
$('input, .select2, .ui-datepicker-trigger').on('click', function () {
var $parent = $(this).parent();
if ($parent.hasClass('hotel_booking_invalid_quantity') || $(this).hasClass('hotel_booking_invalid_quantity')) {
$(this).removeClass('hotel_booking_invalid_quantity');
$parent.removeClass('hotel_booking_invalid_quantity');
};
});
},
/**
* Single Room gallery
*/
room_gallery: function () {
$('.hb_room_gallery ').imagesLoaded(function () {
$('.hb_room_gallery').flexslider({
slideshow : true,
animation : 'fade',
pauseOnHover : true,
animationSpeed: 400,
smoothHeight : true,
directionNav : true,
controlNav : true
});
});
},
/**
* Single room toggle reply form
*/
room_toggle_review_form: function () {
$('.hb_single_room_details #reply-title').on('click', function () {
$('.hb_single_room_details #commentform').slideToggle();
});
},
/**
* Popup when click on share social icon.
*/
popup_share: function () {
$('.thim-social-share.popup').on('click', 'a', function (event) {
event.preventDefault();
var shareurl = $(this).attr('href');
var top = (screen.availHeight - 500) / 2;
var left = (screen.availWidth - 500) / 2;
var popup = window.open(shareurl, 'social sharing', 'width=550,height=420,left=' + left + ',top=' + top + ',location=0,menubar=0,toolbar=0,status=0,scrollbars=1,resizable=1');
return false;
});
},
/**
* Page comming soon
*/
comingsoon: function () {
if ($('.page-template-comingsoon').length > 0) {
$(".thim-countdown .count-down").mbComingsoon({
expiryDate: new Date($(".thim-countdown").data('date')),
speed : 100
});
$('.comingsoon-wrapper .background').imagesLoaded(function () {
$('.comingsoon-wrapper .background').flexslider({
slideshow : true,
animation : 'fade',
animationSpeed: 400,
controlNav : true,
directionNav : false
});
});
}
}
};
jQuery(document).ready(function () {
function albert_fix_vc_full_width_row() {
var $elements = jQuery('.class-rtl [data-vc-full-width="true"]');
var $elements_2 = jQuery('.class-rtl .elementor-section-stretched');
jQuery.each($elements, function () {
var $el = jQuery(this);
$el.css('right', $el.css('left')).css('left', 'auto');
});
jQuery.each($elements_2, function () {
var $el_2 = jQuery(this);
$el_2.css('right', $el_2.css('left')).css('left', 'auto');
});
}
// Fixes rows in RTL
jQuery(document).on('.rtl vc-full-width-row', function () {
albert_fix_vc_full_width_row();
});
jQuery(document).on('.class-rtl .elementor-section-stretched', function () {
albert_fix_vc_full_width_row();
});
// Run one time because it was not firing in Mac/Firefox and Windows/Edge some times
albert_fix_vc_full_width_row();
});
if (typeof(hotel_settings) === 'undefined') {
} else {
$(window).on('load',function () {
var today = new Date();
var tomorrow = new Date();
if (typeof(hotel_settings) == "undefined") {
var start_plus = 1;
} else {
var start_plus = hotel_settings.min_booking_date;
}
start_plus = parseInt(start_plus);
tomorrow.setDate(today.getDate() + start_plus);
$('input.date-in-bookroom').datepicker({
minDate : today,
maxDate : '+365D',
numberOfMonths : 1,
showOn : 'button',
buttonText: '<i class="fa fa-calendar"></i>',
onSelect : function () {
var date = $(this).datepicker('getDate');
if (date) {
date.setDate(date.getDate() + start_plus);
}
var checkout = $('input.date-out-bookroom');
checkout.datepicker('option', 'minDate', date);
},
onClose : function () {
var checkout = $('input.date-out-bookroom');
checkout.datepicker("show");
},
});
$('input.date-out-bookroom').datepicker({
minDate : tomorrow,
maxDate : '+365D',
numberOfMonths : 1,
showOn : 'button',
buttonText: '<i class="fa fa-calendar"></i>',
onSelect : function () {
var check_in = $('input.date-in-bookroom'),
selected = $(this).datepicker('getDate');
selected.setDate(selected.getDate() - start_plus);
check_in.datepicker('option', 'maxDate', selected);
}
});
});
}
})(jQuery);
//form popup room new
(function ($) {
"use strict";
var thim_Contact_Course_Popup = function() {
if ($('#contact-form-registration >.wpcf7').length) {
var el = $('#contact-form-registration >.wpcf7'),
el_H = el.outerHeight(),
win_H = $(window).height();
if (win_H > el_H) {
el.css('top', ( win_H - el_H ) / 2);
}
el.append('<a href="#" class="thim-close fa fa-times"></a>');
}
$(document).on('click', '.thim-button-register-room .thim-enroll-room-button', function (e) {
e.preventDefault();
$('body').addClass('thim-contact-popup-active');
$('#contact-form-registration').addClass('active');
});
$(document).on('click', '#contact-form-registration', function (e) {
if ($(e.target).attr('id') == 'contact-form-registration') {
$('body').removeClass('thim-contact-popup-active');
$('#contact-form-registration').removeClass('active');
}
});
$(document).on('click', '#contact-form-registration .thim-close', function (e) {
e.preventDefault();
$('body').removeClass('thim-contact-popup-active');
$('#contact-form-registration').removeClass('active');
});
}
$(window).on('load',function () {
thim_Contact_Course_Popup();
$(document).on('click', '#contact-form-registration .wpcf7-form-control.wpcf7-submit', function () {
$(document).on('mailsent.wpcf7', function (event) {
setTimeout(function(){
$('body').removeClass('thim-contact-popup-active');
$('#contact-form-registration').removeClass('active');
}, 3000);
});
});
});
})(jQuery);
// Create a closure
(function () {
// Your base, I'm in it!
var originalAddClassMethod = jQuery.fn.addClass;
jQuery.fn.addClass = function () {
// Execute the original method.
var result = originalAddClassMethod.apply(this, arguments);
// trigger a custom event
jQuery(this).trigger('cssClassChanged');
// return the original result
return result;
}
})();