Notice: Undefined index: url_params in /home/ne3dlthred/needlethread.gr/catalog/controller/extension/module/options_combinations.php on line 33/**/
function DefaultCombinationEngine(){
CombinationEngine.call(this);
}
DefaultCombinationEngine.prototype = Object.create(CombinationEngine.prototype);
DefaultCombinationEngine.prototype.reset_combined_option_images = function () {
var additional = initial_additional_slides.length ? initial_additional_slides : initial_additional_popup_images;
this.include_to_gallery(initial_main_slides, additional, initial_gallery_images);
};
DefaultCombinationEngine.prototype.include_to_gallery = function (main_slides, additional_slides, gallery_images) {
/* include to main */
var main_slider = $($('.swiper.main-image')).data('swiper');
if (main_slider) {
main_slider.removeAllSlides();
main_slides.forEach(function (slide) {
main_slider.appendSlide(slide);
});
main_slider.update();
}
/* include to additional */
var additional_slider = $($('.swiper.additional-images')).data('swiper');
if (additional_slider) {
additional_slider.removeAllSlides();
additional_slides.forEach(function (slide, index) {
additional_slider.appendSlide(slide);
});
additional_slider.update();
}
/* include to additional popup images */
var additional_popup_images_container = $('.product-image > div.additional-images:not(.swiper)');
if (additional_popup_images_container.length > 0){
additional_popup_images_container.empty();
additional_slides.forEach(function (slide, index) {
additional_popup_images_container.append(slide);
});
}
if (gallery_images) {
if ($('div.lightgallery.lightgallery-product-images').length) {
var image_for_gallery = [];
gallery_images.forEach(function (image, index) {
image_for_gallery.push({
'src': image.image_popup,
'thumb': image.image_thumb,
'subHtml': ''
});
});
var original = $('div.lightgallery.lightgallery-product-images');
var options = original.attr('data-options');
original.after('');
original.remove();
$('div.temp_copy_lightgallery-product-images').attr('class', 'lightgallery lightgallery-product-images').attr('data-options',options);
}
}
var gallery = $($('[data-gallery]').data('gallery'));
if (gallery_images){
gallery.data('images', gallery_images);
gallery.data('index', gallery_images.length);
}
/* Product Page */
if ($('html').hasClass('route-product-product')) {
/* sync image carousels */
$(document).delegate('.additional-image', 'click', function () {
$('.additional-image').removeClass('swiper-slide-active');
$(this).addClass('swiper-slide-active');
var $s = $('.main-image').data('swiper');
if ($s.params.loop) {
$s.slideToLoop($(this).data('index'), 0);
} else {
$s.slideTo($(this).data('index'), 0);
}
});
/* image zoom */
if (!('ontouchstart' in document)) {
if (Journal['isPopup'] ? Journal['quickviewPageStyleCloudZoomStatus'] : Journal['productPageStyleCloudZoomStatus']) {
$('.main-image img').each(function () {
var $this = $(this);
$this.ImageZoom({
type: Journal['isPopup'] ? Journal['quickviewPageStyleCloudZoomPosition'] : Journal['productPageStyleCloudZoomPosition'],
showDescription: false,
offset: [0, 0],
zoomSize: [$this.width(), $this.height()],
bigImageSrc: $this.data('largeimg')
});
});
/* delay mouseover */
$('.product-image').mouseover(function () {
$('.zm-viewer').delay(200).queue(function (next) {
$(this).css('opacity', '1');
next();
});
}).mouseleave(function () {
$('.zm-viewer').css('opacity', '0');
});
}
}
}
};
DefaultCombinationEngine.prototype.add_combined_option_images = function (images) {
if (images.length){
$('div.zm-handler, div.zm-viewer').remove();
var main_slides = [];
images.forEach(function (image, index) {
main_slides.push(``);
});
var additional_slides = [];
images.forEach(function (image, index) {
additional_slides.push(``);
});
var gallery_images = [];
images.forEach(function (image) {
gallery_images.push({
src: image.image_popup,
subHtml: '',
thumb: image.image_thumb,
});
});
this.include_to_gallery(main_slides, additional_slides, gallery_images);
} else {
this.reset_combined_option_images();
}
};
DefaultCombinationEngine.prototype.remove_combined_option_images = function () {
$(images_selector).html('');
};
DefaultCombinationEngine.prototype.reset_data = function (reset_image=true) {
$(prices_group_selector).html(initial_product_price);
$(product_data_group_selector).html(initial_product_data);
/* add_to_cart_button.attr("disabled", true); */
/* var current_elements = $('div.col-sm-4 > ul.list-unstyled'); */
/* current_elements.remove(); */
$(elements_placeholder_selector).after(orig_elements);
if (reset_image){
this.reset_combined_option_images();
}
};
DefaultCombinationEngine.prototype.use_variant_data = function (selected_options) {
/* $(button_cart_selector).removeAttr("disabled"); */
var variant = this.get_combination_by_options(selected_options);
if (variant){
/* var current_elements = $(orig_elements_selector); */
/* current_elements.remove(); */
var data_element = $('
');
var exists_manufacturer = $('div.product-stats').find('.product-manufacturer').length;
var exists_weight = $('div.product-stats').find('.product-weight').length;
data_element.append(`
Stock: ${this.get_stock(variant)}
`);
if (product.manufacturer && !manufacturer_data_as_image.length && exists_manufacturer){
data_element.append('