File: /storage/v6964/gopalak/public_html/wp-content/plugins/hunk-companion/open-mart/assets/js/custom.js
/**************/
// openmartLib
/**************/
(function ($) {
var openmartLib = {
init: function (){
this.bindEvents();
},
bindEvents: function (){
var $this = this;
if($('#thunk-single-slider').length!==0){
$this.Top1Slider();
}
$this.Top2Slider();
$this.TopBigSlider();
$this.vt1_banner_check();
$this.product_slide_2row();
},
Top1Slider:function(){
var is_item_single = $(".th-sinl-slide").length;
if(open_mart_obj.open_mart_top_slider_optn == true && is_item_single>1){
var cat_atply = true;
}else{
var cat_atply = false;
}
var owl = $('#thunk-single-slider');
owl.owlCarousel({
items:1,
nav: false,
navText: ["<i class='brand-nav fa fa-angle-left'></i>",
"<i class='brand-nav fa fa-angle-right'></i>"],
loop:cat_atply,
dots:true,
smartSpeed:500,
autoHeight: false,
margin:0,
autoplay:cat_atply,
autoplayTimeout: parseInt(open_mart_obj.open_mart_slider_speed),
autoplayHoverPause: true, // Stops autoplay
});
// add animate.css class(es) to the elements to be animated
function setAnimation ( _elem, _InOut ) {
// Store all animationend event name in a string.
// cf animate.css documentation
var animationEndEvent = 'webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend';
_elem.each ( function () {
var $elem = $(this);
var $animationType = 'animated ' + $elem.data( 'animation-' + _InOut );
$elem.addClass($animationType).one(animationEndEvent, function () {
$elem.removeClass($animationType); // remove animate.css Class at the end of the animations
});
});
}
// Fired before current slide change
owl.on('change.owl.carousel', function(event) {
var $currentItem = $('.owl-item', owl).eq(event.item.index);
var $elemsToanim = $currentItem.find("[data-animation-out]");
setAnimation ($elemsToanim, 'out');
});
// Fired after current slide has been changed
var round = 0;
owl.on('changed.owl.carousel', function(event) {
var $currentItem = $('.owl-item', owl).eq(event.item.index);
var $elemsToanim = $currentItem.find("[data-animation-in]");
setAnimation ($elemsToanim, 'in');
})
owl.on('translated.owl.carousel', function(event) {
// console.log (event.item.index, event.page.count);
if (event.item.index == (event.page.count - 1)) {
if (round < 1) {
round++
// console.log (round);
} else {
owl.trigger('stop.owl.autoplay');
var owlData = owl.data('owl.carousel');
owlData.settings.autoplay = false; //don't know if both are necessary
owlData.options.autoplay = false;
owl.trigger('refresh.owl.carousel');
}
}
});
},
Top2Slider:function(){
var is_item_single = $(".thunk-to2-slide-list").length;
if(open_mart_obj.open_mart_top_slider_optn == true && is_item_single>1){
var cat_atply = true;
}else{
var cat_atply = false;
}
var owl = $('.thunk-top2-slide');
owl.owlCarousel({
items:1,
nav: true,
navText: ["<i class='brand-nav fa fa-angle-left'></i>",
"<i class='brand-nav fa fa-angle-right'></i>"],
loop:cat_atply,
dots: false,
smartSpeed:500,
autoHeight: false,
margin:0,
autoplay:cat_atply,
autoplayTimeout: parseInt(open_mart_obj.open_mart_slider_speed),
autoplayHoverPause: true, // Stops autoplay
});
// add animate.css class(es) to the elements to be animated
function setAnimation ( _elem, _InOut ) {
// Store all animationend event name in a string.
// cf animate.css documentation
var animationEndEvent = 'webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend';
_elem.each ( function () {
var $elem = $(this);
var $animationType = 'animated ' + $elem.data( 'animation-' + _InOut );
$elem.addClass($animationType).one(animationEndEvent, function () {
$elem.removeClass($animationType); // remove animate.css Class at the end of the animations
});
});
}
// Fired before current slide change
owl.on('change.owl.carousel', function(event) {
var $currentItem = $('.owl-item', owl).eq(event.item.index);
var $elemsToanim = $currentItem.find("[data-animation-out]");
setAnimation ($elemsToanim, 'out');
});
// Fired after current slide has been changed
var round = 0;
owl.on('changed.owl.carousel', function(event) {
var $currentItem = $('.owl-item', owl).eq(event.item.index);
var $elemsToanim = $currentItem.find("[data-animation-in]");
setAnimation ($elemsToanim, 'in');
})
owl.on('translated.owl.carousel', function(event) {
// console.log (event.item.index, event.page.count);
if (event.item.index == (event.page.count - 1)) {
if (round < 1) {
round++
// console.log (round);
} else {
owl.trigger('stop.owl.autoplay');
var owlData = owl.data('owl.carousel');
owlData.settings.autoplay = false; //don't know if both are necessary
owlData.options.autoplay = false;
owl.trigger('refresh.owl.carousel');
}
}
});
},
TopBigSlider:function(){
$(document).ready(function() {
// slide autoplay
var is_item_single = $(".th-bigslider .th-slides").length;
if(open_mart_obj.open_mart_top_slider_optn == true){
var cat_atply = true;
}else{
var cat_atply = false;
}
if (is_item_single>1) {
var sldr_loop = true;
}
else{
var sldr_loop = false;
}
$(".thunk-big-slider").owlCarousel({
autoplay: cat_atply,
autoplayTimeout: 5000,
autoplayHoverPause: true,
items: 1,
singleItem: true,
animateIn: 'fadeIn', // add this
animateOut: 'fadeOut', // and this
nav: true,
dots: true,
navText: ["<i class='slick-nav fa fa-angle-left'></i>",
"<i class='slick-nav fa fa-angle-right'></i>"],
loop: sldr_loop,
smartSpeed: 1200,
margin:0,
});
});
},
vt1_banner_check : function () {
var vetical_banner = $(".no-vt1-banner-img").length;
if (vetical_banner>0) {
$(".thunk-vt-banner-wrap").css("display", "none");
$(".thunk-vertical-cat-tab1 .content-wrap").css("flex-grow", "2");
}
else{
$(".thunk-vt-banner-wrap").css("display", "initial");
$(".thunk-vertical-cat-tab1 .content-wrap").css("flex-grow", "initial");
}
},
product_slide_2row : function () {
//**************************/
//owl2row plugin
//**************************/
(function ($, window, document, undefined) {
Owl2row = function (scope) {
this.owl = scope;
this.owl.options = $.extend({}, Owl2row.Defaults, this.owl.options);
//link callback events with owl carousel here
this.handlers = {
'initialize.owl.carousel': $.proxy(function (e) {
if (this.owl.settings.owl2row) {
this.build2row(this);
}
}, this)
};
this.owl.$element.on(this.handlers);
};
Owl2row.Defaults = {
owl2row: false,
owl2rowTarget: 'item',
owl2rowContainer: 'owl2row-item',
owl2rowDirection: 'utd' // ltr
};
//mehtods:
Owl2row.prototype.build2row = function(thisScope){
var carousel = $(thisScope.owl.$element);
var carouselItems = carousel.find('.' + thisScope.owl.options.owl2rowTarget);
var aEvenElements = [];
var aOddElements = [];
$.each(carouselItems, function (index, item) {
if ( index % 2 === 0 ) {
aEvenElements.push(item);
} else {
aOddElements.push(item);
}
});
carousel.empty();
switch (thisScope.owl.options.owl2rowDirection) {
case 'ltr':
thisScope.leftToright(thisScope, carousel, carouselItems);
break;
default :
thisScope.upTodown(thisScope, aEvenElements, aOddElements, carousel);
}
};
Owl2row.prototype.leftToright = function(thisScope, carousel, carouselItems){
var o2wContainerClass = thisScope.owl.options.owl2rowContainer;
var owlMargin = thisScope.owl.options.margin;
var carouselItemsLength = carouselItems.length;
var firsArr = [];
var secondArr = [];
//console.log(carouselItemsLength);
if (carouselItemsLength %2 === 1) {
carouselItemsLength = ((carouselItemsLength - 1)/2) + 1;
} else {
carouselItemsLength = carouselItemsLength/2;
}
//console.log(carouselItemsLength);
$.each(carouselItems, function (index, item) {
if (index < carouselItemsLength) {
firsArr.push(item);
} else {
secondArr.push(item);
}
});
$.each(firsArr, function (index, item) {
var rowContainer = $('<div class="' + o2wContainerClass + '"/>');
var firstRowElement = firsArr[index];
firstRowElement.style.marginBottom = owlMargin + 'px';
rowContainer
.append(firstRowElement)
.append(secondArr[index]);
carousel.append(rowContainer);
});
};
Owl2row.prototype.upTodown = function(thisScope, aEvenElements, aOddElements, carousel){
var o2wContainerClass = thisScope.owl.options.owl2rowContainer;
var owlMargin = thisScope.owl.options.margin;
$.each(aEvenElements, function (index, item) {
var rowContainer = $('<div class="' + o2wContainerClass + '"/>');
var evenElement = aEvenElements[index];
evenElement.style.marginBottom = owlMargin + 'px';
rowContainer
.append(evenElement)
.append(aOddElements[index]);
carousel.append(rowContainer);
});
};
/**
* Destroys the plugin.
*/
Owl2row.prototype.destroy = function() {
var handler, property;
for (handler in this.handlers) {
this.owl.dom.$el.off(handler, this.handlers[handler]);
}
for (property in Object.getOwnPropertyNames(this)) {
typeof this[property] !== 'function' && (this[property] = null);
}
};
$.fn.owlCarousel.Constructor.Plugins['owl2row'] = Owl2row;
})( window.Zepto || window.jQuery, window, document );
//end of owl2row plugin
},
}
openmartLib.init();
})(jQuery);