// source --> https://www.creative-color-copy.de/wp-content/plugins/web-to-print-online-designer/assets/js/nbdesigner.js?ver=2.3.0
jQuery(document).ready(function () {
if( jQuery('#triggerDesign').length > 0 && nbds_frontend.hide_cart_button == 'yes'){
jQuery('button[type="submit"].single_add_to_cart_button').hide();
};
var width = jQuery(window).innerWidth();
var height = jQuery(window).height();
var w = -width;
var h = -height;
var nbd_append_iframe = false;
var showDesignFrame = function(){
jQuery('body, html').addClass('nbd-prevent-scroll');
if( nbd_layout == 'c' ){
if( !nbd_append_iframe ){
var iframe_src = jQuery('#container-online-designer').attr('data-iframe');
if( jQuery('input[name="variation_id"]').length ){
iframe_src = addParameter(iframe_src, 'variation_id', jQuery('input[name="variation_id"]').val(), false);
}
jQuery('#nbd-custom-design-wrap').prepend('');
nbd_append_iframe = true;
}
}else{
if(is_nbd_upload_without_design){
jQuery('#nbd-m-upload-design-wrap').addClass('is-visible');
}else if( !is_nbd_upload ){
if( !nbd_append_iframe ){
var iframe_src = jQuery('#container-online-designer').attr('data-iframe');
if( jQuery('input[name="variation_id"]').length ){
iframe_src = addParameter(iframe_src, 'variation_id', jQuery('input[name="variation_id"]').val(), false);
}
jQuery('#nbd-m-custom-design-wrap').prepend('');
nbd_append_iframe = true;
}
jQuery('#nbd-m-custom-design-wrap').addClass('is-visible');
}
};
jQuery('#container-online-designer').addClass('is-visible');
};
jQuery('#triggerDesign').on('click', function () {
if(jQuery(this).hasClass('nbdesigner_disable')){
alert(nbds_frontend.check_invalid_fields);
}else{
showDesignFrame();
var frame = document.getElementById('onlinedesigner-designer');
if( frame ){
frame.contentWindow.postMessage('change_nbo_options', window.location.origin);
}
}
});
jQuery('#closeFrameDesign').on('click', function () {
hideDesignFrame();
});
jQuery('#nbd__content__overlay').on('click', function (event) {
if(event.target.id == 'nbd__content__overlay'){
hideDesignFrame();
}
});
jQuery('#open_m-custom-design-wrap').on('click', function (event) {
jQuery('.nbd-popup-wrap').addClass('is-hidden');
if( !nbd_append_iframe ){
var iframe_src = jQuery('#container-online-designer').attr('data-iframe');
if( jQuery('input[name="variation_id"]').length ){
iframe_src = addParameter(iframe_src, 'variation_id', jQuery('input[name="variation_id"]').val(), false);
}
jQuery('#nbd-m-custom-design-wrap').prepend('');
nbd_append_iframe = true;
}
jQuery('#nbd-m-custom-design-wrap').addClass('is-visible');
});
jQuery('#open_m-upload-design-wrap').on('click', function (event) {
jQuery('.nbd-popup-wrap').addClass('is-hidden');
jQuery('#nbd-m-upload-design-wrap').addClass('is-visible');
});
backtoOption = function(){
jQuery('#nbd-m-upload-design-wrap').removeClass('is-visible');
jQuery('#nbd-m-custom-design-wrap').removeClass('is-visible');
jQuery('.nbd-popup-wrap').removeClass('is-hidden');
};
hideDesignFrame = function (mes) {
jQuery('body, html').removeClass('nbd-prevent-scroll');
jQuery('#container-online-designer').removeClass('is-visible');
backtoOption();
if (mes != null) {
setTimeout(function () {
alert(mes);
}, 700);
}
};
show_upload_thumb = function( arr ){
if( arr.length ){
jQuery('#nbdesigner-upload-title').show();
}else{
jQuery('#nbdesigner-upload-title').hide();
};
var html = '';
var d = new Date();
jQuery.each(arr, function (key, val) {
html += '
'+val.name+'
'
});
jQuery('#nbdesigner_upload_preview').html('').append(html);
};
jQuery('#nbdesign-new-template').on('click', function(){
showDesignFrame();
});
jQuery(window).on('resize', function () {
var width = jQuery(window).width(),
height = jQuery(window).height();
//jQuery('#container-online-designer').css({'height': height});
});
jQuery('.nbd-order-download-pdf-action').each(function(index) {
var download_pdf = jQuery(this),
loading_src = download_pdf.attr('data-loading-img'),
download_action = download_pdf.attr('data-action');
download_pdf.prepend('');
download_pdf.on('click', function(e){
download_action == 'download_pdf_in_order' ? NBDESIGNERPRODUCT.download_pdf_in_order(e, jQuery(this)) : NBDESIGNERPRODUCT.nbd_download_final_pdf(e, jQuery(this));
});
});
jQuery('.nbd-pdf-options').show();
jQuery.each(jQuery('.nbd-order-item-download-section'), function( index, value ){
var self = jQuery(this),
link = self.attr('data-href'),
download_title = self.attr('data-title'),
type = JSON.parse( self.attr('data-type') ),
type_len = 0
op_el = '';
if( type_len ) {
self.append(op_el);
self.append(''+download_title+'');
self.show()
};
});
/* Drag & Drop uplod file */
var nbdDropArea = jQuery('label[for="nbd-file-upload"]'),
nbdInput = jQuery('#nbd-file-upload');
var listFileUpload = [];
['dragenter', 'dragover'].forEach(function(eventName){
nbdDropArea.on(eventName, highlight)
});
['dragleave', 'drop'].forEach(function(eventName){
nbdDropArea.on(eventName, unhighlight)
});
function highlight(e) {
e.preventDefault();
e.stopPropagation();
nbdDropArea.addClass('highlight');
};
function unhighlight(e) {
e.preventDefault();
e.stopPropagation();
nbdDropArea.removeClass('highlight');
};
nbdDropArea.on('drop', handleDrop);
function handleDrop(e) {
if( jQuery('#accept-term').length && !jQuery('#accept-term').is(':checked') ) {
alert(NBDESIGNCONFIG.nbdlangs.alert_upload_term);
return;
}else{
if(e.originalEvent.dataTransfer){
if(e.originalEvent.dataTransfer.files.length) {
e.preventDefault();
e.stopPropagation();
handleFiles(e.originalEvent.dataTransfer.files);
}
}
}
};
nbdInput.on('click', function(e){
e.stopPropagation();
});
nbdInput.on('change', function(){
handleFiles(this.files);
});
function handleFiles(files) {
if(files.length > 0) uploadFile(files);
}
function uploadFile(files){
var file = files[0],
type = file.type.toLowerCase();
if( listFileUpload.length > (nbd_number-1) ) {
alert('Exceed number of upload files!');
return;
}
if( type == '' ){
type = file.name.substring(file.name.lastIndexOf('.')+1).toLowerCase();
}
type = type == 'image/jpeg' ? 'image/jpg' : type;
if( nbd_disallow_type != '' ){
var nbd_disallow_type_arr = nbd_disallow_type.toLowerCase().split(',');
var check = false;
nbd_disallow_type_arr.forEach(function(value){
value = value == 'jpeg' ? 'jpg' : value;
if( type.indexOf(value) > -1 ){
check = true;
}
});
if( check ){
alert('Disallow extensions: ' + nbd_disallow_type);
return;
}
}
if( nbd_allow_type != '' ){
var nbd_allow_type_arr = nbd_allow_type.toLowerCase().split(',');
var check = false;
nbd_allow_type_arr.forEach(function(value){
value = value == 'jpeg' ? 'jpg' : value;
if( type.indexOf(value) > -1 ){
check = true;
}
});
if( !check ){
alert('Only support: ' + nbd_allow_type);
return;
}
}
if (file.size > nbd_maxsize * 1024 * 1024 ) {
alert('Max file size' + nbd_maxsize + " MB");
return;
}else if(file.size < nbd_minsize * 1024 * 1024){
alert('Min file size' + nbd_minsize + " MB");
return;
};
var formData = new FormData;
formData.append('file', file);
jQuery('.nbd-upload-loading').addClass('is-visible');
jQuery('.upload-zone label').addClass('is-loading');
jQuery('.nbd-m-upload-design-wrap').addClass('is-loading');
var first_time = listFileUpload.length > 0 ? 2 : 1;
var product_id = jQuery('[name="nbd-add-to-cart"]').attr('value');
var variation_id = jQuery('[name="variation_id"]').length > 0 ? jQuery('[name="variation_id"]').attr('value') : 0;
formData.append('first_time', first_time);
formData.append('action', 'nbd_upload_design_file');
formData.append('task', 'new');
formData.append('product_id', product_id);
formData.append('variation_id', variation_id);
formData.append('nonce', nbds_frontend.nonce);
jQuery.ajax({
url: nbds_frontend.url,
method: "POST",
dataType: 'json',
cache: false,
contentType: false,
processData: false,
data: formData,
complete: function() {
jQuery('.nbd-upload-loading').removeClass('is-visible');
jQuery('.upload-zone label').removeClass('is-loading');
jQuery('.nbd-m-upload-design-wrap').removeClass('is-loading');
},
success: function(data) {
if( data.flag == 1 ){
listFileUpload.push( { src : data.src, name : data.name } );
buildPreviewUpload();
}else{
alert(data.mes);
}
}
});
}
window.removeUploadFile = function(index){
listFileUpload.splice(index, 1);
buildPreviewUpload();
};
function buildPreviewUpload(){
show_upload_thumb(listFileUpload);
NBDESIGNERPRODUCT.update_nbu_value(listFileUpload);
var html = '';
listFileUpload.forEach(function(file, index){
html += ''+file.name+'
× ';
});
jQuery('.upload-design-preview').html(html);
}
NBDESIGNERPRODUCT.nbdesigner_ready();
jQuery('input[name="variation_id"]').on('change', function(){
if(jQuery('input[name="variation_id"]').val() != ''){
NBDESIGNERPRODUCT.nbdesigner_ready();
}else{
jQuery('#triggerDesign').addClass('nbdesigner_disable');
}
});
jQuery('.single_add_to_cart_button').on('click', function(e){
if( window.preventSubmitFormCart ){
e.preventDefault();
jQuery(jQuery(this).parents('form')).addClass( 'processing' ).block( {
message: null,
overlayCSS: {
background: '#fff',
opacity: 0.6
}
});
var scope = angular.element(document.getElementById("designer-controller")).scope();
scope.saveData();
return false;
}
});
NBDESIGNERPRODUCT.qty = jQuery('input[name="quantity"]').val();
jQuery('input[name="quantity"]').on('change', function(){
NBDESIGNERPRODUCT.qty = jQuery('input[name="quantity"]').val();
var frame = document.getElementById('onlinedesigner-designer');
if( frame ){
frame.contentWindow.postMessage('change_nbd_qty', window.location.origin);
}
});
});
jQuery(document).on('quick-view-displayed', function(){
if( jQuery('.nbd-option-in-wqv').length > 0 ){
jQuery(".nbd-option-in-wqv").find("script").each(function(i) {
eval(jQuery(this).text());
});
}
});
jQuery(document).on('reset_nbo_options', function(){
jQuery('#nbdesigner-preview-title').hide();
jQuery('#nbd-actions').hide();
jQuery('#nbdesigner_frontend_area').html('');
jQuery('#nbdesigner-upload-title').hide();
jQuery('#nbdesigner_upload_preview').html('');
var product_id = jQuery('[name="nbd-add-to-cart"]').attr('value');
var variation_id = jQuery('[name="variation_id"]').length > 0 ? jQuery('[name="variation_id"]').attr('value') : 0;
jQuery.ajax({
url: nbds_frontend.url,
method: "POST",
data: {
action : 'nbd_remove_design_and_file',
product_id : product_id,
variation_id : variation_id,
nonce: nbds_frontend.nonce
}
}).done(function(data){
console.log('success!');
});
});
var share_image_url = '';
var NBDESIGNERPRODUCT = {
copy_source: function( e ){
jQuery(e).prev('.nbd-cart-design-url').select();
document.execCommand("copy");
},
hide_loading_iframe: function(){
jQuery("#nbd_processing").hide();
},
save_for_later: function(){
jQuery('img.nbd-save-loading').removeClass('hide');
jQuery.ajax({
url: nbds_frontend.url,
method: "POST",
data: {
action : 'nbd_save_for_later',
product_id : NBDESIGNERPRODUCT.product_id,
variation_id : NBDESIGNERPRODUCT.variation_id,
folder: NBDESIGNERPRODUCT.folder,
nonce: nbds_frontend.nonce
}
}).done(function(data){
if( data.flag == 1 ){
jQuery('img.nbd-save-loading').addClass('hide');
jQuery('a.nbd-save-for-later').addClass('saved');
jQuery('a.nbd-save-for-later svg').show();
jQuery.each( jQuery('#nbd-share-group a'), function(){
var d = new Date();
var href = jQuery(this).attr('data-href');
var share_url =nbd_create_own_page + '?product_id=' + NBDESIGNERPRODUCT.product_id + '&variation_id=' + NBDESIGNERPRODUCT.variation_id + '&reference=' + data.folder + '&nbd_share_id=' + data.folder + '&t=' + d.getTime();
var _href = href + encodeURIComponent(share_url);
if( jQuery(this).attr('id') == 'nbd-pinterest' ) _href += '&media=' + encodeURIComponent(share_image_url) + '&description=' + jQuery(this).attr('data-description');
if( jQuery(this).attr('data-text') != undefined ) _href += '&text=' + jQuery(this).attr('data-text');
jQuery(this).attr('href', _href);
});
jQuery('.saved-design-link').show();
}else{
alert('Opps! Error while save design!');
};
});
},
download_pdf: function(){
jQuery('img.nbd-pdf-loading').removeClass('hide');
jQuery.ajax({
url: nbds_frontend.url,
method: "POST",
data: {
action : 'nbd_frontend_download_pdf',
nbd_item_key : NBDESIGNERPRODUCT.folder,
nonce: nbds_frontend.nonce
}
}).done(function(data){
jQuery('img.nbd-pdf-loading').addClass('hide');
var data = JSON.parse(data);
var filename = 'design.pdf',
a = document.createElement('a');
a.setAttribute('href', data[0].link);
a.setAttribute('download', filename);
a.click()
});
},
download_pdf_in_order: function( e, el ){
e.preventDefault();
var sefl = el,
nbd_item_key = sefl.attr('data-nbd-item'),
order_id = sefl.attr('data-order');
sefl.find('span').addClass('active');
jQuery.ajax({
url: nbds_frontend.url,
method: "POST",
data: {
action : 'nbd_frontend_download_pdf',
nbd_item_key : nbd_item_key,
order_id : order_id,
nonce: nbds_frontend.nonce
}
}).done(function(data){
sefl.find('span').removeClass('active');
var data = JSON.parse(data);
var filename = 'design.pdf',
a = document.createElement('a');
a.setAttribute('href', data[0].link);
a.setAttribute('download', filename);
a.click()
});
},
nbd_download_final_pdf: function( e, el ){
e.preventDefault();
var sefl = el,
nbd_item_key = sefl.attr('data-nbd-item');
sefl.find('span').addClass('active');
jQuery.ajax({
url: nbds_frontend.url,
method: "POST",
data: {
action : 'nbd_download_final_pdf',
nbd_item_key : nbd_item_key,
nonce: nbds_frontend.nonce
}
}).done(function(data){
sefl.find('span').removeClass('active');
var data = JSON.parse(data);
if( data.flag == 1 ){
data.pdf.forEach(function(item, index){
var filename = 'design_' + index + '.pdf',
a = document.createElement('a');
a.setAttribute('href', item);
a.setAttribute('download', filename);
a.click()
});
}
});
},
insert_customer_design: function (data) {
},
hide_iframe_design: function () {
var height = -jQuery(window).height();
jQuery('#container-online-designer').removeClass('show');
jQuery('#container-online-designer').stop().animate({
top: height,
opacity: 0
}, 500);
},
show_design_thumbnail: function (arr, task, config) {
if( jQuery('#triggerDesign').length > 0 ){
jQuery('button[type="submit"].single_add_to_cart_button').show();
};
jQuery('#nbdesigner-preview-title').show();
jQuery('#nbd-actions').show();
jQuery('#nbdesign-new-template').show();
if(task == 'create_template' || task == 'edit_template'){
jQuery('#triggerDesign').text('Edit Template');
}
var html = '';
var d = new Date();
var count = 1;
var has_config = false;
var product = [];
if( config ){
has_config = true;
product = config.product;
}
jQuery.each(arr, function (key, val) {
if(count == 1) share_image_url = val;
count++;
var p_index = key.slice(6);
var data_width = has_config ? product[p_index].img_src_width : '500',
data_height = has_config ? product[p_index].img_src_height : '500',
data_title = has_config ? product[p_index].orientation_name : 'Side ' + p_index;
html += ''
});
jQuery.each( jQuery('#nbd-share-group a'), function(){
var d = new Date();
var href = jQuery(this).attr('data-href');
var share_url =nbd_create_own_page + '?product_id=' + NBDESIGNERPRODUCT.product_id + '&variation_id=' + NBDESIGNERPRODUCT.variation_id + '&reference=' + NBDESIGNERPRODUCT.folder + '&nbd_share_id=' + NBDESIGNERPRODUCT.folder + '&t=' + d.getTime();
var _href = href + encodeURIComponent(share_url);
if( jQuery(this).attr('id') == 'nbd-pinterest' ) _href += '&media=' + encodeURIComponent(share_image_url) + '&description=' + jQuery(this).attr('data-description');
if( jQuery(this).attr('data-text') != undefined ) _href += '&text=' + jQuery(this).attr('data-text');
jQuery(this).attr('href', _href);
});
jQuery('#nbdesigner_frontend_area').html('');
jQuery('#nbdesigner_frontend_area').append(html);
hideDesignFrame();
jQuery(document).triggerHandler( 'after_show_design_thumbnail' );
var flipbook = jQuery("[class*=real3dflipbook]:first");
/* Integate with real3dflipbook */
if( flipbook.length > 0 ){
var _class = flipbook.attr('class'),
obj = 'real3dflipbook_' + _class.substring(_class.length - 1);
var options = window[obj];
var json_str = options.replace(/"/g, '"');
json_str = json_str.replace(/“/g, '"');
json_str = json_str.replace(/”/g, '"');
json_str = json_str.replace(/″/g, '"');
json_str = json_str.replace(/„/g, '"');
json_str = json_str.replace(/« /g, '"');
json_str = json_str.replace(/ »/g, '"');
options = jQuery.parseJSON(json_str);
options.assets = {
preloader: options.rootFolder + "images/preloader.jpg",
left: options.rootFolder + "images/left.png",
overlay: options.rootFolder + "images/overlay.jpg",
flipMp3: options.rootFolder + "mp3/turnPage.mp3",
shadowPng: options.rootFolder + "images/shadow.png"
};
var pages = [];
jQuery.each(arr, function (key, val) {
pages.push({
htmlContent: '',
src: val,
thumb: val,
title: key
});
});
options.pages = pages;
options.pdfjsworkerSrc = options.rootFolder + 'js/pdf.worker.min.js'
function convertStrings(obj) {
jQuery.each(obj, function (key, value) {
if (typeof (value) == 'object' || typeof (value) == 'array') {
convertStrings(value)
} else if (!isNaN(value)) {
if (obj[key] === "")
delete obj[key]
else
obj[key] = Number(value)
} else if (value == "true") {
obj[key] = true
} else if (value == "false") {
obj[key] = false
}
});
}
convertStrings(options);
for (var i = 0; i < options.pages.length; i++) {
if (typeof (options.pages[i].htmlContent) != 'undefined' && options.pages[i].htmlContent != "" && options.pages[i].htmlContent != "undefined")
options.pages[i].htmlContent = unescape(options.pages[i].htmlContent)
else
delete options.pages[i].htmlContent
}
options.social = [];
if (options.facebook == "")
delete options.facebook
if (options.twitter == "")
delete options.twitter
if (options.google_plus == "")
delete options.google_plus
if (options.pinterest == "")
delete options.pinterest
if (options.email == "")
delete options.email
if (options.pageWidth == "")
delete options.pageWidth
if (options.pageHeight == "")
delete options.pageHeight
if (typeof (options.btnShare) == 'undefined' || !options.btnShare)
options.btnShare = {enabled: false}
if (typeof (options.btnNext) == 'undefined' || !options.btnNext)
options.btnNext = {enabled: false}
if (typeof (options.btnPrev) == 'undefined' || !options.btnPrev)
options.btnPrev = {enabled: false}
if (typeof (options.btnZoomIn) == 'undefined' || !options.btnZoomIn)
options.btnZoomIn = {enabled: false}
if (typeof (options.btnZoomOut) == 'undefined' || !options.btnZoomOut)
options.btnZoomOut = {enabled: false}
if (typeof (options.btnToc) == 'undefined' || !options.btnToc)
options.btnToc = {enabled: false}
if (typeof (options.btnThumbs) == 'undefined' || !options.btnThumbs)
options.btnThumbs = {enabled: false}
if (typeof (options.btnDownloadPages) == 'undefined' || !options.btnDownloadPages)
options.btnDownloadPages = {enabled: false}
if (typeof (options.btnDownloadPdf) == 'undefined' || !options.btnDownloadPdf)
options.btnDownloadPdf = {enabled: false}
if (typeof (options.btnExpand) == 'undefined' || !options.btnExpand)
options.btnExpand = {enabled: false}
if (typeof (options.btnExpandLightbox) == 'undefined' || !options.btnExpandLightbox)
options.btnExpandLightbox = {enabled: false}
if (typeof (options.btnSound) == 'undefined' || !options.btnSound)
options.btnSound = {enabled: false}
if (typeof (options.btnShare.icon) == 'undefined' || options.btnShare.icon == '')
options.btnShare.icon = "fa-share";
if (typeof (options.btnShare.title) == 'undefined' || options.btnShare.title == '')
options.btnShare.title = "Share";
if (typeof (options.btnNext.icon) == 'undefined' || options.btnNext.icon == '')
options.btnNext.icon = "fa-chevron-right";
if (typeof (options.btnNext.title) == 'undefined' || options.btnNext.title == '')
options.btnNext.title = "Next page";
if (typeof (options.btnPrev.icon) == 'undefined' || options.btnPrev.icon == '')
options.btnPrev.icon = "fa-chevron-left";
if (typeof (options.btnPrev.title) == 'undefined' || options.btnPrev.title == '')
options.btnPrev.title = "Previous page";
if (typeof (options.btnZoomIn.icon) == 'undefined' || options.btnZoomIn.icon == '')
options.btnZoomIn.icon = "fa-plus";
if (typeof (options.btnZoomIn.title) == 'undefined' || options.btnZoomIn.title == '')
options.btnZoomIn.title = "Zoom in";
if (typeof (options.btnZoomOut.icon) == 'undefined' || options.btnZoomOut.icon == '')
options.btnZoomOut.icon = "fa-minus";
if (typeof (options.btnZoomOut.title) == 'undefined' || options.btnZoomOut.title == '')
options.btnZoomOut.title = "Zoom out";
if (typeof (options.btnToc.icon) == 'undefined' || options.btnToc.icon == '')
options.btnToc.icon = "fa-list-ol";
if (typeof (options.btnToc.title) == 'undefined' || options.btnToc.title == '')
options.btnToc.title = "Table of content";
if (typeof (options.btnThumbs.icon) == 'undefined' || options.btnThumbs.icon == '')
options.btnThumbs.icon = "fa-th-large";
if (typeof (options.btnThumbs.title) == 'undefined' || options.btnThumbs.title == '')
options.btnThumbs.title = "Pages";
if (typeof (options.btnDownloadPages.icon) == 'undefined' || options.btnDownloadPages.icon == '')
options.btnDownloadPages.icon = "fa-download";
if (typeof (options.btnDownloadPages.title) == 'undefined' || options.btnDownloadPages.title == '')
options.btnDownloadPages.title = "Download pages";
// if(options.downloadPagesUrl)
// options.btnDownloadPages.url = options.downloadPagesUrl;
if (typeof (options.btnDownloadPdf.icon) == 'undefined' || options.btnDownloadPdf.icon == '')
options.btnDownloadPdf.icon = "fa-file";
if (typeof (options.btnDownloadPdf.title) == 'undefined' || options.btnDownloadPdf.title == '')
options.btnDownloadPdf.title = "Download PDF";
// if(options.downloadPdfUrl)
// options.btnDownloadPdf.url = options.downloadPdfUrl;
if (typeof (options.btnExpand.icon) == 'undefined' || options.btnExpand.icon == '')
options.btnExpand.icon = "fa-expand";
if (typeof (options.btnExpand.iconAlt) == 'undefined' || options.btnExpand.iconAlt == '')
options.btnExpand.iconAlt = "fa-compress";
if (typeof (options.btnExpand.title) == 'undefined' || options.btnExpand.title == '')
options.btnExpand.title = "Toggle fullscreen";
if (typeof (options.btnExpandLightbox.icon) == 'undefined' || options.btnExpandLightbox.icon == '')
options.btnExpandLightbox.icon = "fa-expand";
if (typeof (options.btnExpandLightbox.iconAlt) == 'undefined' || options.btnExpandLightbox.iconAlt == '')
options.btnExpandLightbox.iconAlt = "fa-compress";
if (typeof (options.btnExpandLightbox.title) == 'undefined' || options.btnExpandLightbox.title == '')
options.btnExpandLightbox.title = "Toggle fullscreen";
if (typeof (options.btnSound.icon) == 'undefined' || options.btnSound.icon == '')
options.btnSound.icon = "fa-volume-up";
if (typeof (options.btnSound.title) == 'undefined' || options.btnSound.title == '')
options.btnSound.title = "Sound";
if (typeof (options.viewMode) == 'undefined')
options.viewMode = "webgl"
if (options.btnDownloadPages.url) {
options.btnDownloadPages.url = options.btnDownloadPages.url.replace(/\\/g, '/')
options.btnDownloadPages.enabled = true
} else
options.btnDownloadPages.enabled = false
if (options.btnDownloadPdf.url) {
options.btnDownloadPdf.url = options.btnDownloadPdf.url.replace(/\\/g, '/')
options.btnDownloadPdf.enabled = true
} else
options.btnDownloadPdf.enabled = false;
var flipcon = jQuery('.real3dflipbook-1');
flipcon.flipBook(options);
}
},
get_gallery_items: function(){
var $slides = jQuery('.img-con'),
items = [];
if ($slides.length > 0) {
$slides.each(function (i, el) {
var img = jQuery(el).find('img');
if (img.length) {
var item = {
src: img.attr('src'),
w: parseInt( img.attr('data-width') ) * 2,
h: parseInt( img.attr('data-height') ) * 2,
title: img.attr('data-title')
};
items.push(item);
}
});
}
return items;
},
show_lightbox: function( e ){
if(!PhotoSwipe) return;
var pswpElement = jQuery( '.pswp' )[0],
items = this.get_gallery_items(),
eventTarget = jQuery( e.target ),
clicked;
clicked = eventTarget.closest( '.img-con' );
var options = jQuery.extend( {
index: jQuery( clicked ).index()
}, wc_single_product_params.photoswipe_options );
// Initializes and opens PhotoSwipe.
var photoswipe = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options );
photoswipe.init();
},
nbdesigner_ready: function(){
if(jQuery('input[name="variation_id"]').length > 0){
var vid = jQuery('input[name="variation_id"]').val();
if( ( "undefined" != typeof is_nbd_bulk_variation) || ( vid != '' && parseInt(vid) > 0 ) ) {
jQuery('#triggerDesign').removeClass('nbdesigner_disable');
}
}else{
jQuery('#triggerDesign').removeClass('nbdesigner_disable');
}
jQuery('.nbdesigner-img-loading').addClass('hide');
},
nbdesigner_unready: function(){
jQuery('#triggerDesign').addClass('nbdesigner_disable');
jQuery('.nbdesigner-img-loading').removeClass('hide');
},
get_sugget_design: function(product_id, variation_id){
if(!jQuery('.nbdesigner-related-product-image').length) return;
var products = [];
jQuery.each(jQuery('.nbdesigner-related-product-image'), function(){
products.push(jQuery(this).attr('data-id'));
jQuery(this).parent('.nbdesigner-related-product-item').find('.nbdesigner-overlay').addClass('open');
});
if( !products.length ) return;
jQuery.ajax({
url: nbds_frontend.url,
method: "POST",
data: {
"action": "nbdesigner_get_suggest_design",
"products": products,
"product_id" : product_id,
"variation_id" : variation_id,
"nonce": nbds_frontend.nonce
}
}).done(function(data){
data = JSON.parse(data);
jQuery.each(jQuery('.nbdesigner-related-product-image'), function(){
if(data['flag']){
var href = jQuery(this).attr('href'),
data_id = jQuery(this).attr('data-id');
jQuery(this).attr('href', addParameter(href, 'nbds-ref', data['nbd_item_key'], false));
jQuery(this).find('img').attr({'src' : data['images'][data_id], 'srcset' : ''});
}
jQuery(this).parent('.nbdesigner-related-product-item').find('.nbdesigner-overlay').removeClass('open');
});
});
},
update_nbu_value: function( arr ){
var files = '';
jQuery.each(arr, function (key, val) {
files += key == 0 ? val.name : '|' + val.name;
});
if( jQuery('#triggerDesign').length > 0 ){
jQuery('button[type="submit"].single_add_to_cart_button').show();
};
jQuery('input[name="nbd-upload-files"]').val( files );
},
remove_design: function(type, cart_item_key){
jQuery('form.woocommerce-cart-form').addClass( 'processing' ).block( {
message: null,
overlayCSS: {
background: '#fff',
opacity: 0.6
}
} );
jQuery.ajax({
url: nbds_frontend.url,
method: "POST",
data: {
"action": "nbd_remove_cart_design",
"type": type,
"cart_item_key": cart_item_key,
"nonce": nbds_frontend.nonce
}
}).done(function(data){
jQuery('form.woocommerce-cart-form').removeClass( 'processing' ).unblock();
if(data == 'success'){
var designSection = jQuery('#nbd' + cart_item_key),
uploadSection = jQuery('#nbu' + cart_item_key),
extraPrice = jQuery('#nbx' + cart_item_key);
var sections = designSection.length + uploadSection.length;
if( type == 'custom' ) {
designSection.remove();
}else {
uploadSection.remove();
}
if( sections < 2 ) {
extraPrice.remove();
/* Update cart after remove design and upload files */
jQuery( '.woocommerce-cart-form input[name="update_cart"]' ).prop( 'disabled', false ).trigger( 'click' );
}
}
});
},
delete_my_design: function( e ){
var con = confirm(nbds_frontend.confirm_delete_design);
if( con ){
var sefl = jQuery(e),
design_id = sefl.attr('data-design'),
tr_con = sefl.parents('tr.order');
jQuery('.container-design').addClass( 'processing' ).block( {
message: null,
overlayCSS: {
background: '#fff',
opacity: 0.6
}
} );
jQuery.ajax({
url: nbds_frontend.url,
method: "POST",
data: {
action : 'nbd_delete_my_design',
design_id : design_id,
nonce: nbds_frontend.nonce
}
}).done(function(data){
jQuery('.container-design').removeClass( 'processing' ).unblock();
if(data.flag == 1){
tr_con.remove();
alert(nbds_frontend.delete_success)
}
})
}
},
add_design_to_cart: function(e){
var sefl = jQuery(e),
design_id = sefl.attr('data-design');
jQuery('.container-design').addClass( 'processing' ).block( {
message: null,
overlayCSS: {
background: '#fff',
opacity: 0.6
}
} );
jQuery.ajax({
url: nbds_frontend.url,
method: "POST",
data: {
action : 'nbd_add_design_to_cart',
design_id : design_id,
nonce: nbds_frontend.nonce
}
}).done(function(data){
jQuery('.container-design').removeClass( 'processing' ).unblock();
if(data.flag == 1){
window.location = nbds_frontend.cart_url;
}else{
alert('Opp! Try again later')
}
})
},
add_variation_bulk_form: function(){
var variation_wrap = jQuery('.nbd-variation-wrap').first(),
new_variation_wrap = variation_wrap.clone();
new_variation_wrap.appendTo('#nbd-variations-wrap');
jQuery(new_variation_wrap).find('.nbd-variation-quantity').val(1);
this.init_nbd_variation_value();
},
remove_variation_bulk_form: function(e){
var self = jQuery(e),
wrap = self.closest('.nbd-variation-wrap');
wrap.remove();
this.init_nbd_variation_value();
},
init_nbd_variation_value: function(){
var nbd_variation_value = '',
has_quantity = false;
jQuery('.nbd-variation-value').val(nbd_variation_value);
jQuery('.nbd-variation-wrap').each(function(index){
var variation_id = jQuery(this).find('select').val();
var quantity = jQuery(this).find('input').val();
if( quantity > 0 ) has_quantity = true;
nbd_variation_value += index > 0 ? '|' : '';
nbd_variation_value += variation_id + '_' + quantity;
});
jQuery('.nbd-variation-value').val(nbd_variation_value);
if( has_quantity ){
jQuery('.single_add_to_cart_button').removeClass('disabled wc-variation-selection-needed');
}else{
jQuery('.single_add_to_cart_button').addClass('disabled wc-variation-selection-needed');
}
},
change_nbd_dokan_format: function( e ){
var type = jQuery(e).val(),
el_action = jQuery(e).parents('.nbd-dokan-download-wrap').find('a.nbd-dokan-download'),
href = el_action.attr('data-href');
el_action.attr('href', href + '&type=' + type);
},
change_nbd_download_type: function( e ){
var type = jQuery(e).val(),
parent = jQuery(e).parents('.nbd-order-item-download-section'),
el_action = parent.find('a.nbd-order-download-file'),
link = parent.attr('data-href');
if( type == 'pdf' ) {
jQuery('#nbd-show-bleed')
jQuery('.nbd-pdf-options').removeClass('nbd-hide');
}
el_action.attr('href', link + '&type=' + type);
},
change_nbd_download_pdf_type: function( ){
jQuery.each(jQuery('.nbd-order-item-download-section'), function(){
var _bleed = jQuery('#nbd-show-bleed').is(':checked') ? 'yes' : 'no';
var _multi_file = jQuery('#nbd-multi-file').is(':checked') ? 'yes' : 'no';
jQuery('.nbd-pdf-options').addClass('nbd-hide');
jQuery.each( jQuery('.nbd-order-item-download-section'), function(){
var link = jQuery(this).find('.nbd-order-download-file').attr('href');
link += '&multi_file=' + _multi_file + '&bleed=' + _bleed;
jQuery(this).find('.nbd-order-download-file').attr('href', link);
})
});
},
qty: 1,
updateQty: function(qty, variations){
jQuery('input[name="quantity"]').val(qty);
/*if( variations ){
NBDESIGNERPRODUCT.variations = JSON.parse( JSON.stringify(variations) );
jQuery(document).triggerHandler( 'change_nbo_variations' );
}*/
}
};
function addParameter(url, parameterName, parameterValue, atStart/*Add param before others*/) {
var replaceDuplicates = true;
var urlhash = '';
if (url.indexOf('#') > 0) {
var cl = url.indexOf('#');
urlhash = url.substring(url.indexOf('#'), url.length);
} else {
urlhash = '';
cl = url.length;
}
var sourceUrl = url.substring(0, cl);
var urlParts = sourceUrl.split("?");
var newQueryString = "";
if (urlParts.length > 1){
var parameters = urlParts[1].split("&");
for (var i = 0; (i < parameters.length); i++)
{
var parameterParts = parameters[i].split("=");
if (!(replaceDuplicates && parameterParts[0] == parameterName))
{
if (newQueryString == "")
newQueryString = "?";
else
newQueryString += "&";
newQueryString += parameterParts[0] + "=" + (parameterParts[1] ? parameterParts[1] : '');
}
}
}
if (newQueryString == "") newQueryString = "?";
if (atStart) {
newQueryString = '?' + parameterName + "=" + parameterValue + (newQueryString.length > 1 ? '&' + newQueryString.substring(1) : '');
} else {
if (newQueryString !== "" && newQueryString != '?')
newQueryString += "&";
newQueryString += parameterName + "=" + (parameterValue ? parameterValue : '');
}
return urlParts[0] + newQueryString + urlhash;
};
/*!
* imagesLoaded PACKAGED v4.1.4
* JavaScript is all like "You images are done yet or what?"
* MIT License
*/
!function(e,t){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",t):"object"==typeof module&&module.exports?module.exports=t():e.EvEmitter=t()}("undefined"!=typeof window?window:this,function(){function e(){}var t=e.prototype;return t.on=function(e,t){if(e&&t){var i=this._events=this._events||{},n=i[e]=i[e]||[];return n.indexOf(t)==-1&&n.push(t),this}},t.once=function(e,t){if(e&&t){this.on(e,t);var i=this._onceEvents=this._onceEvents||{},n=i[e]=i[e]||{};return n[t]=!0,this}},t.off=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){var n=i.indexOf(t);return n!=-1&&i.splice(n,1),this}},t.emitEvent=function(e,t){var i=this._events&&this._events[e];if(i&&i.length){i=i.slice(0),t=t||[];for(var n=this._onceEvents&&this._onceEvents[e],o=0;o