// Run when the page ready (before images and other resource)
jQuery(function($) {MultiCurrencies.init();ActiveOrderPopup.init();WishList.init();});var MultiCurrencies = function() {var that = {nameSpace: 'multi-currencies',isActive: false,isChangedCurrency: false};that.init = function() {$(document).on('s123.page.ready.multi_currencies', function( event ) {that.settings = tryParseJSON($('.s123-multi-currencies').val());if ( !that.settings ) return;if ( !that.settings.active ) return;that.activeCurrency = tryParseJSON($.cookie($(websiteID).val()+'-'+that.nameSpace));that.defaultCurrency = that.settings.defaultCurrency;that.currencies = that.settings.currencies;that.setActiveCurrency(that.activeCurrency.currency);that.$menuIcon = $('[data-toggle="multiCurrenciesPopup"]');that.isActive = true;$(document).off('build_popup.open.multi_currencies').on('build_popup.open.multi_currencies', function( event ) {handleMenuIcon($('#popupFloatDivMenu [data-toggle="multiCurrenciesPopup"]'),true);});handleMenuIcon(that.$menuIcon,false);that.priceOnlyType.backup();$(document).off('pageLoaded.multi_currencies').on('pageLoaded.multi_currencies', function( event ) {if ( $.isNumeric(S123.QueryString.clientZone) ) {$('.client-zone-orders-table [data-rel="multiCurrency"]').removeAttr('data-rel');}
if ( isDefaultCurrency() && that.isChangedCurrency ) {that.reset();} else if ( isDefaultCurrency() && !that.isChangedCurrency  ) {$('[data-rel="multiCurrency"]').css({visibility: 'visible'});} else {updateAllPrices();}});if ( $.isNumeric(S123.QueryString.clientZone) ) return;$(document).off('s123.pjax.complete.multi_currencies').on('s123.pjax.complete.multi_currencies', function() {that.$menuIcon = $('[data-toggle="multiCurrenciesPopup"]');handleMenuIcon(that.$menuIcon,false);that.priceOnlyType.backup();$(document).trigger('pageLoaded.multi_currencies');});$(document).off('multi_currencies_price_update').on('multi_currencies_price_update', function( event, settings ) {$.each(settings, function( index, setting ) {if ( !isDefaultCurrency() ) {updatePrice(setting.el,setting.newPrice,true);} else {setting.el.find('[data-rel="multiCurrency"]').css({visibility: 'visible'});}});});$(document).trigger('pageLoaded.multi_currencies');modulesExtraActions();$(document).off('multi_currency_update').on('multi_currency_update', function() {buildPopup_CloseAction('popupFloatDivMenu');});});};that.setActiveCurrency = function( currency ) {that.activeCurrency = that.currencies[currency];if ( !that.activeCurrency ) {that.activeCurrency = that.defaultCurrency;}
$.cookie($(websiteID).val()+'-'+that.nameSpace,JSON.stringify(that.activeCurrency),{ expires: 365, path: '/' });};that.reset = function( ) {if ( !that.isActive ) return;if ( getOrderScreen() > 1 ) return;if ( window.czIsLoggedIn ) return;$('[data-rel="multiCurrency"]').each(function( index, el ) {var originalPrice = $(this).find('[data-type="price"]').data(that.nameSpace + '-price');var $price = $(showPrice(that.defaultCurrency.data,originalPrice));$(this).replaceWith($price);$price.css({visibility: 'visible'});backUpPrice($price.find('[data-type="price"]'),$price.find('[data-type="price"]').html(),false);});$('[data-multi-currency-symbol-only="true"]').html(that.defaultCurrency.data.symbol);that.priceOnlyType.update();that.isChangedCurrency = false;};that.geConvertedPrice = function( price ) {if ( !that.isActive ) return price;if ( !$.isNumeric(price) ) return price;if ( isDefaultCurrency() ) return price;if ( getOrderScreen() > 1 ) return price;var result = parseFloat(price) * parseFloat(that.activeCurrency.rate);return result > 0 ? result.toFixed(2) : result;};that.getOriginalPrice = function( price ) {if ( !that.isActive ) return price;if ( !$.isNumeric(price) ) return price;return parseFloat(price) / parseFloat(that.activeCurrency.rate);};that.getActiveCurrency = function() {return that.activeCurrency.data;};that.getMobileIconHtml = function() {var $clone = that.$menuIcon.clone();$clone.attr('data-is-mobile',true);return $clone.prop('outerHTML');};function handleMenuIcon( $menuIcon, isMobileMenu ) {setMenuIconCurrency($menuIcon);var html = '';var maxHeight = 160;html += '<div class="currency-menu-container fancy-scrollbar" style="max-height:' + maxHeight + 'px;">';html += '<div class="currency-list">';html += '<div class="currency-list-item" data-value="' + S123.escapeHtml(that.defaultCurrency.currency) + '">';html += '<a href="#">';html += '<span>' + that.defaultCurrency.currency + '</span>';html += '<span>-</span>';html += '<span>' + that.defaultCurrency.data.symbol + '</span>';html += '</a>';html += '</div>';$.each(that.currencies, function( currencyCode, currency ) {html += '<div class="currency-list-item" data-value="' + S123.escapeHtml(currencyCode) + '">';html += '<a href="#">';html += '<span>' + currencyCode + '</span>';html += '<span>-</span>';html += '<span>' + currency.data.symbol + '</span>';html += '</a>';html += '</div>';});html += '</div>';html += '</div>';$html = $(html);setActiveCurrencyListItem($html);$html.find('.currency-list').on('click.multi_currencies', 'a', function( event ) {event.preventDefault();if ( !isDefaultCurrency() ) {that.isChangedCurrency = true;} else {that.isChangedCurrency = false;}
that.setActiveCurrency($(this).parent().data('value'));$(document).trigger('pageLoaded.multi_currencies');modulesExtraActions();setMenuIconCurrency($menuIcon);$menuIcon.popover('hide');setActiveCurrencyListItem($html);$(document).trigger('multi_currency_update',[that.activeCurrency]);});S123.popOver.init({$el: $menuIcon,elSelector: '.multi-currencies-controller',namespace: 'multi_currency_menu_icon',oneTimeUsage: false,popOverSettings: {selector: 'multi-currency',content: $html,html: true,trigger: 'manual',template: '<div class="popover multi-currency" role="tooltip"><div class="arrow"></div><div data-menu-dismiss="popover"><i class="fa fa-times" aria-hidden="true"></i></div><div class="popover-content"></div></div>',placementCallBack: function() {if ( isMobileMenu ) return 'top';if ( getWebsiteMenuPosition() === 'top' || getWebsiteMenuPosition() === 'bottom' ) {if ( ($('nav#mainNav').offset().top - $(window).scrollTop()) > maxHeight ) {return 'top';} else {return 'bottom';}} else {if ( $('html').attr('dir') === 'rtl' ) {return 'left';} else {return 'right';}}}}});$(document).on('s123_pop_over_wrapper.show.multi_currency_menu_icon', function() {$menuIcon.addClass('active');})
.on('s123_pop_over_wrapper.hide.multi_currency_menu_icon', function() {$menuIcon.removeClass('active');});$menuIcon.off('click.multi_currencies').on('click.multi_currencies', function() {if ( $(this).hasClass('active') ) {$(this).popover('hide');} else {$(this).popover('show');}});}
function setActiveCurrencyListItem( $currencyList ) {$currencyList.find('.currency-list-item').removeClass('active');$currencyList.find('.currency-list-item[data-value="'+that.activeCurrency.currency+'"]').addClass('active');}
function setMenuIconCurrency( $menuIcon ) {var html = '';if ( $menuIcon.data('is-mobile') ) {html += '<span>' + that.activeCurrency.currency + '</span>';} else {html += '<span>' + that.activeCurrency.currency + '</span>';html += '<span class="m-c-symbol">' + that.activeCurrency.data.symbol + '</span>';if ( getWebsiteMenuPosition() === 'top' || getWebsiteMenuPosition() === 'bottom' ) {html += S123.s123IconToSvg.getHtml('caret-down','mc-icon','');} else {if ( $('html').attr('dir') === 'rtl' ) {html += S123.s123IconToSvg.getHtml('caret-left','mc-icon','');} else {html += S123.s123IconToSvg.getHtml('caret-right','mc-icon','');}}}
$menuIcon.html(html);}
function updateAllPrices() {if ( isDefaultCurrency() && that.isChangedCurrency ) {that.reset();} else if ( isDefaultCurrency() && !that.isChangedCurrency  ) {$('[data-rel="multiCurrency"]').css({visibility: 'visible'});} else {$('[data-rel="multiCurrency"]').each(function( index, el ) {updatePrice($(this),$(this).find('[data-type="price"]').html(),false);});}
$('[data-multi-currency-symbol-only="true"]').html(that.activeCurrency.data.symbol);that.priceOnlyType.update();}
function updatePrice( $el, newPrice, force ) {backUpPrice($el.find('[data-type="price"]'),newPrice,force);if ( isReplaceDisabled() ) {$el.css({visibility: 'visible'});} else {var $price = $el.find('[data-type="price"]');var priceAsString = $price.data(that.nameSpace + '-price');var price = parseFloat(priceAsString);var $newEl = $(showPrice(that.activeCurrency.data,(price * parseFloat(that.activeCurrency.rate)).toFixed(2)));backUpPrice($newEl.find('[data-type="price"]'),priceAsString,false);$price.parent().replaceWith($newEl);$newEl.css({visibility: 'visible'});}}
function backUpPrice( $el, newPrice, force ) {if ( !that.isActive ) return;if ( !$el.data(that.nameSpace + '-price') || force ) {$el.data(that.nameSpace + '-price',newPrice);}}
function modulesExtraActions() {$(document).off('donate_price_update.multi_currencies giftCard_price_update.multi_currencies').on('donate_price_update.multi_currencies giftCard_price_update.multi_currencies', function( event, $el ) {if ( isDefaultCurrency() ) return;var price = $el.val();price = parseFloat(price) * parseFloat(that.activeCurrency.rate);$el.val(price.toFixed(2));});}
function isDefaultCurrency() {return that.defaultCurrency.currency === that.activeCurrency.currency;}
function isReplaceDisabled() {if ( getOrderScreen() > 1 ) {return true;} else if ( window.czIsLoggedIn ) {return true;} else {return false;}
return false;}
function getOrderScreen() {var path = window.location.pathname.split("/");var orderScreen = path[path.length - 2];if ( orderScreen == '-order1' ) return 1;if ( orderScreen == '-order2' ) return 2;if ( orderScreen == '-order3' ) return 3;return 0;}
that.priceOnlyType = {backup: function() {$('[data-multi-currency-price-only="true"]').each(function( index, el ) {if ( $.isNumeric($(this).data(that.nameSpace + '-price')) ) return;$(this).data(that.nameSpace + '-price',$(this).html());});},update: function() {$('[data-multi-currency-price-only="true"]').each(function( index, el ) {var originalPrice = $(this).data(that.nameSpace + '-price');var newPrice = parseFloat(originalPrice) * parseFloat(that.activeCurrency.rate);if ( newPrice % 1 === 0 ) {$(this).html(newPrice);} else {$(this).html(newPrice.toFixed(2));}});}};return that;}();var ActiveOrderPopup = function() {AO = {};AO.init = function() {$( document ).on( 's123.page.ready.activeOrderPopup', function( event ) {AO.initializeAddToCart();AO.productCallToAction.init();AO.initializeShowCart();});};AO.initializeAddToCart = function() {$('.orderButtonPopup').off('click').on('click', function( event ) {var $this = $(this);if ( $this.hasClass('a-o-out-of-stock') ) {bootbox.dialog({title: translations.activeOrderPopup.messageTitle,message: translations.activeOrderPopup.messageBody,buttons: {cancel: {label: translations.Ok,className: 'btn btn-primary'}}});return;}
if ( $this.data('disable-atc-validator') != '1' ) {if ( !AO.atcValidator() ) return;}
$this.attr('disabled','');S123.ButtonLoading.start($this);var multiProducts = $this.data('multi-products') ? $this.data('multi-products') : JSON.stringify([$this.data('unique-page')]);var formData = new FormData();formData.append('w',$('#w').val());formData.append('websiteID',$('#websiteID').val());formData.append('moduleID',$this.data('module'));if ( $this.data('product-page') ) {if ( $('#productOptions').prop('type') == 'textarea' ) {formData.append('productOptions',$('#productOptions').length !== 0 ? $('#productOptions').html() : '');} else {formData.append('productOptions',$('#productOptions').length !== 0 ? $('#productOptions').val() : '');}
formData.append('customText',$('#customText').length !== 0 ? $('#customText').html() : '');}
formData.append('amount',$this.data('quantity-amount') ? $this.data('quantity-amount') : '1');formData.append('multiProducts',multiProducts);formData.append('viewModeTXT',viewModeTXT);$('input[type="file"]').each(function( index, upload ) {if ( upload.files.length > 0 ) {formData.append(upload.id,upload.files[0]);}});if ( $('.product-subscription-pricing').length !== 0 ) {let checkedPricing = $('.product-subscription-pricing').find('input[type="radio"]:checked');if ( checkedPricing.length == 0 ) {$('.product-subscription-error').remove();$('.product-subscription-title').append(`<div class="product-subscription-error">${translations.productSubscriptionError}</div>`);S123.ButtonLoading.stop($this);$this.removeAttr('disabled');return;}
formData.append('subscriptionTicketID',checkedPricing.val());formData.append('activeProductSubscription',true);}
$.ajax({type: "POST",url: "/versions/2/wizard/orders/front/addToCart.php",data: formData,cache: false,contentType: false,processData: false,success: function( response ) {response = tryParseJSON(response);showCart_GetContent('/versions/2/wizard/orders/front/showCart.php?w='+$('#w').val()+'&websiteID='+$('#websiteID').val()+'&tranW='+websiteLanguageCountryFullCode+'&moduleID='+$this.data('module')+'&viewModeTXT='+viewModeTXT,true);CartCounter.updateCartIcon();S123.ButtonLoading.stop($this);$this.removeAttr('disabled');topWindow.eCommerce_cart_lastAdded = response.updatedCartIds ? response.updatedCartIds : false;}});});};AO.initializeShowCart = function() {$('.orderOpenCart').off('click').on('click',function( event ) {AO.showCart();});};AO.showCart = function() {showCart_GetContent('/versions/2/wizard/orders/front/showCart.php?w='+$('#w').val()+'&websiteID='+$('#websiteID').val()+'&moduleTypeNUM=37&tranW='+websiteLanguageCountryFullCode+'&cartButton=1',true);};AO.atcValidator = function() {var $ct = $("#product-custom-text");var $po = $('.product-options');if ( $ct.length !== 0 && $ct.data('mandatory') ) {var $ct_fieldTitle = $('#ct_fieldTitle');if ( $ct_fieldTitle.val().length === 0 ) {$ct_fieldTitle.popover({container: 'body',content: translations.productvalidatorPopover,trigger: 'manual',template: '<div class="popover product-validator-popover" role="tooltip"><div class="arrow"></div><div class="popover-content"></div></div>',placement: function(popover, input) {return isMobileDevice.any() ? 'auto' : ($('html').attr('dir') === 'rtl' ? 'left' : 'right');}});$ct_fieldTitle.popover('show').one('input', function(e) {$(this).popover('hide');});$ct_fieldTitle.focus();return false;}}
if ( $po.length !== 0 ) {var $options = $po.find('.p-o-container[data-mandatory="1"]');var addToCart = true;var $popoverContainer;var $firstErrorOption;var $errorsOptionsList = [];$.each($options, function( index, option ) {var $option = $(option);var addErrorMsg = false;switch( $option.data('type') ) {case 'color':case 'radio':case 'checkbox':case 'size':case 'list':if ( $option.find('[id*=poi].selected').length === 0 ) {addToCart = false;addErrorMsg = true;}
$popoverContainer = $(option);break;default:if ( $option.find('.fake-input').length > 0 ) {var id = $option.find('.fake-input').data('related-id');if ( $option.find('[data-id="'+id+'"]').val().length === 0 ) {addToCart = false;addErrorMsg = true;$popoverContainer = $(option).parent();}} else {if ( $option.find('.form-control').val().length === 0 ) {addToCart = false;addErrorMsg = true;$popoverContainer = $(option).parent();}}}
if ( addErrorMsg ) {$errorsOptionsList.push($option);var $popover = $option.find('.p-o-popover-box');if ( $popover.length === 0  ) $popover = $option;$popover.popover({container: 'body',content: translations.productvalidatorPopover,trigger: 'manual',template: '<div class="popover product-validator-popover" role="tooltip"><div class="arrow"></div><div class="popover-content"></div></div>',placement: function(popover, input) {return isMobileDevice.any() ? 'auto' : ($('html').attr('dir') === 'rtl' ? 'right' : 'left');}});}});if ( $errorsOptionsList.length !== 0 ) {var offset = $('#mainNav').outerHeight();if ( !$.isNumeric(offset) ) offset = 0;if ( !elementInViewport($errorsOptionsList[0].get(0)) ) {$('html, body').scrollTop($errorsOptionsList[0].offset().top - offset);}
$.each($errorsOptionsList, function( index, $option ) {var $popover = $option.find('.p-o-popover-box');if ( $popover.length === 0  ) $popover = $option;$popover.popover('show');});$po.off('po.update').on('po.update', function( event ) {$('.product-validator-popover').popover('hide');});}
return addToCart;}
return true;};AO.productCallToAction = function() {var _ = {};_.init = function( settings ) {_.$controllers = $('.orderButtonPopup[data-p-c-t-a]');if ( _.$controllers.length == 0 ) return;_.$controllers.each(function() {var $this = $(this);var callToAction = $this.data('p-c-t-a');if ( callToAction.type == 'externalLink' && callToAction.externalLink.length > 0 ) {$this.off('click').on('click', function( event ) {window.open(callToAction.externalLink,'_blank');});} else if ( callToAction.type == 'contactUs' ) {$this.off('click').on('click', function( event ) {buildPopup('popupFloatDivSearch','',generateContactForm(callToAction),'',true,true,true,'right','')
S123.globalContactEmail.submitHandler();fillDescription(callToAction);});}});};function generateContactForm( callToAction ) {var html = '';html += '<div class="global-contact-email-container">';html += '<div class="g-c-email-info-box">';html += '<h3>'+translations.productCallToAction.title+'</h3>';html += '<p>'+translations.productCallToAction.infoBox+'</p>';html += '</div>';html += '<form class="g-c-email-form">';html += '<div class="row">';html += '<div class="col-xs-12">';html += '<div class="form-group">';html += '<label for="emailForm_fullName" class="white">'+translations.productCallToAction.fullName+'</label>';html += '<input type="text" name="emailForm_fullName" placeholder="'+translations.productCallToAction.fullName+'" class="form-control" required data-msg-required="'+translations.jqueryValidMsgRequire+'">';html += '</div>';html += '</div>';html += '<div class="col-xs-12">';html += '<div class="form-group">';html += '<label for="emailForm_email" class="white">'+translations.emailAddress+'</label>';html += '<input type="text" name="emailForm_email" placeholder="'+translations.emailAddress+'" class="form-control" required data-msg-required="'+translations.jqueryValidMsgRequire+'" data-rule-email="true" data-msg-email="'+translations.jqueryValidMsgEmail+'">';html += '</div>';html += '</div>';html += '<div class="col-xs-12">';html += '<div class="form-group">';html += '<label for="emailForm_phone" class="white">'+translations.productCallToAction.phone+'</label>';html += '<input type="text" name="emailForm_phone" placeholder="'+translations.productCallToAction.phone+'" class="form-control">';html += '</div>';html += '</div>';html += '</div>';html += '<div class="row">';html += '<div class="col-xs-12">';html += '<button type="submit" class="btn btn-primary btn-block">'+translations.send+'</button>';html += '<input type="hidden" name="websiteID" value="'+$('#websiteID').val()+'">';html += '<input type="hidden" name="w" value="'+$('#w').val()+'">';html += '<input type="hidden" name="isAddToCartBtn" value="1">';html += '<input type="hidden" name="recaptchaToken" value="">';html += '<textarea class="form-control hidden" name="emailForm_description"></textarea>';html += '</div>';html += '</div>';html += '</form>';html +='<div class="g-c-email-message-sent-box">';html += '<div class="row">';html += '<div class="col-sm-6 col-xs-12 col-md-offset-3">';html += '<h3 class="g-c-email-message-content">'+translations.productCallToAction.thankYouMessage+'</h3>';html += '</div>';html += '</div>';html += '<div class="row">';html += '<div class="col-sm-6 col-xs-12 col-md-offset-3">';html += '<button type="button" class="btn btn-primary close-order-thank-you">'+translations.productCallToAction.thankYouCloseBtn+'</button>';html += '</div>';html += '</div>';html += '</div>';html += '</div>';return html;}
function fillDescription( callToAction ) {var pageURL = window.location.protocol+'//'+domain+callToAction.pageURL;
var html = '';html += '<br>';html += '<strong>'+translations.productCallToAction.productName+'<strong> ';html += '<a href="'+pageURL+'" target="_blank">'+callToAction.title+'</a>';$('#popupFloatDivSearch [name="emailForm_description"]').val(html);}
return _;}();return AO;}();var WishList = function() {var WL = {};WL.init = function( settings ) {$( document ).on( 's123.page.ready.wish_list', function( event ) {WL.websiteID = $('#websiteID').val();WL.$menuButton = $('.wishListActionButton');if ( WL.$menuButton.length === 0 ) return;WL.eventRecurring();WL.initilizeMenuButton();WL.initializeLayoutButtons();WL.initializeDataPageButtons();});};WL.markUnMarkIcons = function() {var $container = $('.s123-module-eCommerce');var $items = $container.find('.product-data-obj');var $icons = $items.find('.wish-list-btn');WL.items = tryParseJSON($.cookie(WL.websiteID+'-wishList'));if ( !WL.items || $container.length === 0 ) return;$icons.removeClass('wl-active');$.each(WL.items, function( index, item ) {$items.filter('.product-data-obj[data-unique-id="'+item.uniqueID+'"]').find('.wish-list-btn').addClass('wl-active');});if ( $container.hasClass('s123-page-data-eCommerce') ) {WL.setToolTip($container);}};WL.setToolTip = function( $container ) {var $wishListBtn = $container.find('.wish-list-btn');$wishListBtn.attr('data-original-title',$wishListBtn.data('add-tooltip'));$wishListBtn.filter('.wl-active').attr('data-original-title',$wishListBtn.data('remove-tooltip'));$wishListBtn.tooltip({container: 'body',placement: 'auto'});};WL.eventRecurring = function() {WL.markUnMarkIcons();WL.updateCounterIcon();};WL.refresh = function() {WL.eventRecurring();};WL.initilizeMenuButton = function() {if ( WL.$menuButton.length === 0 ) return;WL.$menuButton.off('click').on('click',function( event ) {var $this = $(this);showCart_GetContent('/versions/2/wizard/orders/front/showCart.php?w='+$('#w').val()+'&websiteID='+$('#websiteID').val()+'&moduleTypeNUM=112&tranW='+websiteLanguageCountryFullCode+'&cartButton=1&wishList=true',true);});};WL.initializeLayoutButtons = function() {var $container = $('.s123-module-eCommerce:not(.s123-page-data-eCommerce)');if ( $container.length === 0 ) return;$container.find('.wish-list-btn').off('click.wishList').on('click.wishList',function( event ) {event.stopPropagation();var $this = $(this);var $wishListItem = $this.closest('.product-data-obj');if ( $this.hasClass('disabled') ) return false;if ( $this.hasClass('wl-active') ) {WL.removeItem($this,$wishListItem.data('module'),$wishListItem.data('module-type-num'),$wishListItem.data('unique-id'));} else {WL.addItem($this,$wishListItem.data('module'),$wishListItem.data('unique-id'));}});};WL.initializeDataPageButtons = function() {var $container = $('.s123-module-eCommerce.s123-page-data-eCommerce');if ( $container.length === 0 ) return;$container.find('.wish-list-btn').off('click.wishList').on('click.wishList', function( event ) {var $this = $(this);var $wishListItem = $this.closest('.product-data-obj');if ( $this.hasClass('disabled') ) return false;if ( $this.hasClass('wl-active') ) {WL.removeItem($this,$wishListItem.data('module'),$wishListItem.data('module-type-num'),$wishListItem.data('unique-id'));} else {WL.addItem($this,$wishListItem.data('module'),$wishListItem.data('unique-id'));}});};WL.addItem = function( $item , moduleID, uniqueID ) {$item.addClass('disabled');$.ajax({type: "POST",url: "/versions/2/wizard/orders/front/addToCart.php",data:  {w: $('#w').val(),websiteID: WL.websiteID,moduleID: moduleID,wishList: true,multiProducts: JSON.stringify(Array(uniqueID)),viewModeTXT: viewModeTXT,},success: function( response ) {response = tryParseJSON(response);showCart_GetContent('/versions/2/wizard/orders/front/showCart.php?w='+$('#w').val()+'&websiteID='+$('#websiteID').val()+'&tranW='+websiteLanguageCountryFullCode+'&moduleID='+moduleID+'&wishList=true',true);WishList.eventRecurring();$item.removeClass('disabled');topWindow.eCommerce_cart_lastAdded = response.updatedCartIds ? response.updatedCartIds : false;}});};WL.removeItem = function( $item, moduleID, moduleTypeNUM, uniqueID ) {$item.addClass('disabled');$.ajax({type: "POST",url: "/versions/2/wizard/orders/front/removeCartItem.php",data: {w: $('#w').val(),websiteID: WL.websiteID,moduleID: moduleID,id: WL.items[uniqueID].id,uniqueID: uniqueID,wishList: true,cartType: moduleTypeNUM,tranW: websiteLanguageCountryFullCode},success: function( response ) {var response = JSON.parse(response);if ( !response.success ) return;WishList.eventRecurring();$item.removeClass('disabled');topWindow.eCommerce_cart_lastAdded = response.updatedCartIds ? response.updatedCartIds : false;}});};WL.updateCounterIcon = function() {var $headerWishListWrapper = $('.header-wish-list');if ( $headerWishListWrapper.length === 0 ) return;var itemsNumber = WL.items ? Object.keys(WL.items).length : 0 ;if ( parseInt(itemsNumber) === 0 ) {if ( !$headerWishListWrapper.hasClass('show-static') ) {$headerWishListWrapper.hide();ResetMoreButton();}
$headerWishListWrapper.find('.count').hide();} else {if ( !$headerWishListWrapper.hasClass('show-static') ) {$headerWishListWrapper.show();ResetMoreButton();}
$headerWishListWrapper.find('.count').html(itemsNumber).css({ display: 'flex' });}};return WL;}();var ShowCartMobileHandler = function() {var _ = {};_.step1 = function( settings ) {$(document).one('buildSmallPopup.open',function() {$('body').addClass('popupWinScroll');});$(document).one('buildSmallPopup.close',function() {$('body').removeClass('popupWinScroll');if ( window.visualViewport ) {$(window.visualViewport).off('resize.cartMobile scroll.cartMobile');}
$(window).off('resize.cartMobile');});};_.step2 = function() {if ( !isMobileDevice.any() ) return;const updateQuickCartHeight = () => {const quickCart = $('.quickCart');if ( !quickCart.length ) return;const visibleHeight = window.visualViewport?.height || window.innerHeight;quickCart.height(visibleHeight);};const handleViewportChange = () => {clearTimeout(window.updateQuickCartTimeout);window.updateQuickCartTimeout = setTimeout(updateQuickCartHeight,100);};if ( window.visualViewport ) {$(window.visualViewport).on('resize.cartMobile scroll.cartMobile',handleViewportChange);}
$(window).on('resize.cartMobile',handleViewportChange);updateQuickCartHeight();};return _;}();function showCart_GetContent( url, bsp ) {var window_object = S123.isWebsiteInSlidingWindow ? parent : window;var b_s_p = window_object.buildSmallPopup;ShowCartMobileHandler.step1();$.ajax({type: "GET",url: url,success: function( response ) {if ( bsp ) {b_s_p('popupCart',translations.cart,response,'',true,false,true,'');} else {$('#popupCart .content').html(response);}
showCart(window_object);}});}
function showCart( current_window ) {var $cartOrderPage = current_window.$('#popupCart').find('.content');init();function init() {eventRecurring();if ( $.isArray(topWindow.eCommerce_cart_lastAdded) ) {$.each(topWindow.eCommerce_cart_lastAdded, function( index, cart_id ) {$cartOrderPage.find('[data-cart-id="'+cart_id+'"]').addClass('last-added-highlight');});topWindow.eCommerce_cart_lastAdded = false;}}
function eventRecurring() {current_window.CartCounter.updateCartIcon();var aop_settings = tryParseJSON($cartOrderPage.find('#aopSettings').val());$cartOrderPage.height('auto');$cartOrderPage.find('.empty-cart-btn').off('click').on('click','a.empty-cart', function() {$.ajax({type: "GET",url: $(this).data('href')+'&wishList='+aop_settings.wishList,success: function( data ) {$cartOrderPage.closest('#popupCart .content').html(data);eventRecurring();showCart_UpdateCartWasChanged();}});});$cartOrderPage.find('.change-cart').on('click', function() {$.ajax({type: "GET",url: $(this).data('href'),success: function( data ) {$cartOrderPage.closest('#popupCart .content').html(data);eventRecurring();}});});$cartOrderPage.find('.continue-shopping-btn, .closeIcon').click(function() {current_window.buildSmallPopup_CloseAction('popupCart');});$cartOrderPage.find('.edit-quantity').on('click',function() {var $this = $(this);$cartOrderPage.find('#quantity_box_'+$this.data('product-id')+'').toggle();});$cartOrderPage.find('.edit-quantity-minus').on('click',function() {var $this = $(this);var $box = $cartOrderPage.find('#quantity_box_'+$this.data('product-id')+'');$box.find('.quantity_field').val(parseInt($box.find('.quantity_field').val())-1).trigger('input');updateAutomaticCouponMsg();});$cartOrderPage.find('.edit-quantity-plus').on('click',function() {var $this = $(this);var $box = $cartOrderPage.find('#quantity_box_'+$this.data('product-id')+'');$box.find('.quantity_field').val(parseInt($box.find('.quantity_field').val())+1).trigger('input');updateAutomaticCouponMsg();});function updateAutomaticCouponMsg() {$.ajax({type: 'POST',url: '/versions/' + $('#versionNUM').val() + '/wizard/orders/front/getAutomaticCouponMsg.php',data: {w: $('#w').val(),websiteID: $(websiteID).val(),total: $('#cartTotalPrice span[data-type="price"]').html(),cartType: $('.cartBottom').data('cart-type'),couponApplyTo: 'cartOrder',},success: function( response ) {$('.cart-automatic-coupon-container').html('').append(response);}});}
$cartOrderPage.find('.quantity_field').on('input', function() {var $input = $(this);if ( $input.val().length === 0 ) $input.val(1);if ( !$.isNumeric($input.val()) ) $input.val($input.val().replace(/[^0-9]/g,''));if ( $input.val() <= 0 ) $input.val(1);if ( parseInt($input.val()) > parseInt($input.data('inventory-limit')) ) {$input.val($input.data('inventory-limit'));showCart_QuantityPopover($cartOrderPage.find('[data-cart-id="'+$input.data('product-id')+'"]'),translations.productQuntityLimit.replace('{{units_limitation}}',$input.data('inventory-limit')));} else if ( parseInt($input.val()) > parseInt($input.data('maximum-purchase')) ) {$input.val($input.data('maximum-purchase'));showCart_QuantityPopover($cartOrderPage.find('[data-cart-id="'+$input.data('product-id')+'"]'),translations.productQuntityLimit.replace('{{units_limitation}}',$input.data('maximum-purchase')));} else if ( parseInt($input.val()) < parseInt($input.data('minimum-purchase')) ) {$input.val($input.data('minimum-purchase'));showCart_QuantityPopover($cartOrderPage.find('[data-cart-id="'+$input.data('product-id')+'"]'),translations.productQuntityLimitMin.replace('{{units_limitation}}',$input.data('minimum-purchase')));}
showCart_UpdateQuantityTotalPrice();clearTimeout(window.quantityInputFinished);window.quantityInputFinished = setTimeout( function() {$cartOrderPage.find('#q_u_loading_'+$input.data('product-id')).show();$.ajax({type: 'POST',url: '/versions/' + aop_settings.versionNUM + '/wizard/orders/front/quantityUpdate.php',data: {w: aop_settings.w,websiteID: aop_settings.websiteID,tranW: aop_settings.tranW,moduleID: aop_settings.moduleID,cartType: aop_settings.cartType,id: $input.data('product-id'),newQuantity: $input.val()},success: function( response ) {var response = JSON.parse(response);if ( response.success ) {$cartOrderPage.find('#q_u_loading_'+$input.data('product-id')).hide();current_window.CartCounter.updateCartIcon();showCart_UpdateCartWasChanged();}}});},300);});$cartOrderPage.find('.remove-product-btn').off('click').on('click', function() {var $this = $(this);$this.parent().children().hide();$this.parent().append('<div class="loading-primary r-p-loading" class="text-center">'+S123.s123IconToSvg.getHtml('spinner','fa-spin','')+'</div>');$.ajax({type: 'POST',url: '/versions/' + aop_settings.versionNUM + '/wizard/orders/front/removeCartItem.php',data: {id: $this.data('product-id'),uniqueID: $this.closest('.item').get(0).id,w: aop_settings.w,websiteID: aop_settings.websiteID,tranW: aop_settings.tranW,moduleID: aop_settings.moduleID,cartType: aop_settings.cartType,wishList: aop_settings.wishList},success: function( response ) {var response = tryParseJSON(response);if ( response.success ) {if ( $this.closest('.item').siblings().not('.mix-modules-products-buttons').length == 0 ) {$cartOrderPage.find('.cart-list-container').hide();$cartOrderPage.find('.empty-cart-container').show();}
$this.closest('.item').fadeOut(300,function() {$this.closest('.item').remove();showCart_UpdateQuantityTotalPrice();if ( aop_settings.wishList ) {WishList.markUnMarkIcons();WishList.updateCounterIcon();}
showCart_UpdateCartWasChanged();updateAutomaticCouponMsg();});} else {$cartOrderPage.find('.r-p-loading').remove();$this.show();showCart_UpdateQuantityTotalPrice();}
current_window.CartCounter.updateCartIcon();},error: function(data) {$cartOrderPage.find('.r-p-loading').remove();$this.show();}});});$cartOrderPage.find('#couponWebsite').validate({errorElement: 'div',errorClass: 'help-block',focusInvalid: true,ignore: ":hidden",highlight: function (e) {$(e).closest('.form-group').removeClass('has-info').addClass('has-error');},success: function (e) {$(e).closest('.form-group').removeClass('has-error');$(e).remove();},errorPlacement: function (error, element) {if( element.is('input[type=checkbox]') || element.is('input[type=radio]') ) {var controls = element.closest('div[class*="col-"]');if( controls.find(':checkbox,:radio').length > 1 ) controls.append(error);else error.insertAfter(element.nextAll('.lbl:eq(0)').eq(0));}
else if( element.is('.select2') ) {error.insertAfter(element.siblings('[class*="select2-container"]:eq(0)'));}
else if( element.is('.chosen-select') ) {error.insertAfter(element.siblings('[class*="chosen-container"]:eq(0)'));}
else {error.appendTo(element.closest('.form-group'));}},submitHandler: function( form ) {$(form).find('button:submit').prop('disabled', true);return true;}});ShowCartMobileHandler.step2();if ( aop_settings.foodDeliveryCart ) {foodDeliveryEditProductEvent($cartOrderPage);}
if ( $('html.onlyContent123').length > 0 ) {window.parent.$(window.parent.document).trigger('pageLoaded');} else {$(document).trigger('pageLoaded');}
if ( window.location.pathname == '/-order1/' ) {$(document).off('order1.reload').on('order1.reload', function(){if ( typeof window.isCartWasChanged != 'undefined' ) {delete window.isCartWasChanged;window.location.reload();}});}}
function showCart_QuantityPopover( $input, message ) {$input.popover({container: $cartOrderPage,content: message,trigger: 'manual',template: '<div class="popover cart-validator-popover" role="tooltip"><div class="arrow"></div><div class="popover-content"></div></div>',placement: function(popover, input) {return isMobileDevice.any() ? 'auto' : 'bottom';}});$input.popover('show');clearTimeout($input.data('q-p-timeout'));$input.data('q-p-timeout',setTimeout(function(){$input.popover('destroy');},3000));}
function showCart_UpdateQuantityTotalPrice() {var cartTotal = 0.00;$cartOrderPage.find('.quantity_field').each(function() {var $quantityInput = $(this);var $info            = $quantityInput.closest('.cart-product-info');var $priceBox        = $info.find('.cart-product-price');var $price           = $info.find('.cart-product-price [data-type="price"]');var $quantityPrice   = $info.find('.quantity-total-price');var $fullPrice           = $info.find('.cart-product-full-price [data-type="price"]');var $quantityFullPrice   = $info.find('.quantity-total-full-price');var total = (parseFloat($price.closest('[data-price]').data('price')) * parseInt($quantityInput.val()));var totalFullPrice = (parseFloat($fullPrice.closest('[data-price]').data('price')) * parseInt($quantityInput.val()));cartTotal += parseFloat(total);$quantityPrice.find('.main_price [data-type="price"]').html(total.toFixed(2));$quantityFullPrice.find('.main_price [data-type="price"]').html(totalFullPrice.toFixed(2));if (parseInt($quantityInput.val()) > 1) {$quantityPrice.show();$priceBox.hide();} else {$quantityPrice.hide();$priceBox.show();}
$info.find('.cart-product-quantity .qty_count').html($quantityInput.val());$(document).trigger('multi_currencies_price_update',[[{el: $quantityPrice.find('.main_price'),newPrice: total.toFixed(2)}]]);});$cartOrderPage.find('#cartTotalPrice [data-type="price"]').html(cartTotal.toFixed(2));$(document).trigger('multi_currencies_price_update',[[{el: $cartOrderPage.find('#cartTotalPrice'),newPrice: cartTotal.toFixed(2)}]]);}
function showCart_UpdateCartWasChanged() {window.isCartWasChanged = window.location.pathname == '/-order1/';}}
function SeatMap( settings ) {var _ = {title: settings.title,deviceType: settings.deviceType,dateFUN: settings.dateFUN,endDateFUN: settings.endDateFUN,location: settings.location,tickets: settings.tickets,orderedTickets: settings.orderedTickets,$controller: settings.$controller,cart: [],currency: settings.currency,$seatMap: null,onCheckout: settings.onCheckout,mapObject: settings.seatMapSettings,};_.init = function() {$.each(_.orderedTickets, function( index, orderedTicket ) {let productOptions = tryParseJSON(orderedTicket.productOptions);if ( !productOptions ) {return;}
_.orderedTickets[index] = new SeatMapTicket({isSeatMapTicket: true,ticketID: orderedTicket.item_tool_id,tableLabel: productOptions[0].item.place,tableID: productOptions[0].item.tableID,seatID: productOptions[0].item.id,});});_.orderedTickets = _.orderedTickets.filter(ticket => ticket.isSeatMapTicket);_.$controller.off('click').on('click', function( event ) {event.preventDefault();let $message = $(generateHTML());var $modal = bootbox.dialog({title: `${_.title}`,message: $message,className: `eventSeatMapPopup`,size: 'large',closeButton: true,backdrop: true,show: false,html: true,onEscape: function() {},callback: function () {}})
.on('show.bs.modal', function() {$modal.find('.modal-header').addClass('background-primary-color btn-primary-text-color');$modal.find('.modal-header .bootbox-close-button').addClass('btn-primary-text-color');})
.on('hide.bs.modal', function() {});_.$seatMap = $message.find('#eventSeatMapIframe');_.cart = [];$message.find('#seatMapCheckout').on('click', function( event ) {event.preventDefault();let invalidTickets = isCartValid();if ( Object.keys(invalidTickets).length > 0 ) {$.each(invalidTickets, function( ticketID, info ) {let $ticketElement = $(`#cartItems [data-ticket-id="${ticketID}"] .ticket-body`).first();$ticketElement.popover({container: 'body',content: `${info.count} ticket is selected. the minimum amount is ${info.ticket.minTicketOrder}`,trigger: 'manual',template: '<div class="popover ev-ticket-validator-popover" role="tooltip"><div class="arrow"></div><div class="popover-content"></div></div>',placement: function(popover, input) {return isMobileDevice.any() ? 'auto' : ($('html').attr('dir') === 'rtl' ? 'left' : 'right');}})
.on('show.bs.popover', function(e) {let $this = $(this);$(document).one('mousedown', function(e) {$this.popover('hide');});$ticketElement.get(0).scrollIntoView({behavior: 'smooth',block: 'center'});})
.popover('show');});return;}
if ( _.onCheckout ) _.onCheckout.call(this,_.cart);});$message.find('#seatMapOpenMenu').on('click', function( event ) {event.preventDefault();$('#seatMap').addClass('show-cart');});$('#mobileCloseMenu .sm-close-menu').on('click', function( event ) {event.preventDefault();$('#seatMap').removeClass('show-cart');});$(window).off('message.seatMapTool').on('message.seatMapTool', function( event ) {var data = event.originalEvent.data;switch( data.eventType ) {case 'seatMap.load':_.$seatMap.get(0).contentWindow.postMessage({eventType: 'seatMap.load',orderedTickets: _.orderedTickets,tickets: convertTicketsForMapStructure()});break;case 'seatMap.initMap':_.$seatMap.get(0).contentWindow.postMessage({eventType: 'seatMap.initMap',json: tryParseJSON(_.mapObject),});break;case 'seatMap.getTickets':_.$seatMap.get(0).contentWindow.postMessage({eventType: 'seatMap.loadTicketsList',tickets: convertTicketsForMapStructure()});break;case 'seatMap.chairSelected':if ( data.selectedTicket ) {let parentTypeLabel = '';switch( data.parentType ) {case 'rows':parentTypeLabel = translations.seatMap.row;break;case 'table':case 'round-table':parentTypeLabel = translations.seatMap.table;break;}
const ticket = new SeatMapTicket({color: data.selectedTicket.color,parentID: '',seatFee: 0, // we don't have such feature yet
seatID: data.chairID,tableLabel: data.tableLabel,tableID: data.tableID,parentTypeLabel: parentTypeLabel,ticketID: data.selectedTicket.id,ticketName: data.selectedTicket.title,ticketPrice: MultiCurrencies.getOriginalPrice(data.selectedTicket.price),});if ( _.deviceType == 'computer' ) {if ( _.cart.find( cartTicket => cartTicket.ticketID == ticket.ticketID && cartTicket.tableLabel == ticket.tableLabel && cartTicket.tableID == ticket.tableID && cartTicket.seatID == ticket.seatID  ) ) {removeFromCart(ticket);} else {addToCart(ticket);}
renderCart();} else {if ( _.cart.find( cartTicket => cartTicket.ticketID == ticket.ticketID && cartTicket.tableLabel == ticket.tableLabel && cartTicket.tableID == ticket.tableID && cartTicket.seatID == ticket.seatID  ) ) {removeFromCart(ticket);renderCart();} else {$('#selectedTicketInfo .tk-info-head').html(`
<div class="tk-info-table">
<div>${ticket.parentTypeLabel}</div>
<div>${ticket.tableLabel}</div>
</div>
<div class="tk-info-chair">
<div>Seat</div>
<div>${ticket.seatID}</div>
</div>
<a class="tk-info-cancel" href="#">
${S123.s123IconToSvg.getHtml('times','','')}
</a>
`);$('#selectedTicketInfo .tk-info-body').html(`
<div class="tk-info-name">
${ticket.ticketName}
</div>
<div class="tk-info-price">
${showPrice(_.currency,ticket.ticketPrice)}
</div>
`);$('#selectedTicketInfo .add-to-cart').off('click').on('click', function( event ) {event.preventDefault();addToCart(ticket);renderCart();$('#seatMapView').removeClass('active-ticket');});$('#selectedTicketInfo .tk-info-cancel').on('click', function( event ) {$('#seatMapView').removeClass('active-ticket');_.$seatMap.get(0).contentWindow.postMessage({eventType: 'seatMap.seatUnselected'});});$('#seatMapView').addClass('active-ticket');let ticketInfo = _.tickets.find(tk => tk.id == ticket.ticketID);if ( isCartTicketExceededMaxAmount(ticketInfo) ) {$('#selectedTicketInfo .add-to-cart').addClass('disabled');} else {$('#selectedTicketInfo .add-to-cart').removeClass('disabled');}}}}
break;}});$modal.modal('show');});};function convertTicketsForMapStructure() {let tickets = [];$.each(_.tickets, function( index, ticket ) {let tk = {...ticket,currencyData: MultiCurrencies.isActive ? MultiCurrencies.getActiveCurrency() : _.currency};tk.price = MultiCurrencies.geConvertedPrice(tk.price);tickets.push(tk);});return tickets;}
function generateHTML() {let globalMainColor = getComputedStyle(document.documentElement).getPropertyValue('--global_main_color');let global_main_color_btn_text_color = getComputedStyle(document.documentElement).getPropertyValue('--global_main_color_btn_text_color');return `
<div id="seatMap">
<div id="sideMenu">
<div id="mobileCloseMenu">
<a class="sm-close-menu" href="#">
${S123.s123IconToSvg.getHtml('arrow-left','','')} Back
</a>
</div>
<div id="eventInfo">
<div class="event-info-time">
<div class="event-info-time-label">Time</div>
<div>${_.dateFUN} ${_.endDateFUN ? `- ${_.endDateFUN}` : ''}</div>
</div>
<div class="event-info-location">
<div class="event-info-location-label">Location</div>
<div>${_.location}</div>
</div>
</div>
<div id="cart" class="no-tickets">
<h1 id="cartTitle">
${translations.seatMap.cart}
<span class="cart-counter"></span>
</h1>
<div id="noTicketsContianer">
<h1>${translations.seatMap.emptyCart}</h1>
<span>To add new ticket please select from the map</span>
</div>
<div id="cartItems"></div>
<div id="cartSummery">
<div class="tickets-amount">
<span class="text">{{text}}</span>
<span class="total">{{total}}</span>
</div>
<div class="tickets-total">
<span class="text">${translations.seatMap.total}</span>
<span class="total">{{total}}</span>
</div>
</div>
<a id="seatMapCheckout" href="#" class="btn btn-primary">${translations.seatMap.checkoutBtn}</a>
</div>
</div>
<div id="seatMapView">
<iframe id="eventSeatMapIframe" src="/files/vendor/site123/seatMap/projectFiles/index.php?tranW=${_.$controller.data('website-lang')}&deviceType=${(isMobileDevice.any() ? 'mobile' : 'computer')}&mainColor=${globalMainColor.replace('#','')}&globalMainColorBtnTextColor=${global_main_color_btn_text_color.replace('#','')}" class="iframe" allowfullscreen=""></iframe>
<div class="mobile-tools-container">
<div id="selectedTicketsAmount">
<div class="summery">
<span class="tickets-amount">0 Tickets</span>
<span class="sub-total">${showPrice(_.currency,0)}</span>
</div>
<a id="seatMapOpenMenu" href="#" class="btn btn-primary">View Cart</a>
</div>
<div id="selectedTicketInfo">
<div class="tk-info-head">
</div>
<div class="tk-info-body">
</div>
<div class="tk-info-footer">
<a href="#" class="btn btn-primary add-to-cart">Add To Cart</a>
</div>
</div>
</div>
</div>
</div>
`;}
function renderCart() {$('#cart').addClass('no-tickets');$('#cartItems').empty();$('#cartSummery .tickets-amount .text').html(`${_.cart.length} Tickets`);$('#cartTitle .cart-counter').hide();let subTotal = getCartSubTotal();let cartItemsHeight = 0;if ( _.cart.length > 0 ) {$('#cartTitle .cart-counter').show().text(` (${_.cart.length})`);}
$.each(_.cart, function( elementID, ticket ) {$('#cartItems').append(`
<div id="${ticket.seatID}" data-ticket-id="${ticket.ticketID}" data-seat-id="${ticket.seatID}" data-table-id="${ticket.tableID}" data-type="${ticket.type}" data-parent-id="${ticket.parentID}" class="ticket" style="${$('html[dir="rtl"]').length == 0 ? `border-left: solid 5px ${ticket.color}` : `border-right: solid 5px ${ticket.color}`}">
<div class="ticket-header">
<div>
<div>${ticket.parentTypeLabel}</div>
<div>${ticket.tableLabel}</div>
</div>
<div>
<div>${translations.seatMap.seat}</div>
<div>${ticket.seatID}</div>
</div>
<div>
<a class="remove-ticket" href="#">
${S123.s123IconToSvg.getHtml('trash','','')}
</a>
</div>
</div>
<div class="ticket-body">
<div>
<div>${ticket.ticketName}</div>
<div>${showPrice(_.currency,ticket.ticketPrice)}</div>
</div>
</div>
</div>
`);});if ( _.cart.length > 0 ) {$('#cart').removeClass('no-tickets');$('#cartSummery .tickets-amount .total').html(showPrice(_.currency,subTotal));$('#cartSummery .tickets-total .total').html(showPrice(_.currency,subTotal));$('#cart .ticket .remove-ticket').on('click', function( event ) {event.preventDefault();const $ticket = $(this).closest('.ticket');removeFromCart({ticketID: $ticket.data('ticket-id'),seatID: $ticket.data('seat-id'),tableID: $ticket.data('table-id'),});renderCart();});$('#cartItems').siblings().each(function() {if ( $(this).is(':visible') ) {cartItemsHeight += $(this).outerHeight(true);}});$('#cartItems').attr('style',`height: calc( 100% - ${cartItemsHeight}px );`);}
_.$seatMap.get(0).contentWindow.postMessage({eventType: 'seatMap.cartRendered',cart: _.cart});$('#seatMap .mobile-tools-container .summery .tickets-amount').html(`${_.cart.length} Tickets`);$('#seatMap .mobile-tools-container .summery .sub-total').html(showPrice(_.currency,getCartSubTotal()));$(document).trigger('pageLoaded.multi_currencies');}
function getCartSubTotal() {let subTotal = 0;$.each(_.cart, function( elementID, ticket ) {subTotal += parseFloat(ticket.ticketPrice);});return subTotal;}
function addToCart( ticket ) {let ticketInfo = _.tickets.find(tk => tk.id == ticket.ticketID);if ( isCartTicketExceededMaxAmount(ticketInfo) ) return;_.cart.push(ticket);}
function isCartTicketExceededMaxAmount( ticketInfo ) {return $.isNumeric(ticketInfo.maxTicketOrder) && countTicketInCart(ticketInfo) >= ticketInfo.maxTicketOrder;}
function removeFromCart( ticket ) {for ( var i = 0; i < _.cart.length; i++ ) {if ( _.cart[i].ticketID == ticket.ticketID && _.cart[i].tableID == ticket.tableID && _.cart[i].seatID == ticket.seatID ) {_.cart.splice(i,1);break;}}}
function countTicketInCart( ticketInfo ) {let count = 0;_.cart.forEach(( cartTicket ) => {if ( cartTicket.ticketID == ticketInfo.id ) {count++;}});return count;}
function isCartValid() {let isInvalidTickets = {};$.each(_.tickets, function( index, ticket ) {let cartTicket = _.cart.find( cartTicket => cartTicket.ticketID == ticket.id );if ( cartTicket && $.isNumeric(ticket.minTicketOrder) && countTicketInCart(ticket) < ticket.minTicketOrder ) {isInvalidTickets[ticket.id] = {ticket: ticket,count: countTicketInCart(ticket),};}});return isInvalidTickets;}
function SeatMapTicket( data ) {return Object.assign({color: '',parentID: '',seatFee: 0, // we don't have such feature yet
seatID: '',tableLabel: '',tableID: '',parentTypeLabel: '',ticketID: '',ticketName: '',ticketPrice: '',},data);}
_.init();return _;}
// Tickets
function initializeTickets( $ticketsContainer ) {if ( $ticketsContainer.find('.event-tickets-box.is-loading').length === 0 ) return;clearTimeout($ticketsContainer.get(0).S123TriggerDelay);$ticketsContainer.get(0).S123TriggerDelay = setTimeout(function() {var moduleID = $ticketsContainer.find('.event-tickets-box').data('module-id');var moduleTypeNUM = $ticketsContainer.find('.event-tickets-box').data('module-type-num');var uniqueID = $ticketsContainer.find('.event-tickets-box').data('unique-id');$.post('/versions/' + $('#versionNUM').val() + '/wizard/modules/events/include/getEventBoxAjax.php', {w: $('#w').val(),websiteID: $('#websiteID').val(),moduleID: moduleID,moduleTypeNUM: moduleTypeNUM,uniqueID: uniqueID,language: languageCode,tranW: websiteLanguageCountryFullCode,})
.done(function( data ) {data = tryParseJSON(data);$ticketsContainer.find('.event-tickets-box.is-loading').removeClass('is-loading');$ticketsContainer.find('.event-tickets-box').html(data.html);initializeTicketsBoxEvents();});},0);function initializeTicketsBoxEvents() {$ticketsContainer.find('.event-ticket-info-btn').off('click').on('click',function( event ) {var $btn = $(this);if ( $btn.data('more-mode') ) {$btn.data('more-text',$btn.text());$btn.text($btn.data('less-text'));} else {$btn.text($btn.data('more-text'));}
$btn.data('more-mode',!$btn.data('more-mode'));$btn.prev().slideToggle(400);});$(document).trigger('pageLoaded.multi_currencies');if ( $ticketsContainer.find('.event-tickets.event-seat-map').length > 0 ) {const allSettings = tryParseJSON($ticketsContainer.find('.seat-map-settings').val());var seatMap = new SeatMap({title: allSettings.title,deviceType: isMobileDevice.any() ? 'mobile' : 'computer',dateFUN: allSettings.dateFUN,endDateFUN: allSettings.endDateFUN,location: allSettings.location,tickets: allSettings.tickets,orderedTickets: allSettings.orderedTickets,currency: allSettings.currency,seatMapSettings: allSettings.seatMapSettings,$controller: $ticketsContainer.find('.event-checkout-btn'),onCheckout: function( basket ) {if ( basket.length == 0 ) return;const tickets = [];$.each(basket,function( index, seat ) {tickets.push({id: seat.ticketID,quantity: 1,type: seat.type,color: seat.color,productOptions:[{id: seat.parentID,title: seat.parentTypeLabel,type: 'seat',item: {id: seat.seatID,place: seat.tableLabel,tableID: seat.tableID,fee: seat.seatFee,title: `${seat.seatID} - ${seat.tableLabel}`}}]});});$ticketsContainer.find('.eventsRegisterForm [name="ordered_tickets"]').html(JSON.stringify(tickets));submitForm();}});return;}
$ticketsContainer.find('.event-checkout-btn').off('click').on('click', function(event) {var $quantityField = $ticketsContainer.find('.quantity_field');var $quantity = $quantityField.find('.quantity-value');if ( $quantity.length == 0 && $quantityField.length == 0 ){event.preventDefault();return;}
if (  $quantityField.length > 1  ){let quantitySum = 0;$.each( $quantity, function(index, element) {quantitySum += parseInt($(element).data('quantity'));})
if (quantitySum == 0 ) {$(this).addClass("event-prevent-submit");}}else{if ( $quantity.data('quantity') == 0 ){$(this).addClass("event-prevent-submit");}}
if ( $(this).hasClass('event-prevent-submit') ) {bootbox.alert({className: 'events-ticket-number-modal',message: translations.eventNumberOfTickets,backdrop: true,buttons: {ok: {label: translations.Ok,}},callback: function(){$('.quantity_field').addClass('fake-input-focus');$(document).one('mousedown', function( event ) {$('.quantity_field').removeClass('fake-input-focus');});}})} else {submitForm();$(this).addClass("event-prevent-submit");}});$ticketsContainer.find('.quantity-plus-btn').off('click').on('click', function(event) {event.stopPropagation();updateQuantity($(this).closest('.quantity_field'),'plus');});$ticketsContainer.find('.quantity-minus-btn').off('click').on('click', function() {updateQuantity($(this).closest('.quantity_field'),'minus');});}
function updateQuantity( $quantityField, operator ) {var number = 0;var $quantity = $quantityField.find('.quantity-value');var quantity = parseInt($quantity.data('quantity'));var maxQuantity = parseInt($quantity.attr('max'));var minQuantity = parseInt($quantity.attr('min'));if ( operator === 'minus' && quantity > 0 ) {number = ( quantity == minQuantity ) ? -1*minQuantity : -1;$(document).find('.popover.events-validator-popover').popover('hide');$quantityField.find('.quantity-plus-btn').removeAttr('disabled');updateQuantityField($quantity,quantity,number);}
else if ( operator === 'plus' && quantity < maxQuantity ) {number = ( quantity == 0 ) ? minQuantity : 1;$quantityField.find('.quantity-minus-btn').removeAttr('disabled');updateQuantityField($quantity,quantity,number);$ticketsContainer.find('.event-checkout-btn').removeClass("event-prevent-submit");}
else if ( operator === 'minus' && quantity == 0 ) {$quantityField.find('.quantity-minus-btn').attr('disabled','disabled');}
else if ( operator === 'plus' && quantity == maxQuantity ) {if ( !$quantityField.attr('aria-describedby') ) {generatePopover($quantityField,maxQuantity);$quantityField.popover('show');}}}
function updateQuantityField($quantity,quantity,number) {$quantity.html(quantity + number);$quantity.data('quantity',quantity + number);$ticketsContainer.find('[name="ordered_tickets"]').html(JSON.stringify(update()));}
function submitForm() {$ticketsContainer.find('.eventsRegisterForm').submit();}
function update() {var tickets = $ticketsContainer.find('.eventSettings').html();var $ticketsTotal = $ticketsContainer.find('.event-ticket-total');var totalPrice = 0.00;var tk = [];try {tickets = jQuery.parseJSON(tickets);} catch (e) { return; }
$.each($ticketsTotal, function(index){var $ticket = $(this);var $quantityValue = $ticket.find('.quantity-value');if ( $quantityValue.length === 0 ) return true;var newQuantity = $quantityValue.data('quantity');var ticketID = $ticket.find('.quantity-value').data('ticket-id');var price = tickets[ticketID].price;var limitQuantity = tickets[ticketID].limitQuantity;if ( parseInt(newQuantity) > parseInt(limitQuantity) ) {newQuantity = limitQuantity;$quantityValue.html(limitQuantity);}
if ( parseInt(newQuantity) > 0 ) {var ticket = new Ticket();ticket.id = ticketID;ticket.quantity = newQuantity;tk.push(ticket);}
var total = parseFloat(price) * parseFloat(newQuantity);$ticketsContainer.find('#total_'+ticketID+' [data-type="price"]').html(total.toFixed(2));totalPrice = parseFloat(totalPrice) + parseFloat(total);$(document).trigger('multi_currencies_price_update',[[{el: $ticketsContainer.find('#total_'+ticketID),newPrice: total.toFixed(2)}]]);});var discount = calculateCouponDiscount(totalPrice,$ticketsContainer.find('.couponDiscount'),$ticketsContainer.find('.couponType'));if ( $.isNumeric(discount) && discount > 0 && (totalPrice-discount >= 0) ) {$ticketsContainer.find('.event-tickets-discount').removeClass('hidden');$ticketsContainer.find('.ticketsSubtotal [data-type="price"]').html(totalPrice.toFixed(2));$ticketsContainer.find('.ticketsCoupon [data-type="price"]').html(discount.toFixed(2));totalPrice = parseFloat(totalPrice) - parseFloat(discount);} else {$ticketsContainer.find('.event-tickets-discount').addClass('hidden');}
$ticketsContainer.find('.event-tickets-total [data-type="price"]').html(totalPrice.toFixed(2));$(document).trigger('multi_currencies_price_update',[[{el: $ticketsContainer.find('.ticketsSubtotal'),newPrice: totalPrice.toFixed(2)},{el: $ticketsContainer.find('.ticketsCoupon'),newPrice: discount.toFixed(2)},{el: $ticketsContainer.find('.event-tickets-total'),newPrice: totalPrice.toFixed(2)}]]);return tk;}
function generatePopover( $quantityField, maxQuantity ) {$quantityField.popover({container: 'body',content: translations.limitTickets+' '+maxQuantity+' '+translations.tickets,template: '<div class="popover events-validator-popover" role="tooltip"><div class="arrow"></div><div class="popover-content"></div></div>',placement: function(popover, input) {return isMobileDevice.any() ? 'auto' : ($('html').attr('dir') === 'rtl' ? 'left' : 'right');}});$(window).off('resize.eventsGeneratePopover').on('resize.eventsGeneratePopover', function( event ) {clearTimeout(window.eventsGeneratePopoverDelay);window.eventsGeneratePopoverDelay = setTimeout(function() {$quantityField.popover('reposition');},0);});}
function Ticket() {return {id: null,quantity: 0};};function updateDiscount(data) {$couponType = $ticketsContainer.find('.couponType');$couponCode = $ticketsContainer.find('[name="couponCode"]');$validCoupon = $ticketsContainer.find('.valid-coupon');$invalidCoupon = $ticketsContainer.find('.invalid-coupon');$couponDiscount = $ticketsContainer.find('.couponDiscount');$validCoupon.addClass('hidden');$invalidCoupon.addClass('hidden');if ( data.valid === 'true') {$validCoupon.removeClass('hidden');$couponCode.val(data.couponCode);$couponDiscount.val(data.discount);$couponType.val(data.type);update();} else {$invalidCoupon.removeClass('hidden');}}}
function InitializeOneEvent( settings ) {var rtl = settings.rtl;var $mainImage = settings.$mainImage;var $productOwlcarousel = settings.$productOwlcarousel;var $section = settings.$section;if ( $section.find('.product-container').length === 0 ) return;$productOwlcarousel.owlCarousel({autoPlay: false,items : 4,margin: 10,stagePadding: 5,startPosition: 0,loop: false,center: false,nav: true,rtl: rtl,navText:  [S123.s123IconToSvg.getHtml('angle-'+(rtl ? 'right' : 'left'),'fa-2x'),S123.s123IconToSvg.getHtml('angle-'+(rtl ? 'left' : 'right'),'fa-2x')],dots: true});$productOwlcarousel.find('.item').click(function() {var $clickedImage = $(this).find('.item-image');var videoPath = '';if ($clickedImage.data('media-type') == 'video') {videoPath = $clickedImage.data('video-path');}
$mainImage.css({backgroundImage: $clickedImage.css('background-image')});});if ($productOwlcarousel.find('.item').length > 0) {$productOwlcarousel.find('.item').eq(0).trigger('click');}
googleMapPopUp.init({locationData : $section.find('.mapPopupActivator'),mapsDisplayDomain : $GLOBALS["maps-display-domain"],longFreeCustomer : longFreeCustomer,language : languageCode});$productOwlcarousel.find('.item').click(function() {var $clickedImage = $(this).find('.item-image');$mainImage.css({backgroundImage: $clickedImage.css('background-image')});});}
jQuery(function($) {EventsModuleInitialize_Layout1();});function EventsModuleInitialize_Layout1() {$( document ).on( 's123.page.ready', function( event ) {var $sections = $('.s123-module-events.layout-1');$sections.each(function( index ) {var $s = $(this);var $categories = $s.find('.events-categories-container li');var $events = $s.find('.events-container > div');$categories.off('click').on('click',function ( event, initialize ) {var $category = $(this);$categories.removeClass('active');$category.addClass('active');var $filtered = $events.filter('[data-event-filter=' + $category.data('categories-filter') + ']');if ( initialize ) {$events.hide();$filtered.show();} else {$events.fadeOut(200).promise().done( function() {$filtered.fadeIn(200);$(window).trigger('scroll');});}
return false;});$categories.first().trigger('click',true);$s.find('.events-responsive-filter').click(function() {var $category = $(this);$s.find('.categories-panel').slideToggle('slow');$category.toggleClass('active');return false;});InitializeOneEvent({$productOwlcarousel: $s.find('.productOwlcarousel'),$mainImage: $s.find('.main-image > div'),rtl: $('html[dir=rtl]').length === 1,$section: $s});initializeTickets($s);});});}
jQuery(function($) {EventsModuleInitialize_Layout2();});function EventsModuleInitialize_Layout2() {$( document ).on( 's123.page.ready', function( event ) {var $sections = $('.s123-module-events.layout-2');$sections.each(function( index ) {var $s = $(this);var $categories = $s.find('.events-categories-container li');var $events = $s.find('.events-container > div');$categories.off('click').on('click',function ( event, initialize ) {var $category = $(this);$categories.removeClass('active');$category.addClass('active');var $filtered = $events.filter('[data-event-filter=' + $category.data('categories-filter') + ']');if ( initialize ) {$events.hide();$filtered.show();} else {$events.fadeOut(200).promise().done( function() {$filtered.fadeIn(200);$(window).trigger('scroll');});}
return false;});$categories.first().trigger('click',true);$s.find('.events-responsive-filter').off('click').on('click',function() {var $category = $(this);$s.find('.categories-panel').slideToggle('slow');$category.toggleClass('active');return false;});InitializeOneEvent({$productOwlcarousel: $s.find('.productOwlcarousel'),$mainImage: $s.find('.main-image > div'),rtl: $('html[dir=rtl]').length === 1,$section: $s});initializeTickets($s);});});}
jQuery(function($) {EventsModuleInitialize_Layout3();});function EventsModuleInitialize_Layout3() {$( document ).on( 's123.page.ready', function( event ) {var $section = $('.s123-module.s123-module-events.layout-3');$section.each( function( index ) {var $sectionThis = $(this);InitializeOneEvent({$productOwlcarousel: $sectionThis.find('.productOwlcarousel'),$mainImage: $sectionThis.find('.main-image > div'),rtl: $('html[dir=rtl]').length === 1,$section: $sectionThis});initializeTickets($sectionThis);});});}
jQuery(function($) {EventsModuleInitialize_Layout4();});function EventsModuleInitialize_Layout4() {$( document ).on( 's123.page.ready', function( event ) {var $section = $('.s123-module.s123-module-events.layout-4');$section.each( function( index ) {var $sectionThis = $(this);InitializeOneEvent({$productOwlcarousel: $sectionThis.find('.productOwlcarousel'),$mainImage: $sectionThis.find('.main-image > div'),rtl: $('html[dir=rtl]').length === 1,$section: $sectionThis});initializeTickets($sectionThis);});});}
jQuery(function($) {ServicesModuleInitialize();});function ServicesModuleInitialize() {$( document ).on( 's123.page.ready', function( event ) {var $section = $('section.s123-module-services');$section.each(function( index ) {var $sectionThis = $(this);var categories = new ModuleLayoutCategories({$items :  $sectionThis.find('.services-category'),$categoriesContainer : $sectionThis.find('.categories-panel'),$filterButton : $sectionThis.find('.items-responsive-filter'),$categories : $sectionThis.find('.items-categories-container li')});if ( $sectionThis.hasClass('layout-10') ) {$sectionThis.find('.service-item-description').each(function() {const $paragraph = $(this);const lineHeight = parseFloat($paragraph.css('font-size')) * 1.5;const maxLines = 4;const actualHeight = $paragraph.height();const numberOfLines = actualHeight / lineHeight;if (numberOfLines > maxLines) {$paragraph.addClass('show-more');$paragraph.attr('data-rel', 'tooltip');$paragraph.css('height', lineHeight * maxLines);$paragraph.on('click', function() {var _this = $(this);bootbox.alert({title: _this.data('title'),message: _this.html(),backdrop: true});});}});}
ServicesModuleMobileViewCarouselInit($sectionThis);});});}
function ServicesModuleMobileViewCarouselInit( $section ) {let sectionID = $section.get(0).id.replace('section-','');let $sectionItemsContainer = $section.find('.service-grid');let mobileViewTypeNUM = $section.data('mobile-view-type');ServicesModuleMobileViewCarouselInitResizeHandler();if ( $sectionItemsContainer.hasClass('slick-initialized') ) {$sectionItemsContainer.css('visibility','none');$sectionItemsContainer.slick('unslick');$sectionItemsContainer.parent().find('.custom-arrow-container').remove();}
if ( findBootstrapEnvironment() != 'xs' || mobileViewTypeNUM != '2' ) {$sectionItemsContainer.css('visibility','visible');return;}
$sectionItemsContainer.on('init', function(event) {$sectionItemsContainer.css('visibility','visible');});$sectionItemsContainer.slick({dots: false,infinite: true,vertical: false,verticalSwiping: false,slidesToShow: 1,slidesToScroll: 1,adaptiveHeight: true,swipeToSlide: true,rtl: $('html').attr('dir') === 'rtl' ? true : false,centerMode: true,centerPadding: '8%',arrows: false});function ServicesModuleMobileViewCarouselInitResizeHandler() {$(window).off('resize.ServicesModuleMobileViewCarouselInit').on('resize.ServicesModuleMobileViewCarouselInit', function( event ) {clearTimeout(window.ServicesModuleMobileViewCarouselInit_Delay);window.ServicesModuleMobileViewCarouselInit_Delay = setTimeout( function() {var $sections = $('section.s123-module-services');$sections.each(function( index ) {ServicesModuleMobileViewCarouselInit($(this));});},50);});}}
jQuery(function($) {TeamModuleInitialize();});function TeamModuleInitialize() {$( document ).on( 's123.page.ready', function( event ) {var $section = $('section.s123-module-team:not(.layout-9)');$section.each(function( index ) {var $sectionThis = $(this);$sectionThis.find('.team-phone-btn').click(function() {var $this = $(this);var $teamPhone = $this.closest('.team-phone');buildPopup('teamPopupFloatDivPhone','',$teamPhone.find('.team-phone-popover').html(),'',true,true,true,'','');});var categories = new ModuleLayoutCategories({$items :  $sectionThis.find('.team-category'),$categoriesContainer : $sectionThis.find('.categories-panel'),$filterButton : $sectionThis.find('.items-responsive-filter'),$categories : $sectionThis.find('.items-categories-container li')});if ( $sectionThis.hasClass('layout-13') ) {$sectionThis.find('.team-item-description').each(function() {if ( isMobileDevice.any() ) return;const $paragraph = $(this);const lineHeight = parseFloat($paragraph.css('font-size')) * 1.5;const maxLines = 4;const actualHeight = $paragraph.height();const numberOfLines = actualHeight / lineHeight;if (numberOfLines > maxLines) {$paragraph.addClass('show-more');$paragraph.attr('data-rel', 'tooltip');$paragraph.css('height', lineHeight * maxLines);$paragraph.on('click.layout.13.open.more', function() {var _this = $(this);bootbox.alert({className: 'item-show-more-popup',title: _this.data('title'),message: `<p class="item-show-more-text">${_this.html()}</p>`,backdrop: true});});}});}});});}
jQuery(function($) {TeamModuleInitialize_Layout9();});function TeamModuleInitialize_Layout9() {$( document ).on( 's123.page.ready', function( event ) {var $section = $('section.s123-module-team.layout-9');$section.each(function( index ) {var $sectionThis = $(this);$section.off('module_layout_categories.shown').on('module_layout_categories.shown', function( event, catID ) {var $category = $(this).find('.team-category[data-categories-filter="'+catID+'"]');var numberImagesInRow = getSlidesPerView($category);var spaceBetween = 30;var highestMember = 0;if ( numberImagesInRow == 0 ) {$category.find('.owl-carousel').addClass('manually-loaded');$category.find('.team-member-wrap').css({height: ''});initializeTeamPhone($sectionThis);return;}
if ( $category.find('.owl-carousel').hasClass('owl-loaded') ) return;$category.find('.team-member-wrap').css({height: ''});$category.find('.team-member-wrap').each(function() {if ( $(this).height() > highestMember ) {highestMember = $(this).height();}});if ( findBootstrapEnvironment()  === 'xs' ) {$category.find('.team-member-wrap').css({height: (highestMember + spaceBetween) + 'px'});} else {$category.find('.team-member-wrap').css({height: highestMember + 'px'});}
var $teamMemberWrap = $category.find('.team-member-wrap').first();if ( $teamMemberWrap.find('.team-member').length > 0 ) {$category.find('.s123-module-shadows').css({height: $teamMemberWrap.height() + 'px'});}
$category.find('.owl-carousel').owlCarousel({items: numberImagesInRow,autoplay: false,autoplayTimeout: 0,center: true,dots: $category.find('.owl-carousel').data('item-count') > 7 ? false : true,dotsEach: (numberImagesInRow % 2 == 1 ? true : false),margin: spaceBetween,loop: true,lazyLoad: true,stagePadding: 50,rtl: $('html').attr('dir') == 'rtl',responsive: {0: {items: 1},479: {items: 1},768: {items: 1},979: {items: 3},1199: {items: 3}},nav: true,navText: ['<i class="fa fa-chevron-left"></i>','<i class="fa fa-chevron-right"></i>'],onInitialize: function() {initializeTeamPhone($sectionThis);window.myLazyLoad.update();},onResize: function() {window.myLazyLoad.update();},onDrag: function() {window.myLazyLoad.update();},onLoadLazy: function() {window.myLazyLoad.update();}});});if ( $sectionThis.find('.team-category[data-categories-filter="s123-g-show-all"]').length > 0 ) {$sectionThis.trigger('module_layout_categories.shown',['s123-g-show-all']);}
var categories = new ModuleLayoutCategories({$items :  $sectionThis.find('.team-category'),$categoriesContainer : $sectionThis.find('.categories-panel'),$filterButton : $sectionThis.find('.items-responsive-filter'),$categories : $sectionThis.find('.items-categories-container li')});});function initializeTeamPhone( $teamSection ) {$teamSection.off('click.initializeTeamPhone').on('click.initializeTeamPhone','.team-phone-btn', function() {var $teamPhone = $(this).closest('.team-phone');buildPopup('teamPopupFloatDivPhone','',$teamPhone.find('.team-phone-popover').html(),'',true,true,true,'','');})}});function getSlidesPerView( $category ) {var slidesPerView = 3.3;var originalItems = [];$category.find('.team-member').each(function() {if ( !$(this).closest('.owl-item').hasClass('cloned') ) {originalItems.push($(this));}});switch( findBootstrapEnvironment() ) {case 'xs':case 'sm':slidesPerView = originalItems.length < 2 ? 0 : 1;break;default:slidesPerView = originalItems.length <= 3 ? 0 : 3;break;}
return slidesPerView;}
if ( IsWizard() ) {$(document).on('wizard.preview.device.changed', function( event ) {var $section = $('section.s123-module-team.layout-9');$section.each(function( index ) {var $sectionThis = $(this);var $category = $sectionThis.find('.team-category').filter(':visible');var $carousel = $category.find('.owl-carousel');$carousel.trigger('destroy.owl.carousel');$carousel.removeClass('owl-loaded owl-carousel-init manually-loaded');$sectionThis.trigger('module_layout_categories.shown',[$category.data('categories-filter')]);});});}}
jQuery(function($) {TeamModuleInitialize_Layout14();});function TeamModuleInitialize_Layout14() {$( document ).on( 's123.page.ready', function( event ) {var $section = $('section.s123-module-team.layout-14');$section.each(function( index ) {var $sectionThis = $(this);$sectionThis.find('.team-category').each(function() {$(this).find('.team-member').first().addClass('active');$(this).find('.team-image').first().addClass('active');$(this).find('.team-memeber-info').first().removeClass('team-more-info-hidden');});$sectionThis.find('.team-members .team-member').on('click mouseenter',function() {let $this = $(this);if ( $this.hasClass('active') ) return;if ( !$sectionThis.find('.team-image.active').is(':animated') ) {let imgKey = $this.data('img-key');$sectionThis.find('.team-member').removeClass('active');$sectionThis.find('.team-image.active').fadeOut(500).removeClass('active');$sectionThis.find('.team-memeber-info').addClass('team-more-info-hidden');$sectionThis.find('.team-member[data-img-key="' + imgKey + '"]').addClass('active');$sectionThis.find('.team-image[data-img-key="' + imgKey + '"]').fadeIn(500).addClass('active');$sectionThis.find('.team-memeber-info[data-img-key="' + imgKey + '"]').removeClass('team-more-info-hidden');}});$sectionThis.off('module_layout_categories.shown').on('module_layout_categories.shown', function( event, catID ) {$category = $(this).find('.team-category[data-categories-filter="'+catID+'"]');$sectionThis.find('.team-member').removeClass('active');$sectionThis.find('.team-image.active').fadeOut(500).removeClass('active');$sectionThis.find('.team-image').removeClass('active');$sectionThis.find('.team-memeber-info').addClass('team-more-info-hidden');let imgKey = $category.find('.team-member:first-child').data('img-key');$sectionThis.find(`.team-member[data-img-key="${imgKey}"]`).addClass('active');$sectionThis.find(`.team-image[data-img-key="${imgKey}"]`).fadeIn(500).addClass('active');$sectionThis.find(`.team-memeber-info[data-img-key="${imgKey}"]`).removeClass('team-more-info-hidden');});});});}
jQuery(function($) {TestimonialsModuleInitialize_Layout1_Layout8_Layout9();});function TestimonialsModuleInitialize_Layout1_Layout8_Layout9() {$( document ).on( "s123.page.ready", function( event ) {var $sections = $('.s123-module-testimonials.layout-1, .s123-module-testimonials.layout-8, .s123-module-testimonials.layout-9');$sections.each(function( index ) {var $s = $(this);var $carousel = $s.find('[data-ride="carousel"]');var layout_customize = $s.find('.layout-customize').length > 0 ? tryParseJSON($s.find('.layout-customize').val()) : '';var testimonialsInterval = 10000;if ( layout_customize != '' ) {testimonialsInterval = layout_customize.testimonialsInterval * 1000;}
$carousel.carousel({interval: isMobileDevice.any() ? false : testimonialsInterval});$carousel.find('.carousel-control.left').click(function() {$carousel.carousel('prev');});$carousel.find('.carousel-control.right').click(function() {$carousel.carousel('next');});$carousel.find('.carousel-indicators li').click(function(){$carousel.carousel($(this).data('slide-to'));});});});$( document ).on( "s123.page.load", function( event ) {setTestimonialsHeight();});if ( IsWizard() ) {$(document).on('wizard.preview.device.changed', function( event ) {setTestimonialsHeight();});}
function setTestimonialsHeight() {var $sections = $('.s123-module-testimonials.layout-1, .s123-module-testimonials.layout-8, .s123-module-testimonials.layout-9');$sections.each(function( index ) {var $s = $(this);var $carousel = $s.find('[data-ride="carousel"]');$carousel.find('.item, .testimonial-image').css({ minHeight: '' });if ( !IsIE11() ) {var selector = $s.hasClass('layout-8') && findBootstrapEnvironment() !== 'xs' ? '.testimonial-image' : '.item';$carousel.find(selector).css({minHeight: Math.max.apply(Math, $carousel.find('.item').map(function() { return $(this).outerHeight(); }))});}});}}
jQuery(function($) {TestimonialsModuleInitialize_Layouts();});function TestimonialsModuleInitialize_Layouts() {$( document ).on( "s123.page.ready", function( event ) {var $sections = $('.s123-module-testimonials');$sections.each(function( index ) {var $s = $(this);var $categories = $s.find('.testimonials-category');var categories = new ModuleLayoutCategories({$items :  $s.find('.testimonials-category'),$categoriesContainer : $s.find('.categories-panel'),$filterButton : $s.find('.items-responsive-filter'),$categories : $s.find('.items-categories-container li')});});});}
jQuery(function($) {TestimonialsModuleInitialize_Layout12();});function TestimonialsModuleInitialize_Layout12() {$( document ).on( "s123.page.ready", function( event ) {var $sections = $('.s123-module-testimonials.layout-12');$sections.each(function( index ) {var $s = $(this);var $categories = $s.find('.testimonials-category');var categories = new ModuleLayoutCategories({$items :  $s.find('.testimonials-category'),$categoriesContainer : $s.find('.categories-panel'),$filterButton : $s.find('.items-responsive-filter'),$categories : $s.find('.items-categories-container li')});var $carousel = $($s.find('.testimonials-continuous-slider').get(0));var slidesToShow = whatScreen.any() == 'mobile' ? 1 : 3;$(window).on('resize', function() {if (whatScreen.any() == 'mobile') {slidesToShow = 1;} else {slidesToShow = 3;}
$carousel.slick('destroy');testimonialsLayout12Slick($carousel,slidesToShow);});if ( !$carousel.hasClass('slick-initialized') ) {testimonialsLayout12Slick($carousel,slidesToShow);}
$s.on('module_layout_categories.show', function (event, category) {$carousel.slick('destroy');$carousel = $s.find('.testimonials-category[data-categories-filter="'+category+'"] .testimonials-continuous-slider');if ( !$carousel.hasClass('slick-initialized') ) {testimonialsLayout12Slick($carousel,slidesToShow);}});});});}
function testimonialsLayout12Slick( $carousel, slidesToShow ) {$carousel.slick({slidesToShow: slidesToShow,  // number of slides to show at once
slidesToScroll: 1,  // number of slides to scroll at once
autoplay: true,infinite: true,speed: 8000,  // speed of the transition, play with this value to achieve desired effect
autoplaySpeed: 0,  // no delay between auto-play transitions
cssEase: 'linear',  // this gives the linear movement between slides
arrows: false,  // optional: disable arrows
pauseOnHover: true,  // optional: prevent pause when hover
draggable: false,centerMode: false,rtl: $('html').attr('dir') == 'rtl' ? true : false,adaptiveHeight: true});}
function Comments_Initialize( settings ) {var that = this;var $s123CommentsContainer = $('#'+settings.id);var $commentsForm = $s123CommentsContainer.find('.commentsForm');var $commentsContainer;var Rating = {};var submitMessage = {};var hasRating = false;that.onLoad = settings.onLoad;that.onFormSubmit = settings.onFormSubmit;that.customLabels = settings.customLabels ? settings.customLabels : {};switch( settings.type ) {case 0:$commentsContainer 	= $s123CommentsContainer.find('#commentsContainer');submitMessage.title = translations.sent;submitMessage.message = translations.blogReviewMessage;break;case 1:$commentsContainer 	= $s123CommentsContainer.find('#commentsContainer');hasRating = true;break;default:return;break;}
that.init = function() {that.loadComments(false);};that.showSubcomments = function ( subComments, $commentsContainer ) {$.each(subComments,function( index, comment ) {var $parentComments = $commentsContainer.find('.commentBox');$.each($parentComments,function( index, parentComment ) {if ($(this).data('comment-id') == comment.parentID ) {$(parentComment).find('.sub-comments-div').append(that.comment_HTML(comment.title,comment.time,comment.message));}});});};that.comment_HTML = function ( title, time, message ) {var html ='';html += '<div class="sub-comments-div-box">';html += '<h4 class="title">'+title+'</h4>';html += '<small class="time">'+time+'</small><br/>';html += '<div class="message">'+message+'</div>';html += '</div>';return html;};that.submitHandler = function ( $form ) {var forms_GoogleRecaptcha = new Forms_GoogleRecaptcha();forms_GoogleRecaptcha.init($form);$form.validate({errorElement: 'div',errorClass: 'help-block',focusInvalid: true,ignore: "",highlight: function (e) {$(e).closest('.form-group').removeClass('has-info').addClass('has-error');},success: function (e) {$(e).closest('.form-group').removeClass('has-error');$(e).remove();}});$form.off('submit.commentsForm').off('submit.commentsForm').on('submit.commentsForm', function( event ) {event.preventDefault();if ( hasRating ) {var formValid = $form.valid();var ratingValid = Rating.valid();if ( !formValid || !ratingValid ) return;} else {if ( !$form.valid() ) return;}
if ( forms_GoogleRecaptcha.isActive && !forms_GoogleRecaptcha.isGotToken ) {forms_GoogleRecaptcha.getToken();return false;}
$form.find('.blogSubmitButton').prop('disabled', true);$form.find('.blogSubmitButton').html(S123.s123IconToSvg.getHtml('spinner','fa-spin',''));$.ajax({type: "POST",url: "/versions/2/wizard/comments/addShowComments.php",data: $form.serialize(),success: function( data ) {var dataObj = tryParseJSON(data);if ( dataObj.blockComment  == '1' ) {that.showManagerApproveMessage();}
that.loadComments(data.commentsHtml);$form.trigger('reset');forms_GoogleRecaptcha.reset();$form.find('.blogSubmitButton').prop('disabled', false);$form.find('.blogSubmitButton').html($form.find('.blogSubmitButton').data('text'));WizardNotificationUpdate();if ( that.onFormSubmit ) that.onFormSubmit.call(this,dataObj.newCommentID,dataObj.blockComment);}});return false;});};that.showManagerApproveMessage = function () {if ( !submitMessage.message ) return;bootbox.alert({title: submitMessage.title,message: submitMessage.message,className: 'contactUsConfirm',buttons: {ok: {label: translations.Ok}},backdrop: true});};that.showReplyModal = function (t,childForm) {var x = '';x += '<form class="row" method="post" style="margin:0px;">';x += '<div class="col-xs-12 col-sm-12">';x += '<div class="form-group">';x += '<textarea class="form-control comment_message" name="comment_message" placeholder="'+(that.customLabels.commentResponseText ? that.customLabels.commentResponseText : t.data('tran-comment'))+'" style="min-height: 150px;" required data-msg-required="'+t.data('tran-this-field-is-required')+'"></textarea>';x += '</div>';x += '<div class="row">';x += '<div class="col-xs-12 col-sm-6">';x += '<div class="form-group">';x += '<input type="text" name="contact_name" placeholder="'+(that.customLabels.commentName ? that.customLabels.commentName : t.data('tran-name'))+'" class="form-control" required data-msg-required="'+t.data('tran-this-field-is-required')+'">';x += '</div>';x += '</div>';x += '<div class="col-xs-12 col-sm-6">';x += '<div class="form-group">';x += '<input type="text" name="contact_email" placeholder="'+(that.customLabels.commentEmail ? that.customLabels.commentEmail : t.data('tran-email-address'))+'" class="form-control" required data-msg-required="'+t.data('tran-this-field-is-required')+'" data-rule-email="true" data-msg-email="'+t.data('tran-please-enter-valid-email')+'">';x += '</div>';x += '</div>';x += '</div>';x += '<div class="text-center">';x += '<button type="submit" class="btn btn-primary blogSubmitButton" data-text="'+t.data('tran-post-reply')+'">'+(that.customLabels.replyButtonText ? that.customLabels.replyButtonText : t.data('tran-post-reply'))+'</button>';x += '</div>';x += '<div class="text-center comments-message-text">';x += '<small>* '+(that.customLabels.commentMessage ? that.customLabels.commentMessage : t.data('tran-the-email-will-not-be-published-on-the-website'))+'</small>';x += '</div>';x += '</div>';x += '<input type="hidden" name="w" value="'+t.data('hidden-w')+'">';x += '<input type="hidden" name="websiteID" value="'+t.data('hidden-website-id')+'">';x += '<input type="hidden" name="uniquePageID" value="'+t.data('hidden-unique-page-id')+'">';x += '<input type="hidden" name="moduleID" value="'+t.data('module-id')+'">';x += '<input type="hidden" name="moduleTypeNUM" value="'+t.data('module-type')+'">';x += '<input type="hidden" name="tranW" value="'+websiteLanguageCountryFullCode+'">';x += '<input type="hidden" class="commentTo" name="commentTo" value="'+t.data('hidden-comment-to')+'">';x += '<input type="hidden" name="act" value="addShow">';x += '</form>';childForm.html(x);that.submitHandler(childForm.find('form'));};Rating = new function() {var R = this;R.init = function( settings ) {if ( !settings.hasRating ) return;R.$form = settings.$form;R.$input = settings.$input;R.$json = settings.$json;if ( R.$form.length === 0 ) return;R.$raty = R.$form.find('.rating-plugin');R.$raty.raty({starType: 'i',cancel: false,number: 5,hints: R.getHints(),starHalf: (IsIE11() ? 'fa fa-star-half star-half' : 'star-half svg-m'),starOff: (IsIE11() ? 'fa fa-star-o star-o' : 'star-o svg-m'),starOn: (IsIE11() ? 'fa fa-star star' : 'star svg-m'),click: function( rating ,event ) {R.$input.val(rating);R.valid();}});};R.getHints = function() {var json = tryParseJSON(R.$json.val());if ( !json ) {return hints = [translations.reviewBad,translations.reviewPoor,translations.reviewRegular,translations.reviewGood,translations.reviewGorgeous];} else {return hints = json.hints;}};R.valid = function() {var valid = $.isNumeric(R.$input.val()) && parseInt(R.$input.val()) > 0;var $parent = R.$raty.closest('.form-group');$parent.removeClass('.has-error');$parent.find('#ratingError').remove();if ( !valid ) {$parent.addClass('has-error');$parent.append('<div id="ratingError" class="text-center help-block">'+R.$raty.data('msg-required')+'</div>');}
return valid;};};that.loadComments = function( commentsHtml ) {if ( !commentsHtml ) {loadCommentsByAjax();} else {addCommentsToPage(commentsHtml);}
$commentsForm.find('.blogCommentsBox #comment_message').focus(function() {$commentsForm.find('.blogCommentsBox').addClass('active');});that.submitHandler($commentsForm);Rating.init({$form: $commentsForm,$input: $commentsForm.find('.rating'),$json: $commentsForm.find('.rating-plugin-data'),hasRating: hasRating});};function loadCommentsByAjax() {$.ajax({type: "POST",url: '/versions/2/wizard/comments/addShowComments.php',data: {w: $('#w').val(),websiteID: $('#websiteID').val(),disableCssFiles: 1,moduleID: $commentsContainer.data('module-id'),moduleTypeNUM: $commentsContainer.data('module-type-num'),uniquePageID: $commentsContainer.data('unique-page-id'),tranW: $commentsContainer.data('tran-w'),act: $commentsContainer.data('action')},success: function( data ) {data = tryParseJSON(data);if ( !data ) return;addCommentsToPage(data.commentsHtml);}});}
function addCommentsToPage( commentsHtml ) {$commentsContainer.html(commentsHtml);$commentsContainer.find('.blog-reply-to').each(function( index, replyLink ) {$(replyLink).off('click').on('click',function() {$childForm = $(this).closest('.commentBox').find('.blogReplyForm');if ($childForm.hasClass('hidden')) {that.showReplyModal($(this),$childForm);$('.blogReplyForm').addClass('hidden');$('.blog-reply-to').html($(this).data('text-reply'));$(this).html($(this).data('text-hide'));$childForm.removeClass('hidden');} else {$childForm.addClass('hidden');$(this).html($(this).data('text-reply'));}
$childForm.find('.comment_message').select();});});var subComments = tryParseJSON($commentsContainer.find('.sub-comments').html());that.showSubcomments(subComments,$commentsContainer);if ( hasRating) {if ( that.onLoad ) that.onLoad.call(this,$commentsContainer.find('.commentBox').length,$commentsContainer.find('#reviewAvg').val(),false);}}
that.init();}
