%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/t/r/a/tradesc/www/relax/wp-content/cache/wpfc-minified/2zab851z/
Upload File :
Create Path :
Current File : /home/t/r/a/tradesc/www/relax/wp-content/cache/wpfc-minified/2zab851z/ho1c1.js

jQuery(document).ready(function($){
var isCartPage=xoo_wsc_params.isCart=='1',
isCheckoutPage=xoo_wsc_params.isCheckout=='1';
var get_wcurl=function(endpoint){
return xoo_wsc_params.wc_ajax_url.toString().replace('%%endpoint%%',
endpoint
);
};
class Notice{
static markupTimeout=null;
constructor($modal){
this.$modal=$modal;
this.timeout=null;
}
add(notice, type='success', clearPrevious=true){
var $noticeCont=this.$modal.find('.xoo-wsc-notice-container');
if(clearPrevious){
$noticeCont.html('');
}
var noticeHTML=type==='success' ? xoo_wsc_params.html.successNotice.toString().replace('%s%', notice):xoo_wsc_params.html.errorNotice.toString().replace('%s%', notice);
$noticeCont.html(noticeHTML);
}
showNotification(){
Notice.showMarkupNotice();
var $noticeCont=this.$modal.find('.xoo-wsc-notice-container');
if(!$noticeCont.length||$noticeCont.children().length===0) return;
$noticeCont.slideDown();
clearTimeout(this.timeout);
this.timeout=setTimeout(function(){
$noticeCont.slideUp('slow',function(){
});
},xoo_wsc_params.notificationTime)
}
hideNotification(){
this.$modal.find('.xoo-wsc-notice-container').hide();
}
static hideMarkupNotice(){
Notice.$noticeContainer().removeClass('xoo-wsc-active');
}
static $noticeContainer(){
return $('.xoo-wsc-markup-notices')
}
static showMarkupNotice(){
if(cart.isOpen()) return;
var $markupNotice=Notice.$noticeContainer();
var $notices=$markupNotice.find('.xoo-wsc-notice-container .xoo-wsc-notices');
if(!$notices.length||$notices.children().length===0) return;
setTimeout(function(){$markupNotice.addClass('xoo-wsc-active')},10);
clearTimeout(Notice.markupTimeout);
Notice.markupTimeout=setTimeout(function(){
$markupNotice.removeClass('xoo-wsc-active');
},xoo_wsc_params.notificationTime)
}}
class Container{
constructor($modal, container){
this.$modal=$modal;
this.container=container||'cart';
this.notice=new Notice(this.$modal);
}
isOpen(){
return this.$modal.hasClass('xoo-wsc-'+this.container+'-active');
}
eventHandlers(){
$(document.body).on('wc_fragments_refreshed updated_checkout', this.onCartUpdate.bind(this));
}
onCartUpdate(){
this.unblock();
this.notice.showNotification();
}
setAjaxData(data, noticeSection){
var ajaxData={
container: this.container,
noticeSection: noticeSection||this.noticeSection||this.container,
isCheckout: isCheckoutPage,
isCart: isCartPage
}
if(typeof data==='object'){
$.extend(ajaxData, data);
}else{
var serializedData=data;
$.each(ajaxData, function(key, value){
serializedData +=('&'+key+'='+value);
})
ajaxData=serializedData;
}
return ajaxData;
}
toggle(type){
var $activeEls=this.$modal.add('body').add('html'),
activeClass='xoo-wsc-'+ this.container +'-active';
if(type==='show'){
$activeEls.addClass(activeClass);
}
else if(type==='hide'){
$activeEls.removeClass(activeClass);
}else{
$activeEls.toggleClass(activeClass);
}
$(document.body).trigger('xoo_wsc_' + this.container + '_toggled', [ type ]);
this.notice.hideNotification();
}
block(){
this.$modal.addClass('xoo-wsc-loading');
}
unblock(){
this.$modal.removeClass('xoo-wsc-loading');
}
refreshMyFragments(){
if(xoo_wsc_params.refreshCart==="yes"&&typeof wc_cart_fragments_params!=='undefined'){
$(document.body).trigger('wc_fragment_refresh');
return;
}
this.block();
$.ajax({
url: get_wcurl('xoo_wsc_refresh_fragments'),
type: 'POST',
context: this,
data: {},
success: function(response){
this.updateFragments(response);
},
complete: function(){
this.unblock();
}})
}
updateCartCheckoutPage(){
if(isCheckoutPage){
if($('form.checkout').length===0){
location.reload();
return;
}
$(document.body).trigger("update_checkout");
}
if(isCartPage){
$(document.body).trigger("wc_update_cart");
}}
updateFragments(response){
console.log('updated');
if(response.fragments){
$(document.body).trigger('xoo_wsc_before_loading_fragments', [ response ]);
this.block();
$.each(response.fragments, function(key, value){
$(key).replaceWith(value);
});
if(typeof wc_cart_fragments_params!=='undefined'&&('sessionStorage' in window&&window.sessionStorage!==null)){
sessionStorage.setItem(wc_cart_fragments_params.fragment_name, JSON.stringify(response.fragments));
localStorage.setItem(wc_cart_fragments_params.cart_hash_key, response.cart_hash);
sessionStorage.setItem(wc_cart_fragments_params.cart_hash_key, response.cart_hash);
if(response.cart_hash){
sessionStorage.setItem('wc_cart_created',(new Date()).getTime());
}}
$(document.body).trigger('wc_fragments_refreshed');
this.unblock();
}
if(xoo_wsc_params.refreshCart==="yes"&&typeof wc_cart_fragments_params!=='undefined'){
this.block();
$(document.body).trigger('wc_fragment_refresh');
return;
}}
}
class Cart extends Container{
constructor($modal){
super($modal, 'cart');
this.refreshFragmentsOnPageLoad();
this.eventHandlers();
}
refreshFragmentsOnPageLoad(){
setTimeout(function(){
this.refreshMyFragments();
}.bind(this), xoo_wsc_params.fetchDelay)
}
eventHandlers(){
super.eventHandlers();
this.$modal.on('click', '.xoo-wsc-smr-del', this.deleteIconClick.bind(this));
this.$modal.on('click', '.xoo-wsch-close, .xoo-wsc-opac, .xoo-wsc-cart-close', this.closeCartOnClick.bind(this));
this.$modal.on('click', '.xoo-wsc-basket', this.toggleCart.bind(this));
$(document.body).on('xoo_wsc_cart_updated', this.updateCartCheckoutPage.bind(this));
$(document.body).on('click', 'a.added_to_cart, .xoo-wsc-cart-trigger', this.openCart.bind(this));
$(document.body).on('added_to_cart', this.addedToCart.bind(this));
$(document.body).on('wc-blocks_added_to_cart', this.blockAddedToCart.bind(this));
if(xoo_wsc_params.autoOpenCart==='yes'&&xoo_wsc_params.addedToCart==='yes'){
this.openCart();
}
if(xoo_wsc_params.ajaxAddToCart==='yes'){
$(document.body).on('submit', 'form.cart', this.addToCartFormSubmit.bind(this));
}
if(typeof wc_cart_fragments_params==='undefined'){
$(window).on('pageshow' , this.onPageShow);
}
if(xoo_wsc_params.triggerClass){
$(document.body).on('click', '.'+xoo_wsc_params.triggerClass, this.openCart.bind(this));
}
if(isCheckoutPage||isCartPage){
$(document.body).on('updated_shipping_method', this.refreshMyFragments.bind(this));
}}
toggleCart(e){
if(this.isOpen()){
this.closeCartOnClick(e);
}else{
this.openCart(e);
}}
openCart(e){
if(e){
e.preventDefault();
e.stopImmediatePropagation();
}
this.toggle('show');
Notice.hideMarkupNotice();
}
addToCartFormSubmit(e){
var $form=$(e.currentTarget);
if($form.closest('.product').hasClass('product-type-external')||$form.siblings('.xoo-wsc-disable-atc').length) return;
var $button=$(e.originalEvent.submitter),
formData=new FormData($form.get(0)),
productData=$form.serializeArray(),
hasProductId=false;
if(!$button.length){
$button=$form.find('button[type="submit"]');
}
$.each(productData, function(key, form_item){
if(form_item.name==='productID'||form_item.name==='add-to-cart'){
if(form_item.value){
hasProductId=true;
return false;
}}
})
if(!hasProductId&&$form.attr('action')){
var is_url=$form.attr('action').match(/add-to-cart=([0-9]+)/),
productID=is_url ? is_url[1]:false;
}
if($button.attr('name')&&$button.attr('value')){
formData.append($button.attr('name'), $button.attr('value'));
}
if(productID){
formData.append('add-to-cart', productID);
}
formData.append('action', 'xoo_wsc_add_to_cart');
var doAjaxAddToCart=true;
$.each(xoo_wsc_params.skipAjaxForData, function(key, value){
if(formData.has(key)&&(!value||formData.get(key)==value)){
doAjaxAddToCart=false;
return false;
}})
if(doAjaxAddToCart){
e.preventDefault();
this.addToCartAjax($button, formData);
}}
addToCartAjax($button, formData){
this.block();
$button.addClass('loading');
$(document.body).trigger('adding_to_cart', [ $button, formData ]);
$.ajax({
url: get_wcurl('xoo_wsc_add_to_cart'),
type: 'POST',
context: this,
cache: false,
contentType: false,
processData: false,
data: formData,
success: function(response){
if(response.fragments){
$(document.body).trigger('added_to_cart', [ response.fragments, response.cart_hash, $button ]);
}else if(response.error){
Notice.$noticeContainer().replaceWith(response.notice);
Notice.showMarkupNotice();
}else{
window.location.reload();
}},
complete: function(){
this.unblock();
$button
.removeClass('loading')
.addClass('added');
}})
}
addedToCart(e, response, hash, $button){
this.updateFragments({ fragments: response });
this.onCartUpdate();
var _this=this;
if(xoo_wsc_params.autoOpenCart==="yes"){
setTimeout(function(){
_this.openCart();
},20)
}}
blockAddedToCart(){
$(document.body).trigger('wc_fragment_refresh');
this.block();
var _this=this;
if(xoo_wsc_params.autoOpenCart==="yes"){
setTimeout(function(){
_this.openCart();
},20)
}}
closeCartOnClick(e){
e.preventDefault();
this.toggle('hide');
}
onPageShow(e){
if(e.originalEvent.persisted){
this.refreshMyFragments();
$(document.body).trigger('wc_fragment_refresh');
}}
deleteIconClick(e){
this.updateItemQty($(e.currentTarget).parents('.xoo-wsc-product').data('key'), 0);
}
updateItemQty(cart_key, qty){
if(!cart_key||qty===undefined) return;
this.block();
var formData={
cart_key: cart_key,
qty: qty
}
$.ajax({
url: get_wcurl('xoo_wsc_update_item_quantity'),
type: 'POST',
context: this,
data: this.setAjaxData(formData),
success: function(response){
this.updateFragments(response);
$(document.body).trigger('xoo_wsc_quantity_updated', [response]);
$(document.body).trigger('xoo_wsc_cart_updated', [response]);
this.unblock();
}})
}
onCartUpdate(){
super.onCartUpdate();
this.showBasket();
}
showBasket(){
var $basket=$('.xoo-wsc-basket'),
show=xoo_wsc_params.showBasket;
if(show==="always_show"){
$basket.show();
}
else if(show==="hide_empty"){
if(this.$modal.find('.xoo-wsc-product').length){
$basket.show();
}else{
$basket.hide();
}}else{
$basket.hide();
}}
}
var cart=new Cart($('.xoo-wsc-modal'));
});

Zerion Mini Shell 1.0