HEX
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.30
System: Linux iZj6c1151k3ad370bosnmsZ 3.10.0-1160.76.1.el7.x86_64 #1 SMP Wed Aug 10 16:21:17 UTC 2022 x86_64
User: root (0)
PHP: 7.4.30
Disabled: NONE
Upload Files
File: /var/www/html/sparkle/wp-content/plugins/lumise/assets/js/app.min.js
jQuery(document).ready((function(t){if("undefined"==typeof lumise_app_params)return!1;window.lumise={e:{tools:t("#lumise-top-tools"),layers:t("#lumise-layers"),main:t("#LumiseDesign")},i:function(t){return lumise.data.js_lang[t.toString()]},f:function(t){void 0===t||""===t||!1===t?(clearTimeout(lumise.ops.ftimer),document.getElementById("LumiseDesign").setAttribute("data-processing",""),document.getElementById("LumiseDesign").setAttribute("data-msg","")):(clearTimeout(lumise.ops.ftimer),lumise.ops.ftimer=setTimeout((function(t){document.getElementById("LumiseDesign").setAttribute("data-processing","true"),document.getElementById("LumiseDesign").setAttribute("data-msg",t)}),300,t))},data:{},filters:[],ops:{downon:null,drag_start:null,first:{},categories:{},before_unload:null,excmobile:!1,first_completed:!1,session_designs:[],my_designs:{},export_list:["id","src","origin_src","evented","visible","selectable","text","fontFamily","fontSize","fontStyle","textDecoration","fontWeight","font","angle","bridge","name","charSpacing","lineHeight","fill","price","resource","resource_id","fx","opacity","fxOrigin","colors","originX","originY","lockPosition","group_pos","imagebox","boxbtn","template","full_src"],color_maps:{"#000000":"black","#000080":"navy","#00008b":"darkblue","#0000cd":"mediumblue","#0000ff":"blue","#006400":"darkgreen","#008000":"green","#008080":"teal","#008b8b":"darkcyan","#00bfff":"deepskyblue","#00ced1":"darkturquoise","#00fa9a":"mediumspringgreen","#00ff00":"lime","#00ff7f":"springgreen","#00ffff":"cyan","#191970":"midnightblue","#1e90ff":"dodgerblue","#20b2aa":"lightseagreen","#228b22":"forestgreen","#2e8b57":"seagreen","#2f4f4f":"darkslategrey","#32cd32":"limegreen","#3cb371":"mediumseagreen","#40e0d0":"turquoise","#4169e1":"royalblue","#4682b4":"steelblue","#483d8b":"darkslateblue","#48d1cc":"mediumturquoise","#4b0082":"indigo","#556b2f":"darkolivegreen","#5f9ea0":"cadetblue","#6495ed":"cornflowerblue","#663399":"rebeccapurple","#66cdaa":"mediumaquamarine","#696969":"dimgrey","#6a5acd":"slateblue","#6b8e23":"olivedrab","#708090":"slategrey","#778899":"lightslategrey","#7b68ee":"mediumslateblue","#7cfc00":"lawngreen","#7fff00":"chartreuse","#7fffd4":"aquamarine","#800000":"maroon","#800080":"purple","#808000":"olive","#808080":"grey","#87ceeb":"skyblue","#87cefa":"lightskyblue","#8a2be2":"blueviolet","#8b0000":"darkred","#8b008b":"darkmagenta","#8b4513":"saddlebrown","#8fbc8f":"darkseagreen","#90ee90":"lightgreen","#9370db":"mediumpurple","#9400d3":"darkviolet","#98fb98":"palegreen","#9932cc":"darkorchid","#9acd32":"yellowgreen","#a0522d":"sienna","#a52a2a":"brown","#a9a9a9":"darkgrey","#add8e6":"lightblue","#adff2f":"greenyellow","#afeeee":"paleturquoise","#b0c4de":"lightsteelblue","#b0e0e6":"powderblue","#b22222":"firebrick","#b8860b":"darkgoldenrod","#ba55d3":"mediumorchid","#bc8f8f":"rosybrown","#bdb76b":"darkkhaki","#c0c0c0":"silver","#c71585":"mediumvioletred","#cd5c5c":"indianred","#cd853f":"peru","#d2691e":"chocolate","#d2b48c":"tan","#d3d3d3":"lightgrey","#d8bfd8":"thistle","#da70d6":"orchid","#daa520":"goldenrod","#db7093":"palevioletred","#dc143c":"crimson","#dcdcdc":"gainsboro","#dda0dd":"plum","#deb887":"burlywood","#e0ffff":"lightcyan","#e6e6fa":"lavender","#e9967a":"darksalmon","#ee82ee":"violet","#eee8aa":"palegoldenrod","#f08080":"lightcoral","#f0e68c":"khaki","#f0f8ff":"aliceblue","#f0fff0":"honeydew","#f0ffff":"azure","#f4a460":"sandybrown","#f5deb3":"wheat","#f5f5dc":"beige","#f5f5f5":"whitesmoke","#f5fffa":"mintcream","#f8f8ff":"ghostwhite","#fa8072":"salmon","#faebd7":"antiquewhite","#faf0e6":"linen","#fafad2":"lightgoldenrodyellow","#fdf5e6":"oldlace","#ff0000":"red","#ff00ff":"magenta","#ff1493":"deeppink","#ff4500":"orangered","#ff6347":"tomato","#ff69b4":"hotpink","#ff7f50":"coral","#ff8c00":"darkorange","#ffa07a":"lightsalmon","#ffa500":"orange","#ffb6c1":"lightpink","#ffc0cb":"pink","#ffd700":"gold","#ffdab9":"peachpuff","#ffdead":"navajowhite","#ffe4b5":"moccasin","#ffe4c4":"bisque","#ffe4e1":"mistyrose","#ffebcd":"blanchedalmond","#ffefd5":"papayawhip","#fff0f5":"lavenderblush","#fff5ee":"seashell","#fff8dc":"cornsilk","#fffacd":"lemonchiffon","#fffaf0":"floralwhite","#fffafa":"snow","#ffff00":"yellow","#ffffe0":"lightyellow","#fffff0":"ivory","#ffffff":"white"},thumbn_preview:!0},trigger:function(t){var e;for(var i in t.events){if("function"==typeof t.events[i])e=t.events[i];else{if("function"!=typeof t[t.events[i]])continue;e=t[t.events[i]]}(i=i.split(",")).map((function(i){void 0===(i=i.split(":"))[1]&&(i[1]="click"),""===i[0]?t.el.off(i[1]).on(i[1],t,e):t.el.find(i[0]).off(i[1]).on(i[1],t,e)}))}},add_filter:function(t,e,i){void 0===i&&(i=10),void 0===this.filters[i]&&(this.filters[i]={}),void 0===this.filters[i][t]&&(this.filters[i][t]=[]),"function"==typeof e&&this.filters[i][t].push(e)},apply_filter:function(t,e,i){return this.apply_filters(t,e,i)},apply_filters:function(t,e,i){return this.filters.map((function(a){void 0!==a[t]&&a[t].map((function(t){"function"==typeof t&&(e=t(e,i))}))})),e},add_action:function(t,e,i){this.actions.add(t,e,i)},do_action:function(t,e,i){return this.actions.do(t,e,i)},itemInStage:function(t){lumise.actions.do("price_action",t)},extends:{controls:{calcCoords:function(t){var e=this.angle*(Math.PI/180),i=this.getViewportTransform(),a=t?this._getTransformedDimensions():this._calculateCurrentDimensions(),s=a.x,l=a.y,n=Math.sin(e),o=Math.cos(e),r=s>0?Math.atan(l/s):0,u=s/Math.cos(r)/2,c=Math.cos(r+e)*u,d=Math.sin(r+e)*u,m=this.getCenterPoint(),p=t?m:fabric.util.transformPoint(m,i),g=new fabric.Point(p.x-c,p.y-d),f=new fabric.Point(g.x+s*o,g.y+s*n),h=new fabric.Point(g.x-l*n,g.y+l*o),v=new fabric.Point(p.x+c,p.y+d);if(!t)var b=new fabric.Point((g.x+h.x)/2,(g.y+h.y)/2),_=new fabric.Point((f.x+g.x)/2,(f.y+g.y)/2),x=new fabric.Point((v.x+f.x)/2,(v.y+f.y)/2),w=new fabric.Point((v.x+h.x)/2,(v.y+h.y)/2),y=new fabric.Point(g.x+s*o,g.y+s*n);p={tl:g,tr:f,br:v,bl:h};return t||(p.ml=b,p.mt=_,p.mr=x,p.mb=w,p.mtr=y),p},drawControls:function(t){if(!this.hasControls)return this;var e=this._calculateCurrentDimensions(),i=e.x,a=e.y,s=this.cornerSize,l=-(i+s)/2,n=-(a+s)/2,o=(this.transparentCorners,lumise.stage().canvas.getActiveObject());if(null!=o&&t.save(),this.hasRotatingPoint)if(null!=o&&!0===o.get("lockPosition"))t.fillStyle="#f75555",t.fillRect(l,n,this.cornerSize,this.cornerSize),t.drawImage(lumise.objects.icons.del,l+.1*this.cornerSize,n+.1*this.cornerSize,.8*this.cornerSize,.8*this.cornerSize);else{var r=lumise.stage().canvas,u=r.getActiveObject(),c=r.getActiveGroup(),d=lumise.get.color("invert");t.fillStyle="#333"==d?"#777":"#ccc";var m={rot:[l+i+.1*this.cornerSize,n+.1*this.cornerSize],rez:[l+i+.1*this.cornerSize,n+a+.1*this.cornerSize],del:[l+.1*this.cornerSize,n+.1*this.cornerSize]},p=.8*this.cornerSize;if(t.beginPath(),t.arc(l+i/2+this.cornerSize/2,n+this.cornerSize/2,3,0,2*Math.PI,!1),lumise.ops.window_width>=768&&(c||u)){t.font="12px Roboto";var g=lumise.get.obj_size(c||u);t.fillText(g.join(" x "),l+this.cornerSize,n+this.cornerSize/2-5)}if(t.fill(),t.closePath(),t.beginPath(),t.arc(l+i/2+this.cornerSize/2,n+a+this.cornerSize/2,3,0,2*Math.PI,!1),t.fill(),t.closePath(),t.beginPath(),t.arc(l+this.cornerSize/2-.5,n+a/2+this.cornerSize/2,3,0,2*Math.PI,!1),t.fill(),t.closePath(),t.beginPath(),t.arc(l+i+this.cornerSize/2+.5,n+a/2+this.cornerSize/2,3,0,2*Math.PI,!1),t.fill(),t.closePath(),c&&(t.fillRect(l+i,n,this.cornerSize,this.cornerSize),t.fillRect(l+i,n+a,this.cornerSize,this.cornerSize),t.fillStyle="#f75555",t.fillRect(l,n,this.cornerSize,this.cornerSize)),u&&(void 0===u.imagebox||""===u.imagebox||0===r.getObjects().filter((function(t){return t.id==u.imagebox})).length)){var f=lumise.get.ptcfg_type(u);f&&null!=f.options.movable&&!f.options.movable&&(o.lockMovementX=!0,o.lockMovementY=!0),f&&null!=f.options.double&&!f.options.double?(t.beginPath(),t.arc(l+this.cornerSize/2,n+a+this.cornerSize/2,3,0,2*Math.PI,!1),t.fill(),t.closePath()):(m.dou=[l+.1*this.cornerSize,n+a+.1*this.cornerSize],t.fillRect(l,n+a,this.cornerSize,this.cornerSize)),f&&null!=f.options.rotatable&&!f.options.rotatable?(o.lockRotation=!0,t.beginPath(),t.arc(l+i+this.cornerSize/2,n+this.cornerSize/2,3,0,2*Math.PI,!1),t.fill(),t.closePath(),delete m.rot):(m.rot=[l+i+.1*this.cornerSize,n+.1*this.cornerSize],t.fillRect(l+i,n,this.cornerSize,this.cornerSize)),f&&null!=f.options.scalable&&!f.options.scalable?(o.lockUniScaling=!0,o.lockScalingX=!0,o.lockScalingY=!0,t.beginPath(),t.arc(l+i+this.cornerSize/2,n+a+this.cornerSize/2,3,0,2*Math.PI,!1),t.fill(),t.closePath(),delete m.rez):(m.rez=[l+i+.1*this.cornerSize,n+a+.1*this.cornerSize],t.fillRect(l+i,n+a,this.cornerSize,this.cornerSize)),f&&null!=f.options.removable&&!f.options.removable?(t.beginPath(),t.arc(l+this.cornerSize/2,n+this.cornerSize/2,3,0,2*Math.PI,!1),t.fill(),t.closePath(),delete m.del):(m.del=[l+.1*this.cornerSize,n+.1*this.cornerSize],t.fillStyle="#f75555",t.fillRect(l,n,this.cornerSize,this.cornerSize))}Object.keys(m).map((function(e){t.drawImage(lumise.objects.icons[("#333"==d||"del"==e?"":"w")+e],m[e][0],m[e][1],p,p)}))}return t.restore(),this},drawBorders:function(t){if(!this.hasBorders)return this;var e=this._calculateCurrentDimensions(),i=1/this.borderScaleFactor,a=e.x+i,s=e.y+i;if(t.save(),t.strokeStyle="#333"==lumise.get.color("invert")?"rgba(30, 30, 30, 0.35)":"rgba(230, 230, 230, 0.6)",this._setLineDash(t,[1,1],null),t.strokeRect(-a/2,-s/2,a,s),this.hasRotatingPoint&&this.isControlVisible("mtr")&&!this.get("lockRotation")&&this.hasControls){var l=-s/2;t.beginPath(),t.moveTo(0,l),t.lineTo(0,l-this.rotatingPointOffset),t.closePath(),t.stroke()}return t.restore(),this},targetCorner:function(t){if(!this.hasControls||!this.active)return!1;var e,i,a=t.x,s=t.y;for(var l in this.__corner=0,this.oCoords)if(this.isControlVisible(l)&&("mtr"!==l||this.hasRotatingPoint)&&(!this.get("lockUniScaling")||"mt"!==l&&"mr"!==l&&"ml"!==l)){i=this._getImageLines(this.oCoords[l].corner);var n=this.canvas.getZoom()?this.canvas.getZoom():1;if(0!==(e=this._findCrossPoints({x:a*n,y:s*n},i))&&e%2==1)return this.__corner=l,l}return!1}},canvas:{_getRotatedCornerCursor:function(t,e,i){var a="move";switch(t){case"tr":a="crosshair";break;case"tl":case"bl":a="pointer";break;case"br":a="nwse-resize";break;case"mt":a="n-resize";break;case"mr":a="e-resize";break;case"mb":a="s-resize";break;case"ml":a="w-resize"}return a},_setupCurrentTransform:function(t,e){if(e){var i=this.getPointer(t),a=e._findTargetCorner(this.getPointer(t,!0)),s=this._getActionFromCorner(e,a,t),l=this._getOriginFromCorner(e,a);!0!==lumise.fn.ctrl_btns({e:t,target:e})&&("drag"==s&&(lumise.ops.downon=e,lumise.ops.moved=!1),this._currentTransform={target:e,action:s,corner:a,scaleX:e.scaleX,scaleY:e.scaleY,skewX:e.skewX,skewY:e.skewY,offsetX:i.x-e.left,offsetY:i.y-e.top,originX:l.x,originY:l.y,ex:i.x,ey:i.y,lastX:i.x,lastY:i.y,left:e.left,top:e.top,theta:fabric.util.degreesToRadians(e.angle),width:e.width*e.scaleX,mouseXSign:1,mouseYSign:1,shiftKey:t.shiftKey,altKey:t[this.centeredKey]},this._currentTransform.original={left:e.left,top:e.top,scaleX:e.scaleX,scaleY:e.scaleY,skewX:e.skewX,skewY:e.skewY,originX:l.x,originY:l.y},this._resetCurrentTransform())}}}},objects:{events:{"selection:cleared":function(t){lumise.e.layers.find("li.active").removeClass("active"),lumise.actions.do("selection:cleared",t),lumise.stack.save()},"object:selected":function(t){if(lumise.stage().selected_object=t.target,t.target.setControlVisible("tr",!1),!0===t.target.get("lockPosition"))t.target.lockMovementX=!0,t.target.lockMovementY=!0,t.target.setControlsVisibility({mt:!1,mb:!1,ml:!1,mr:!1,bl:!1,br:!1,tl:!0,tr:!1,mtr:!1});else{t.target.lockMovementX=!1,t.target.lockMovementY=!1;var e=lumise.get.ptcfg_type(t.target);t.target.setControlsVisibility({mt:!0,mb:!0,ml:!0,mr:!0,bl:!e||void 0===e.options.double||e.options.double,br:!e||void 0===e.options.scalable||e.options.scalable,tl:!e||void 0===e.options.removable||e.options.removable,tr:!1,mtr:!e||void 0===e.options.rotatable||e.options.rotatable})}lumise.actions.do("object:selected",t)},"object:scaling":function(t){if(lumise.stage().selected_object=t.target,t.target&&!t.target.template){var e=lumise.get.ptcfg_type(t.target);if(e&&null!=e.options){var i=null!=e.options.min_scale&&e.options.min_scale?parseFloat(e.options.min_scale):0,a=null!=e.options.max_scale&&e.options.max_scale?parseFloat(e.options.max_scale):0,s=0,l=0,n=lumise.get.obj_size(t.target,"px");null!=e.options.max_width&&""!==e.options.max_width&&(l=parseFloat(e.options.max_width)/parseFloat(n[0])*t.target.scaleX),null!=e.options.min_width&&""!==e.options.min_width&&(s=parseFloat(e.options.min_width)/parseFloat(n[0])*t.target.scaleX),0!==(a=0!==a?a>l&&0!==l?l:a:l)&&t.target.scaleX>a&&(t.target.scaleX=a,t.target.scaleY=a,t.target.lockScalingX=!0,t.target.lockScalingY=!0),0!==(i=0!==s?i>s&&0!==s?i:s:i)&&(t.target.minScaleLimit=i)}}lumise.actions.do("object:scaling",t)},"object:added":function(t){lumise.actions.do("object:added",t)},"object:modified":function(t){lumise.actions.do("object:modified",t)},"object:rotating":function(t){[0,45,90,135,180,225,270,315,360].map((function(e){Math.abs(t.target.angle-e)<5&&(t.target.angle=e)})),lumise.get.el("rotate").val(t.target.angle).attr({"data-value":Math.round(t.target.angle)+"ยบ"})},"mouse:down":function(t){var e=lumise.stage(),i=e.canvas.getObjects();lumise.ops.limit_snap=e.limit_zone,e.canvas.isDrawingMode&&!1===t.e.shiftKey||(lumise.fn.navigation("clear"),lumise.ops.mousedown=!0,t.e&&t.e.shiftKey&&e.canvas.set("selection",!1),(null===t.target||0===t.target.__corner&&void 0!==t.target.imagebox&&""!==t.target.imagebox)&&i.map((function(i){if("imagebox"==i.type&&t.e.layerX>i.left-i.width/2&&t.e.layerX<i.left+i.width/2&&t.e.layerY>i.top-i.height/2&&t.e.layerY<i.top+i.height/2){var a=e.canvas.getObjects().filter((function(t){return t.imagebox==i.id}));a.length>0&&(e.canvas.setActiveObject(a[a.length-1]),t.target=a[a.length-1],e.canvas._setupCurrentTransform(t.e,t.target))}})),null!==t.target?(lumise.ops.corner=t.target.__corner,t.target.group_pos&&(lumise.ops.original_pos={},i.map((function(e){e.group_pos==t.target.group_pos&&(lumise.ops.original_pos[e.id]=[e.left,e.top])})),1===Object.keys(lumise.ops.original_pos).length&&(lumise.ops.original_pos=null,t.target.set({group_pos:null}))),void 0!==t.target.imagebox&&(lumise.ops.limit_snap=i.filter((function(e){return e.id==t.target.imagebox})),lumise.ops.limit_snap.length>0?lumise.ops.limit_snap=lumise.ops.limit_snap[0]:lumise.ops.limit_snap=e.limit_zone)):(lumise.ops.corner="",lumise.ops.original_pos=null),lumise.ops.auto_snap=lumise.get.el("auto-alignment").prop("checked"))},"path:created":function(t){var e=lumise.stage();e.limit_zone.visible=!0,e.bleed&&(e.bleed.set("visible",!0),e.crop_marks.set("visible",!0)),lumise.get.el("top-tools").attr({"data-view":"drawing"}),lumise.stack.save()},"mouse:up":function(e){if(void 0!==e.e){null!==e.target&&!0!==e.target.get("lockPosition")&&e.target.set({lockScalingX:!1,lockScalingY:!1});var i=lumise.stage(),a=i.canvas.getActiveObject(),s=null;if(!i.canvas.isDrawingMode){if(i.canvas.getObjects().map((function(t){"imagebox"==t.type&&e.e.layerX>t.left-t.boxbtn[0]/4&&e.e.layerX<t.left+t.boxbtn[0]/4&&e.e.layerY>t.top-t.boxbtn[1]/4&&e.e.layerY<t.top+t.boxbtn[1]/4&&(s=t)})),null!==s)if(a){if("image"==a.type)return a.set("imagebox",s.id)}else if(!0!==lumise.ops.moved)return lumise.fn.imagebox_select_file(s);i.lineX.css({display:"none"}),i.lineY.css({display:"none"}),lumise.ops.mousedown=!1,i.canvas.set("selection",!0),!1!==lumise.ops.moved&&null!==lumise.ops.downon&&(i.lineX.hide(),i.lineY.hide());var l=i.canvas.getActiveObject(),n=i.canvas.getActiveGroup(),o=l?l.type:n?"group":"standard";if(lumise.e.tools.attr({"data-view":o}),n){var r=!0,u="";n._objects.map((function(t){t.get("group_pos")?(""!==u&&t.get("group_pos")!=u&&(r=!1),u=t.get("group_pos")):r=!1})),t('#lumise-top-tools ul[data-mode="group"]').attr({"data-grouped":r?"true":"false"})}else setTimeout(lumise.stack.save,250);lumise.ops.downon=null,lumise.ops.moved=!1,lumise.ops.corner="",lumise.ops.original_pos=null}}},"mouse:move":function(t){var e=lumise.stage(),i=e.canvas.getZoom(),a=e.canvas.viewportTransform,s=lumise.ops.limit_snap,l=!1;if(null===t.target){var n=e.canvas.getObjects(),o=e.canvas.getActiveObject(),r=[];n.map((function(t){void 0!==t.imagebox&&""!==t.imagebox&&-1===r.indexOf(t.imagebox)&&r.push(t.imagebox)})),n.map((function(a){if("imagebox"==a.type&&(null==o||"image"==o.type)){e.canvas.viewportTransform;let s=a.left,l=a.top;e.canvas.width,e.canvas.height;t.e.layerX>s-i*a.boxbtn[0]/4&&t.e.layerX<s+i*a.boxbtn[0]/4&&t.e.layerY>l-i*a.boxbtn[1]/4&&t.e.layerY<l+i*a.boxbtn[1]/4?"red"!=a.stroke&&(a.set({stroke:"red",strokeWidth:2}),e.canvas.defaultCursor="pointer",e.canvas.renderAll()):"red"==a.stroke&&(a.set({stroke:"",strokeWidth:0}),e.canvas.defaultCursor="default",e.canvas.renderAll()),-1===r.indexOf(a.id)&&a.set("opacity",1)}}))}if(t&&t.e&&t.e.shiftKey&&(!0===lumise.ops.mousedown||e.canvas.isDrawingMode)&&i>1&&"br"!=lumise.ops.corner){var u=new fabric.Point(t.e.movementX,t.e.movementY);e.canvas.relativePan(u)}else if(null!==lumise.ops.downon){if(!0!==lumise.ops.moved&&(lumise.ops.moved=!0),!0===lumise.ops.auto_snap){var c={top:lumise.ops.downon.top-lumise.ops.downon.height*lumise.ops.downon.scaleY*.5,left:lumise.ops.downon.left-lumise.ops.downon.width*lumise.ops.downon.scaleX*.5,height:lumise.ops.downon.height*lumise.ops.downon.scaleY,width:lumise.ops.downon.width*lumise.ops.downon.scaleX},d="left"==s.originX?s.width/2:0,m="top"==s.originY?s.height/2:0,p=s.left+d,g=s.top+m,f="",h="",v="",b="";if(Math.abs(lumise.ops.downon.left-p)<=3?(yv="block",h=p,b="center"):Math.abs(c.left-p)<=3?(yv="block",h=p,b="left"):Math.abs(c.left+c.width-p)<=3?(yv="block",h=p,b="right"):yv="none",Math.abs(lumise.ops.downon.top-g)<=3?(xv="block",f=g,v="center"):Math.abs(c.top-g)<=3?(xv="block",f=g,v="top"):Math.abs(c.top+c.height-g)<=3?(xv="block",f=g,v="bottom"):xv="none","none"!==yv&&"none"!==xv||e.canvas.getObjects().map((function(t){!1!==t.visible&&!1!==t.evented&&t!==lumise.ops.downon&&(ob={top:t.top-t.height*t.scaleY*.5,left:t.left-t.width*t.scaleX*.5,height:t.height*t.scaleY,width:t.width*t.scaleX},"none"===yv&&(Math.abs(c.left-ob.left)<=2?(h=ob.left,yv="block",b="left"):Math.abs(c.left+c.width-(ob.left+ob.width))<=2?(h=ob.left+ob.width,yv="block",b="right"):Math.abs(c.left-(ob.left+ob.width))<=2?(h=ob.left+ob.width,yv="block",b="left"):Math.abs(c.left+c.width-ob.left)<=2?(h=ob.left,yv="block",b="right"):Math.abs(c.left+c.width/2-(ob.left+ob.width/2))<=2&&(h=ob.left+ob.width/2,yv="block",b="ycenter")),"none"===xv&&(Math.abs(c.top-ob.top)<=2?(f=ob.top,xv="block",v="top"):Math.abs(c.top+c.height-(ob.top+ob.height))<=2?(f=ob.top+ob.height,xv="block",v="bottom"):Math.abs(c.top-(ob.top+ob.height))<=2?(f=ob.top+ob.height,xv="block",v="top"):Math.abs(c.top+c.height-ob.top)<=2?(f=ob.top,xv="block",v="bottom"):Math.abs(c.top+c.height/2-(ob.top+ob.height/2))<=2&&(f=ob.top+ob.height/2,xv="block",v="ycenter")))})),e.lineX.css({top:f*i+a[5]+"px",display:xv}),e.lineY.css({left:h*i+a[4]+"px",display:yv}),"block"==yv){switch(b){case"center":lumise.ops.downon.set("left",s.left+d);break;case"left":lumise.ops.downon.set("left",h+c.width/2);break;case"right":lumise.ops.downon.set("left",h-c.width/2);break;case"ycenter":lumise.ops.downon.set("left",h)}l=!0}if("block"==xv){switch(v){case"center":lumise.ops.downon.set("top",s.top+m);break;case"top":lumise.ops.downon.set("top",f+c.height/2);break;case"bottom":lumise.ops.downon.set("top",f-c.height/2);break;case"xcenter":lumise.ops.downon.set("top",f)}l=!0}}if(s===e.limit_zone&&lumise.ops.downon.group_pos&&lumise.ops.original_pos&&lumise.ops.original_pos[lumise.ops.downon.id]&&(lumise.ops.downon.left!=lumise.ops.original_pos[lumise.ops.downon.id][0]||lumise.ops.downon.top!=lumise.ops.original_pos[lumise.ops.downon.id][1])){var _=lumise.ops.original_pos[lumise.ops.downon.id];e.canvas.getObjects().map((function(t){t.group_pos==lumise.ops.downon.group_pos&&t.id!=lumise.ops.downon.id&&t.set({left:lumise.ops.original_pos[t.id][0]+(lumise.ops.downon.left-_[0]),top:lumise.ops.original_pos[t.id][1]+(lumise.ops.downon.top-_[1])})})),l=!0}!0===l&&e.canvas.renderAll()}},"after:render":function(t){lumise.actions.do("after:render")}},do:{deactiveAll:function(){lumise.stage().canvas.deactivateAll(),lumise.stage().canvas.renderAll(),lumise.e.tools.attr({"data-view":"standard"}),t("#lumise-layers li.active").removeClass("active")}},roundRect:function(t,e,i,a,s,l,n,o){if(void 0===o&&(o=!0),void 0===l&&(l=5),"number"==typeof l)l={tl:l,tr:l,br:l,bl:l};else{var r={tl:0,tr:0,br:0,bl:0};for(var u in r)l[u]=l[u]||r[u]}t.beginPath(),t.moveTo(e+l.tl,i),t.lineTo(e+a-l.tr,i),t.quadraticCurveTo(e+a,i,e+a,i+l.tr),t.lineTo(e+a,i+s-l.br),t.quadraticCurveTo(e+a,i+s,e+a-l.br,i+s),t.lineTo(e+l.bl,i+s),t.quadraticCurveTo(e,i+s,e,i+s-l.bl),t.lineTo(e,i+l.tl),t.quadraticCurveTo(e,i,e+l.tl,i),t.closePath(),n&&t.fill(),o&&(t.strokeStyle="red",t.stroke())},clipto:function(t,e){if(!e||!e.canvas)return;var i=lumise.stage();i.canvas.getActiveGroup()&&(e=i.canvas.getActiveGroup()),e.scaleX=lumise.apply_filters("scale_designs_value_X",e.scaleX),e.scaleY=lumise.apply_filters("scale_designs_value_Y",e.scaleY);var a=e.getCenterPoint(),s=i.limit_zone,l=1/e.scaleX,n=1/e.scaleY,o=-e.skewX/52,r=-e.skewY/52;if(void 0!==e.imagebox&&""!==e.imagebox){var u=i.canvas.getObjects();u.map((function(t){"imagebox"==t.type&&t.set("opacity",1)})),u.map((function(t){t.id==e.imagebox&&(s={left:t.left-t.width/2,top:t.top-t.height/2,strokeWidth:1,width:t.width,height:t.height},t.set("opacity",.25))}))}e.flipX&&(l=-l),e.flipY&&(n=-n),t.save(),t.translate(0,0),t.transform(1,r,0,1,0,0),t.transform(1,0,o,1,0,0),t.scale(l,n),t.rotate(-1*e.angle*(Math.PI/180));let c=s.left-a.x+s.strokeWidth,d=s.top-a.y+s.strokeWidth,m=s.width-s.strokeWidth,p=s.height-s.strokeWidth;t.beginPath(),t.roundRect(c,d,m,p,s.radius?s.radius:0),t.fillStyle="transparent",t.fill(),t.closePath(),t.restore()},sides:{},text:function(e){e.fontFamily&&-1===e.fontFamily.indexOf('"')&&(e.fontFamily='"'+e.fontFamily+'"'),"1"==lumise.data.text_direction&&(e.originX="1"==lumise.data.rtl?"right":"left",e.originY="top");var i=lumise.get.color("invert");if(void 0!==lumise.data.colors&&""!==lumise.data.colors&&((i=lumise.data.colors.split(",")[0]).indexOf(":")>-1&&(i=i.split(":")[1]),i=i.split("@")[0]),e.editable="1"!=lumise.data.rtl,null!=lumise.cart.printing.current&&lumise.data.printings.length>0&&null==e.template){let t=lumise.get.ptcfg_type("font");t&&null!=t.options.editable&&"1"!=lumise.data.rtl&&(e.editable=t.options.editable);let i=e.text?e.text:"Sample Text";if(t&&null!=t.options.min_text_letter&&parseInt(t.options.min_text_letter)>i.length)return lumise.fn.notice(lumise.i(215)+" "+t.options.min_text_letter,"notice",3500),null;t&&null!=t.options.max_text_letter&&parseInt(t.options.max_text_letter)<i.length&&(lumise.fn.notice(lumise.i(214)+" "+t.options.max_text_letter,"notice",3500),e.text=e.text.slice(0,t.options.max_text_letter))}var a=lumise.stage().limit_zone,s=t.extend({left:a.left+a.width/2,top:a.top+a.height/2,angle:0,textAlign:"center",fill:i,name:e.text?e.text:"Sample Text"},e),l=new fabric.IText(e.text?e.text:"Sample Text",s);return l.set({clipTo:function(t){try{return lumise.objects.clipto(t,l)}catch(t){}}}),l},qrcode:function(t,e,i){var a=lumise.tools.qrcode({text:t,foreground:e});fabric.Image.fromURL(a.toDataURL(),(function(a){var s=lumise.stage();a.set({left:s.limit_zone.left+s.limit_zone.width/2,top:s.limit_zone.top+s.limit_zone.height/2,width:.7*s.limit_zone.width,height:a.height*(.7*s.limit_zone.width/a.width),fill:e,backgroundColor:lumise.fn.invert(e),name:t,text:t,type:"qrcode",clipTo:function(t){return lumise.objects.clipto(t,a)}}),lumise.design.layers.create({type:"image",image:a}),i(a)}))},lumise:{"i-text":function(t,e){return e(lumise.objects.text(t))},curvedText:function(e,i){var a=lumise.stage().limit_zone,s=lumise.get.color("invert");void 0!==lumise.data.colors&&""!==lumise.data.colors&&((s=lumise.data.colors.split(",")[0]).indexOf(":")>-1&&(s=s.split(":")[1]),s=s.split("@")[0]),e=t.extend({left:a.left+a.width/2,top:a.top+a.height/2,angle:0,textAlign:"center",fill:s,textAlign:"center",radius:50,spacing:5},e);var l=new fabric.CurvedText(e.text?e.text:"Sample Text",e);l.set({clipTo:function(t){try{return lumise.objects.clipto(t,l)}catch(t){}}}),i(l)},image:function(e,i){if(e.src.indexOf(".svg")==e.src.length-4)return this.svg(e,i);var a=lumise.stage().canvas.getActiveObject(),s=!1!==e.replace&&null!=a&&"function"==typeof a.setElement&&"true"==localStorage.getItem("LUMISE-REPLACE-IMAGE");if(s&&e.src.indexOf(".svg")!==e.src.length-4&&-1===e.src.indexOf("data:image/svg+xml;base64"))return lumise.fn.replace_image(e.src,a);t("#LumiseDesign").attr({"data-processing":"true","data-msg":"Processing.."});let l=new Image;l.onerror=function(){lumise.fn.notice(lumise.i(33)+e.src,"error",5e3),i(null)},l.onload=function(){let n=this.src;if(!1===lumise.fn.check_image_dimensions(this,e))return i(null);if(!0===e.user_upload){if(n=lumise.fn.check_upload_dimensions(this),null===n)return i(null);delete e.user_upload}let o=this.naturalWidth,r=this.naturalHeight;if(e.src=n,0===e.src.indexOf("http")){let t=document.createElement("canvas");t.height=r,t.width=o,t.getContext("2d").drawImage(l,0,0),e.src=t.toDataURL("image/"+(e.src.indexOf(".png")===e.src.length-4?"png":"jpeg")),l.onload=function(){lumise.stage().canvas.renderAll()},l.src=e.src,delete t}var u=new fabric.Image(this),c=lumise.stage(),d=c.canvas.getObjects(),m=null;delete e.replace;var p=d.filter((function(t){return"imagebox"==t.type}));p.length>0&&(p.map((function(t){0===d.filter((function(e){return e.imagebox==t.id})).length&&(m=t)})),null===m&&(m=p[0])),null==e.width&&(e.width=.85*c.limit_zone.width,e.height=e.width*(r/o)),null==e.height&&(e.height=.85*c.limit_zone.height,e.width=e.height*(o/r));var g=parseFloat(window.devicePixelRatio);if(e.width=lumise.apply_filters("object_size_width",e.width,{iw:parseFloat(o),ratio:g}),e.height=lumise.apply_filters("object_size_height",e.height,{ih:parseFloat(r),ratio:g}),void 0===e.evented&&(null===m||s?(e.width>.85*c.limit_zone.width&&(e.height=.85*c.limit_zone.width*(e.height/e.width),e.width=.85*c.limit_zone.width),e.height>.85*c.limit_zone.height&&(e.width=.85*c.limit_zone.height*(e.width/e.height),e.height=.85*c.limit_zone.height)):(d.map((function(t){t.imagebox==m.id&&t.id!=e.id&&c.canvas.remove(t)})),e.width=m.width,e.height=r*(m.width/o),e.left=m.left,e.top=m.top,e.height<m.height&&(e.height=m.height,e.width=o*(e.height/r)),m.ibadded=(new Date).getTime(),e.imagebox=m.id)),e=lumise.apply_filters("lumise_image_object",e),u.set(t.extend({left:c.limit_zone.left+c.limit_zone.width/2,top:c.limit_zone.top+c.limit_zone.height/2,width:e.width,height:e.height},e)),-1===e.src.indexOf("data:image/svg+xml;base64")&&void 0===u.full_src&&(this.naturalWidth>c.limit_zone.width||this.naturalHeight>c.limit_zone.height)&&setTimeout(lumise.fn.large_image_helper,1,{w:l.naturalWidth,h:l.naturalHeight,ew:c.limit_zone.width,eh:c.limit_zone.height,iw:e.width,ih:e.height,el:l,obj:u,src:u.src}),e.filters&&e.filters.length>0&&(e.filters.map((function(t,i){t.color&&(e.filters[i]=new fabric.Image.filters.Tint({color:t.color}))})),u.set("filters",e.filters),u.applyFilters(c.canvas.renderAll.bind(c.canvas))),u.set("clipTo",(function(t){return lumise.objects.clipto(t,u)})),s){var f={width:a.width,height:a.height,src:u.src,origin_src:u.src};u.src.indexOf(".svg")==u.src.length-4||0===u.src.indexOf("data:image/svg+xml;base64")?f.type="svg":f.type="image",a.setElement(u._element),a.set(f),lumise.ops.importing=!1,lumise.stack.save(),lumise.ops.set_active=a,i(null)}else i(u)},l.setAttribute("crossOrigin","anonymous"),l.src=e.src},"text-fx":function(t,e){if(void 0!==t.type&&"undefined"!=t.type&&null!=t.type&&"null"!=t.type&&""!=t.type||void 0!==t.text&&"undefined"!=t.text&&null!=t.text&&"null"!=t.text&&""!=t.text){var i=lumise.objects.text(t);t.width=i.width,t.height=i.height,delete t.type,delete t.clipTo,void 0===t.bridge&&(t.bridge={curve:-2.5,offsetY:.5,bottom:2.5,trident:!1,oblique:!1});var a=["angle","skewX","skewY","opacity"],s={};a.map((function(e){s[e]=t[e],delete t[e]}));var l=new fabric.Text(t.text.trim(),t),n=new Image;n.src=l.toDataURL();var o=["width","height","scaleX","scaleY","fontSize","stroke","strokeWidth"];o.map((function(e){t[e]=2*t[e]})),l=new fabric.Text(t.text.trim(),t);var r=new Image;r.src=l.toDataURL(),o.map((function(e){t[e]=t[e]/2})),a.map((function(e){t[e]=s[e]})),fabric.Image.fromURL(l.toDataURL(),(function(i){t.type="text-fx",t.cacheTextImage=n,t.cacheTextImageLarge=r,t.height=2.5*t.height,t.clipTo=function(t){return lumise.objects.clipto(t,i)};var a=lumise.fn.bridgeText(i._element,t.bridge);if(delete t.stroke,delete t.strokeWidth,i.set(t),t.filters&&t.filters.length>0){var s=lumise.stage();t.filters.map((function(e,i){e.color&&(t.filters[i]=new fabric.Image.filters.Tint({color:e.color}))})),i.set("filters",t.filters),i.applyFilters(s.canvas.renderAll.bind(s.canvas))}var l=t.width,o=t.height;i.setSrc(a,(function(){return i.set({height:o,width:l}),lumise.stack.save(),e(i)}))}))}else lumise.f(!1)},qrcode:function(t,e){this.image(t,e)},svg:function(e,i){if(void 0===e.src)return i(null);var a=function(e){if(e.src&&0===e.src.indexOf("data:image/svg+xml;base64,")){var a=atob(e.src.split("base64,")[1]);a=a.replace('width="undefined"',"").replace('height="undefined"',"");var s=t("<div>"+a+"</div>"),l=s.find("svg").get(0),n=l.getAttribute("viewBox")?l.getAttribute("viewBox"):l.getAttribute("viewbox");n=n.replace(/\,/g," ").replace(/  /g," ").split(" "),l.getAttribute("width")&&l.getAttribute("height")||(l.setAttribute("width",n[2]),l.setAttribute("height",n[3])),void 0===e.height&&(e.height=e.width*(n[3]/n[2])),e.src="data:image/svg+xml;base64,"+btoa(s.html()),delete s,delete l,delete n}return lumise.objects.lumise.image(e,i)};0===e.src.indexOf("http")?t.ajax({url:e.src,method:"GET",dataType:"text",statusCode:{403:function(){lumise.fn.notice(lumise.i(33)+"(403) "+e.src,"error",3500),i(null)},404:function(){lumise.fn.notice(lumise.i(33)+"(404) "+e.src,"error",3500),i(null)}},success:function(t){e.src="data:image/svg+xml;base64,"+btoa(t),e.fill="",a(e)}}):a(e)},path:function(e,i){var a=lumise.stage().limit_zone,s=new fabric.Path(e.path,t.extend({left:a.left+a.width/2,top:a.top+a.height/2},e));s.set("clipTo",(function(t){return lumise.objects.clipto(t,s)})),s.set("fill",null),i(s)},"path-group":function(t,e){return this.svg(t,e)},imagebox:function(e,i){if(void 0!==e.src)return this.image(e,i);var a=new Image,s=lumise.stage();(e=t.extend({width:s.limit_zone.width,height:s.limit_zone.height,left:s.limit_zone.left,top:s.limit_zone.top,border:10,background:"#eee",button:lumise.data.assets+"assets/images/imagebox-btn.png",imagebox:""},e,!0)).width-=2*e.border,e.height-=2*e.border,e.border=0,e.evented=!1,e.selectable=!1,e.lockMovementX=!0,e.lockMovementY=!0;var l=document.createElement("canvas");ctx=l.getContext("2d"),l.width=2*e.width,l.height=2*e.height,ctx.fillStyle=e.background,ctx.fillRect(0,0,l.width,l.height),a.onload=function(){return e.boxbtn=[this.width,this.height],ctx.drawImage(this,e.width-this.width/2,e.height-this.height/2,e.boxbtn[0],e.boxbtn[1]),e.src=l.toDataURL("image/jpeg"),delete l,delete ctx,lumise.objects.lumise.image(e,i)},a.src=e.button}},icons:{init:function(){var t={del:btoa('<svg width="512" height="512" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="#ccc"><path d="m405 137l-30-30-119 119-119-119-30 30 119 119-119 119 30 30 119-119 119 119 30-30-119-119z"></path></svg>'),rot:btoa('<svg width="512" height="512" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="#ccc"><path d="m295 66c-96 0-175 66-187 160l-81-16l80 118l118-79l-75-15c10-60 73-126 146-126c81 0 146 69 146 150c0 80-80 146-144 146l0 42c107 0 187-86 187-190c0-104-86-190-190-190z"></path></svg>'),rez:btoa('<svg width="512" height="512" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="#ccc"><path d="M96,96v128l50.078-50l9.014,9l183.286,183L288.3,416h128.2V288l-50.078,50l-128.2-128l-64.1-64L224.2,96H96z"/></svg>'),dou:btoa('<svg width="512" height="512" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="#ccc"><path d="m160 352l160 0l0-128l96 0l0 256l-256 0z m-160-320l0 320l128 0l0 160l320 0l0-320l-128 0l0-160z"></path></svg>'),gro:btoa('<svg width="512" height="512" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="#ccc"><path d="m388 140l-31-31-140 139 31 31z m93-31l-233 231-92-91-30 31 122 123 264-263z m-481 171l123 123 31-31-122-123z"></path></svg>'),wrot:btoa('<svg width="512" height="512" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="#777"><path d="m295 66c-96 0-175 66-187 160l-81-16l80 118l118-79l-75-15c10-60 73-126 146-126c81 0 146 69 146 150c0 80-80 146-144 146l0 42c107 0 187-86 187-190c0-104-86-190-190-190z"></path></svg>'),wrez:btoa('<svg width="512" height="512" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="#777"><path d="M96,96v128l50.078-50l9.014,9l183.286,183L288.3,416h128.2V288l-50.078,50l-128.2-128l-64.1-64L224.2,96H96z"/></svg>'),wdou:btoa('<svg width="512" height="512" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="#777"><path d="m160 352l160 0l0-128l96 0l0 256l-256 0z m-160-320l0 320l128 0l0 160l320 0l0-320l-128 0l0-160z"></path></svg>'),wgro:btoa('<svg width="512" height="512" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="#777"><path d="m388 140l-31-31-140 139 31 31z m93-31l-233 231-92-91-30 31 122 123 264-263z m-481 171l123 123 31-31-122-123z"></path></svg>')};Object.keys(t).map((function(e){lumise.objects.icons[e]=new Image,lumise.objects.icons[e].src="data:image/svg+xml;base64,"+t[e]}))}}},design:{events:function(){var e=function(t,e){e||(e=this);var i=e.value,a=e.getAttribute("data-unit")||"";parseFloat(e.getAttribute("data-ratio"));return e.getAttribute("data-range")&&e.getAttribute("data-range").split(",").map((function(t){Math.abs(i-parseFloat(t))<5&&(i=t)})),e.setAttribute("data-value",i+a),"helper"==e.parentNode.getAttribute("data-range")&&e.parentNode.setAttribute("data-value",i+a),i};lumise.trigger({el:t("#LumiseDesign"),events:{'input[type="range"][data-view="lumise"]:input':e,'input[type="range"][data-action]:input, input[type="range"][data-callback]:input':function(t){var i=lumise.stage().canvas,a=i.getActiveObject(),s=this.getAttribute("data-callback"),l=this.getAttribute("data-action"),n=parseFloat(this.getAttribute("data-ratio"))||1,o=e(t,this);s?lumise.design.nav.callback[s]&&lumise.design.nav.callback[s](this,t,n):l&&a&&!t.isTrigger&&(a.set(l,o*n),i.renderAll())},'input[type="range"][data-callback="textFX"]:change':"textFX","#lumise-stroke-fix-colors li":"strokeColor","div#lumise-left>div.lumise-left-nav-wrp>ul.lumise-left-nav li[data-tab]":"leftNav","#lumise-general-status":"general_status","div#lumise-left #lumise-side-close":"close_side","svg#lumise-nav-file":"resp_file","#lumise-stage-nav":"stages","#lumise-cliparts":"cliparts","#lumise-uploads header button":"upload_nav","#lumise-left .lumise-x-thumbn:mouseover,#lumise-left .lumise-x-thumbn:mouseout":"x_thumbn_preview",'#lumise-left button[data-func="show-categories"]':"x_thumbn_categories","#lumise-cliparts-list:scroll":"cliparts_more","#lumise-templates-list:scroll":"templates_more",'#lumise-uploads div[data-tab="internal"]:scroll':"images_more","#lumise-shapes:scroll":"shapes_more",".lumise-tab-body-wrp .lumise-xitems-list:scroll":lumise.xitems.scroll_more,"#lumise-saved-designs:scroll":"designs_more","#lumise-templates-search-inp:click,#lumise-templates-search-inp:keydown,#lumise-templates-search-categories:change":"templates_search","#lumise-cliparts-search-inp:click,#lumise-cliparts-search-inp:keydown,#lumise-cliparts-search-categories:change":"cliparts_search",".lumise-xitems-search>input:click,.lumise-xitems-search>input:keydown,.lumise-xitems-search>input:change":lumise.xitems.search,"div#lumise-top-tools>ul.lumise-top-nav>li[data-tool], div#lumise-navigations ul li[data-tool]":"topTools",'input#lumise-zoom[type="range"]:input, #lumise-zoom-wrp i[data-zoom], #lumise-zoom-wrp:mousewheel':"doZoom",'ul[data-mode="text"] .text-format':"textFormat",".lumise-edit-text:input":"editText","#lumise-text-mask-guide":function(){lumise.tools.lightbox({content:'<img src="'+lumise.data.assets+'/assets/images/text-mask-guide.jpg" />',onload:function(t){return t.children("div").addClass("parent-scroll-mobile").find("#lumise-lightbox-content").addClass("scroll-mobile"),t}})},"#lumise-flip-x:change, #lumise-flip-y:change":"flip","#lumise-lock-position:change":"lock_position","#lumise-reset-transform":"resetTransform","input#lumise-curved:change":"enableCurved","input#lumise-fill:input,input#lumise-fill:change":"fillColor","span.lumise-save-color":"saveColor","input#lumise-stroke:input, input#lumise-stroke:change":"fillStroke","input#lumise-svg-fill:input,input#lumise-svg-fill:change":"svgFillColor","#lumise-svg-colors [data-func]":"svgFuncs",'li[data-tool="arrange"] button[data-arrange]':"doArrange",".lumise-more-fonts":"load_fonts","#lumise-fonts":"select_font",'#lumise-upload-form input[type="file"]:change':function(){lumise.fn.process_files(this.files)},"#lumise-design-undo":lumise.stack.back,"#lumise-design-redo":lumise.stack.forward,"#lumise-save-btn":lumise.tools.save,"#lumise-discard-drawing":"exit_drawing","#lumise-text-effect img[data-effect]":"text_effect","#lumise-text-fx-trident:change":"textFX",'input[data-image-fx][type="range"]:change':"imageFX","#lumise-drawing-color:change":function(t){lumise.design.nav.callback.drawing(t)},"#lumise-auto-alignment:change, #lumise-template-append:change, #lumise-replace-image:change":"options",'button[data-func="update-text-fx"]':lumise.fn.update_text_fx,"#lumise-bug button.submit":"bug_submit","#lumise-image-fx-mode:change":"selectImageFX","#lumise-image-fx-fx>li[data-fx]":"imageColorFX","#lumise-saved-designs":"saved_designs","#lumise-designs-search input:input":"saved_designs_search","#lumise-languages li":"change_lang","button#lumise-change-product, button#lumise-select-product":"change_product","#lumise-file-nav li[data-func]":"fileNav","#lumise-print-nav .doPrint:change, #lumise-print-nav button[data-func]":"doPrint",".lumise-tabs-nav":"nav","#lumise-shares-wrp":"doShare","#lumise-cart-items":"my_cart",'a[data-view="cart-details"]':lumise.render.cart_details},leftNav:function(e){var i=this.getAttribute("data-tab"),a=lumise.stage();if(void 0!==a&&void 0!==a.canvas){if("drawing"==i){a.canvas.isDrawingMode=!0,a.limit_zone.visible=!0;var s=lumise.get.color("invert");void 0!==lumise.data.colors&&""!==lumise.data.colors&&((s=lumise.data.colors.split(",")[0]).indexOf(":")>-1&&(s=s.split(":")[1]),s=s.split("@")[0]),a.canvas.freeDrawingBrush.color=s,lumise.get.el("top-tools").attr({"data-view":"drawing"})}else"uploads"==i?lumise.get.el("external-images").hasClass("active")&&t("#lumise-external-images iframe").each((function(){this.contentWindow.postMessage({action:"refresh"},"*")})):a&&a.canvas&&(a.canvas.isDrawingMode=!1,a.limit_zone.visible=!1,lumise.get.el("top-tools").attr({"data-view":"standard"}),a.canvas.renderAll());if(this.getAttribute("data-load")&&"function"==typeof lumise.design.nav.load[this.getAttribute("data-load")]){var l=lumise.get.ptcfg_type(i),n={};l&&null!=l.categories&&l.categories.length>0&&(n.include=l.categories),lumise.design.nav.load[this.getAttribute("data-load")](e,n),this.removeAttribute("data-load")}t("#lumise-left .lumise-tab-body-wrp.active,#lumise-left ul.lumise-left-nav li[data-tab].active").removeClass("active"),t('#lumise-left [data-view="preactive"]').removeAttr("data-view"),t(this).addClass("active").prev("li[data-tab]").attr({"data-view":"preactive"}),t("#lumise-"+this.getAttribute("data-tab")).addClass("active"),t("#lumise-side-close").addClass("active"),this.getAttribute("data-callback")&&"function"==typeof lumise.design.nav.callback[this.getAttribute("data-callback")]&&lumise.design.nav.callback[this.getAttribute("data-callback")](this,e)}},general_status:function(e){var i=e.target.getAttribute("data-func"),a=t(e.target).parent().attr("data-func");if(i||a)switch(!i&&a&&(i=a),e.preventDefault(),i){case"cancel-cart":lumise.fn.set_url("cart",null),lumise.get.el("general-status").html('<span>\t\t\t\t\t\t\t\t\t\t<text>\t\t\t\t\t\t\t\t\t\t\t<i class="lumisex-android-alert"></i> '+lumise.i(184)+'</text>\t\t\t\t\t\t\t\t\t\t<a href="#clear-designs" data-btn="cancel" data-func="clear-designs">\t\t\t\t\t\t\t\t\t\t\t'+lumise.i(185)+"\t\t\t\t\t\t\t\t\t\t</a>\t\t\t\t\t\t\t\t\t</span>"),lumise.render.cart_change();break;case"cancel-design":lumise.get.el("general-status").html('<span>\t\t\t\t\t\t\t\t\t\t<text>\t\t\t\t\t\t\t\t\t\t\t<i class="lumisex-android-alert"></i> '+lumise.i(184)+'</text>\t\t\t\t\t\t\t\t\t\t<a href="#clear-designs" data-btn="cancel" data-func="clear-designs">\t\t\t\t\t\t\t\t\t\t\t'+lumise.i(185)+"\t\t\t\t\t\t\t\t\t\t</a>\t\t\t\t\t\t\t\t\t</span>"),lumise.render.cart_change();break;case"save-design":lumise.design.my_designs.pre_save();break;case"clear-designs":lumise.tools.clearAll(),lumise.render.cart_change(),lumise.get.el("general-status").html("")}},close_side:function(e){t(this).removeClass("active"),t("#lumise-left ul.lumise-left-nav li.active, .lumise-tab-body-wrp.active").removeClass("active")},resp_file:function(){t(this).prev().hasClass("active")?(t(this).prev().removeClass("active"),t(this).find("#__m").show(),t(this).find("#__x").hide()):(t(this).prev().addClass("active"),t(this).find("#__m").hide(),t(this).find("#__x").show())},stages:function(e){var i=e.target.getAttribute("data-stage"),a=t(this),s=t(this).hasClass("preview-designs");if(lumise.do_action("stage_nav_click",e),"lumise-stage-nav"==e.target.id&&s)return a.removeClass("preview-designs").removeClass("stages-expand"),a.find("li[data-stage].active").removeClass("active"),void a.find('li[data-stage="'+lumise.current_stage+'"]').addClass("active");if(i){if(!a.hasClass("stages-expand")&&!s)return void a.addClass("stages-expand")}else{var l=e.target.getAttribute("data-nav")||e.target.parentNode.getAttribute("data-nav")||e.target.parentNode.parentNode.getAttribute("data-nav"),n=lumise.get.el("stage-nav").find("li.active");l&&"func"!=l&&("prev"==l&&n.prev("li[data-stage]")?i=n.prev("li[data-stage]").data("stage"):"next"==l&&n.next("li[data-stage]")&&(i=n.next("li[data-stage]").data("stage")))}i&&(i!=lumise.current_stage||s)&&lumise.data.stages[i]&&(a.hasClass("preview-designs")?lumise.fn.stage_nav(i):(a.removeClass("stages-expand preview-designs"),lumise.active_stage(i,(function(){lumise.design.layers.build(),lumise.get.el("zoom").val(100*lumise.stage().canvas.getZoom()).trigger("input"),lumise.e.tools.attr({"data-view":"standard"})}))))},cliparts:function(e){var i=e.target.getAttribute("data-act")?t(e.target):t(e.target).closest("[data-act]"),a=null;if(i.get(0)&&(a=i.data("act")),a)switch(a){case"category":lumise.get.el("cliparts-list");lumise.get.el("cliparts").find(".lumise-cliparts-category.selected").removeClass("selected"),i.addClass("selected"),lumise.get.el("cliparts").addClass("selected"),lumise.get.el("cliparts-list").data({category:i.data("category")}).html('<header>\t\t\t\t\t\t\t\t\t\t\t\t<span data-act="back" title="'+lumise.i(43)+'">\t\t\t\t\t\t\t\t\t\t\t\t\t<i class="lumisex-android-arrow-back"></i>\t\t\t\t\t\t\t\t\t\t\t\t</span>\t\t\t\t\t\t\t\t\t\t\t\t<span class="lumise-category-title">'+lumise.i(44)+'</span>\t\t\t\t\t\t\t\t\t\t\t</header><i class="lumise-spinner white x3 mt2"></i>'),lumise.post({action:"cliparts",category:i.data("category"),q:lumise.ops.cliparts_q,index:0}),lumise.ops.cliparts_index=0;break;case"back":lumise.get.el("cliparts").find(".lumise-cliparts-category.selected").removeClass("selected"),lumise.get.el("cliparts").removeClass("selected"),lumise.get.el("cliparts-list").data({category:""})}},do_search:function(t){lumise.ops[t+"_index"]=0,lumise.ops[t+"_loading"]=!1,lumise.get.el(t+"-list").find("ul").html(""),lumise.get.el(t+"-list").trigger("scroll")},templates_search:function(t){"click"==t.type&&setTimeout((function(e){lumise.ops.templates_q!=e.value&&""===e.value&&(lumise.ops.templates_q=e.value,t.data.do_search("templates"))}),100,this),"INPUT"==this.tagName&&13!==t.keyCode||("INPUT"==this.tagName&&(lumise.ops.templates_q=this.value),t.data.do_search("templates"))},cliparts_search:function(t){"click"==t.type&&setTimeout((function(e){lumise.ops.cliparts_q!=e.value&&""===e.value&&(lumise.ops.cliparts_q=e.value,t.data.do_search("cliparts"))}),100,this),"INPUT"==this.tagName&&13!==t.keyCode||("INPUT"==this.tagName&&(lumise.ops.cliparts_q=this.value),t.data.do_search("cliparts"))},upload_nav:function(e){var i=t(this).closest("#lumise-uploads"),a=this.getAttribute("data-nav"),s=i.find('div[data-tab="'+a+'"]');"external"==a&&(0===s.find("iframe").length?s.html('<iframe src="https://services.lumise.com/images/"></iframe>'):t(this).hasClass("active")&&(s.scrollTop(0),s.find("iframe").get(0).contentWindow.postMessage({action:"scrollTop"},"*"))),i.find("header button.active, div[data-tab].active").removeClass("active"),t(this).addClass("active"),s.addClass("active"),e.preventDefault()},x_thumbn_preview:function(e){if("I"==e.target.tagName&&e.target.getAttribute("data-info")&&e.target.parentNode.getAttribute("data-ops"))if("mouseover"==e.type&&null===lumise.ops.drag_start){void 0!==lumise.ops.xtc_timer&&clearTimeout(lumise.ops.xtc_timer);try{var i=e.target.parentNode.getAttribute("data-ops");i=(i=void 0!==lumise.xitems.ops[i]?t.extend([],lumise.xitems.ops[i],!0):JSON.parse(i))[0]}catch(t){return console.warn(t.message),void console.log(t)}var a="image"==i.type||"template"==i.type?i.price>0?lumise.fn.price(i.price):lumise.i(100):"",s="upload"==i.type?lumise.i(84):"null"!=i.cates&&""!=i.cates?i.cates:""!=i.tags&&"null"!=i.tags?i.tags:"",l=function(){void 0!==i.component&&(i.url=lumise.xitems.resources[i.component].url[i.id]),lumise.get.el("x-thumbn-preview").show().find(">div").html('<img src="'+i.url+'" />'),lumise.get.el("x-thumbn-preview").find(">header").html((i.name?i.name:i.url.split("/").pop().substr(0,50))+"<span>"+a+"</span>"),""!==s?lumise.get.el("x-thumbn-preview").find(">footer").show().html(lumise.i(105)+" "+s):lumise.get.el("x-thumbn-preview").find(">footer").hide().html("")};if("template"==i.type)return function(){var e=lumise.stage(),l=lumise.get.color();lumise.get.el("x-thumbn-preview").show().find(">div").html('<div class="lumise-template-preview">\t\t\t\t\t\t\t\t\t\t\t\t<img style="background:'+l+'" src="'+e.product._element.src+'" />\t\t\t\t\t\t\t\t\t\t\t\t<div class="lumise-tp-limit"></div>\t\t\t\t\t\t\t\t\t\t\t</div>'),lumise.get.el("x-thumbn-preview").find("img").on("load",(function(){var a=t(this).parent().find(".lumise-tp-limit"),s=e.product_width?this.offsetWidth/e.product_width:1,n=Math.round(e.edit_zone.width*s),o=Math.round(e.edit_zone.height*s),r=e.edit_zone.top*s,u=e.edit_zone.left*s;a.css({marginLeft:u+"px",marginTop:r+"px",height:(o%2!=0?o+1:o)+"px",width:(n%2!=0?n+1:n)+"px",borderColor:lumise.fn.invert(l)}).html('<img src="'+i.screenshot+'" />')})),lumise.get.el("x-thumbn-preview").find(">header").html((i.name?i.name:i.url.split("/").pop().substr(0,50))+"<span>"+a+"</span>"),""!==s?lumise.get.el("x-thumbn-preview").find(">footer").show().html(lumise.i(105)+" "+s):lumise.get.el("x-thumbn-preview").find(">footer").hide().html("")}();void 0===i.url&&(i.url=lumise.cliparts.storage[i.id]||lumise.cliparts.uploads[i.id]),void 0!==i.url&&0===i.url.indexOf("dumb-")&&(lumise.indexed.get(i.url.split("dumb-")[1],"dumb",(function(t){null!=t?(lumise.cliparts.uploads[i.id]=t[0],i.url=t[0],l(),delete t):lumise.fn.notice(lumise.i(165))})),i.url=""),l()}else lumise.ops.xtc_timer=setTimeout((function(){lumise.get.el("x-thumbn-preview").hide()}),350)},x_thumbn_categories:function(t){var e=lumise.get.el("x-thumbn-preview"),i=this.getAttribute("data-type");if(void 0!==lumise.ops.xtc_timer&&clearTimeout(lumise.ops.xtc_timer),"block"==e.css("display")&&0!==e.find("div.lumise-categories-wrp").length)return e.hide();e.show().find(">div").html(""),e.find(">header").html("<strong>"+lumise.i(56)+'<i class="lumisex-android-close close"></i></strong>'),e.find(">footer").html("").hide(),lumise.render.categories(i)},templates_more:function(t){if(!0!==lumise.ops.templates_loading&&Math.round(this.scrollTop)+this.offsetHeight>=this.scrollHeight){var e=lumise.get.ptcfg_type("templates"),i={action:"templates",category:lumise.ops.templates_category,q:lumise.ops.templates_q,index:lumise.ops.templates_index};e&&null!=e.categories&&e.categories.length>0&&(i.include=e.categories),lumise.post(i),lumise.get.el("templates-list").append('<i class="lumise-spinner white x3 mt1 mb1"></i>'),lumise.ops.templates_loading=!0}},cliparts_more:function(t){if(!0!==lumise.ops.cliparts_loading&&Math.round(this.scrollTop)+this.offsetHeight>=this.scrollHeight){var e=lumise.get.ptcfg_type("cliparts"),i={action:"cliparts",category:lumise.ops.cliparts_category,q:lumise.ops.cliparts_q,index:lumise.ops.cliparts_index};e&&null!=e.categories&&e.categories.length>0&&(i.include=e.categories),lumise.post(i),lumise.get.el("cliparts-list").append('<i class="lumise-spinner white x3 mt1 mb1"></i>'),lumise.ops.cliparts_loading=!0}},images_more:function(e){!0!==lumise.ops.images_loading&&Math.round(this.scrollTop)+this.offsetHeight>=this.scrollHeight-100&&(lumise.ops.images_loading=!0,lumise.indexed.list((function(t){lumise.cliparts.import(t.id,{url:"dumb-"+t.id,thumbn:t.thumbn,name:t.name,save:!1}),lumise.ops.uploads_cursor=t.id,delete t}),"uploads",(function(e){lumise.ops.images_loading=!1,"done"==e&&t("#lumise-uploads").off("scroll")})))},shapes_more:function(t){!0!==lumise.ops.shapes_loading&&Math.round(this.scrollTop)+this.offsetHeight>=this.scrollHeight-100&&(lumise.post({action:"shapes",index:lumise.ops.shapes_index}),lumise.get.el("shapes").append('<i class="lumise-spinner white x3 mt3 mb1"></i>'),lumise.ops.shapes_loading=!0)},designs_more:function(e){!0!==lumise.ops.designs_loading&&Math.round(this.scrollTop)+this.offsetHeight>=this.scrollHeight-100&&(lumise.ops.designs_loading=!0,lumise.ops.designs_cursor=t('#lumise-saved-designs>li[data-id]:not([data-id="new"])').last().data("id"),lumise.indexed.list((function(t){lumise.render.my_designs(t),lumise.ops.designs_cursor=t.id,delete t}),"designs",(function(e){lumise.ops.designs_loading=!1,"done"==e&&t("#lumise-my-designs").off("scroll")})))},dragPop:function(e){if("H3"==e.target.tagName){var i=this;i.dragging=!0,void 0===i.dragSetup&&(t(document).on("mousemove",(function(t){if(i.dragging&&!lumise.e.tools.hasClass("minisize")){lumise.get.scroll();lumise.e.tools.css({top:t.clientY-i.rect.clientY+i.rect.top+"px",left:t.clientX-i.rect.clientX+i.rect.left+"px"})}})).on("mouseup",(function(t){i.dragging=!1})),i.dragSetup=!0);var a=document.querySelector("#lumise-workspace").getBoundingClientRect(),s=lumise.body.scrollTop?lumise.body.scrollTop:lumise.html.scrollTop,l=lumise.body.scrollLeft?lumise.body.scrollLeft:lumise.html.scrollLeft;i.rect={left:lumise.e.tools.offset().left-a.left-l,top:lumise.e.tools.offset().top-a.top-s,clientX:e.clientX,clientY:e.clientY}}},topTools:function(e){var i=this.getAttribute("data-tool"),a=this.getAttribute("data-callback");if(this.getAttribute("data-load")&&("function"==typeof lumise.design.nav.load[this.getAttribute("data-load")]&&lumise.design.nav.load[this.getAttribute("data-load")](e),this.removeAttribute("data-load")),"callback"==i&&a&&"function"==typeof lumise.design.nav.callback[a])return lumise.design.nav.callback[a](this,e);i&&!(t(e.target).closest('[data-view="sub"]').length>0)||-1!==e.target.className.toString().indexOf("close")&&!e.target.getAttribute("data-noclose")?(lumise.fn.navigation(this,e),a&&"function"==typeof lumise.design.nav.callback[a]&&lumise.design.nav.callback[a](this,e)):i&&e.data[i]&&"function"==typeof e.data[i]&&e.data[i](e)},position:function(t){var e=t.target.getAttribute("data-position")||t.target.parentNode.getAttribute("data-position")||t.target.parentNode.parentNode.getAttribute("data-position"),i=lumise.stage(),a=i.limit_zone,s=i.canvas.getActiveObject()||i.canvas.getActiveGroup();if(void 0!==s.imagebox&&""!==s.imagebox){var l=i.canvas.getObjects().filter((function(t){return"imagebox"==t.type&&t.id==s.imagebox}));l.length>0&&(a={width:l[0].width,height:l[0].height,top:l[0].top-l[0].height/2,left:l[0].left-l[0].width/2})}if(s&&e){var n=s.left,o=s.top;switch(e){case"tl":n=a.left+s.getWidth()/2,o=a.top+s.getHeight()/2;break;case"tc":n=a.left+a.width/2,o=a.top+s.getHeight()/2;break;case"tr":n=a.left+a.width-s.getWidth()/2,o=a.top+s.getHeight()/2;break;case"ml":n=a.left+s.getWidth()/2,o=a.top+a.height/2;break;case"mc":n=a.left+a.width/2,o=a.top+a.height/2;break;case"mr":n=a.left+a.width-s.getWidth()/2,o=a.top+a.height/2;break;case"bl":n=a.left+s.getWidth()/2,o=a.top+a.height-s.getHeight()/2;break;case"bc":n=a.left+a.width/2,o=a.top+a.height-s.getHeight()/2;break;case"br":n=a.left+a.width-s.getWidth()/2,o=a.top+a.height-s.getHeight()/2;break;case"cv":o=a.top+a.height/2;break;case"ch":n=a.left+a.width/2}s.group_pos&&i.canvas.getObjects().map((function(t){t.group_pos&&t.id!=s.id&&t.set({left:t.left+(n-s.left),top:t.top+(o-s.top)})})),s.set({top:o,left:n}),s.setCoords(),i.canvas.renderAll()}},doZoom:function(t){t.preventDefault();var e=lumise.stage();if(e){var i=e.canvas,a=parseInt(lumise.get.el("zoom").val());if(void 0!==t.originalEvent&&void 0!==t.originalEvent.deltaY)return(a-=t.originalEvent.deltaY)<50&&(a=50),a>250&&(a=250),t.preventDefault(),lumise.get.el("zoom").val(a).trigger("input");if("I"==this.tagName)return"out"==this.getAttribute("data-zoom")?a-=10:a+=10,a<50&&(a=50),a>250&&(a=250),lumise.get.el("zoom").val(a).trigger("input"),!1;[75,100,125,150,175,200,225].map((function(t){Math.abs(a-t)<5&&(a=t)})),this.setAttribute("data-value",a+"%"),this.parentNode.setAttribute("data-value",a+"%");var s=lumise.get.el("stage-"+lumise.current_stage);s.data("w")||s.data({w:s.width(),h:s.height()});s.data("w"),s.data("h"),i.viewportTransform;a/=100,i.zoomToPoint(new fabric.Point(e.limit_zone.left+e.limit_zone.width/2,e.limit_zone.top+e.limit_zone.height/2),a),a>=1&&lumise.fn.reversePortView(!1)}},moveZoom:function(t){var e=this.parentNode,i=function(t){document.removeEventListener("mouseup",i,!1),e.removeEventListener("mousemove",lumise.fn.onZoomThumnMove,!1)};lumise.ops.preventClick=!0,e.addEventListener("mousemove",lumise.fn.onZoomThumnMove,!1),document.addEventListener("mouseup",i,!1)},wheelZoom:function(t){var e=parseFloat(lumise.get.el("zoom").val());(e+=.15*t.originalEvent.wheelDelta)<100?e=100:e>250&&(e=250),lumise.get.el("zoom").val(e).trigger("input"),t.preventDefault()},fillColor:function(t){var e=lumise.stage().canvas,i=e.getActiveObject();if(i&&i.fill!==this.value){if("image"==i.type||"qrcode"==i.type||"text-fx"==i.type){if(lumise.get.el("fill").closest('li[data-tool="fill"]').css({"border-bottom":"3px solid "+this.value}),i.set("fill",this.value),i._element&&i._element.src.indexOf("data:image/svg+xml;base64")>-1){var a=lumise.fn.fill_svg(i._element.src,this.value);return i._element.src=a,i._element.onload=function(){e.renderAll()},void i.set({colors:[this.value],origin_src:a,src:a})}if(""!==this.value){var s=new fabric.Image.filters.Tint({color:this.value});if(i.filters||(i.filters=[]),0==i.filters.length)i.filters.push(s);else{var l=i.filters.filter((function(t){return void 0!==t.color}));l.length>0?l[0].color=this.value:i.filters.push(s)}"qrcode"==i.type&&(i.backgroundColor=lumise.fn.invert(this.value))}else{var n=[];i.filters.map((function(t){void 0===t.color&&n.push(t)})),i.filters=n}"function"==typeof i.applyFilters&&i.applyFilters(e.renderAll.bind(e))}else"path-group"!=i.type&&"svg"!=i.type&&i.set("fill",this.value);"text-fx"!=i.type?e.renderAll():lumise.fn.update_text_fx(),lumise.design.layers.build()}},fillStroke:function(t){var e=lumise.stage().canvas,i=e.getActiveObject();i&&i.strokeWidth>0&&(i.set("stroke",this.value),e.renderAll())},svgFillColor:function(e){var i=lumise.stage().canvas,a=i.getActiveObject(),s=this.value,l=this.getAttribute("data-active-color");if(null!=a)if(void 0!==a.j_object){lumise.tools.svg.replace(a.j_object,s,l);var n="data:image/svg+xml;base64,"+btoa(a.j_object.html());lumise.get.el("svg-colors").find('span[data-color="'+l+'"] input').css({"background-color":s}),a.set("fill",""),a.set("src",n),a.set("origin_src",n),a._element.src=n,a._originalElement.src=n,a._element.onload=function(){i.renderAll()}}else t("#lumise-color-picker-header i").click()},saveColor:function(t){var e=lumise.get.el(this.getAttribute("data-target")).val().toString().toLowerCase(),i="#F4511E|#546E7A|#00ACC1|#3949AB|#5E35B1|#e53935|#FDD835|#7CB342|#6D4C41|#8E24AA";if(0===e.indexOf("rgb")&&(e=lumise.tools.svg.rgb2hex(e)),e=e.toUpperCase(),localStorage.getItem("lumise_color_presets")&&(i=localStorage.getItem("lumise_color_presets")),i=i.split("|"),!(""===e||i.indexOf(e)>-1)){for(i.unshift(e);i.length>10;)i.pop();localStorage.setItem("lumise_color_presets",i.join("|")),lumise.render.colorPresets()}},enableCurved:function(t){if(!t.isTrigger){var e,i=lumise.stage().canvas,a=i.getActiveObject(),s=null;if(a)if(this.checked&&"i-text"==a.type?(delete(e=a.toObject(lumise.ops.export_list)).type,e.clipTo=function(t){return lumise.objects.clipto(t,s)},[["textAlign","center"],["radius",50],["spacing",5],["angle",0],["effect","bridge"]].map((function(t){void 0===e[t[0]]&&(e[t[0]]=t[1])})),s=new fabric.CurvedText(a.getText().trim(),e)):this.checked||"curvedText"!=a.type||((e=a.toObject(lumise.ops.export_list)).text=a.getText().trim(),delete e.type,e.clipTo=function(t){return lumise.objects.clipto(t,s)},s=lumise.objects.text(e)),null!==s){var l=i.getObjects().indexOf(a);i.remove(a),lumise.stage().stack.data.pop(),i.add(s),s.moveTo(l),i.setActiveObject(s).renderAll(),lumise.design.layers.build()}else alert(lumise.i(18))}},text_effect:function(e){if(!e.isTrigger){var i=lumise.stage().canvas,a=i.getActiveObject(),s=this.getAttribute("data-effect"),l=a.toObject(lumise.ops.export_list),n=null;if(a)if(lumise.f("Processing.."),t(this.parentNode).find("[data-selected]").attr({"data-selected":""}),t(this).attr({"data-selected":"true"}),"curved"==s)delete l.type,l.clipTo=function(t){return lumise.objects.clipto(t,n)},[["textAlign","center"],["radius",50],["spacing",5],["angle",0],["effect","bridge"]].map((function(t){void 0===l[t[0]]&&(l[t[0]]=t[1])})),n=new fabric.CurvedText(a.text.trim(),l),lumise.fn.switch_type(n),n.set("radius",50),i.renderAll();else{if(l.text=a.text.trim(),delete l.type,l.clipTo=function(t){return lumise.objects.clipto(t,n)},"normal"==s)return lumise.fn.switch_type(lumise.objects.text(l));if(void 0===l.bridge&&(l.bridge={curve:-2.5,offsetY:.5,bottom:2.5,trident:!1,oblique:!1}),l.bridge.oblique="oblique"==s,"oblique"==s?lumise.get.el("text-fx-trident").closest('li[data-func="text-fx"]').hide():lumise.get.el("text-fx-trident").closest('li[data-func="text-fx"]').css({display:""}),"text-fx"==a.type){a.set({bridge:l.bridge});var o=lumise.fn.bridgeText(a.cacheTextImageLarge,a.bridge);a._element.onload=function(){i.renderAll(),lumise.f(!1),lumise.get.el("text-effect").find("img[data-effect]").attr({"data-selected":null}),lumise.get.el("text-effect").find('img[data-effect="'+s+'"]').attr({"data-selected":"true"})},a._element.src=o,a._originalElement.src=o}else lumise.objects.lumise["text-fx"](l,lumise.fn.switch_type)}}},editText:function(t){var e=lumise.stage().canvas,i=e.getActiveObject(),a=this,s=function(){e.renderAll(),lumise.get.el("workspace").find(".lumise-edit-text").val(a.value)};if(i&&!t.isTrigger){let e=lumise.get.ptcfg_type("font");switch(i.type){case"curvedText":i.setText(this.value);break;case"i-text":e&&e.options.max_text_line&&i._textLines&&i._textLines.length>parseInt(e.options.max_text_line)&&(lumise.fn.notice(lumise.i(215)+" "+e.options.max_text_line,"notice",3500),t.preventDefault()),i.setText(this.value);break;case"qrcode":var l=lumise.tools.qrcode({text:this.value,foreground:i.fill});return i._element.onload=s,i._element.src=l.toDataURL(),i.set({text:this.value,name:i.name?i.name:this.value,fill:i.fill}),delete l;case"text-fx":i.set("text",this.value)}s()}},textFormat:function(e){var i=lumise.stage().canvas,a=i.getActiveObject(),s=this.getAttribute("data-format"),l=this;a&&!e.isTrigger&&(l.getAttribute("data-align")?(t(l.parentNode).find("[data-align].selected").removeClass("selected"),t(l).addClass("selected"),a.set("textAlign",l.getAttribute("data-align")),lumise.get.el("text-align").attr({class:"lumisex-align-"+(l.getAttribute("data-align")?l.getAttribute("data-align"):"center")})):s&&("upper"==s?a.get("text").toString()!=a.get("text").toString().toUpperCase()?"text-fx"!=a.type?a.setText(a.get("text").toString().toUpperCase()):a.set("text",a.get("text").toString().toUpperCase()):"text-fx"!=a.type?a.setText(a.get("text").toString().toLowerCase()):a.set("text",a.get("text").toString().toLowerCase()):[["bold","fontWeight"],["italic","fontStyle"],["underline","textDecoration"]].map((function(e){s==e[0]&&(t(l).hasClass("selected")?(t(l).removeClass("selected"),a.set(e[1],"")):(t(l).addClass("selected"),a.set(e[1],e[0])))}))),"text-fx"!=a.type?document.fonts.load(a.fontStyle+" "+a.fontWeight+" 1px "+a.fontFamily,"a").then((function(){fabric.util.clearFabricFontCache(a.fontFamily),i.renderAll()})):lumise.fn.update_text_fx())},textFX:function(t,e,i){if(void 0===e||void 0===e.isTrigger){var a=lumise.get.stage();if(a.active){a.active.bridge||(a.active.bridge={});var s="input";t.target&&(t=this,i=parseFloat(this.getAttribute("data-ratio"))||1,s="change");var l,n=t.getAttribute("data-fx");a.active.bridge[n]="trident"==n?t.checked:parseFloat(t.value)*i,l="change"==s?lumise.fn.bridgeText(a.active.cacheTextImageLarge,a.active.bridge):lumise.fn.bridgeText(a.active.cacheTextImage,a.active.bridge),a.active._element.onload=function(){a.active.set("fill",a.active.fill),a.canvas.renderAll()},a.active._element.src=l,a.active._originalElement.src=l}}},strokeColor:function(t){var e=lumise.stage().canvas.getActiveObject(),i=this.getAttribute("data-color"),a=lumise.get.el("stroke").get(0);lumise.get.el("stroke-width").val();a.color&&"function"==typeof a.color.fromString&&a.color.fromString(i),e.set("stroke",this.getAttribute("data-color")),lumise.stage().canvas.renderAll()},imageFX:function(t){this.setAttribute("data-value",this.value),lumise.fn.update_image_fx(this.getAttribute("data-image-fx"),this.value)},doArrange:function(e){var i=lumise.stage().canvas,a=i.getActiveObject();if(a){var s=i.getObjects(),l=s.indexOf(a);return"forward"==this.getAttribute("data-arrange")?void 0!==s[l+1]?(a.moveTo(l+1),i.renderAll(),lumise.design.layers.build()):t(this).addClass("disabled"):"back"==this.getAttribute("data-arrange")?void 0!==s[l-1]&&!1!==s[l-1].evented?(a.moveTo(l-1),i.renderAll(),lumise.design.layers.build()):t(this).addClass("disabled"):void 0}},load_fonts:function(){lumise.tools.lightbox({width:1020,content:'<iframe src="https://services.lumise.com/fonts/"></iframe>\t\t\t\t\t\t\t\t\t  <span data-view="loading"><i class="lumise-spinner x3"></i></span>'}),t("#lumise-lightbox iframe").on("load",(function(){this.contentWindow.postMessage({action:"fonts",fonts:localStorage.getItem("LUMISE_FONTS")},"*"),t('#lumise-lightbox span[data-view="loading"]').remove()}))},select_font:function(e){var i=e.target.getAttribute("data-family");if(i){lumise.get.el("fonts").find("font.selected").removeClass("selected"),t(e.target).addClass("selected").closest('li[data-tool="font"]').find("button.dropdown").html("<font style=\"font-family:'"+i+"'\">"+i+"</font>");var a=lumise.stage().canvas,s=a.getActiveObject();if(s.fontFamily==i)return;s.set("fontFamily",'"'+i+'"'),e.target.getAttribute("data-source")?(s.set("font",e.target.getAttribute("data-source")),lumise.fn.font_blob(s)):(fonts=JSON.parse(localStorage.getItem("LUMISE_FONTS")),fonts[encodeURIComponent(i)]&&s.set({font:fonts[encodeURIComponent(i)]})),"text-fx"!=s.type?a.renderAll():lumise.fn.update_text_fx()}},flip:function(t){var e=lumise.stage().canvas,i=e.getActiveObject();"lumise-flip-x"==this.id?i.set("flipX",this.checked):i.set("flipY",this.checked),e.renderAll()},lock_position:function(t){var e=lumise.stage().canvas;e.getActiveObject().set({lockPosition:this.checked,lockMovementX:this.checked,lockMovementY:this.checked}),lumise.get.el("position-wrp").attr({"data-lock":!0===this.checked?"true":"false"}),e.renderAll()},resetTransform:function(){var t=lumise.stage().canvas,e=t.getActiveObject();e.set({scaleY:e.scaleX,skewX:0,skewY:0,angle:0,flipX:!1,flipY:!1}),t.renderAll(),lumise.tools.set(e)},selectImageFX:function(t){lumise.fn.update_image_fx(this.getAttribute("data-fx"),this.value)},imageColorFX:function(e){var i=lumise.get.stage();if("bnw"==this.getAttribute("data-fx"))return t("#lumise-image-fx-saturation").val(0).trigger("change");i.active.fx&&0==i.active.fx.saturation?(i.active.fx.saturation=100,t("#lumise-image-fx-saturation").val(100).trigger("input")):""===this.getAttribute("data-fx")&&(i.active.fx.saturation=100,i.active.fx.brightness=0,i.active.fx.contrast=0,lumise.get.el("image-fx-brightness").val(0).attr({"data-value":0}),lumise.get.el("image-fx-contrast").val(0).attr({"data-value":0}),lumise.get.el("image-fx-saturation").val(100).attr({"data-value":100})),t(this.parentNode).find('[data-selected="true"]').removeAttr("data-selected"),t(this).attr({"data-selected":"true"}),lumise.fn.update_image_fx("fx",this.getAttribute("data-fx"))},bug_submit:function(t){var e=lumise.get.el("bug"),i=e.find('textarea[data-id="report-content"]').val();if(i.length<30)return e.find('textarea[data-id="report-content"]').shake();i=btoa(encodeURIComponent(i.substr(0,1500))),e.attr({"data-view":"sending"}),lumise.post({action:"send_bug",content:i},(function(t){try{t=JSON.parse(t)}catch(e){t={}}if(1!=t.success)return e.removeAttr("data-view"),void lumise.fn.notice(t.message,"error",3500);e.attr({"data-view":"success"}),setTimeout((function(){e.removeAttr("data-view"),e.find('textarea[data-id="report-content"]').val("")}),1e4)}))},options:function(){"function"==typeof this.getAttribute&&localStorage.setItem("LUMISE-"+this.getAttribute("data-name"),this.checked)},exit_drawing:function(){lumise.tools.save(),lumise.get.el('left .lumise-left-nav li[data-tab="layers"]').trigger("click")},saved_designs:function(e){let i,a,s;if(s=e.target.getAttribute("data-func")?t(e.target):t(e.target).closest("[data-func]"),i=e.target.getAttribute("data-func")?e.target.getAttribute("data-func"):t(e.target).closest("[data-func]").attr("data-func"),a=e.target.getAttribute("data-id")?e.target.getAttribute("data-id"):t(e.target).closest("[data-id]").attr("data-id"),!i)return;if(lumise.ops.preventClick=!0,!a&&"new"!=i)return;let l="save"==t("#lumise-saved-designs").attr("is");switch(i){case"edit":if("new"==a||l){let e=!0;return Object.keys(lumise.cart.printing.states_data).map((function(t){Object.keys(lumise.cart.printing.states_data[t]).map((function(i){"number"==typeof lumise.cart.printing.states_data[t][i]&&0!==lumise.cart.printing.states_data[t][i]&&(e=!1)}))})),e?lumise.fn.notice(lumise.i(96),"error",3500):(l?lumise.fn.export("designs",a,s.attr("data-created"),s.attr("data-name")):lumise.fn.export("designs"),t("#lumise-navigations").attr({"data-navigation":""}),t("li[data-tool]").removeClass("active"),lumise.fn.notice(lumise.i(109),"success",3500))}lumise.indexed.get(a,"dumb",(function(t){null!==t?(lumise.fn.set_url("cart",null),lumise.ops.my_designs[a].stages=t.stages,lumise.fn.edit_design(lumise.ops.my_designs[a])):lumise.fn.notice(lumise.i(166),"error",3500)}));break;case"name":var n=t(e.target).text();e.target.onblur=function(){n!=t(this).text()&&(n=t(this).text(),t(e.target).closest("li[data-name]").attr({"data-name":n}),setTimeout((function(){lumise.indexed.get(a,"designs",(function(t){null!==t&&(t.name=n,lumise.indexed.get(a,"dumb",(function(e){null!==e&&(e.name=n,lumise.indexed.save([t,e],"designs"),delete t,delete e)})))}))}),300))},t(e.target).off("keydown").on("keydown",(function(t){13===t.keyCode&&(t.preventDefault(),this.blur())}));break;case"delete":if(!confirm(lumise.i("sure")))return;lumise.indexed.delete(a,"designs"),t(e.target).closest("li[data-id]").find("img").each((function(){0===this.src.indexOf("blob:")&&URL.revokeObjectURL(this.src)})),t(e.target).closest("li[data-id]").remove()}},saved_designs_search:function(e){var i=this.value.trim().toLowerCase();lumise.get.el("saved-designs").find("li").each((function(){""===i||t(this).find('span[data-view="name"]').text().trim().toLowerCase().indexOf(i)>-1?this.style.display="":this.style.display="none"}))},change_lang:function(e){lumise.post({action:"change_lang",code:this.getAttribute("data-id")}),lumise.fn.set_url("lang",this.getAttribute("data-id")),t(this).closest('li[data-tool="languages"]').removeClass("active").html('<i class="lumise-spinner white"></i>')},change_product:function(t){var e=lumise.fn.url_var("product_base")?lumise.i(80):lumise.i(87);lumise.render.products_list(e)},fileNav:function(t){switch(this.getAttribute("data-func")){case"new":lumise.design.my_designs.new();break;case"import":var e=lumise.get.el("import-json").get(0);e.type="",e.type="file",e.click(),!0!==lumise.get.el("import-json").data("addEvent")&&lumise.get.el("import-json").data({addEvent:!0}).on("change",(function(){lumise.design.my_designs.import(this.files[0])}));break;case"clear":lumise.tools.clearAll(),lumise.fn.notice(lumise.i(29),"success");break;case"saveas":lumise.fn.download_design({type:"json"});break;case"save":lumise.fn.notice(lumise.i(109),"success"),lumise.fn.export("designs");break;case"download":lumise.fn.download_design({type:this.getAttribute("data-type")})}lumise.fn.navigation("clear")},doPrint:function(e){var i=localStorage.getItem("LUMISE_PRINT_CFG"),a=this.getAttribute("data-format");switch(i=i&&""!==i?JSON.parse(i):{},this.getAttribute("data-dp")){case"format":var s=['li[data-row="size"]','li[data-row="csize"]','li[data-row="unit"]','li[data-row="orien"]','button[data-func="print"]'],l=void 0!==(c=lumise.stage())&&void 0!==c.size?c.size:"";s=t("#lumise-print-nav").find(s.join(",")),i.format=a,"png"==a?(""!==l?(s.hide(),t('#lumise-print-nav li[data-row="size"] select option[value="'+l+'"]').length>0?t("#lumise-print-nav").find('li[data-row="size"]').show():t("#lumise-print-nav").find('li[data-row="csize"],li[data-row="unit"]').show()):s.show(),t('#lumise-print-nav lumise-btn[data-func="print"]').show()):(s.hide(),t('#lumise-print-nav lumise-btn[data-func="print"]').hide(),t("#lumise-print-nav").find('li[data-row="size"]').hide()),"pdf"==a?t("#lumise-print-nav").find('li[data-row="full"], li[data-row="cropmarks"]').show():t("#lumise-print-nav").find('li[data-row="full"], li[data-row="cropmarks"]').hide();break;case"csize":i.csize=this.value;break;case"orien":i.orien=this.value;break;case"base":i.base=this.checked;break;case"overflow":i.overflow=this.checked;break;case"cropmarks":i.cropmarks=this.checked;break;case"all_pages":i.all_pages=this.checked;break;case"unit":var n=t('#lumise-print-nav select[name="select-size"]').val();if(inp=t('#lumise-print-nav input[name="size"]'),o=this.getAttribute("data-unit"),""===n||null===n)return;i.unit=o,(n=n.split("x"))[0]=parseFloat(n[0].trim()),n[1]=parseFloat(n[1].trim()),"inch"==o?(n[0]=(n[0]/2.54).toFixed(2),n[1]=(n[1]/2.54).toFixed(2)):"px"==o&&(n[0]=(118.095238*n[0]).toFixed(2),n[1]=(118.095238*n[1]).toFixed(2)),n=n.join(" x "),inp.val(n),i.csize=n;break;case"size":var o=t('#lumise-print-nav input[name="print-unit"]:checked').data("unit");if(""===(n=this.value))return;i.size=n,(n=n.split("x"))[0]=parseFloat(n[0].trim()),n[1]=parseFloat(n[1].trim()),"inch"==o?(n[0]=(n[0]/2.54).toFixed(2),n[1]=(n[1]/2.54).toFixed(2)):"px"==o&&(n[0]=(118.1*n[0]).toFixed(0),n[1]=(118.1*n[1]).toFixed(0)),n=n.join(" x "),i.csize=n,lumise.get.el("print-nav").find('input[name="size"]').val(n)}if("BUTTON"==this.tagName){a=t('#lumise-print-nav input[name="print-format"]:checked').attr("data-format");var r=t("#lumise-print-base").prop("checked"),u=t("#lumise-print-full").prop("checked"),c=(t("#lumise-print-overflow").prop("checked"),lumise.stage()),d=this.getAttribute("data-func");if("svg"==a||"pdf"==a)return lumise.fn.download_design({type:a,include_base:r,full:u});document.getElementById("LumiseDesign").setAttribute("data-processing","true"),document.getElementById("LumiseDesign").setAttribute("data-msg",lumise.i("render")),lumise.get.el("zoom").val("100").trigger("input");var m=lumise.get.size();lumise.fn.uncache_large_images((function(){lumise.f(!1),lumise.fn.download_design({type:"png",orien:m.o,height:m.h,width:m.w,include_base:r,callback:function(t){if(lumise.fn.uncache_large_images(null,!0),"download"==d)return name=lumise.data.prefix_file+"_print_"+lumise.current_stage+".png",""!==lumise.fn.url_var("order_print","")&&(name="order-"+lumise.fn.url_var("order_print")+"__product-"+lumise.fn.url_var("product_cms")+"__base-"+lumise.fn.url_var("product_base")+"__stage-"+(Object.keys(lumise.data.stages).indexOf(lumise.current_stage)+1)+".png"),lumise.fn.download(t,name),void lumise.f(!1);if(t.length<10)return alert(lumise.i(36));var e="Print"+(new Date).getTime(),i=window.open("about:blank",e,"left=50000,top=50000,width=0,height=0");i.document.write('<img alt="" src="'+t+'" />'),i.document.close(),i.focus(),i.print()}})}))}localStorage.setItem("LUMISE_PRINT_CFG",JSON.stringify(i))},nav:function(e){if("nav"==e.target.getAttribute("data-func")){var i=t(e.target),a=i.data("nav"),s=i.closest(".lumise-tabs-nav").find('li[data-view="'+a+'"]');i.closest(".lumise-tabs-nav").attr({"data-nav":a}).find('[data-active="true"]').removeAttr("data-active"),i.attr({"data-active":"true"}),s.attr({"data-active":"true"}),e.preventDefault()}},doShare:function(e){var i=e.target.getAttribute("data-func");if(i){var a=localStorage.getItem("LUMISE_SHARE_HISTORY"),s=t(e.target);if(a)try{a=JSON.parse(a)}catch(t){a=[]}else a=[];a.length>3&&a.splice(3);var l=function(t){var e=lumise.get.el("shares-wrp").find('li[data-view="history"]');e.attr({"data-process":"true"}),lumise.post({action:"get_shares",index:t,stream:lumise.fn.url_var("stream","")},(function(t){if(e.removeAttr("data-process"),(t=JSON.parse(t)).result.length>0){var i="",a="";t.result.map((function(t){(a=lumise.data.tool_url).indexOf("?")>-1?a+="&":a+="?",a+="product_base="+t.product,a+="&product_cms="+t.product_cms,a=(a+="&share="+t.share_id).replace("?&","?"),i+='<span data-item>\t\t\t\t\t\t\t\t\t\t\t<a href="'+a+'" target="_blank">\t\t\t\t\t\t\t\t\t\t\t\t<img src="'+lumise.data.upload_url+"shares/"+lumise.fn.date("Y/t",t.created)+"/"+t.share_id+'.jpg" height="150" />\t\t\t\t\t\t\t\t\t\t\t</a>\t\t\t\t\t\t\t\t\t\t\t<name>'+t.name+'</name>\t\t\t\t\t\t\t\t\t\t\t<span data-view="func">\t\t\t\t\t\t\t\t\t\t\t\t<i class="lumise-icon-menu"></i>\t\t\t\t\t\t\t\t\t\t\t\t<span data-view="fsub" data-id="'+t.share_id+'" data-aid="'+t.aid+'" data-link="'+encodeURIComponent(a)+'" data-created="'+t.created+'">\t\t\t\t\t\t\t\t\t\t\t\t\t<date data-func="date">'+lumise.fn.date("h:m D d M, Y",t.created)+'</date>\t\t\t\t\t\t\t\t\t\t\t\t\t<button data-func="copy-link">\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class="lumise-icon-doc"></i> '+lumise.i(130)+'\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\t\t\t\t\t\t\t\t\t\t\t\t\t<button data-func="open">\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class="lumise-icon-link"></i> '+lumise.i(131)+'\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\t\t\t\t\t\t\t\t\t\t\t\t\t<button data-func="delete">\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class="lumise-icon-trash"></i> '+lumise.i(132)+"\t\t\t\t\t\t\t\t\t\t\t\t\t</button>\t\t\t\t\t\t\t\t\t\t\t\t</span>\t\t\t\t\t\t\t\t\t\t\t</span>\t\t\t\t\t\t\t\t\t\t</span>"})),e.html(i)}else e.html('<p class="notice mt2 mb2">'+lumise.i(129)+"</p>");if(t.per_page<t.total){var s='<ul data-view="pagenation">';t.index>t.per_page&&(s+='<li data-func="pagination" data-p="0"><i data-func="pagination" data-p="0" class="lumisex-ios-arrow-back"></i><i data-func="pagination" data-p="0" class="lumisex-ios-arrow-back"></i></li>');for(var l=1;l<=Math.ceil(t.total/t.per_page);l++)s+='<li data-func="pagination" data-p="'+(l-1)*t.per_page+'"'+(t.index==l*t.per_page?' data-active="true"':"")+">"+l+"</li>";t.index<t.total&&(s+='<li data-func="pagination" data-p="'+(Math.ceil(t.total/t.per_page)-1)*t.per_page+'"><i data-func="pagination" data-p="'+(Math.ceil(t.total/t.per_page)-1)*t.per_page+'" class="lumisex-ios-arrow-forward"></i><i data-func="pagination" data-p="'+(Math.ceil(t.total/t.per_page)-1)*t.per_page+'" class="lumisex-ios-arrow-forward"></i></li>'),s+="</ul>",e.append(s)}else t.index>t.per_page&&t.result.length>0&&e.append('<p class="center">'+lumise.i(134)+"</p>")}))};switch("history"==s.data("nav")&&l(0),i){case"nav":return e.data.nav(e);case"pagination":l(s.data("p"));break;case"copy-link":lumise.fn.copy(decodeURIComponent(s.closest('[data-view="fsub"]').data("link"))),lumise.fn.notice(lumise.i(135),"success");break;case"open":window.open(decodeURIComponent(s.closest('[data-view="fsub"]').data("link")));break;case"delete":lumise.fn.confirm({title:lumise.i(133),primary:{text:"Delete",callback:function(t){s.closest("span[data-item]").css({opacity:.25}),lumise.post({action:"delete_link_share",aid:s.closest('[data-view="fsub"]').data("aid"),id:s.closest('[data-view="fsub"]').data("id")},(function(t){0==(t=JSON.parse(t)).success?(s.closest("span[data-item]").css({opacity:1}),lumise.fn.notice(t.message,"error")):s.closest("span[data-item]").remove()}))}},second:{text:"Cancel"}});break;case"create-link":var n=!1;if(3==a.length&&(new Date).getTime()-parseInt(1e3*a[0])<3e5&&(n=!0),!0===n)return void lumise.fn.confirm({title:lumise.i(128),primary:{},second:{text:"Ok"},type:"notice"});if(""===t("#lumise-share-link-title").val())return t("#lumise-share-link-title").shake(),void e.preventDefault();var o=0;if(Object.keys(lumise.data.stages).map((function(t){void 0!==lumise.data.stages[t]&&void 0!==lumise.data.stages[t].canvas&&(lumise.data.stages[t].canvas.getObjects().filter((function(t){return!0===t.evented})).length>0&&o++)})),0===o)return lumise.fn.notice(lumise.i(96),"error"),delete cart_data,delete cart_design,!1;if("1"==lumise.data.required_full_design&&o<Object.keys(lumise.data.stages).length)return lumise.fn.notice(lumise.i(210),"error"),delete cart_data,delete cart_design,!1;var r=t(e.target).closest("#lumise-shares-wrp"),u=lumise.fn.export("share"),c=lumise.data.stages[Object.keys(u.stages)[0]].screenshot;Object.keys(u.stages).map((function(t){u.stages[t].screenshot=""}));let i=new FormData,d="",m=100;if(i.append("action","upload_share_design"),i.append("ajax","frontend"),i.append("nonce","LUMISE-SECURITY:"+lumise.data.nonce),i.append("aid",lumise.fn.get_cookie("lumise-AID")),i.append("label",t("#lumise-share-link-title").val()),i.append("product_cms",lumise.fn.url_var("product_cms","")),i.append("product",lumise.fn.url_var("product_base","")),d=JSON.stringify(u),i.append("data",new Blob([d])),i.append("screenshot",new Blob([c])),m+=d.length+c.length,lumise.data.max_upload_size>0&&m/1024e3>lumise.data.max_upload_size)return lumise.fn.notice("Error: your design is too large ("+(m/1024e3).toFixed(2)+"MB out of max "+lumise.data.max_upload_size+"MB)<br>Please contact the administrator to change the server configuration","error",5e3),lumise.f(!1);lumise.f("0% complete"),t.ajax({data:i,type:"POST",url:lumise.data.ajax,contentType:!1,processData:!1,xhr:function(){var e=new window.XMLHttpRequest;return e.upload.addEventListener("progress",(function(e){if(e.lengthComputable){var i=e.loaded/e.total;i<1?t("div#LumiseDesign").attr({"data-msg":parseInt(100*i)+"% upload complete"}):t("div#LumiseDesign").attr({"data-msg":lumise.i(159)})}}),!1),e},success:function(t,e){if(lumise.f(!1),t=JSON.parse(t),r.removeAttr("data-process").find(".lumise-notice").remove(),0===t.success)r.find('li[data-view="link"]').prepend('<p class="notice error mb1" data-phase="1">'+t.message+"</p>");else{r.attr({"data-phase":"2"});var i=lumise.data.tool_url;i.indexOf("?")>-1?i+="&":i+="?",i+="product_base="+t.product,null!==t.product_cms&&""!==t.product_cms&&(i+="&product_cms="+t.product_cms),i=(i+="&share="+t.id).replace("?&","?"),r.find('p[data-view="link-share"]').html(i),r.find("button[data-network]").off("click").on("click",(function(e){var a=this.getAttribute("data-network"),s="";"facebook"==a?s="https://www.facebook.com/dialog/share?href="+encodeURIComponent(i)+"&display=popup&app_id="+lumise.apply_filters("fbappid","1430309103691863"):"twitter"==a?s="https://twitter.com/intent/tweet?url="+encodeURIComponent(i)+"&text="+encodeURIComponent(t.name)+"&via=Lumise&related=Lumise,LumiseCom,LumiseProductDesigner":"pinterest"==a&&(s="https://www.pinterest.com/pin/create/button/?url="+encodeURIComponent(i)+"&description="+encodeURIComponent(t.name)+"&is_video=false&media="+encodeURIComponent(lumise.data.upload_url+"shares/"+t.path+"/"+t.id+".jpg")),""!==s&&window.open(s),e.preventDefault()})),a.push(t.created),localStorage.setItem("LUMISE_SHARE_HISTORY",JSON.stringify(a))}},error:function(){alert("Error: could not checkout this time")}}),r.attr({"data-process":"Creating..."});break;case"do-again":lumise.get.el("shares-wrp").removeAttr("data-phase");break;case"copy":s=e.target;lumise.fn.copy(s.innerHTML.trim()),s.setAttribute("data-copied","true"),setTimeout((function(){s.removeAttribute("data-copied")}),1500)}}},my_cart:function(t){var e=t.target.getAttribute("data-func"),i=lumise.fn.url_var("cart",""),a=t.target.getAttribute("data-id");if(e&&""!==e){switch(e){case"remove":if(confirm(lumise.i("sure"))){i==a&&lumise.fn.set_url("cart",null);var s=JSON.parse(localStorage.getItem("LUMISE-CART-DATA"));delete s[a],localStorage.setItem("LUMISE-CART-DATA",JSON.stringify(s)),setTimeout(lumise.render.cart_change,150)}break;case"edit":lumise.cart.edit_item(a,t);break;case"checkout":lumise.cart.do_checkout()}t.preventDefault()}}}),t('#lumise-left #lumise-text *[draggable="true"]').each((function(){lumise.design.event_add_text(this)}));var i=localStorage.getItem("LUMISE-AUTO-ALIGNMENT"),a=localStorage.getItem("LUMISE-TEMPLATE-APPEND"),s=localStorage.getItem("LUMISE-REPLACE-IMAGE"),l=t("#lumise-auto-alignment"),n=t("#lumise-template-append"),o=t("#lumise-replace-image");null===i?localStorage.setItem("LUMISE-AUTO-ALIGNMENT",l.prop("checked")):l.prop({checked:"true"==i}),null===a?localStorage.setItem("LUMISE-TEMPLATE-APPEND",n.prop("checked")):n.prop({checked:"true"==a}),null===s?localStorage.setItem("LUMISE-REPLACE-IMAGE",o.prop("checked")):o.prop({checked:"true"==s}),t(document).off("click").on("click",(function(e){if(void 0===e.isTrigger){var i=lumise.apply_filters("click_except","");!t(e.target).is(i)&&0===t(e.target).closest("#lumise-stage-nav").length&&lumise.get.el("stage-nav").hasClass("stages-expand")&&lumise.get.el("stage-nav").removeClass("stages-expand").removeClass("preview-designs");var a=t(e.target);"INPUT"!=e.target.tagName&&0===a.closest("div.lumise_color_picker").length&&t("#lumise-color-picker-header i").click(),a.hasClass("close")||0===a.closest('div#lumise-x-thumbn-preview,[data-prevent-click="true"]').length?lumise.get.el("x-thumbn-preview").hide():lumise.ops.preventClick||a.hasClass("upper-canvas")||a.hasClass("close")||!0===lumise.ops.preventClick||0!==a.closest('div.lumise-stage.canvas-wrapper,[data-view="sub"],div.lumise_color_picker,div.lumise-lightbox,ul.lumise-top-nav,[data-prevent-click="true"],#lumise-navigations').length||(lumise.e.main.find("li[data-tool].active").length>0?lumise.fn.navigation("clear"):lumise.tools.discard()),delete lumise.ops.preventClick,t("iframe").each((function(){this.contentWindow.postMessage({action:"parentClick"},"*")}))}})).off("keydown").on("keydown",(function(t){if(["TEXTAREA","INPUT"].indexOf(t.target.tagName)>-1||t.target.getAttribute("contenteditable"))return!0;if([37,38,39,40].indexOf(t.keyCode)>-1)return lumise.actions.do("key-move",t);if(13===t.keyCode)return lumise.actions.do("key-enter",t);if(!0===t.metaKey||!0===t.ctrlKey){if(90===t.keyCode)return!1===t.shiftKey?lumise.actions.do("ctrl-z"):lumise.actions.do("ctrl-shift-z");if(83===t.keyCode)return!0===t.shiftKey?lumise.actions.do("ctrl-shift-s",t):lumise.actions.do("ctrl-s",t);if(80===t.keyCode)return lumise.actions.do("ctrl-p",t);if(79===t.keyCode)return lumise.actions.do("ctrl-o",t);if(69===t.keyCode)return lumise.actions.do("ctrl-e",t)}if(27===t.keyCode)return lumise.actions.do("key-esc");switch(t.keyCode){case 8:case 46:return lumise.actions.do("key-delete",t);case 13:return lumise.actions.do("key-enter",t);case 27:return lumise.actions.do("key-esc",t);case 37:case 38:case 39:case 40:return lumise.actions.do("key-move",t)}if(!0===t.metaKey||!0===t.ctrlKey)switch(t.keyCode){case 48:return lumise.actions.do("ctrl-0",t);case 65:return lumise.actions.do("ctrl-a",t);case 68:return lumise.actions.do("ctrl-d",t);case 69:return lumise.actions.do("ctrl-e",t);case 79:return lumise.actions.do("ctrl-o",t);case 80:return lumise.actions.do("ctrl-p",t);case 83:return!0===t.shiftKey?lumise.actions.do("ctrl-shift-s",t):lumise.actions.do("ctrl-s",t);case 90:return!1===t.shiftKey?lumise.actions.do("ctrl-z"):lumise.actions.do("ctrl-shift-z");case 61:case 107:case 187:return lumise.actions.do("ctrl+",t);case 173:case 109:case 189:return lumise.actions.do("ctrl-",t)}})).off("mouseup").on("mouseup",(function(t){lumise.actions.do("globalMouseUp",t)})),t("#lumise-upload-form").on("drag dragstart dragend dragover dragenter dragleave drop",(function(t){t.preventDefault(),t.stopPropagation()})).on("dragover dragenter",(function(){t(this).addClass("is-dragover")})).on("dragleave dragend drop",(function(){t(this).removeClass("is-dragover")})).on("drop",(function(t){lumise.fn.process_files(t.originalEvent.dataTransfer.files)})).on("click",(function(){t(this).find('input[type="file"]').get(0).click()}));var r=localStorage.getItem("LUMISE_PRINT_CFG");r&&""!==r&&(void 0!==(r=JSON.parse(r)).format&&t('#lumise-print-nav input[data-format="'+r.format+'"]').prop({checked:!0}).change(),void 0!==r.unit&&t('#lumise-print-nav input[data-unit="'+r.unit+'"]').prop({checked:!0}).change(),void 0!==r.size&&t('#lumise-print-nav select[name="select-size"]').val(r.size).change(),void 0!==r.csize&&t('#lumise-print-nav input[name="size"]').val(r.csize).change(),void 0!==r.orien&&t('#lumise-print-nav select[name="orientation"]').val(r.orien).change(),void 0!==r.base&&t('#lumise-print-nav input[data-dp="base"]').prop({checked:r.base}),void 0!==r.overflow&&1!=r.overflow||t('#lumise-print-nav input[data-dp="overflow"]').prop({checked:!0}),void 0!==r.cropmarks&&t('#lumise-print-nav input[data-dp="cropmarks"]').prop({checked:r.cropmarks}),void 0!==r.all_pages&&t('#lumise-print-nav input[data-dp="all_pages"]').prop({checked:r.all_pages})),lumise.cliparts.add_events()},event_add_text:function(e){[["dragstart",function(e){lumise.ops.drag_start=this;var i=t(this).offset();lumise.ops.drag_start.distance={x:e.pageX-i.left-this.offsetWidth/2,y:e.pageY-i.top-this.offsetHeight/2,w:this.offsetWidth,h:this.offsetHeight}}],["dragend",function(t){lumise.ops.drag_start=null}],["click",function(e){lumise.itemInStage("add");var i=JSON.parse(this.getAttribute("data-ops"));void 0===window.is_first_text&&(window.is_first_text=!0,t('#lumise-text-tools li[data-tool="spacing"]').trigger("click")),this.getAttribute("data-act")&&lumise.fn.preset_import(i,{},(function(){"text-fx"==i[0].type&&lumise.fn.update_text_fx()}))}]].map((function(t){e.addEventListener(t[0],t[1],!1)}))},layers:{current:null,create:function(t){switch(t.type){case"text":var e=lumise.objects.text(t.ops);lumise.stage().canvas.add(e).setActiveObject(e).renderAll(),lumise.tools.set(e),lumise.design.layers.build();break;case"image":lumise.stage().canvas.add(t.image).setActiveObject(t.image).renderAll(),lumise.tools.set(t.image),lumise.design.layers.build()}lumise.stack.save()},arrange:function(){var e=lumise.stage().canvas,i=e.getActiveObject();if(i){var a=e.getObjects(),s=a.indexOf(i),l=t('#lumise-top-tools li[data-tool="arrange"] button[data-arrange]');void 0!==a[s-1]&&!1!==a[s-1].evented?l.filter('[data-arrange="back"]').removeClass("disabled"):l.filter('[data-arrange="back"]').addClass("disabled"),void 0!==a[s+1]&&!1!==a[s+1].evented?l.filter('[data-arrange="forward"]').removeClass("disabled"):l.filter('[data-arrange="forward"]').addClass("disabled")}},sort:function(e){var i=lumise.design.layers,a={dragstart:function(t){i.eldrag=this,this.setAttribute("data-holder","true"),this.parentNode.setAttribute("data-holder","true")},dragover:function(e){if(i.elover=this,this==i.eldrag)return e.preventDefault(),!1;var a=this.getBoundingClientRect();return a.bottom-e.clientY<a.height/2&&t(this).next().get(0)!==i.eldrag?t(this).after(i.eldrag):a.bottom-e.clientY>a.height/2&&t(this).prev().get(0)!==i.eldrag&&t(this).before(i.eldrag),e.preventDefault(),!1},dragleave:function(t){return t.preventDefault(),!1},dragend:function(e){i.eldrag.removeAttribute("data-holder"),i.eldrag.parentNode.removeAttribute("data-holder");var a=lumise.e.layers.find("li[data-id]"),s=lumise.stage().canvas.getObjects().length-1;return a.each((function(e){t(this).data("canvas").moveTo(s-e)})),i.build(),e.preventDefault(),!1}};for(var s in a)e.addEventListener(s,a[s],!1)},item:function(t){if(!t.id){var e=new Date;t.set("id",parseInt(e.getTime()/1e3).toString(36)+":"+Math.random().toString(36).substr(2))}var i=t.get("thumbn");t.fill="rgb(0,0,0)"==t.fill?"#000":t.fill;var a={name:"",thumbn:i,color:t.fill?lumise.fn.invert(t.fill):"#eee",bgcolor:t.fill?t.fill:"#333",class:t.active?"active":"",visible:void 0!==t.visible&&!1===t.visible?'data-active="true" ':"",selectable:void 0!==t.selectable&&!1===t.selectable?'data-active="true" ':"",id:t.id},s=t.name?t.name:t.text?t.text:"New layer";return a.name=s.substr(0,20).replace(/\n/g," ").replace(/[^a-z0-9A-Z ]/g,""),"path"==t.type&&(a.name="Drawing"),a},build:function(){if(!lumise.get.el("left").find('li[data-tab="layers"]').hasClass("active"))return this.arrange();var e='<li draggable="true" class="%class%" data-id="%id%">\t\t\t\t\t\t\t%thumbn%\t\t\t\t\t\t\t<span class="layer-name" contenteditable="true" title="%name%">%name%</span> \t\t\t\t\t\t\t<span class="layer-func">\t\t\t\t\t\t\t\t<i class="lumise-icon-eye" %visible%title="'+lumise.i("14")+'" data-act="visible"></i>\t\t\t\t\t\t\t\t<i class="lumise-icon-lock-open" %selectable%title="'+lumise.i("15")+'" data-act="selectable"></i>\t\t\t\t\t\t\t\t<i class="lumise-icon-close" title="'+lumise.i("16")+'" data-act="delete"></i>\t\t\t\t\t\t\t</span>\t\t\t\t\t\t</li>',i=lumise.get.el("layers>ul").html(""),a=0,s=!0,l=lumise.stage();void 0!==l&&(l.canvas.getObjects().map((function(l){if(!1===l.evented)return a++;s=!1;var n=lumise.design.layers.item(l),o=e;Object.keys(n).map((function(t){o=o.replace(new RegExp("%"+t+"%","g"),n[t])}));var r=t(o);i.prepend(r.data({canvas:l}).on("click",(function(e){e.preventDefault(),lumise.ops.preventClick=!0;var i=e.target.getAttribute("data-act"),a=lumise.design.layers.event,s=lumise.stage(),l=t(this).data("canvas");if(i&&a[i])return a[i](this,e.target);if(!1!==l.selectable){if(t(this).hasClass("active"))return;t(this.parentNode).find("li.active").removeClass("active"),s.limit_zone.set("visible",!0),s.canvas.setActiveObject(l)}}))),r.find("span.layer-name").on("keyup",(function(e){if(t(this.parentNode).data("canvas").name=this.innerText,13===e.keyCode)return e.preventDefault(),lumise.design.layers.build(),!1})),lumise.design.layers.sort(r.get(0))})),s?lumise.get.el("layers>ul").html('<h3 class="mt2" style="border:none;text-align:center">'+lumise.i("06")+"</h3>"):lumise.design.layers.arrange())},event:{visible:function(e,i){i.setAttribute("data-active","true"!=i.getAttribute("data-active")),t(e).data("canvas").set("visible","true"!=i.getAttribute("data-active")),lumise.objects.do.deactiveAll()},selectable:function(e,i){i.setAttribute("data-active","true"!=i.getAttribute("data-active")),t(e).data("canvas").set("selectable","true"!=i.getAttribute("data-active")),lumise.objects.do.deactiveAll()},delete:function(e,i){canvas=lumise.stage().canvas,canvas.discardActiveGroup(),canvas.discardActiveObject(),lumise.stack.save(),canvas.remove(t(e).data("canvas")),lumise.stack.save(),lumise.design.layers.build()}}},my_designs:{import:function(t){if("object"!=typeof t||0!==t.type.indexOf("application/json")&&".json"!=t.name.substr(t.name.length-5)&&".lumi"!=t.name.substr(t.name.length-5))return alert(lumise.i(32));if(void 0===lumise.cliparts.uploads[t.lastModified]){var e=new FileReader;e.addEventListener("load",(function(){try{var t=JSON.parse(decodeURIComponent(this.result))}catch(t){return lumise.fn.notice(t.message,"error",3500)}if(void 0===t.stages)return lumise.fn.notice(lumise.i(32),"error",3500);lumise.tools.imports(t),delete e}),!1),e.readAsText(t)}},pre_save:()=>{t("#lumise-navigations").attr({"data-navigation":"active"}),t("ul#lumise-saved-designs").attr({is:"save"}),t('li[data-tool="designs"][data-callback="designs"]').addClass("active").find('ul[data-view="sub"] header').after("<h3>"+lumise.i("211")+"</h3>"),lumise.render.refresh_my_designs(!0)}},nav:{callback:{layers:function(){lumise.design.layers.build()},textFX:function(t,e,i){e.data.textFX(t,e,i)},replace:function(t,e){var i=lumise.stage().canvas.getActiveObject();i&&(lumise.fn.select_image((function(t){lumise.fn.replace_image(t.url,i)}),!1),e.preventDefault())},crop:function(t,e){var i=lumise.get.stage(),a=i.active.full_src?i.active.full_src:i.active.fxOrigin?i.active.fxOrigin.src:i.active._element?i.active._element.src:i.active._cacheCanvas.toDataURL();lumise.fn.crop({src:a,width:Math.round(i.active.width),save:function(t){var e=lumise.stage(),i=e.canvas.getActiveObject(),a=t.find(".lumise_crop_selArea");if(i){var s=a.get(0),l=t.get(0),n=t.find("img.lumise_crop_img").get(0),o=document.createElement("canvas"),r=o.getContext("2d"),u=lumise.fn.get_type(n.src),c=n.naturalWidth*(s.offsetWidth/l.offsetWidth),d=n.naturalHeight*(s.offsetHeight/l.offsetHeight),m=i.width*(s.offsetWidth/l.offsetWidth),p=i.height*(s.offsetHeight/l.offsetHeight);o.width=c,o.height=d,r.drawImage(n,-s.offsetLeft*(n.naturalWidth/l.offsetWidth),-s.offsetTop*(n.naturalHeight/l.offsetHeight),n.naturalWidth,n.naturalHeight);var g=o.toDataURL("image/"+u);delete o,delete r,c>e.limit_zone.width||d>e.limit_zone.height?setTimeout(lumise.fn.large_image_helper,1,{w:c,h:d,ew:e.limit_zone.width,eh:e.limit_zone.height,iw:i.width*(s.offsetWidth/l.offsetWidth),ih:i.height*(s.offsetHeight/l.offsetHeight),el:o,obj:i,src:g}):i.setSrc(g,(function(){i.set({full_src:"",width:m,height:p,origin_src:g,src:g,type:"image"}),e.canvas.renderAll()}))}}})},select_mask:function(e,i){var a=t(e),s=lumise.get.stage(),l=s.canvas.getObjects(),n=a.find('li[data-view="list"]');n.html(""),s.active&&(l.map((function(t){if(!1!==t.evented&&!0!==t.active){var e=lumise.design.layers.item(t);n.append('<span data-id="'+t.id+'">'+e.thumbn.replace("%color%","").replace("%bgcolor%","")+" "+e.name+"</span>")}})),""===n.html()?n.html("<p><center>"+lumise.i("07")+"</center></p>"):n.find(">span").on("click",(function(){var e=this.getAttribute("data-id"),i=l.filter((function(t){return t.id==e}))[0];if(i.left-i.width/2>s.active.left+s.active.width/2||i.left+i.width/2<s.active.left-s.active.width/2||i.top-i.height/2>s.active.top+s.active.height/2||i.top+i.height/2<s.active.top-s.active.height/2)return alert(lumise.i("08"));lumise.stack.save(),lumise.ops.importing=!0,i.setCoords();var a=function(){var e=s.active.getBoundingRect(),a=i.getBoundingRect(),l=[];delete i.clipTo,i.set({scaleX:5*i.scaleX,scaleY:5*i.scaleY}),l.push(i);let n=new fabric.Group(l,{}),o=lumise.get.size();var r=n.toDataURL({multiplier:o.h/lumise.stage().limit_zone.height/(window.devicePixelRatio>2?2*window.devicePixelRatio:window.devicePixelRatio)});n.minScaleLimit<=8e-4&&(r=n.toDataURL());let u={left:(a.left-e.left)/e.width,top:(a.top-e.top)/e.height,width:a.width/e.width,height:a.height/e.height,dataURL:r};t(this).remove(),s.canvas.remove(i),lumise.fn.update_image_fx("mask",u,(function(){lumise.ops.importing=!1,lumise.stack.save()}))};if(i.full_src&&i.full_src!==i.origin_src)return i.setSrc(i.full_src,a);a()})))},qrcode:function(){var t=lumise.get.color("invert");void 0!==lumise.data.colors&&""!==lumise.data.colors&&((t=lumise.data.colors.split(",")[0]).indexOf(":")>-1&&(t=t.split(":")[1]),t=t.split("@")[0]),lumise.objects.qrcode(lumise.i("09"),t,(function(t){lumise.get.el("top-tools").find('li[data-tool="qrcode-text"]').addClass("active").find("textarea").focus()}))},drawing:function(t,e){var i=lumise.stage().canvas,a=lumise.get.color("invert");void 0!==lumise.data.colors&&""!==lumise.data.colors&&((a=lumise.data.colors.split(",")[0]).indexOf(":")>-1&&(a=a.split(":")[1]),a=a.split("@")[0]),i.isDrawingMode&&(i.freeDrawingBrush.width=parseFloat(lumise.get.el("drawing-width").val()),i.freeDrawingBrush.color=lumise.get.el("drawing-color").val()?lumise.get.el("drawing-color").val():a)},imageFXReset:function(){var t=lumise.get.stage();if(!t.active||!t.active.fxOrigin)return lumise.tools.discard();lumise.stack.save(),delete t.active.fx,t.active._element.src=t.active.fxOrigin.src,t.active._originalElement.src=t.active.fxOrigin.src,t.canvas.renderAll(),lumise.tools.discard()},designs:function(){return t("ul#lumise-saved-designs").removeAttr("is"),t('li[data-tool="designs"][data-callback="designs"]>ul[data-view="sub"]>h3').remove(),lumise.render.refresh_my_designs()},proceed:function(e,i){var a=lumise.get.el("cart-wrp").find('input[name="printing"].lumise-cart-param'),s=a.filter((function(){return t(this).prop("checked")}));a.length>0&&0===s.length&&a.eq(0).prop({checked:!0}).trigger("change")},svg:function(t,e){if("INPUT"==e.target.tagName&&e.target.getAttribute("data-color")){var i=lumise.get.el("svg-fill").get(0),a=e.target.getAttribute("data-color");return i.setAttribute("data-active-color",e.target.getAttribute("data-color")),i.value=a,i.style.background=a,i.style.color=lumise.tools.svg.invertColor(a),void lumise.get.el("svg-colors").addClass("active")}"editor"==e.target.getAttribute("data-func")&&lumise.tools.svg.edit(),lumise.get.el("svg-colors").removeClass("active")},group:function(e,i){var a=lumise.stage().canvas.getActiveGroup(),s=t('#lumise-top-tools ul[data-mode="group"]').attr("data-grouped"),l=(new Date).getTime().toString(36);a&&a._objects&&(a._objects.map((function(t){"false"==s?t.set({group_pos:l}):t.set({group_pos:null})})),t('#lumise-top-tools ul[data-mode="group"]').attr({"data-grouped":"false"==s?"true":"false"})),i.preventDefault()},ungroup:function(t,e){lumise.stage().canvas.getActiveObject().set({group_pos:null}),t.style.display="none"},printing:function(t,e){if(0!=lumise.data.printings.length&&null!=lumise.cart.printing.current){var i=t.getAttribute("data-tab");lumise.data.colors,lumise.get.ptcfg_type(i)}}},load:{cliparts:function(e,i={}){var a=t.extend(!0,{action:"cliparts",category:""},i);lumise.post(a)},templates:function(e,i={}){var a=t.extend(!0,{action:"templates",category:""},i);lumise.post(a)},images:function(){t('#lumise-uploads div[data-tab="internal"]').trigger("scroll")},shapes:function(){t("#lumise-shapes").trigger("scroll")}}}},xitems:{ops:{},resources:{},load:function(t,e){this.resources[t]={url:[],ops:e};var i=lumise.get.ptcfg_type("images"==t?"image":t),a={action:"addon",component:t,category:"",rayid:Math.random()};i&&null!=i.categories&&i.categories.length>0&&(a.include=i.categories),lumise.post(a,(function(i){"function"==typeof e.load&&(i=e.load(i)),lumise.xitems.response(i,t)}))},response:function(e,i){"function"==typeof lumise.xitems.resources[i].ops.response&&(e=lumise.xitems.resources[i].ops.response(e));var a="",s=t("#lumise-"+i+"-list");if(e.items&&e.items.length>0){e.items.map((function(t){lumise.xitems.resources[i].url[t.id]=lumise.data.upload_url+t.upload;var e="backgrounds";t.resource&&(e=t.resource);var s="";null!=lumise.xitems.resources[i].ops.preview&&""!=lumise.xitems.resources[i].ops.preview&&"undefined"!=lumise.xitems.resources[i].ops.preview&&(s=lumise.xitems.resources[i].ops.preview),a+="<li style=\"background-image: url('"+(void 0!==t.thumbnail_url?t.thumbnail_url:t.screenshot)+'\')" data-ops=\'[{"type": "'+s+'","component": "'+i+'","name": "'+t.name+'","id": "'+t.id+'","tags": "'+(t.tags?t.tags:"")+'","cates": "'+(t.cates?t.cates:"")+'","resource": "'+e+'","resource_id": "'+t.id+'","price": "'+t.price+'","screenshot": "'+(void 0!==t.thumbnail_url?t.thumbnail_url:t.screenshot)+'"}]\' class="lumise-xitem"><i data-tag="'+t.id+'">'+(t.price>0?lumise.fn.price(t.price):lumise.i(100))+"</i>"+(lumise.ops.thumbn_preview?'<i data-info="'+t.id+'"></i>':"")+"</li>"}));var l=e.total?e.total:0;lumise.ops[i+"_q"]=e.q,lumise.ops[i+"_category"]=e.category,lumise.ops[i+"_index"]=parseInt(e.index)+e.items.length,lumise.ops[i+"_index"]<l&&(lumise.ops[i+"_loading"]=!1)}else a+='<span class="noitems">'+lumise.i(42)+"</span>";s.find("i.lumise-spinner").remove(),s.find("ul.lumise-list-items").append(a),lumise.render.categories(i,e),s.find('ul.lumise-list-items li.lumise-xitem:not([data-event="true"])').off("click").on("click",(function(t){t.preventDefault();var e=JSON.parse(this.getAttribute("data-ops"))[0];e.url=lumise.xitems.resources[i].url[e.id],void 0!==lumise.xitems.resources[i].ops&&"function"==typeof lumise.xitems.resources[i].ops.click&&lumise.xitems.resources[i].ops.click(e,this)}))},scroll_more:function(e){var i=this.getAttribute("data-component");if(i&&!0!==lumise.ops[i+"_loading"]&&this.scrollTop+this.offsetHeight>=this.scrollHeight){var a=lumise.get.ptcfg_type("images"==i?"image":i),s={action:"addon",component:i,category:lumise.ops[i+"_category"],q:lumise.ops[i+"_q"],index:lumise.ops[i+"_index"]};a&&null!=a.categories&&a.categories.length>0&&(s.include=a.categories),lumise.post(s,(function(t){lumise.xitems.response(t,i)})),t(this).append('<i class="lumise-spinner white x3 mt1 mb1"></i>'),lumise.ops[i+"_loading"]=!0}},search:function(t){var e=this.getAttribute("data-component");"click"==t.type&&setTimeout((function(t){lumise.ops[e+"_q"]!=t.value&&""===t.value&&(lumise.ops[e+"_q"]=t.value,lumise.xitems.do_search(e))}),100,this),"INPUT"==this.tagName&&13!==t.keyCode||("INPUT"==this.tagName&&(lumise.ops[e+"_q"]=this.value),lumise.xitems.do_search(e))},do_search:function(t){lumise.ops[t+"_index"]=0,lumise.ops[t+"_loading"]=!1,lumise.get.el(t+"-list").find("ul").html(""),lumise.get.el(t+"-list").trigger("scroll")}},templates:{storage:[],add_events:function(){var t=[["click",function(t){lumise.itemInStage("add");var e=JSON.parse(this.getAttribute("data-ops"));lumise.templates.storage[e[0].id]&&(lumise.templates.load({upload:lumise.templates.storage[e[0].id],id:e[0].id,price:lumise.apply_filters("template_price",e[0].price,e)}),void 0!==lumise.stage().template&&(lumise.stage().template.loaded=!0))}]];lumise.get.el("left").find('ul.lumise-list-items li.lumise-template:not([data-event="true"])').each((function(){if(!this.getAttribute("data-event")){this.setAttribute("data-event",!0);var e=this;t.map((function(t){e.addEventListener(t[0],t[1],!1)}))}}))},load:function(e,i){if(lumise.ops.view_design)return void lumise.fn.notice(lumise.i(219),"notice",3500);if(void 0===e.upload)return void(!0!==lumise.ops.first_completed&&(lumise.actions.do("first-completed"),lumise.ops.first_completed=!0));if("lumi"==e.upload.split(".").pop())0!==e.upload.toString().trim().indexOf("http")&&(e.upload=lumise.data.upload_url+e.upload),lumise.f(lumise.i("loading")+".."),t.ajax({url:e.upload,method:"GET",statusCode:{403:lumise.response.statusCode[403],404:function(){lumise.fn.notice(lumise.i(83),"error",3500),lumise.f(!1)},200:function(t){lumise.templates.response(t,e,i)}}});else{lumise.f(lumise.i("loading")+"..");var a=new Image;a.onerror=function(){lumise.f(!1),lumise.fn.notice("Error on loading template file","error")},a.onload=function(){var t=lumise.fn.build_lumi(this);lumise.templates.response(t,e,i)},a.src=e.upload.startsWith("https://")||e.upload.startsWith("http://")?e.upload:lumise.data.upload_url+e.upload}},response:function(t,e,i){try{" string"!=typeof t&&void 0!==t.stages||(t=JSON.parse(decodeURIComponent("string"==typeof t?t:t.responseText)))}catch(t){return console.warn(t),console.log(t),void lumise.f(!1)}if("object"!=typeof t||void 0===t.stages||0===t.stages.length)return!1;void 0===t.stages.lumise&&(t.stages.lumise=t.stages[Object.keys(t.stages)[0]]),"string"==typeof t.stages.lumise.data&&(t.stages.lumise.data=JSON.parse(t.stages.lumise.data));var a=t.stages.lumise.data.objects;if(void 0!==a)for(var s in a)if(null!==a[s]&&void 0!==a[s].type&&(a[s].price=0,a[s].template=[e.id,isNaN(e.price)?0:parseFloat(e.price)]),null!==a[s]&&void 0!==a[s].type&&("i-text"==a[s].type||"text-fx"==a[s].type||"curvedText"==a[s].type)){let t=/(\&\#x([a-zA-Z0-9]+)\;)/gm,e=a[s].text.replace(t,(function(t){return t=t.substring(6,t.length-1),String.fromCodePoint(t)}));a[s].text=e}lumise.cart.template[lumise.current_stage]=[],lumise.cart.price.template[lumise.current_stage]=0,t.clear=e.clear,lumise.actions.do("template",e,t),void 0!==t.stages.lumise&&void 0===t.stages.lumise.padding&&(t.stages.lumise.padding=lumise.fn.calc_padding(t.stages.lumise)),lumise.tools.imports(t,(function(e){if(void 0!==e.template&&void 0!==e.template.offset&&void 0!==e.template.scale&&!0!==e.template.loaded){var a=(e=lumise.stage()).template.offset.width/e.edit_zone.width,s=e.limit_zone.width/e.edit_zone.width,l=e.template.offset.left*s,n=e.template.offset.top*s;void 0!==t.stages.lumise&&void 0!==t.stages.lumise.padding&&(l+=t.stages.lumise.padding[0]*e.template.offset.width*s,n+=t.stages.lumise.padding[1]*e.template.offset.height*s),lumise.fn.scale_designs(a,{left:l,top:n}),e.template.loaded=!0}!0!==lumise.ops.first_completed&&(lumise.actions.do("first-completed"),lumise.ops.first_completed=!0);var o=lumise.get.ptcfg_type("templates");if(o&&null!=o.options){var r=e.canvas,u=null!=o.options.min_scale&&o.options.min_scale?parseFloat(o.options.min_scale):0,c=null!=o.options.min_width&&o.options.min_width?parseFloat(o.options.min_width):0,d=null!=o.options.max_width&&o.options.max_width?parseFloat(o.options.max_width):0,m=r.getObjects().filter((function(t){return!0===t.evented&&(t.set("active",!0),!0)}));if(0==m.length)return;if(0!==c||0!==d){let t=new fabric.Group(m,{}),i=lumise.get.size().w/(e.limit_zone.width-(0!==u?3:1));r._activeObject=null;let a=0!==u?parseFloat(t.width*u*i):parseFloat(t.getWidth()*i);if(a<c||a>d)return m.map((function(t){r.remove(t)})),void lumise.fn.notice(lumise.i(218)+" "+d+"px","notice",3500);r.setActiveGroup(t.setCoords()).renderAll(),r.discardActiveGroup(),r.renderAll()}0!==u&&lumise.fn.scale_designs(u)}"function"==typeof i&&i()}))}},cliparts:{storage:[],uploads:[],add:function(e,i){if(e.getAttribute("data-ops")){lumise.ops.preventClick=!0,lumise.f(lumise.i("loading")+"..");var a="image"==(i=t.extend(JSON.parse(e.getAttribute("data-ops")),i||{},!0)).type?lumise.cliparts.storage[i.id]:lumise.cliparts.uploads[i.id]||{},s=lumise.stage();"shape"==i.type&&(a.url="data:image/svg+xml;base64,"+btoa(e.innerHTML.trim())),a.width=a.width?a.width:.8*s.limit_zone.width,i.text&&!i.name&&(i.name=i.text.substr(0,30)),a.url&&(a.url.indexOf("data:image/svg+xml;base64,")>-1||"svg"==a.url.split(".").pop().trim()?i.type="svg":i.type="image"),i=t.extend({left:s.limit_zone.left+s.limit_zone.width/2,top:s.limit_zone.top+s.limit_zone.height/2,width:a.width,name:a.name?a.name:a.url&&-1===a.url.indexOf("data:image")?a.url.split("/").pop():"svg"==i.type?"New SVG":"New Image"},i);var l=lumise.get.color("invert");if(void 0!==lumise.data.colors&&""!==lumise.data.colors&&((l=lumise.data.colors.split(",")[0]).indexOf(":")>-1&&(l=l.split(":")[1]),l=l.split("@")[0]),"i-text"==i.type)return i.fill=l,lumise.design.layers.create({type:"text",ops:i}),void lumise.f(!1);"text-fx"==i.type&&(i.fill=l),fabric.Image.fromURL(a.url,(function(t){lumise.f(!1),void 0===i.height&&(i.height=t.height*(a.width/t.width),i.clipTo=function(e){return lumise.objects.clipto(e,t)}),t.set(i),lumise.design.layers.create({type:"image",src:a.url,image:t}),lumise.get.el("x-thumbn-preview").hide(),s.canvas.setActiveObject(t)}))}},add_events:function(){var e=[["dragstart",function(e){lumise.ops.drag_start=this;var i=t(this).offset();lumise.ops.drag_start.distance={x:e.pageX-i.left-this.offsetWidth/2,y:e.pageY-i.top-this.offsetHeight/2,w:this.offsetWidth,h:this.offsetHeight},lumise.get.el("x-thumbn-preview").hide()}],["dragend",function(t){lumise.ops.drag_start=null}],["click",function(e){lumise.itemInStage("add");var i=e.target.getAttribute("data-delete");if(i&&confirm(lumise.i("sure")))return t(this).remove(),URL.revokeObjectURL(t(e.target).parent().find("img").attr("src")),delete lumise.cliparts.uploads[i],lumise.indexed.delete(i,"uploads");var a=this.getAttribute("data-ops");"shape"==(a=void 0!==lumise.xitems.ops[a]?t.extend(!0,[],lumise.xitems.ops[a]):JSON.parse(a))[0].type?a[0].url="data:image/svg+xml;base64,"+btoa(this.innerHTML.trim()):void 0===a[0].url&&(a[0].url=lumise.cliparts.storage[a[0].id]||lumise.cliparts.uploads[a[0].id]),a[0].url&&0===a[0].url.indexOf("dumb-")?lumise.indexed.get(a[0].url.split("dumb-")[1],"dumb",(function(t){null!==t&void 0!==t?(lumise.cliparts.uploads[a[0].id]=t[0],a[0].url=t[0],a[0].user_upload=!0,lumise.fn.preset_import(a,{}),delete t):lumise.fn.notice(lumise.i(165))})):lumise.fn.preset_import(a,{})}]];lumise.get.el("left").find('ul.lumise-list-items li.lumise-clipart:not([draggable="true"])').each((function(){if(!this.getAttribute("draggable")){this.setAttribute("draggable",!0);var t=this;e.map((function(e){t.addEventListener(e[0],e[1],!1)}))}}))},external:function(t,e){var i=new Image;i.crossOrigin="Anonymous",i.onload=function(){var t=document.createElement("canvas");t.width=this.naturalWidth,t.height=this.naturalHeight,t.getContext("2d").drawImage(this,0,0),this.callback(t),delete t},i.callback=e,i.src=t},import:function(t,e,i){var a=function(){if(lumise.cliparts.uploads[t]=e.url,e.thumbn&&"string"==typeof e.thumbn&&0===e.thumbn.indexOf("data:image")&&(e.thumbn=lumise.fn.url2blob(e.thumbn)),!1!==e.save)try{lumise.indexed.save([{thumbn:e.thumbn,name:e.name,id:t},[e.url]],"uploads")}catch(t){console.log(t)}var a="<li style=\"background-image: url('"+URL.createObjectURL(e.thumbn?e.thumbn:e.url)+'\')" \t\t\t    \t\t\t\tdata-ops=\'[{"type": "upload", "name": "'+e.name+'", "id": "'+t+'"}]\' class="lumise-clipart">\t\t\t\t\t\t\t\t'+(lumise.ops.thumbn_preview?'<i data-info="'+t+'"></i>':"")+'\t\t\t\t\t\t\t\t<i class="lumise-icon-close" data-delete="'+t+'" title="'+lumise.i(47)+'"></i>\t\t\t\t\t\t\t</li>';"prepend"==i?lumise.get.el("upload-list").find("ul.lumise-list-items").prepend(a):lumise.get.el("upload-list").find("ul.lumise-list-items").append(a),lumise.cliparts.add_events()};void 0!==e.thumbn?a():lumise.fn.createThumbn({source:e.url,width:300,height:240,callback:function(t){e.thumbn=lumise.fn.url2blob(t.toDataURL("image/jpeg",.3)),a()}})}},actions:{stack:[],add:function(t,e,i){void 0===i&&(i=10),void 0===this.stack[i]&&(this.stack[i]={}),void 0===this.stack[i][t]&&(this.stack[i][t]=[]),this.stack[i][t].push(e)},do:function(t,e,i){lumise.actions.stack.map((function(a){var s;if(void 0!==a[t])return a[t].map((function(a){if("function"==typeof a)try{s=a(e,i)}catch(e){console.warn(e.message+" - do action "+t),console.log(e),lumise.fn.notice(e.message+" - do action "+t,"error")}})),s}))}},tools:{set:function(e){if(e||(e=lumise.stage().canvas.getActiveObject()),e){var i=lumise.get.el,a=lumise.get.ptcfg_type(e);if(a&&"null"!==a&&null!=a&&(null!=a.options&&Object.keys(a.options).map((function(t){if(""!=a.options[t])switch(t){case"min_font_size":i("font-size").attr("min",parseInt(a.options[t]));break;case"max_font_size":i("font-size").attr("max",parseInt(a.options[t]));break;case"min_line_height":i("line-height").attr("min",parseInt(a.options[t]));break;case"max_line_height":i("line-height").attr("max",parseInt(a.options[t]));break;case"min_letter_spacing":i("letter-spacing").attr("min",parseInt(a.options[t]));break;case"max_letter_spacing":i("letter-spacing").attr("max",parseInt(a.options[t]));break;case"max_text_letter":i("workspace").find(".lumise-edit-text").attr("maxlength",parseInt(a.options[t]));break;case"min_text_letter":i("workspace").find(".lumise-edit-text").attr("minlength",parseInt(a.options[t]));break;case"filter":a.options[t].length>0&&i("image-fx-fx").find(">li[data-fx]").each((function(e){""==this.getAttribute("data-fx")||a.options[t].indexOf(this.getAttribute("data-fx"))>-1?this.style.display="":this.style.display="none"}))}})),null!=a.colors||null!=a.color_picker)){var s=void 0===a.colors?lumise.data.colors:a.colors,l=void 0===a.color_picker?lumise.data.enable_colors:a.color_picker;lumise.render.colorPresets(s,l),l?(i("fill").closest(".flex").removeClass("hidden"),i("svg-fill").closest(".flex").removeClass("hidden"),i("stroke").removeClass("hidden"),i("stroke-fix-colors").addClass("hidden")):(i("fill").closest(".flex").addClass("hidden"),i("svg-fill").closest(".flex").addClass("hidden"),i("stroke").addClass("hidden"),i("stroke-fix-colors").removeClass("hidden"))}if(i("transparent").val(void 0!==e.opacity&&null!==e.opacity?100*parseFloat(e.opacity):100).trigger("input"),i("rotate").val(void 0!==e.angle?e.angle:0).trigger("input"),i("curved-radius").val(void 0!==e.radius?e.radius:50).trigger("input"),i("curved-spacing").val(void 0!==e.spacing?e.spacing:50).trigger("input"),i("workspace").find(".lumise-edit-text").val(e.text?e.text.trim():""),i("font-size").val(e.fontSize?e.fontSize:14).trigger("input"),i("letter-spacing").val(void 0!==e.charSpacing?e.charSpacing:0).trigger("input"),i("line-height").val(void 0!==e.lineHeight?10*e.lineHeight:10).trigger("input"),"path"==e.type?i("stroke-width").attr({"data-ratio":"1"}).val(void 0!==e.strokeWidth?e.strokeWidth:0).trigger("input"):i("stroke-width").attr({"data-ratio":"0.1"}).val(void 0!==e.strokeWidth?10*e.strokeWidth:0).trigger("input"),i("skew-x").val(void 0!==e.skewX?e.skewX:0).trigger("input"),i("skew-y").val(void 0!==e.skewY?e.skewY:0).trigger("input"),i("fill").length)if("path"!=e.type&&("image"!=e.type||"image"==e.type&&"rgb(0,0,0)"!=e.fill&&"#000"!==e.fill&&""!==e.fill)&&("svg"!=e.type||"svg"==e.type&&"rgb(0,0,0)"!=e.fill&&"#000"!==e.fill&&""!==e.fill)){var n=lumise.get.color("invert");void 0!==lumise.data.colors&&""!==lumise.data.colors&&((n=lumise.data.colors.split(",")[0]).indexOf(":")>-1&&(n=n.split(":")[1]),n=n.split("@")[0]);var o=e.fill?e.fill:n;i("fill").get(0).color&&"function"==typeof i("fill").get(0).color.fromString&&i("fill").get(0).color.fromString(o),i("fill").closest('li[data-tool="fill"]').css({"border-bottom":"3px solid "+o})}else i("fill").val("").attr({style:""}),i("fill").closest('li[data-tool="fill"]').css({"border-bottom":""});var r=e.stroke?e.stroke:"";i("stroke").length&&i("stroke").get(0).color&&"function"==typeof i("stroke").get(0).color.fromString&&i("stroke").val(r).css({background:""}).get(0).color.fromString(r),i("text-tools .text-format").removeClass("selected"),i("text-tools .text-format.lumisex-align-"+e.textAlign).addClass("selected"),i("text-align").attr({class:"lumisex-align-"+(e.textAlign?e.textAlign:"center")}),i("curved").length&&(i("curved").get(0).checked="curvedText"===e.type),i("flip-x").length&&(i("flip-x").get(0).checked=e.flipX),i("flip-y").length&&(i("flip-y").get(0).checked=e.flipY),i("lock-position").length&&(i("lock-position").get(0).checked=e.lockPosition),i("position-wrp").attr({"data-lock":!0===e.lockPosition?"true":"false"}),i("qrcode-text").val(e.text?e.text.trim():"");var u=i("text-tools .text-format");if([["bold","fontWeight"],["italic","fontStyle"],["underline","textDecoration"]].map((function(t){e[t[1]]==t[0]&&u.filter('[data-format="'+t[0]+'"]').addClass("selected")})),e.fontFamily){var c=e.fontFamily.replace(/\"/g,"");i("fonts").find('font[data-family="'+c+'"]').length>0&&(i("fonts").find(".selected").removeClass("selected"),i("fonts").find('font[data-family="'+c+'"]').addClass("selected")),i("text-tools").find("button.dropdown").html("<font style=\"font-family:'"+c+"'\">"+c+"</font>")}switch(i("text-effect").find("img[data-effect]").attr({"data-selected":null}),"text-fx"==e.type?(void 0===e.bridge&&(e.bridge={}),i("text-fx-offsety").val(void 0!==e.bridge.offsetY?100*e.bridge.offsetY:50).trigger("input"),i("text-fx-bottom").val(void 0!==e.bridge.bottom?10*e.bridge.bottom:25).trigger("input"),i("text-fx-curve").val(void 0!==e.bridge.curve?10*e.bridge.curve:-25).trigger("input"),i("text-fx-trident").prop({checked:e.bridge.trident}),!0===e.bridge.oblique?i("text-effect").find('img[data-effect="oblique"]').attr({"data-selected":"true"}):i("text-effect").find('img[data-effect="bridge"]').attr({"data-selected":"true"})):"curvedText"==e.type?i("text-effect").find('img[data-effect="curved"]').attr({"data-selected":"true"}):"text-fx"==e.type?i("text-effect").find('img[data-effect="normal"]').attr({"data-selected":"true"}):"image"==e.type?(i("image-fx-brightness").val(e.fx&&e.fx.brightness?e.fx.brightness:0).trigger("input"),i("image-fx-saturation").val(e.fx&&e.fx.saturation?e.fx.saturation:100).trigger("input"),i("image-fx-contrast").val(e.fx&&e.fx.contrast?e.fx.contrast:0).trigger("input"),i("image-fx-deep").val(e.fx&&e.fx.deep?e.fx.deep:0).trigger("input"),i("image-fx-mode").val(e.fx&&e.fx.mode?e.fx.mode:"light"),i("image-fx-fx").find("[data-selected]").removeAttr("data-selected"),i("image-fx-fx").find('li[data-fx="'+(e.fx&&e.fx.fx?e.fx.fx:"")+'"]').attr({"data-selected":"true"})):"svg"==e.type&&void 0!==e.src&&0===e.src.indexOf("data:image/svg+xml;base64,")&&lumise.fn.set_svg_colors(e),lumise.design.layers.arrange(),"image"==e.type&&e._element&&e._element.src.indexOf("data:image/svg+xml;base64,")>-1&&e.set("type","svg"),lumise.e.tools.attr({"data-view":e.type}),i("top-tools").find('li[data-tool="un-group"]').css({display:e.group_pos?"inline-block":"none"}),i("text-effect").find('img[data-effect][data-selected="true"]').attr("data-effect")){case"bridge":case"oblique":t('[data-tool="text-effect"] li[data-func]').removeAttr("data-active"),t('[data-tool="text-effect"] li[data-func="text-fx"]').attr({"data-active":"true"});break;case"curved":t('[data-tool="text-effect"] li[data-func]').removeAttr("data-active"),t('[data-tool="text-effect"] li[data-func="curved"]').attr({"data-active":"true"});break;default:t('[data-tool="text-effect"] li[data-func]').removeAttr("data-active")}}},export:function(t){if(!t||!t.canvas)return null;var e=t.canvas.toJSON(lumise.ops.export_list);return e.objects.map((function(t,i){!1===t.evented&&"imagebox"!=t.type?delete e.objects[i]:delete e.objects[i].clipTo,Object.keys(t).map((function(e){void 0!==t[e]&&null!==t[e]||delete t[e]})),void 0!==t.fontFamily&&void 0===t.font&&(fonts=JSON.parse(localStorage.getItem("LUMISE_FONTS")),fonts[encodeURIComponent(t.fontFamily)]&&(t.font=fonts[encodeURIComponent(t.fontFamily)])),void 0!==t.fontFamily&&"string"==typeof t.font&&t.font.indexOf(".woff")>-1&&-1===t.font.indexOf("http")&&(t.font=lumise.data.upload_url+t.font),t.fontFamily&&t.fontFamily.indexOf('"')>-1&&(t.fontFamily=t.fontFamily.replace(/\"/g,"")),t.origin_src&&(t.src=t.origin_src,delete t.origin_src),"text-fx"!=t.type&&"i-text"!=t.type&&"curvedText"!=t.type||delete t.src,"path-group"==t.type&&(t.type="svg",delete t.paths)})),e.devicePixelRatio=window.devicePixelRatio,e.product_color=lumise.get.color(),e.limit_zone={},e.edit_zone=t.edit_zone,e.product_width=t.product.width,e.product_height=t.product.height,e.screenshot=t.screenshot,["width","height","top","left"].map((function(i){e.limit_zone[i]=t.limit_zone?t.limit_zone[i]:0})),e=lumise.apply_filters("export",e,t)},toImage:function(e){var i=e.stage,a=void 0!==window.devicePixelRatio?window.devicePixelRatio:1,s=i.limit_zone&&void 0!==i.limit_zone.strokeWidth?i.limit_zone.strokeWidth:0;if(!i||!i.limit_zone)return null;if((e=t.extend({is_bg:!1,format:!0!==e.is_bg?"png":"jpeg",multiplier:a/2,top:i.limit_zone.top,left:i.limit_zone.left,width:i.limit_zone.width,height:i.limit_zone.height},e)).multiplier=e.multiplier/a,"full"==e.is_bg?(e.left=i.product.left-i.product.width/2,e.top=i.product.top-i.product.height/2,e.width=i.product.width,e.height=i.product.height):i.limit_zone.setStrokeWidth(0),!1===e.is_bg&&!0!==e.with_base||i.productColor&&"#dedede"==i.productColor.fill){var l=i.canvas.backgroundColor;i.canvas.backgroundColor="transparent",i.productColor&&(i.productColor.visible=!1)}!1===e.is_bg&&!0!==e.with_base&&(i.product&&(i.product.visible=!1),i.canvas.overlayImage&&(i.canvas.overlayImage.visible=!1));var n=i.limit_zone.visible;i.limit_zone.visible=!1;var o=i.canvas.viewportTransform;i.canvas.set("viewportTransform",[1,0,0,1,0,0]);var r=i.canvas.toDataURL(e);return(!1===e.is_bg&&!0!==e.with_base||i.productColor&&"#dedede"==i.productColor.fill)&&(i.canvas.backgroundColor=l,i.productColor&&(i.productColor.visible=!0)),!1===e.is_bg&&"yes"!=e.with_base&&(i.product&&(i.product.visible=!0),i.canvas.overlayImage&&(i.canvas.overlayImage.visible=!0)),i.limit_zone.visible=n,i.canvas.set("viewportTransform",o),i.limit_zone.setStrokeWidth(s),i.canvas.renderAll(),r},qrcode:function(e){"string"==typeof e&&(e={text:e}),e=t.extend({},{render:"canvas",width:500,height:500,typeNumber:-1,correctLevel:QRErrorCorrectLevel.H,background:"rgba(255,255,255,0)",foreground:lumise.get.color("invert")},e);var i=new QRCode(e.typeNumber,e.correctLevel);i.addData(e.text),i.make();var a=document.createElement("canvas");a.width=e.width+50,a.height=e.height+50;for(var s=a.getContext("2d"),l=e.width/i.getModuleCount(),n=e.height/i.getModuleCount(),o=0;o<i.getModuleCount();o++)for(var r=0;r<i.getModuleCount();r++){s.fillStyle=i.isDark(o,r)?e.foreground:e.background;var u=Math.ceil((r+1)*l)-Math.floor(r*l),c=Math.ceil((o+1)*l)-Math.floor(o*l);s.fillRect(Math.round(r*l)+25,Math.round(o*n)+25,u,c)}return a},clear:function(){this.discard();for(var t=lumise.stage().canvas,e=t.getObjects();e.filter((function(t){return t.evented})).length>0;)e.map((function(e){!0===e.evented&&t.remove(e)}));lumise.stack.save()},clearAll:function(){var t,e;Object.keys(lumise.data.stages).map((function(i){if(void 0!==(t=lumise.data.stages[i].canvas))for(e=t.getObjects();e.filter((function(t){return t.evented})).length>0;)e.map((function(e){!0===e.evented&&t.remove(e)}))})),lumise.stack.save()},import:function(e,i){if(!e||!e.objects)return lumise.ops.importing=!1,i();"function"!=typeof i&&(i=function(){}),(e=lumise.apply_filters("import",e)).objects=e.objects.filter((function(t){return t}));var a=lumise.stage(),s=a.canvas,l=function(o){if(-1===o){var r,u,c=[],d=[],m=[];if(0===t("#lumise-fonts-preload").length&&t("body").append('<div id="fonts-preload" style="position: fixed;opacity: 0;"></div>'),e.objects.map((function(e){null!==e&&void 0!==e.fontFamily&&""!==e.fontFamily&&"arial"!=e.fontFamily.toLowerCase()&&(r=decodeURIComponent(e.fontFamily.replace(/\"/g,"")),-1===m.indexOf(r)&&"arial"!=r.toLowerCase()&&(m.push(r),t("#fonts-preload").append("<font style=\"font-family:'"+r+"'\">abcdefghijkl<b>mnopqrx</b><u>tywxz098</u><i>7654321</i></font>"),void 0!==e.font&&-1===e.font.indexOf("fonts.gstatic.com")&&(e.font.indexOf(".woff")>-1||0===e.font.indexOf("data:"))?(d.push(r),u=e.font,e.font.indexOf(".woff")>-1&&-1===e.font.indexOf("http")&&(u=lumise.data.upload_url+e.font),t("head").append('<style type="text/css">@font-face {font-family:"'+r+'";src: url("'+u+'") format("woff");}</style>')):((void 0===e.font||e.font.indexOf("fonts.gstatic.com")>-1)&&(e.font=["latin","regular"]),c.push(r.replace(/ /g,"+")+":"+e.font[1]))))})),c.length>0||d.length>0){var p={inactive:function(){this.active()},active:function(){lumise.f(lumise.i("importing"));var t=0,e=function(){var i=!0;t++,m.map((function(t){document.fonts.check('12px "'+t+'"')||(i=!1)})),!1===i&&t<20?setTimeout(e,350):setTimeout(l,100,0)};e()},text:"abcdefghijklmnopqrxtywxz0987654321"};return c.length>0&&(p.google={families:c}),d.length>0&&(p.custom={families:d}),WebFont.load(p)}o=0}if(e.objects[o]=lumise.apply_filters("before_import_object",e.objects[o]),void 0!==e.objects[o])if(lumise.f(lumise.i("importing")),lumise.ops.importing=!0,null!==e.objects[o])if(delete e.objects[o].clipTo,delete e.objects[o].active,e.objects[o]=t.extend({stroke:"",strokeWidth:0,scaleX:1,scaleY:1,angle:0,skewX:0,skewY:0,left:a.limit_zone.left+a.limit_zone.width/2,top:a.limit_zone.top+a.limit_zone.height/2},e.objects[o]),lumise.objects.lumise[e.objects[o].type]){e.objects[o].top+=yCenter,e.objects[o].left+=xCenter,void 0!==e.objects[o].src&&0!==e.objects[o].src.indexOf("http")&&0!==e.objects[o].src.indexOf("blob:")&&0!==e.objects[o].src.indexOf("data:image/")&&(e.objects[o].src=lumise.data.upload_url+e.objects[o].src);!function(){if(("i-text"==e.objects[o].type||"text-fx"==e.objects[o].type||"curvedText"==e.objects[o].type)&&-1!=e.objects[o].text.indexOf("&#")){let t=/(\&\#x([a-zA-Z0-9]+)\;)/gm,i=e.objects[o].text.replace(t,(function(t){return t=t.substring(6,t.length-1),String.fromCodePoint(t)}));e.objects[o].text=i}lumise.objects.lumise[e.objects[o].type](e.objects[o],(function(t){if(null===t)return n=!0,l(o+1);if(s.add(t),"curvedText"==t.type&&t.set("radius",t.radius),"qrcode"==t.type){var e=lumise.tools.qrcode({text:t.text,foreground:t.fill});t._element.src=e.toDataURL(),delete e,t._element.onload=function(){lumise.f(!1),l(o+1)}}"image"==t.type&&void 0!==t.fx?(t.fxOrigin=t._originalElement.cloneNode(!0),setTimeout((function(){lumise.fn.image_fx(t.fxOrigin,t.fx,(function(e,i){t._element.src=e,t._originalElement.src=e,t.colors=i,t._element.onload=function(){lumise.f(!1),l(o+1)}}))}),1)):l(o+1)}))}()}else l(o+1);else l(o+1);else{if(s.renderAll(),lumise.design.layers.build(),lumise.ops.importing=!1,lumise.f(!1),"function"==typeof i&&(void 0!==e.template&&(lumise.cart.template=e.template.stages,lumise.cart.price.template=e.template.price),void 0!==e.extra&&(lumise.cart.price.extra=e.extra),i(n)),""!==lumise.fn.url_var("print_download","")&&(t('li[data-tool="print"]').trigger("click"),t("#lumise-print-full").prop({checked:!0}),t("#lumise-print-base").prop({checked:!1}),t("#print-format-"+lumise.fn.url_var("print_download")).prop({checked:!0}).change(),t('#lumise-print-nav button[data-func="download"]').trigger("click"),lumise.fn.set_url("print_download",null)),""!==lumise.fn.url_var("order_print","")){var g=lumise.get.el("navigations").find('li[data-tool="print"][data-alwd]'),f=encodeURIComponent(lumise.fn.url_var("design_print",""));""!==lumise.fn.url_var("design_print","")&&g.length>0&&g.attr("data-alwd")==f&&(lumise.ops.view_design=!0)}""!==lumise.fn.url_var("cart","")&&(lumise.data.stages[lumise.render.stage_nav()].screenshot=lumise.tools.toImage({stage:lumise.data.stages[lumise.render.stage_nav()],is_bg:"full",multiplier:1/window.devicePixelRatio}),lumise.tools.save())}},n=!1;if(void 0===a.limit_zone)return i();xCenter=void 0!==e.limit_zone?e.limit_zone.left+e.limit_zone.width/2:0,yCenter=void 0!==e.limit_zone?e.limit_zone.top+e.limit_zone.height/2:0,xCenter=0!==xCenter?a.limit_zone.left+a.limit_zone.width/2-xCenter:0,yCenter=0!==yCenter?a.limit_zone.top+a.limit_zone.height/2-yCenter:0,lumise.f(lumise.i(88)),setTimeout(l,1,-1)},imports:function(t,e){if(!t||!t.stages)return lumise.fn.notice(lumise.i(25),"error");if(this.discard(),1===Object.keys(t.stages).length&&"lumise"==Object.keys(t.stages)[0]){!1!==t.clear&&"true"!=localStorage.getItem("LUMISE-TEMPLATE-APPEND")&&this.clear();var i=lumise.current_stage;lumise.data.stages[i]&&t.stages.lumise.data&&("string"==typeof t.stages.lumise.data?lumise.data.stages[i].data=JSON.parse(t.stages.lumise.data):lumise.data.stages[i].data=t.stages.lumise.data,lumise.data.stages[i].screenshot=t.stages.lumise.screenshot,lumise.data.stages[i].updated=t.stages.lumise.updated)}else{this.clearAll();var a={};Object.keys(t.stages).map((function(e){""!==t.stages[e].data&&"string"==typeof t.stages[e].data&&(t.stages[e].data=JSON.parse(t.stages[e].data)),e==lumise.current_stage?(a[e]=lumise.data.stages[e],a[e].data=t.stages[e].data,a[e].screenshot=t.stages[e].screenshot,a[e].updated=t.stages[e].updated):(a[e]=t.stages[e],a[e].stack={data:[],state:!0,index:0},void 0!==lumise.data.stages[e]&&(a[e].src=lumise.data.stages[e].src,a[e].thumbnail=lumise.data.stages[e].thumbnail,a[e].source=lumise.data.stages[e].source,void 0!==lumise.data.stages[e].color&&(a[e].color=lumise.data.stages[e].color))),void 0!==lumise.data.stages[e]&&void 0===a[e].product_width&&void 0!==lumise.data.stages[e].product_width&&(a[e].product_width=lumise.data.stages[e].product_width),void 0!==lumise.data.stages[e]&&void 0===a[e].product_height&&void 0!==lumise.data.stages[e].product_height&&(a[e].product_height=lumise.data.stages[e].product_height)})),void 0===t.system_version&&Object.keys(lumise.data.stages).map((function(t){void 0===a[t]&&(a[t]=lumise.data.stages[t])})),lumise.data.stages=a,lumise.render.stage_nav()}var s=lumise.data.stages[lumise.current_stage];if(void 0!==s&&void 0!==s.data){let t=1;void 0!==s.data.limit_zone&&(t=s.limit_zone.width/s.data.limit_zone.width),1!=localStorage.getItem("LUMISE-TEMPLATE-APPEND")&&"true"!=localStorage.getItem("LUMISE-TEMPLATE-APPEND")||(t=0),this.import(lumise.data.stages[lumise.current_stage].data,(function(){1!==t&&lumise.fn.scale_designs(t),lumise.stack.save(),lumise.fn.update_state(),"function"==typeof e&&e(lumise.data.stages[lumise.current_stage]),delete lumise.data.color,delete lumise.data.stages[lumise.current_stage].data}))}else lumise.active_stage(lumise.render.stage_nav(),e);lumise.fn.navigation("clear")},discard:function(){if(lumise.stage()){var t=lumise.stage().canvas;t.discardActiveObject(),t.discardActiveGroup(),t.renderAll()}},save:function(t,e,i){!0!==lumise.ops.importing&&0!==lumise.get.el("main").find(".lumise-stage").length&&(lumise.fn.export("designs"!=t||"designs",e,i),lumise.actions.do("save"),t&&"function"==typeof t.preventDefault&&t.preventDefault())},load_font:function(e,i,a){if(document.fonts){var s=e.replace(/[\"\']*/g,"");if("string"==typeof i)return-1===i.trim().indexOf("http")&&0!==i.trim().indexOf("data:")?i=lumise.data.upload_url+i:i.trim().indexOf("data:text/plain;")>-1&&(i=i.trim().replace("data:text/plain;","data:font/truetype;charset=utf-8;")),0!==i.trim().indexOf("url(")&&(i="url("+i+")"),t("head").append('<style type="text/css">@font-face {font-family:"'+s+'";src: '+i+' format("woff2");}</style>'),void WebFont.load({custom:{families:[s]},active:function(){a(e)}});var l=decodeURIComponent(e).replace(/ /g,"+").replace(/\"/g,"")+":"+i[1]+":"+i[0];WebFont.load({google:{families:[l]},active:function(){a(e)}})}},lightbox:function(e){if("close"==e)return t("#lumise-lightbox").remove();var i=t.extend({width:1e3,footer:"",content:"",onload:function(){},onclose:function(){}},e),a='<div id="lumise-lightbox" class="lumise-lightbox">\t\t\t\t\t\t\t\t<div id="lumise-lightbox-body">\t\t\t\t\t\t\t\t\t<div id="lumise-lightbox-content" style="min-width:'+i.width+'px">\t\t\t\t\t\t\t\t\t\t'+i.content+"\t\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t\t"+i.footer+'\t\t\t\t\t\t\t\t\t<a class="kalb-close" href="#close" title="Close">\t\t\t\t\t\t\t\t\t\t<i class="lumisex-android-close"></i>\t\t\t\t\t\t\t\t\t</a>\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t<div class="kalb-overlay"></div>\t\t\t\t\t\t\t</div>';""!==i.footer&&(i.footer='<div id="lumise-lightbox-footer">'+i.footer+"</div>"),a=a.replace(/\%width\%/g,i.width).replace(/\%content\%/g,i.content).replace(/\%footer\%/g,i.footer),a=t(a),t(".lumise-lightbox").remove(),t("body").append(a),i.onload(a),a.find("a.kalb-close,div.kalb-overlay").on("click",(function(e){i.onclose(a),t(".lumise-lightbox").remove(),e.preventDefault()}))},svg:{rgb2hex:function(t){return null==t||""===t||0===t.indexOf("#")?t:(t=t.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i))&&4===t.length?"#"+("0"+parseInt(t[1],10).toString(16)).slice(-2)+("0"+parseInt(t[2],10).toString(16)).slice(-2)+("0"+parseInt(t[3],10).toString(16)).slice(-2):""},invertColor:function(t){var e=t;return e=e.substring(1),e=parseInt(e,16),e="#"+(e=("000000"+(e=(e^=16777215).toString(16))).slice(-6))},getColors:function(t){var e=[],i=[],a=[];t.find("[fill]").map((function(){this.getAttribute("fill").indexOf("rgb")>-1&&this.setAttribute("fill",lumise.tools.svg.rgb2hex(this.getAttribute("fill"))),this.setAttribute("data-fill-attr-color",this.getAttribute("fill")),e.push(this.getAttribute("fill"))})),t.find("[stroke]").each((function(){this.setAttribute("data-stroke-attr-color",this.getAttribute("stroke")),i.push(this.getAttribute("stroke"))})),t.find("[stop-color]").map((function(){this.setAttribute("data-stop-attr-color",this.getAttribute("stop-color")),a.push(this.getAttribute("stop-color"))})),t.find("[style]").each((function(){this.style.fill&&""!==this.style.fill&&(e.push(this.style.fill),this.setAttribute("data-fill-style-color",this.style.fill)),this.style.stroke&&""!==this.style.stroke&&(i.push(this.style.stroke),this.setAttribute("data-stroke-style-color",this.style.stroke)),this.style.stopColor&&""!==this.style.stopColor&&(a.push(this.style.stopColor),this.setAttribute("data-stop-style-color",this.style.stopColor))}));for(var s={},l=0;l<e.length;l++)-1===e[l].indexOf("url")&&"none"!=e[l]&&(void 0===s[e[l]]?s[e[l]]=1:s[e[l]]++);for(l=0;l<i.length;l++)-1===i[l].indexOf("url")&&"none"!=i[l]&&(void 0===s[i[l]]?s[i[l]]=1:s[i[l]]++);for(l=0;l<a.length;l++)-1===a[l].indexOf("url")&&"none"!=a[l]&&(void 0===s[a[l]]?s[a[l]]=1:s[a[l]]++);return Object.keys(s).sort((function(t,e){return s[t]<s[e]?1:s[t]>s[e]?-1:0}))},renderColors:function(e){var i=this,a=this.getColors(t("#lumise-svg-edit>svg")),s=t('#lumise-svg-tool div[data-view="current-colors"]');s.html(""),a.map((function(t){s.append('<span><input type="color" data-color="'+t+'" value="'+i.rgb2hex(t)+'" style="background-color:'+t+";color: "+t+'" /></span>')})),s.find('input[type="color"]').on("input",(function(e){var i=this.getAttribute("data-color"),a=this.value,s=t("#lumise-svg-edit svg");s.find('[fill][data-fill-attr-color="'+i+'"]').attr({fill:a}),s.find('[fill][data-stroke-attr-color="'+i+'"]').attr({stroke:a}),s.find('[fill][data-stop-attr-color="'+i+'"]').attr({"stop-color":a}),s.find('[data-fill-style-color="'+i+'"]').css({fill:a}),s.find('[data-stroke-style-color="'+i+'"]').css({stroke:a}),s.find('[data-stop-style-color="'+i+'"]').css({stopColor:a})})),void 0!==e&&this.render_fills(e)},render_fills:function(e){var i=this,a=e.getAttribute("fill")?e.getAttribute("fill"):e.style.fill.replace(/\ /g,"").replace(/\"/g,""),s=e.getAttribute("stroke")?e.getAttribute("stroke"):e.style.stroke.replace(/\ /g,"").replace(/\"/g,""),l=e.getAttribute("stroke-width")?e.getAttribute("stroke-width"):e.style.strokeWidth.replace(/\ /g,"").replace(/\"/g,""),n=t("#lumise-svg-fills-custom"),o=t("#lumise-svg-strokes-custom"),r=t(e);if(n.html(""),a.indexOf("url")>-1){var u=t(a.replace("url(","").replace(")",""));u.find("stop").each((function(t){n.append('<span><input type="color" value="'+i.rgb2hex(this.style.stopColor)+'" data-i="'+t+'" /><small data-i="'+t+'" title="Delete">x</small></span>')})),n.find("input").on("input",(function(t){u.find("stop").eq(this.getAttribute("data-i")).css({stopColor:this.value}),i.renderColors()})),n.find("small[data-i]").on("click",(function(a){u.find("stop").eq(this.getAttribute("data-i")).remove(),t(this).parent().remove(),i.renderColors(e)}))}else if(""!==a)n.append('<span><input type="color" value="'+(a.indexOf("rgb")>-1?i.rgb2hex(a):a)+'" /><small data-i="0" title="Delete">x</small></span>'),n.find("input").on("input",(function(t){r.css({fill:this.value}),r.removeAttr("fill"),i.renderColors()})),n.find("small[data-i]").on("click",(function(a){r.css({fill:""}),r.removeAttr("fill"),t(this).parent().remove(),i.renderColors(e)}));else{var c=t('<a href="#">Add fill color</a>');n.html("").append(c),c.on("click",(function(t){r.css({fill:"#4ca722"}),i.renderColors(e),t.preventDefault()}))}if(""!==s)o.html('<input type="color" value="'+(s.indexOf("rgb")>-1?i.rgb2hex(s):s)+'" /><input placeholder="Stroke width" type="range" min="0" max="50" value="'+parseFloat(l)+'" /><p><a href="#">Remove stroke</a></p>'),o.find("input").on("input",(function(t){"color"===this.type?r.css({stroke:this.value}):r.css({"stroke-width":this.value}),i.renderColors()})),o.find("a").on("click",(function(t){r.css({stroke:"","stroke-width":""}),i.renderColors(e),t.preventDefault()}));else{c=t('<a href="#">Add stroke</a>');o.html("").append(c),c.on("click",(function(t){r.css({stroke:"#4ca722","stroke-width":"1px"}),i.renderColors(e),t.preventDefault()}))}},replace:function(e,i,a){void 0!==e?(e.find('[fill][data-fill-attr-color="'+a+'"]').attr({fill:i}),e.find('[fill][data-stroke-attr-color="'+a+'"]').attr({stroke:i}),e.find('[fill][data-stop-attr-color="'+a+'"]').attr({"stop-color":i}),e.find('[data-fill-style-color="'+a+'"]').css({fill:i}),e.find('[data-stroke-style-color="'+a+'"]').css({stroke:i}),e.find('[data-stop-style-color="'+a+'"]').css({stopColor:i})):t("#lumise-color-picker-header i").click()},edit:function(){var e=this,i=lumise.stage().canvas.getActiveObject(),a=atob(i.src.split("base64,")[1]);t("#LumiseDesign").append('<div id="lumise-svg-workspace">\t\t\t\t\t\t\t<div id="lumise-svg-edit">'+a.substr(a.indexOf("<svg"))+'\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t<div data-view="zoom">\t\t\t\t\t\t\t\t<i class="lumisex-android-search"></i> zoom <input type="range" min="100" max="300" value="100" />\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t<div id="lumise-svg-tool">\t\t\t\t\t\t\t\t<ul data-view="nav">\t\t\t\t\t\t\t\t\t<li data-func="save" title="'+lumise.i("save")+'"><i class="lumisex-android-done"></i></li>\t\t\t\t\t\t\t\t\t<li data-func="reset" title="'+lumise.i("reset")+'"><i class="lumisex-android-refresh"></i></li>\t\t\t\t\t\t\t\t\t<li data-func="cancel" title="'+lumise.i("cancel")+'"><i class="lumisex-android-close"></i></li>\t\t\t\t\t\t\t\t</ul>\t\t\t\t\t\t\t\t<h3>All colors</h3>\t\t\t\t\t\t\t\t<div data-view="current-colors"></div>\t\t\t\t\t\t\t</div>\t\t\t\t\t\t</div>'),(a=t("#lumise-svg-edit>svg")).attr("width")&&(a.attr("data-width",a.attr("width")),a.removeAttr("width")),a.attr("height")&&(a.attr("data-height",a.attr("height")),a.removeAttr("height"));var s=a.width(),l=a.height();a.on("click",(function(i){["a","audio","canvas","circle","ellipse","foreignObject","g","iframe","image","line","mesh","path","polygon","polyline","rect","svg","switch","symbol","text","textPath","tspan","unknown","use","video"].indexOf(i.target.tagName.toLowerCase())>-1&&(0===t('#lumise-svg-tool div[data-view="customize"]').length&&t('#lumise-svg-tool>ul[data-view="nav"]').after('<h3>Selection</h3>\t\t\t\t\t\t\t\t\t\t<div data-view="customize">\t\t\t\t\t\t\t\t\t\t\t<label>Fill:</label>\t\t\t\t\t\t\t\t\t\t\t<div class="lumst" id="lumise-svg-fills">\t\t\t\t\t\t\t\t\t\t\t\t<div id="lumise-svg-fills-custom"></div>\t\t\t\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t\t\t<div data-view="customize">\t\t\t\t\t\t\t\t\t\t\t<label>Stroke:</label>\t\t\t\t\t\t\t\t\t\t\t<div class="lumst" id="lumise-svg-strokes">\t\t\t\t\t\t\t\t\t\t\t\t<div id="lumise-svg-strokes-custom"></div>\t\t\t\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t\t\t</div>'),e.render_fills(i.target))})),t('#lumise-svg-workspace input[type="range"]').on("input",(function(){a.css({width:s*(this.value/100)+"px","max-width":s*(this.value/100)+"px",height:l*(this.value/100)+"px","max-height":l*(this.value/100)+"px"})})),t("#lumise-svg-tool ul li").on("click",(function(i){switch(this.getAttribute("data-func")){case"save":a.removeAttr("style"),a.attr({width:a.data("width"),height:a.data("height")}),a.removeAttr("data-width"),a.removeAttr("data-height");var s=lumise.stage().canvas,l=s.getActiveObject(),n=e.getColors(a),o=a.parent().html(),r="data:image/svg+xml;base64,"+btoa(o);if(t("#lumise-svg-workspace").remove(),null==l)return;l.set("fill",""),l.set("src",r),l.set("origin_src",r),delete l.j_object,l.colors=n,l._element.src=r,l._originalElement.src=r,l._element.onload=function(){s.renderAll(),lumise.fn.set_svg_colors(l)};break;case"reset":t("#lumise-svg-workspace").remove(),lumise.tools.svg.edit();break;case"cancel":t("#lumise-svg-workspace").remove()}})),this.renderColors()}}},stack:{working:!1,save:function(){if(!0!==lumise.ops.importing&&!0!==lumise.stack.working){var t=lumise.stage(),e=t.stack,i=t.canvas,a="",s=!1;if(i.getObjects().map((function(t){!0===t.evented&&("function"!=typeof t.clipTo&&(t.set("clipTo",(function(e){return lumise.objects.clipto(e,t)})),s=!0),a+=t.id+":"+(void 0!==t.src?t.src.length:"")+(void 0!==t.fill?t.fill:"")+(void 0!==t.stroke?t.stroke:"")+(void 0!==t.text?t.text:"")+(void 0!==t.font?t.font:"")+(void 0!==t.fx?JSON.stringify(t.fx).length:"")+t.scaleX.toString()+t.scaleY.toString()+t.width.toString()+t.height.toString()+t.left.toString()+t.top.toString())})),(void 0===e.data[e.index]||a!=e.data[e.index].hash)&&""!==a){s&&(i.renderAll(),lumise.design.layers.build()),e.data.length>50&&(e.data=e.data.splice(e.data.length-50));var l=lumise.tools.export(lumise.stage());l.template={stages:lumise.cart.template,price:lumise.cart.price.template},l=JSON.stringify(l),e.data.splice(e.index+1),e.data.push({hash:a,data:l}),e.index=e.data.length-1,lumise.get.el("design-redo").addClass("disabled"),e.data.length>1&&lumise.get.el("design-undo").removeClass("disabled"),lumise.actions.do("stack:save:complete"),e.data.length>1?lumise.tools.save():lumise.ops.before_unload=null}}},back:function(t){var e=lumise.stage().stack;lumise.stage().canvas;if(e.index>0){e.state=!1;var i=JSON.parse(e.data[e.index-1].data);lumise.tools.clear(),lumise.stack.working=!0,lumise.tools.import(i,(function(){lumise.fn.update_state(),lumise.stack.working=!1})),e.index--,lumise.get.el("design-redo").removeClass("disabled")}0===e.index&&lumise.get.el("design-undo").addClass("disabled"),t&&t.preventDefault()},forward:function(t){var e=lumise.stage().stack;lumise.stage().canvas;if(e.data[e.index+1]){e.state=!1;var i=JSON.parse(e.data[e.index+1].data);lumise.tools.clear(),lumise.stack.working=!0,lumise.tools.import(i,(function(){lumise.fn.update_state(),lumise.stack.working=!1})),e.index++,lumise.get.el("design-undo").removeClass("disabled")}e.data[e.index+1]||lumise.get.el("design-redo").addClass("disabled"),t&&t.preventDefault()}},get:{els:{},color:function(e){var i=t('.lumise-cart-field[data-type="product_color"]').find("li[data-color].choosed").attr("data-color");return i=i?decodeURIComponent(i):lumise.data.color?lumise.data.color:"#dedede","invert"!=e?i:lumise.fn.invert(i)},color_name:function(t){var e=lumise.get.el("product-color").find("li[data-color].choosed");return e.get(0)?e.attr("title"):""},scroll:function(){return{top:lumise.body.scrollTop?lumise.body.scrollTop:lumise.html.scrollTop,left:lumise.body.scrollLeft?lumise.body.scrollLeft:lumise.html.scrollLeft}},active:function(){return lumise.stage().canvas.getActiveObject()||lumise.stage().canvas.getActiveGroup()},stage:function(){return{stage:lumise.stage(),canvas:lumise.stage().canvas,active:lumise.stage().canvas.getActiveObject(),limit:lumise.stage().limit_zone}},size:function(e){var i=e||lumise.stage();if(size=lumise.get.el("print-nav").find('input[name="size"]').val().split("x"),unit=t('#lumise-print-nav input[name="print-unit"]:checked').data("unit"),o=lumise.get.el("print-nav").find('select[name="orientation"]').val(),w=parseFloat(size[0].trim()),h=parseFloat(size[1]?size[1].trim():0),void 0===i.size||""===i.size){if("inch"==unit?(w*=299.96190452,h*=299.96190452):"cm"==unit&&(w*=118.095238,h*=118.095238),""===size[0]||void 0===size[1]||""===size[1])return lumise.get.el("print-nav").find('input[name="size"]').focus(),alert(lumise.i(35))}else"string"==typeof i.size?(Object.keys(lumise.data.size_default).map((function(t){lumise.data.size_default[t].cm==i.size&&(size=lumise.data.size_default[t].px.split("x"))})),w=parseFloat(size[0].trim()),h=parseFloat(size[1]?size[1].trim():0)):"object"==typeof i.size&&(w=parseFloat(i.size.width),h=parseFloat(i.size.height),"inch"==i.size.unit?(w*=299.96190452,h*=299.96190452):"cm"==i.size.unit&&(w*=118.095238,h*=118.095238));return{o:o,w:w,h:h}},obj_size:function(e,i=null){var a=lumise.stage(),s=lumise.get.size();return multiplier=s.w/(a.limit_zone.width-1),mp="landscape"!=s.o?multiplier:multiplier*(a.canvas.width/a.canvas.height),w=e.getWidth()*mp,h=e.getHeight()*mp,null===i&&(i=t('#lumise-print-nav input[name="print-unit"]:checked').data("unit")),"inch"==i?(w/=299.96190452,h/=299.96190452):"cm"==i&&(w/=118.095238,h/=118.095238),[w.toFixed(2),h.toFixed(2)]},design_size:function(t,e,i="inch"){var a=t.canvas,s=lumise.get.size(t);if(size="",px_size="",dpr=void 0!==window.devicePixelRatio?window.devicePixelRatio:1,multiplier=s.w/(t.limit_zone.width-1),mp="landscape"!=s.o?multiplier:multiplier*(a.width/a.height),obj_width=e.getWidth(),obj_height=e.getHeight(),w=0,h=0,"string"==typeof t.size&&""!==t.size)Object.keys(lumise.data.size_default).map((function(e){lumise.data.size_default[e].cm==t.size&&(px_size=lumise.data.size_default[e].px.split("x"),size=e.toLowerCase())})),w=obj_width>t.limit_zone.width?parseFloat(px_size[0].trim()):mp*obj_width,h=obj_height>t.limit_zone.height?parseFloat(px_size[1].trim()):mp*obj_height;else{if(w=mp*(obj_width<t.limit_zone.width?obj_width:t.limit_zone.width),h=mp*(obj_height<t.limit_zone.height?obj_height:t.limit_zone.height),void 0===t.size||""===t.size){let t=lumise.get.el("print-nav").find('input[name="size"]').val();Object.keys(lumise.data.size_default).map((function(e){lumise.data.size_default[e].cm==t&&(size=e.toLowerCase())})),""===size&&(size=[s.w/299.96190452,s.h/299.96190452])}else if("object"==typeof t.size){let e=t.size.width+" x "+t.size.height;Object.keys(lumise.data.size_default).map((function(i){lumise.data.size_default[i][t.size.unit]==e&&(size=i.toLowerCase())})),""===size&&("inch"==t.size.unit?size=[parseFloat(t.size.width)/2.54,parseFloat(t.size.height)/2.54]:"px"==t.size.unit?size=[parseFloat(t.size.width)/299.96190452,parseFloat(t.size.height)/299.96190452]:size=[parseFloat(t.size.width),parseFloat(t.size.height)])}"string"!=typeof size&&(size=size.map((function(t){return Number(t.toFixed(2))})).join("x"))}return"inch"==i?(w/=299.96190452,h/=299.96190452):"cm"==i&&(w/=118.095238,h/=118.095238),{width:w.toFixed(2),height:h.toFixed(2),size:size}},el:function(e){if(!lumise.get.els[e]){if(!(t("#lumise-"+e).length>0))return t("#lumise-"+e);lumise.get.els[e]=t("#lumise-"+e)}return lumise.get.els[e]},ptcfg_type:function(t){if(0!=lumise.data.printings.length){if("object"==typeof t)if(void 0!==t.template&&t.template.length)t="templates";else if(void 0!==t.resource)switch(t.resource){case"cliparts":t="cliparts";break;case"shape":case"svg":t="shapes";break;case"images":t="image"}else switch(t.type){case"image":case"image-fx":case"qrcode":t="image_upload";break;case"path":case"svg":t="shapes";break;case"i-text":case"text-fx":case"curvedText":t="font"}var e=localStorage.getItem("LUMISE_PRINTING_CFG");return e&&""!==e&&"object"==typeof(e=JSON.parse(e))&&e.hasOwnProperty(t)?e[t]:void 0}}},fn:{version_compare:function(t,e){if(void 0===t||void 0===e)return 0;for(var i=t.split("."),a=e.split("."),s=0;s<3;s++){var l=Number(i[s]),n=Number(a[s]);if(l>n)return 1;if(n>l)return-1;if(!isNaN(l)&&isNaN(n))return 1;if(isNaN(l)&&!isNaN(n))return-1}return 0},invert:function(t){var e,i,a;if(t.indexOf("rgb")>-1)t=t.split(","),e=parseInt(t[0].trim()),i=parseInt(t[1].trim()),a=parseInt(t[2].trim());else{t.length<6&&(t+=t.replace("#",""));var s="#"==t.charAt(0)?t.substring(1,7):t.substring(0,6);e=parseInt(s.substring(0,2),16)/255*.213,i=parseInt(s.substring(2,4),16)/255*.715,a=parseInt(s.substring(4,6),16)/255*.072}return e+i+a<.5?"#DDD":"#333"},reversePortView:function(t){var e=lumise.get.el("stage-"+lumise.current_stage).get(0);if(void 0!==e){var i=lumise.stage(),a=i.canvas,s=a.viewportTransform,l=lumise.get.el("zoom").val()/100,n=(e.offsetWidth,e.offsetHeight,i.product.width*l),o=i.product.height*l,r=(i.product.left-i.product.width/2)*l,u=(i.product.top-i.product.height/2)*l,c=e.offsetWidth,d=e.offsetHeight,m={x:s[4]>0||s[4]>-r&&n>c?0:s[4]<-(a.width*s[0]-a.width)?-(a.width*s[0]-a.width):s[4],y:s[5]>0||s[5]>-u&&o>d?0:s[5]<-(a.height*s[0]-a.height)?-(a.height*s[0]-a.height):s[5]};return m.x==s[4]&&m.y==s[5]||(!1===t&&(s[5]=m.y,a.set("viewportTransform",s),a.renderAll()),!1)}},onZoomThumnMove:function(t){var e=lumise.get.el("zoom").val()/100,i=lumise.get.el("main").get(0),a=new fabric.Point(-t.movementX*(i.offsetWidth*e/100),-t.movementY*(i.offsetHeight*e/100));lumise.stage().canvas.relativePan(a),lumise.fn.reversePortView(!1)},notice:function(t,e,i){var a="bulb";switch(e){case"success":a="done";break;case"error":a="close"}var s=lumise.get.el("notices");clearTimeout(lumise.ops.notice_timer),s.data("working")?s.stop().append('<span data-type="'+e+'"><i class="lumisex-android-'+a+'"></i> '+t+"</span>").animate({opacity:1,top:55},250):s.data({working:!0}).stop().html('<span data-type="'+e+'"><i class="lumisex-android-'+a+'"></i> '+t+"</span>").css({opacity:0,top:0,display:"block"}).animate({opacity:1,top:55},250),lumise.ops.notice_timer=setTimeout((function(){s.animate({top:0,opacity:0},250,(function(){this.style.display="none",s.data({working:!1})}))}),i||1500,s)},bridgeText:function(t,e){e||(e={curve:-2.5,offsetY:.4,bottom:2.5,trident:!1,oblique:!1});lumise.get.stage();var i,a=t.width,s=2.5*t.height,l=void 0!==e.curve?e.curve/2*t.height:-.3*t.height,n=void 0!==e.offsetY?e.offsetY*t.height:.5*t.height,o=void 0!==e.bottom?e.bottom*t.height:.2*t.height,r=void 0!==e.trident&&e.trident,u=a,c=0,d=(!0===e.oblique?45:180)/a;for(!0===e.oblique&&(r=!1),void 0===lumise.ops.brid&&(lumise.ops.brid=document.createElement("canvas"),lumise.ops.bctx=lumise.ops.brid.getContext("2d")),lumise.ops.brid.width=a,lumise.ops.brid.height=s,lumise.ops.bctx.clearRect(0,0,a,s),r?(c=o,(i=l/(.25*s))*a*.5>o&&(i=o/(.5*a))):e.oblique?l>o+.25*s&&(l=o+.25*s):l>o&&(l=o);u-- >0;)r?u>.5*a?c-=i:c+=i:c=o-l*Math.sin(u*d*Math.PI/180),lumise.ops.bctx.drawImage(t,u,0,1,s,u,.5*s-n/s*c,1,c);return lumise.ops.brid.toDataURL()},update_text_fx:function(){var t=lumise.get.stage();if(t.active){lumise.f("Processing..");var e=t.active.toObject(lumise.ops.export_list);delete e.type;var i=lumise.objects.text(e);e.width=i.width,e.height=i.height,e.textAlign="center",lumise.objects.lumise["text-fx"](e,lumise.fn.switch_type)}},image_fx:function(e,i,a){if(!e)return!1;if(i&&i.mask&&i.mask.dataURL&&(void 0===i.mask.image||void 0===i.mask.image.src))return i.mask.image=new Image,i.mask.image.onload=function(){lumise.fn.image_fx(e,i,a)},0!==i.mask.dataURL.indexOf("http")&&0!==i.mask.dataURL.indexOf("data:image/")&&(i.mask.dataURL=lumise.data.upload_url+i.mask.dataURL),i.mask.image.src=i.mask.dataURL;var s=t.extend({fx:"",brightness:0,saturation:100,contrast:0,deep:0,mode:"light",mask:null},i);0!==s.brightness&&(s.brightness/=2),lumise.ops.imageFXcanvas||(lumise.ops.imageFXcanvas=document.createElement("canvas"),lumise.ops.fxctx=lumise.ops.imageFXcanvas.getContext("2d"));var l=lumise.ops.imageFXcanvas,n=lumise.ops.fxctx,o=e.width,r=e.height;l.width=o,l.height=r,n.clearRect(0,0,o,r),null!==s.mask&&s.mask.image&&(n.drawImage(s.mask.image,s.mask.left*o,s.mask.top*r,s.mask.width*o,s.mask.height*r),n.globalCompositeOperation="source-in"),n.drawImage(e,0,0,o,r),i&&i.crop&&(n.clearRect(0,0,o,r*i.crop.top),n.clearRect(0,0,o*i.crop.left,r),n.clearRect(o*i.crop.left+o*i.crop.width,0,o,r),n.clearRect(0,r*i.crop.top+r*i.crop.height,o,r));var u,c,d,m,p,g=n.getImageData(0,0,o,r),f=g.data;""!==s.fx&&lumise_fx_map[s.fx]&&(s.fx=lumise_fx_map[s.fx]());for(var h=0;h<f.length;h+=4)"object"==typeof s.fx&&(f[h]=s.fx.r[f[h]],f[h+1]=s.fx.g[f[h+1]],f[h+2]=s.fx.b[f[h+2]]),p=.4*(f[h]+s.brightness)+.4*(f[h+1]+s.brightness)+.2*(f[h+2]+s.brightness),u=(p*=1-s.saturation/100)+f[h]*(s.saturation/100)+s.brightness,c=p+f[h+1]*(s.saturation/100)+s.brightness,d=p+f[h+2]*(s.saturation/100)+s.brightness,0!=s.contrast&&(u=(u=(u=255*(((u/=255)-.5)*(m=1+.01*s.contrast)+.5))>255?255:u)<0?0:u,c=(c=(c=255*(((c/=255)-.5)*m+.5))>255?255:c)<0?0:c,d=(d=(d=255*(((d/=255)-.5)*m+.5))>255?255:d)<0?0:d),f[h]=u,f[h+1]=c,f[h+2]=d,s.deep>0&&("dark"!=s.mode?255-u<s.deep&&255-c<s.deep&&255-d<s.deep&&(f[h+3]=((255-u)/s.deep+(255-c)/s.deep+(255-d)/s.deep)/3,f[h+3]=f[h+3]>0?100*f[h+3]:0):u<s.deep&&c<s.deep&&d<s.deep&&(f[h+3]=(u/s.deep+c/s.deep+d/s.deep)/3,f[h+3]=f[h+3]>0?100*f[h+3]:0));return n.putImageData(g,0,0),a(l.toDataURL(),lumise.fn.count_colors(l,!0))},update_image_fx:function(t,e,i){var a=lumise.get.stage();a.active&&(lumise.f("Processing.."),clearTimeout(lumise.ops.update_image_fx_timer),lumise.ops.update_image_fx_timer=setTimeout((function(){var s=function(){void 0!==a.active.fx&&null!==a.active.fx||(a.active.fx={}),void 0!==t&&(a.active.fx[t]=e),a.active.fxOrigin||(a.active.fxOrigin=new Image,a.active.fxOrigin.src=void 0!==a.active.full_src&&""!==a.active.full_src?a.active.full_src:a.active.src,a.active.fxOrigin.onload=s),lumise.fn.image_fx(a.active.fxOrigin,a.active.fx,(function(t,e){a.active._element.src=t,a.active._originalElement.src=t,a.active.colors=e,a.active._element.onload=function(){a.canvas.renderAll(),lumise.f(!1),"function"==typeof i&&i()}}))};if(!a.active.fxOrigin||!a.active.fxOrigin.tagName){if(a.active.full_src)return a.active.fxOrigin=new Image,a.active.fxOrigin.src=void 0!==a.active.full_src&&""!==a.active.full_src?a.active.full_src:a.active.src,void(a.active.fxOrigin.onload=s);a.active._originalElement.cloneNode(!0)}s()}),1))},refresh_image_fx:function(t,e){if("function"!=typeof e&&(e=function(){}),!t||void 0===t.fx||null===t.fx||0===Object.keys(t.fx).length)return e();lumise.f("Processing FX.."),clearTimeout(lumise.ops.update_image_fx_timer),lumise.ops.update_image_fx_timer=setTimeout((function(){t.fxOrigin&&t.fxOrigin.tagName||(t.fxOrigin=t._originalElement.cloneNode(!0)),lumise.fn.image_fx(t.fxOrigin,t.fx,(function(i,a){t._element.src=i,t._originalElement.src=i,t.colors=a,t._element.onload=function(){lumise.stage().canvas.renderAll(),lumise.f(!1),e()}}))}),1)},fill_svg:function(e,i){if(-1===e.toString().indexOf("data:image/svg+xml;base64,"))return e;var a=atob(e.split(",")[1]),s=t("<span>"+a.substr(a.indexOf("<svg"))+"</span>");return i&&""!==i&&s.find("svg,path").attr({fill:i}),a="data:image/svg+xml;base64,"+btoa(s.html()),delete s,a},product_color:function(t){void 0!==t&&""!==t||(t="#dedede"),sessionStorage.setItem("LUMISE-CHANGE-COLOR","true");var e=lumise.stage();if(e.limit_zone){var i=lumise.fn.invert(t);e.limit_zone.set("stroke",i),e.productColor.set("fill",t),e.canvas.renderAll(),Object.keys(lumise.data.stages).map((function(e){e!=lumise.current_stage&&void 0!==lumise.data.stages[e].canvas&&(lumise.data.stages[e].productColor.set("fill",t),lumise.data.stages[e].canvas.renderAll())})),lumise.tools.save(),sessionStorage.removeItem("LUMISE-CHANGE-COLOR")}lumise.actions.do("product-color",t)},set_svg_colors:function(e){if(void 0===e.j_object){var i=e.src.split("base64,")[1];i=(i=atob(i)).substr(i.indexOf("<svg")),e.j_object=t("<div>"+i+"</div>")}var a=(lumise.get.el("svg-colors").parent().width()-180)/33,s=lumise.tools.svg.getColors(e.j_object),l=s.length;a<6?a=6:a>15&&(a=15),0===l&&(e.j_object.find("svg>*").css({fill:"#000000"}),s=lumise.tools.svg.getColors(e.j_object)),e.colors=s.slice(),s.splice(a),lumise.get.el("svg-colors").find(">span").remove(),s.map((function(t){lumise.get.el("svg-colors").append('<span data-view="noicon" data-color="'+t+'"><input type="text" data-color="'+t+'" readonly value="" style="background:'+t+'" /></span>')})),l>s.length&&lumise.get.el("svg-colors").append('<span data-view="more">+'+(l-s.length)+"</span>"),lumise.get.el("svg-colors")&&lumise.get.el("svg-colors").data("editor")&&lumise.get.el("svg-colors").append('<span data-view="btn" data-tip="true"><i class="lumisex-wand" data-func="editor"></i><span>'+lumise.i(138)+"</span></span>")},switch_type:function(t){var e=lumise.get.stage();if(null!==t){lumise.ops.importing=!0;var i=e.canvas.getObjects().indexOf(e.active);e.canvas.remove(e.active),e.canvas.add(t),t.moveTo(i),e.canvas.setActiveObject(t).renderAll(),lumise.get.el("top-tools").attr({"data-view":t.type}),lumise.design.layers.build(),lumise.ops.importing=!1}else alert(lumise.i(19));lumise.f(!1)},download_design:function(e){var i=e.type,a=e.include_base,s=lumise.stage(),l=s.canvas,n={format:"png",multiplier:2,width:s.product.width,height:s.product.height,top:s.product.top-s.product.height/2,left:s.product.left-s.product.width/2},o=lumise.data.prefix_file+"_"+lumise.fn.slugify(t("#lumise-product header name t").text())+"_"+lumise.current_stage;switch(""!==lumise.fn.url_var("order_print","")&&(o="order-"+lumise.fn.url_var("order_print")+"__product-"+lumise.fn.url_var("product_cms")+"__base-"+lumise.fn.url_var("product_base")+"__stage-"+(Object.keys(lumise.data.stages).indexOf(lumise.current_stage)+1)),lumise.get.el("zoom").val(100).trigger("input"),i){case"svg":var r=lumise.fn.export_svg(a);null!==r?(lumise.fn.download("data:image/svg+xml;base64,"+btoa(r),o+".svg"),delete r):lumise.fn.notice("Error on render SVG","error");break;case"png":var u=e.height,c=e.width;if(3==window.devicePixelRatio&&u*c>=16777216){let t=16777216/(u*c);u*=t,c*=t}var d=e.orien,m=(l.backgroundColor,c/(s.limit_zone.width-1)),p="landscape"!=d?m:m*(l.width/l.height),g={stage:s,top:s.limit_zone.top,left:s.limit_zone.left,width:s.limit_zone.width,height:s.limit_zone.height,multiplier:p,is_bg:!0===a&&"full",with_base:e.with_base},f=lumise.tools.toImage(g),h=document.createElement("canvas"),v=h.getContext("2d"),b=new Image;if(m>33&&(m=33),"function"!=typeof e.callback&&(e.callback=function(t){lumise.fn.download(t,o+".png")}),"landscape"!=d)h.width=c,h.height=u,b.onload=function(){var t=this.width,i=this.height;t!=c&&(i=i/t*c,t=c),i>u&&(t=t/i*u,i=u),v.drawImage(this,(c-t)/2,0,t,i),lumise.f("false"),e.callback(h.toDataURL()),delete h,delete v},b.src=f;else{m=c/s.limit_zone.width<33?u/s.limit_zone.width:33;f=lumise.tools.toImage({stage:s,width:s.limit_zone.width,left:s.limit_zone.left,multiplier:p,is_bg:!0===a&&"full"});h.width=c,h.height=u,b.onload=function(){v.translate(h.width/2,h.height/2),v.rotate(Math.PI/2);var t=c,i=c*(this.width/this.height);i>c&&(t*=c/i,i=c),t>u&&(i*=u/t,t=u),v.drawImage(this,-i/2,-t/2,i,t),v.rotate(-Math.PI/2),v.translate(-h.width/2,-h.height/2),lumise.f("false"),e.callback(h.toDataURL()),delete h,delete v},b.src=f}break;case"jpg":n.format="jpeg",lumise.fn.download(l.toDataURL(n),o+".jpg");break;case"pdf":lumise.tools.discard();var _=Object.keys(lumise.data.stages),x=_.filter((function(t){return void 0===lumise.data.stages[t].canvas})),w=(f=[],[]),y=[],k=function(){var t=lumise.fn.export_svg(a,!0),e=lumise.stage();f.push([t[0],lumise.get.size()]),lumise.get.el("print-base").prop("checked")?w.push((e.product.width/e.product.height).toFixed(5)):w.push((e.edit_zone.width/e.edit_zone.height).toFixed(5)),t[1].map((function(t){-1===y.indexOf(t)&&y.push(t)}))},A=function(t){lumise.active_stage(_[t],(function(){k(),void 0!==_[t+1]?A(t+1):j(f,y)}))},j=function(t,e){var i=window.open(lumise.data.ajax+"&action=pdf&nonce=LUMISE-SECURITY:"+lumise.data.nonce+(e.length>0?"&fonts="+encodeURIComponent(e.join("|")):"")+(lumise.get.el("print-cropmarks").prop("checked")?"&cropmarks=1":""));lumise.f(!1),null!==i?i.addEventListener("load",(function(){this.window.renderPDF(t,URL)})):alert("Please allow popup on this site")};if(void 0===e.full||!0!==e.full)return k(),j(f,y);if(x.length>0)return void lumise.active_stage(x[0],(function(){lumise.fn.download_design(e)}));lumise.f("Start rendering.."),A(0);break;case"json":f={stages:{},type:lumise.data.type,updated:(new Date).getTime()/1e3,name:lumise.data.name};var O=[];lumise.get.el("stage-nav").find("li[data-stage].active").each((function(){var t,e,i=this.getAttribute("data-stage"),a=lumise.data.stages[i];if(a.canvas){if(f.stages.lumise={data:lumise.tools.export(a),screenshot:lumise.tools.toImage({stage:a}),edit_zone:a.edit_zone,image:a.image,overlay:a.overlay,updated:f.updated},t=a.canvas.getObjects().filter((function(t){return!0===t.evented})),t.length>0){var s=new fabric.Group(t,{originX:"center",originY:"center"});e=[(s.left-s.width/2-a.limit_zone.left)/a.limit_zone.width,(s.top-s.height/2-a.limit_zone.top)/a.limit_zone.height],a.canvas._activeObject=null,a.canvas.setActiveGroup(s.setCoords()).renderAll(),a.canvas.discardActiveGroup()}else e=[0,0];f.stages.lumise.padding=e,O.push(i)}else a.data&&(f.stages.lumise={data:a.data,screenshot:"",edit_zone:"",image:"",overlay:a.overlay,updated:a.data.updated,padding:[0,0]},O.push(i))})),null!=f&&null!=f.stages&&null!=f.stages.lumise&&null!=f.stages.lumise.data&&null!=f.stages.lumise.data.objects&&f.stages.lumise.data.objects.length>0&&f.stages.lumise.data.objects.map((function(t,e){if("i-text"==t.type||"text-fx"==t.type||"curvedText"==t.type){let i=/([^a-zA-Z0-9 ])/gm,a=t.text.replace(i,(function(t){return"&#x000"+t.codePointAt(0)+";"}));t.text=a,f.stages.lumise.data.objects[e]=t}})),lumise.fn.download("data:application/octet-stream;charset=utf-16le;base64,"+btoa(JSON.stringify(f).replace(/[\u{0080}-\u{FFFF}]/gu,(t=>encodeURIComponent(t)))),o+".lumi")}},download:function(e,i){lumise.fn.dataURL2Blob(e,(function(e){var a=t('<a href="'+URL.createObjectURL(e)+'" download="'+i.replace(/\"/g,"")+'"></a>');if("string"!=typeof a.get(0).download)return lumise.fn.notice("After saving the download file, change the file type to ."+i.split(".")[1].toUpperCase(),"notice",5e3),window.open(URL.createObjectURL(e),i);t("body").append(a),a.get(0).click(),URL.revokeObjectURL(a.href),a.remove()}))},export_svg:function(e,i){var a=(n=lumise.stage()).canvas,s=[];if(void 0===i&&(i=!1),void 0!==e&&!1===e){n.productColor.set("visible",!1),n.product.set("visible",!1);var l=a.backgroundColor;a.backgroundColor="rgba(0,0,0,0)"}var n,o=t("<div>"+a.toSVG()+"</div>"),r=a.getObjects(),u=[],c=o.find("svg"),d=n.limit_zone,m=t("#lumise-print-overflow").prop("checked"),p=r.filter((function(t){return"imagebox"==t.type})).length>0,g=lumise.stage().edit_zone.radius,f=function(t){for(var e="",i=0;i<t.length;i++)e+="&#x"+("000"+t[i].charCodeAt(0).toString(16)).substr(-4)+";";return e};if(void 0!==e&&!1===e&&(n.productColor.set("visible",!0),n.product.set("visible",!0),a.backgroundColor=l),o.find("tspan").each((function(){"&amp;"==this.innerHTML?this.innerHTML="&#x26;":this.innerHTML="\x3c!--lmstart--\x3e"+f(this.innerHTML)+"\x3c!--lmend--\x3e"})),o.find("text").each((function(){var t=this.parentNode.getAttribute("id"),e=r.filter((function(e){return e.id==t}));e.length>0&&e[0].charSpacing>0&&this.setAttribute("letter-spacing",.001*e[0].charSpacing+"em"),this.setAttribute("font-family",this.getAttribute("font-family").replace(/\'/g,""));var i=this.getAttribute("style")+"paint-order: stroke;";this.setAttribute("style",i)})),0===o.find("defs").length&&o.find("svg").append("<defs></defs>"),!0!==p){var h=t("<g"+(!0===m?' clip-path="url(#limit-zone-path)"':"")+"></g>");c.append(h);var v=d.width/2*(g/100),b=d.height/2*(g/100);c.find("defs").append('<clipPath id="limit-zone-path">\t\t\t\t\t\t\t<rect x="'+d.left+'" y="'+d.top+'" rx="'+v+'" ry="'+b+'" width="'+d.width+'" height="'+d.height+'" />\t\t\t\t\t\t</clipPath>')}r.map((function(t){var e="";if(t&&t.evented&&void 0!==t.fontFamily&&""!==t.fontFamily&&"object"==typeof t.font&&2===t.font.length&&-1===u.indexOf(t.fontFamily.replace(/\"/g,""))&&(e=t.fontFamily.replace(/\"/g,""),u.push(e)),void 0!==t.fontFamily&&""!==t.fontFamily&&"string"==typeof t.font&&0===t.font.indexOf("data:text/plain;base64")){var i=t.font.replace("data:text/plain;base64,","data:font/truetype;charset=utf-8;base64,");e=t.fontFamily.replace(/\"/g,""),o.find("defs").append('<style type="text/css">@font-face {font-family: \''+e+"';src: url("+i+") format('woff2');}</style>")}if("imagebox"==t.type){var a=o.find("#"+t.id),l=r.filter((function(e){return void 0!==e.imagebox&&e.imagebox==t.id}));if(l.length>0){var n=a.parent().attr("transform").split("(")[1].split(")")[0].split(" "),c=o.find("#"+l[0].id).parent().attr("transform").split("(")[1].split(")")[0].split(" ");o.find("defs").append('<clipPath id="imagebox-'+t.id+'">\t\t\t\t\t\t\t\t\t<rect transform="translate('+(parseFloat(n[0])-parseFloat(c[0]))+" "+(parseFloat(n[1])-parseFloat(c[1]))+')" x="'+a.attr("x")+'" y="'+a.attr("y")+'" rx="0" ry="0" width="'+t.width+'" height="'+t.height+'" />\t\t\t\t\t\t\t\t</clipPath>'),o.find("#"+l[0].id).parent().get(0).setAttribute("clip-path","url(#imagebox-"+t.id+")")}"g"==a.parent().get(0).tagName?a.parent().remove():a.remove()}void 0!==t.full_src&&""!==t.full_src&&o.find("image#"+t.id).attr({"xlink:href":t.full_src}),t&&t.evented&&!p&&h.append(o.find("#"+t.id).parent().get(0)&&"g"==o.find("#"+t.id).parent().get(0).tagName?o.find("#"+t.id).parent():o.find("#"+t.id)),""!==e&&-1===s.indexOf(e)&&s.push(e)})),u.length>0&&o.find("defs").append('<style type="text/css">@import url(\'http://fonts.googleapis.com/css?family='+u.join("|")+"');</style>"),o.find("desc").html("Created with Lumise Product Designer Tool (https://www.lumise.com)"),o.find("img").each((function(){var e=t(this).prop("attributes"),i=t("<image></image>");t.each(e,(function(){i.attr(this.name,this.value)})),t(this).after(i),t(this).remove()})),o.find("image").each((function(){var t=this.getAttribute("xlink:href");if(""==t&&n.backgrounds.url&&(t=n.backgrounds.url),0===t.indexOf("http")){var e=this.getAttribute("id"),i=document.createElement("canvas"),a=i.getContext("2d"),s=lumise.stage().canvas.getObjects().filter((function(t){return t.id==e}));if(0===s.length&&t==lumise.stage().product._element.src&&(s=[lumise.stage().product]),0===s.length)return;var l=s[0]._element;i.width=l.width,i.height=l.height,a.drawImage(l,0,0,l.width,l.height),this.setAttribute("xlink:href",i.toDataURL("image/"+(t.indexOf(".png")?"png":"jpeg")))}})),(n=lumise.stage()).canvas.getObjects().filter((function(t){return"svg"==t.type&&t.visible})).map((function(e,i){var a=o.find('image[id="'+e.id+'"]'),s=t("<div>"+atob(e.src.split(",")[1])+"</div>").find("svg").get(0),l=s.getAttribute("viewBox")?s.getAttribute("viewBox"):s.getAttribute("viewbox");l=l.replace(/\,/g," ").replace(/  /g," ").split(" "),s.getAttribute("width")||s.setAttribute("width",l[2]),s.getAttribute("height")||s.setAttribute("height",l[3]);var n=parseFloat(l[0]),r=parseFloat(l[1]),u=(parseFloat(s.getAttribute("width").toString().replace(/[^0-9.\-]/g,"")),parseFloat(s.getAttribute("height").toString().replace(/[^0-9.\-]/g,"")),e.width/parseFloat(l[2])),c=e.height/parseFloat(l[3]),d='<g transform="translate('+-(e.width/2+n*u)+" "+-(e.height/2+r*c)+") scale("+u+" "+c+')">';t.each(s.attributes,(function(){0!==this.name.indexOf("xmlns:")||o.find("svg").attr(this.name)||o.find("svg").attr(this.name,this.value)})),t(s).find("[stroke-width]").each((function(){this.setAttribute("stroke-width",parseFloat(this.getAttribute("stroke-width")*u))})),d+=s.innerHTML+"</g>",a.after(d),a.remove()})),void 0!==e&&!1===e?(c.attr({width:800,height:d.height*(800/d.width),fill:"none"}),c.get(0).setAttribute("viewBox",d.left+" "+d.top+" "+d.width+" "+d.height)):void 0!==e&&!0===e&&(c.attr({width:n.product.width,height:n.product.height,fill:"none"}),c.get(0).setAttribute("viewBox",n.product.left-n.product.width/2+" "+(n.product.top-n.product.height/2)+" "+n.product.width+" "+n.product.height)),i&&(c.removeAttr("width"),c.removeAttr("height"));var _=o.html();return(_=_.split("\x3c!--lmstart--\x3e")).map((function(t,e){e>0&&t.indexOf("\x3c!--lmend--\x3e")>-1&&((t=t.split("\x3c!--lmend--\x3e"))[0]=f(t[0]),_[e]=t.join(""))})),_=_.join("").replace(/gradienttransform/g,"gradientTransform").replace(/gradientunits/g,"gradientUnits").replace(/lineargradient/g,"linearGradient").replace(/radialgradient/g,"radialGradient").replace(/\<\/clippath\>/g,"</clipPath>").replace(/\<clippath\ /g,"<clipPath ").replace(/\>\<\/stop\>/g,"/>"),!1===i?_:[_,s]},dataURL2Blob:function(t,e){e(this.url2blob(t))},process_files:function(e,i,a){var s,l={};for(f in e){if("object"!=typeof e[f])return;if(0!==e[f].type.indexOf("image/"))return lumise.fn.notice(lumise.i("148"),"error",5e3);s=e[f],l[f]=new FileReader,l[f].f=f,l[f].file=s,l[f].addEventListener("load",(function(){if(lumise.fn.check_upload_size(l[this.f].file)){var e=parseInt(l[this.f].file.lastModified/1e3).toString(36);e=parseInt((new Date).getTime()/1e3).toString(36)+"-"+e;var n=this.result,o={url:n,type:l[this.f].file.type,size:l[this.f].file.size,name:l[this.f].file.name.replace(/[^0-9a-zA-Z\.\-\_]/g,"").trim().replace(/\ /g,"+")};if(0===n.indexOf("data:image/svg+xml;base64,")){var r=t("<div>"+atob(n.split("base64,")[1]).replace("viewbox=","viewBox=")+"</div>"),u=r.find("svg").get(0),c=u.getAttribute("viewBox")?u.getAttribute("viewBox"):u.getAttribute("viewbox");if(null===c)return;c=c.replace(/\,/g," ").replace(/  /g," ").split(" "),u.getAttribute("width")||u.setAttribute("width",c[2]),u.getAttribute("height")||u.setAttribute("height",c[3]),r.find("[id]").each((function(){this.id=this.id.replace(/[\u{0080}-\u{FFFF}]/gu,"")})),o.url="data:image/svg+xml;base64,"+btoa(r.html()),!1!==a&&new lumise.cliparts.import(e,o,"prepend")}else if(!1!==a){let t=window.URL||window.webkitURL,i=new Image,a=t.createObjectURL(s);i.onload=function(){let t=lumise.fn.check_upload_dimensions(i);if(delete i,null===o||null==t)return null;new lumise.cliparts.import(e,o,"prepend")},i.src=a}"function"==typeof i&&i(o),delete l[this.f]}else delete l[this.f]}),!1),l[f].readAsDataURL(s)}},select_image:function(t,e){var i=lumise.ops;void 0===i.image_inp&&(i.image_inp=document.createElement("input"),i.image_inp.type="file",i.image_inp.accept=".jpg,.png,.jpeg,.svg",i.image_inp.onchange=function(){lumise.fn.process_files(this.files,this.callback,this.saveas)}),i.image_inp.type="text",i.image_inp.value="",i.image_inp.type="file",i.image_inp.callback=t,i.image_inp.saveas=e,i.image_inp.click()},replace_image:function(t,e){lumise.f(!1),lumise.fn.crop({src:t,width:e.width,dimension:e.width/e.height,square:!1,load:function(t,i){var a=i.find("div.lumise_crop_selArea"),s=a.parent().width(),l=a.parent().height(),n=.9*s,o=n*(e.height/e.width);o<l||(n=(o=.9*l)*(e.width/e.height)),a.css({width:n+"px",height:o+"px",top:(l-o)/2+"px",left:(s-n)/2+"px"}),i.trigger("mousedown").off("mousemove touchmove")},save:function(t){var e=lumise.stage(),i=e.canvas.getActiveObject(),a=t.find(".lumise_crop_selArea");if(i){var s=a.get(0),l=t.get(0),n=t.find("img.lumise_crop_img").get(0),o=document.createElement("canvas"),r=o.getContext("2d"),u=lumise.fn.get_type(n.src),c=n.naturalWidth*(s.offsetWidth/l.offsetWidth),d=n.naturalHeight*(s.offsetHeight/l.offsetHeight),m=i.width,p=m*(a.height()/a.width());o.width=c,o.height=d,r.drawImage(n,-s.offsetLeft*(n.naturalWidth/l.offsetWidth),-s.offsetTop*(n.naturalHeight/l.offsetHeight),n.naturalWidth,n.naturalHeight);var g=o.toDataURL("image/"+u);delete o,delete r,c>e.limit_zone.width||d>e.limit_zone.height?setTimeout(lumise.fn.large_image_helper,1,{w:c,h:d,ew:e.limit_zone.width,eh:e.limit_zone.height,iw:m,ih:p,el:o,obj:i,src:g,callback:function(){lumise.ops.importing=!1,lumise.stack.save()}}):i.setSrc(g,(function(){i.set({full_src:"",width:i.width,height:i.width*(a.height()/a.width()),origin_src:g,src:g,type:"image"}),e.canvas.renderAll()}))}}})},imagebox_select_file:function(t){this.select_image((function(e){lumise.tools.import({objects:[{type:"image",src:e.url,width:t.width,left:t.left,top:t.top,imagebox:t.id,evented:!0}]},(function(){}))}))},imagebox_arrange:function(){var t=lumise.stage().canvas;t.getObjects().map((function(t){"imagebox"==t.type&&t.moveTo(2)})),t.renderAll()},preset_import:function(e,i,a){if(lumise.ops.view_design)lumise.fn.notice(lumise.i(219),"notice",3500);else{var s=lumise.stage();lumise.f("Loading.."),i=t.extend({width:.8*s.limit_zone.width,left:s.limit_zone.left+s.limit_zone.width/2,top:s.limit_zone.top+s.limit_zone.height/2},i),e.map((function(t,a){"upload"==t.type&&(t.type="image"),t.id&&(lumise.cliparts.uploads[t.id]?t.url=lumise.cliparts.uploads[t.id]:lumise.cliparts.storage[t.id]&&(t.url=lumise.cliparts.storage[t.id])),t.text&&!t.name&&(t.name=t.text.substr(0,30)),t.url&&(t.url.indexOf("data:image/svg+xml;base64,")>-1||"svg"==t.url.split(".").pop().trim()?t.type="svg":t.type="image",t.src=t.url,delete t.url),void 0!==t.font&&decodeURIComponent(t.font)!=t.font&&(t.font=JSON.parse(decodeURIComponent(t.font))),Object.keys(i).map((function(e){["left","top"].indexOf(e)>-1&&void 0!==t[e]?t[e]+=i[e]:void 0===t[e]&&(t[e]=i[e])})),t.name||((t.name=t.url&&-1===t.url.indexOf("data:image"))?t.url.split("/").pop():t.type);var s=lumise.get.color("invert");void 0!==lumise.data.colors&&""!==lumise.data.colors&&((s=lumise.data.colors.split(",")[0]).indexOf(":")>-1&&(s=s.split(":")[1]),s=s.split("@")[0]),"i-text"!=t.type&&"text-fx"!=t.type||(t.fill=s),delete t.save,e[a]=t})),lumise.tools.import({objects:e},(function(){lumise.get.el("x-thumbn-preview").hide(),setTimeout((function(){lumise.ops.set_active?(s.canvas.setActiveObject(lumise.ops.set_active),delete lumise.ops.set_active):s.canvas.setActiveObject(s.canvas._objects[s.canvas._objects.length-1]),lumise.tools.save(),"function"==typeof a&&a()}),10)}))}},update_edit_zone:function(t,e){var i=e.product.height/t.naturalHeight;1!==i&&e.limit_zone.set({height:e.edit_zone.height*i,width:e.edit_zone.width*i,left:e.edit_zone.left*i+e.canvas.width/2,top:e.edit_zone.top*i+e.canvas.height/2}),t.naturalWidth>600?e.product.set({width:600,height:t.naturalHeight*(600/t.naturalWidth)}):e.product.set({width:t.naturalWidth,height:t.naturalHeight*(600/t.naturalWidth)}),e.canvas.renderAll()},ctrl_btns:function(t){if(!t.e)return!1;var e=t.target,i=e._objects,a=lumise.stage().canvas,s=(a.getActiveObject(),a.getActiveGroup(),e._findTargetCorner(a.getPointer(t.e,!0)));return!0!==a.isDrawingMode?"tl"==s?(lumise.itemInStage("remove"),lumise.tools.discard(),lumise.stack.save(),i&&i.length>0?i.map((function(t){a.remove(t)})):a.remove(e),lumise.stack.save(),lumise.design.layers.build(),lumise.actions.do("object:remove"),!0):"bl"==s?(lumise.fn.do_double(),!0):void 0:void 0},navigation:function(e,i){if(!0===lumise.ops.preventClick)return delete lumise.ops.preventClick;if("clear"===e||t(e).hasClass("active")){if("clear"!==e&&void 0!==i&&"cart"===e.getAttribute("data-tool")&&"remove"===i.target.getAttribute("data-func"))return;t('[data-navigation="active"]').attr({"data-navigation":""}),lumise.e.main.find("li[data-tool].active").removeClass("active")}else{if(t('[data-navigation="active"]').attr({"data-navigation":""}),"languages"===e.getAttribute("data-tool")&&!lumise.data.switch_lang)return;lumise.e.main.find("li[data-tool].active").removeClass("active"),t(e).addClass("active"),t(e).closest("[data-navigation]").attr({"data-navigation":"active"})}},set_cookie:function(t,e,i){var a=new Date;i||(i=365),a.setTime(a.getTime()+24*i*60*60*1e3);var s="expires="+a.toUTCString();document.cookie=t+"="+e+";"+s+";path=/"},get_cookie:function(t){for(var e=t+"=",i=decodeURIComponent(document.cookie).split(";"),a=0;a<i.length;a++){for(var s=i[a];" "==s.charAt(0);)s=s.substring(1);if(0==s.indexOf(e))return s.substring(e.length,s.length)}return""},getTextWidth:function(t,e){if("function"==typeof e)return document.fonts?void document.fonts.load(t.size+'px "'+t.family+'"',t.text).then((function(){var i=(lumise.ops.getTextWidthCanvas||(lumise.ops.getTextWidthCanvas=document.createElement("canvas"))).getContext("2d");i.font=t.size+"px "+t.family;var a=i.measureText(t.text);e(a)})):e({width:0,height:0})},buildText:function(e){void 0===lumise.ops.texttmpl&&(lumise.ops.texttmpl=t('<div style="display: inline-block;visibility:hidden;white-space: nowrap;position:fixed;top: -10000px;left: -1000px;"></div>'),t("body").append(lumise.ops.texttmpl)),void 0!==e.curved&&0!==e.curved||(e.curved=1),e.curved>1&&(e.text=e.text.trim().replace(/\n/g," ")),lumise.ops.texttmpl.html(e.text.trim().replace(/\n/g,"<br>")).css({"line-height":e.lineHeight+"px","letter-spacing":e.charSpacing+"px","font-size":e.fontSize+"px","font-family":e.fontFamily});var i=(a=lumise.ops.texttmpl[0].getBoundingClientRect()).width-e.charSpacing,a=a.height,s=0,l=0,n=0,o=0,r=0,u=0,c=e.curved,d=e.rtl,m=void 0!==e.charSpacing?e.charSpacing:0,p=e.text,g=void 0!==e.lineHeight&&0!==e.lineHeight?e.lineHeight:e.fontSize;if(c>1){c>=360&&(c=359.999),-360>=c&&(c=-359.999),c>=0&&180>=c?(n=0,o=1):c>180&&360>=c?(n=1,o=1):0>c&&c>-180?(n=0,o=0):-180>=c&&c>=-360&&(n=1,o=0);var f=180*i/(Math.abs(c)*Math.PI),h=90-Math.abs(c)/2,v=90+Math.abs(c)/2,b=h*Math.PI/180,_=v*Math.PI/180,x=f*Math.cos(b),w=f*Math.sin(b),y=f*Math.cos(_),k=f*Math.sin(_),A=(new Date).getTime();c>0?(x*=-1,w*=-1,y*=-1,k*=-1):(x*=-1,y*=-1),Math.abs(c)>180?Math.abs(w):Math.abs(w),c>0?(s=x+f,l=w+f,r=y+f,u=k+f):(s=x,l=w,r=y,u=k)}var j="";p.trim().split("\n").map((function(t,i){j+='<text fill="'+e.fill+'" stroke="'+e.stroke+'" stroke-width="'+10*e.strokeWidth+'" stroke-linecap="butt" stroke-linejoin="miter" font-size="'+e.fontSize+'" font-family="'+e.fontFamily+'" letter-spacing="'+m+'" '+(d?'text-anchor="end" direction="rtl"':'text-anchor="start" direction="ltr"')+">"+(1==c?"":'<textPath xlink:href="#tp-'+A+'">'),j+='<tspan dy="'+i*g+'" x="'+(1==c?m/2:0)+'">'+t+"</tspan>"+(1==c?"":"</textPath>")+"</text>"}));var O=t('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g>'+j+(1==c?"":'</g><path id="tp-'+A+'" d="M '+s+" "+l+" A "+f+" "+f+" 0 "+n+" "+o+" "+r+" "+u+'" fill="transparent"></path>')+"</svg>");lumise.ops.texttmpl.html("").append(O);var z=O.find("g").get(0).getBoundingClientRect();return("center"==e.textAlign||"right"==e.textAlign)&&O.find("text tspan").length>1&&O.find("text tspan").each((function(){var t=this.getBoundingClientRect().width;"center"==e.textAlign&&t<z.width&&this.setAttribute("x",(z.width-t)/2),"right"==e.textAlign&&t<z.width&&this.setAttribute("x",z.width-t)})),O.attr({height:z.height,width:z.width+m,viewBox:(1==c?0:s-x-z.width/2)+" -"+.9*e.fontSize+" "+(z.width+m)+" "+z.height}),lumise.ops.texttmpl.html()},url2blob:function(t){if("string"!=typeof t)throw new Error("Invalid argument: dataURI must be a string");t=t.split(",");for(var e=atob(t[1]),i=e.length,a=new Uint8Array(i),s=0;s<i;s++)a[s]=e.charCodeAt(s);return new Blob([a],{type:t[0].substring(t[0].indexOf("image/"),t[0].indexOf(";")-1)})},createThumbn:function(t){var e=new Image;e.onload=function(){var e=lumise.ops.creatThumbnCanvas?lumise.ops.creatThumbnCanvas:lumise.ops.creatThumbnCanvas=document.createElement("canvas");e.width=t.width,e.height=t.height;var i=e.getContext("2d"),a=this.naturalHeight*(e.width/this.naturalWidth)>=e.height?e.width:this.naturalWidth*(e.height/this.naturalHeight),s=a==e.width?this.naturalHeight*(e.width/this.naturalWidth):e.height,l=a==e.width?0:-(a-e.width)/2,n=s==e.height?0:-(s-e.height)/2;i.fillStyle=t.background?t.background:"#eee",i.fillRect(0,0,e.width,e.height),i.drawImage(this,l,n,a,s),t.callback(e)},e.src=t.source},check_upload_size:function(t){var e=lumise.apply_filters("upload_notice",!0);return!isNaN(lumise.data.min_upload)&&lumise.data.min_upload>0&&t.size/1024<lumise.data.min_upload?(e&&lumise.fn.notice(lumise.i("147")+" "+(t.size/1024).toFixed(2)+"KB (Minimum "+lumise.data.min_upload+"KB)","error",8e3),lumise.do_action("upload_minimum_limit"),!1):!(!isNaN(lumise.data.max_upload)&&lumise.data.max_upload>0&&t.size/1024>lumise.data.max_upload)||(e&&lumise.fn.notice(lumise.i("147")+" "+(t.size/1024).toFixed(2)+"KB (Maximum "+lumise.data.max_upload+"KB)","error",8e3),lumise.do_action("upload_maximum_limit"),!1)},check_image_dimensions:function(t,e){if(opts=lumise.get.ptcfg_type(e),opts&&null!=opts.options){if(""!==opts.options.min_dimensions&&"object"==typeof opts.options.min_dimensions&&(parseFloat(opts.options.min_dimensions[0])>t.width||parseFloat(opts.options.min_dimensions[1])>t.height))return lumise.fn.notice(lumise.i(160)+" "+opts.options.min_dimensions.join("x"),"notice",3500),!1;if(""!==opts.options.max_dimensions&&"object"==typeof opts.options.max_dimensions&&(parseFloat(opts.options.max_dimensions[0])<t.width||parseFloat(opts.options.max_dimensions[1])<t.height))return lumise.fn.notice(lumise.i(216)+" "+opts.options.max_dimensions.join("x"),"notice",3500),!1;let e=lumise.get.size();if(null!=typeof opts.options.min_dpi&&""!==opts.options.min_dpi){var i=300/parseFloat(opts.options.min_dpi);if(t.width*i<e.w||t.height*i<e.h)return"1"==lumise.data.ppi_notice?(lumise.fn.notice(lumise.i(197),"notice",3500),!0):(lumise.fn.notice(lumise.i(194)+" "+opts.options.min_dpi,"notice",3500),!1)}if(null!=typeof opts.options.max_dpi&&""!==opts.options.max_dpi){i=300/parseFloat(opts.options.max_dpi);if(t.width*i>e.w||t.height*i>e.h)return lumise.fn.notice(lumise.i(195)+" "+opts.options.max_dpi,"notice",3500),!1}}return!0},check_upload_dimensions:function(t){let e=t.src,i="jpeg";if(0!==t.src.indexOf("data:image/png")&&"png"!=t.src.split(".").slice(-1)[0].toLowerCase()||(i="png"),0===t.src.indexOf("data:image/svg+xml"))return e;if(""!==lumise.data.min_dimensions&&"object"==typeof lumise.data.min_dimensions&&(parseFloat(lumise.data.min_dimensions[0])>t.width||parseFloat(lumise.data.min_dimensions[1])>t.height))return lumise.fn.notice(lumise.i(160)+" "+lumise.data.min_dimensions.join("x"),"notice",3500),null;if(""!==lumise.data.max_dimensions&&"object"==typeof lumise.data.max_dimensions&&(parseFloat(lumise.data.max_dimensions[0])<t.width||parseFloat(lumise.data.max_dimensions[1])<t.height)){var a=document.createElement("canvas");parseFloat(lumise.data.max_dimensions[0])<t.width?(a.width=parseFloat(lumise.data.max_dimensions[0]),a.height=a.width*(t.height/t.width),a.height>lumise.data.max_dimensions[1]&&(a.width=lumise.data.max_dimensions[1]*(a.width/a.height),a.height=lumise.data.max_dimensions[1])):parseFloat(lumise.data.max_dimensions[1])<t.height&&(a.height=parseFloat(lumise.data.max_dimensions[1]),a.width=a.height*(t.width/t.height),a.width>lumise.data.max_dimensions[0]&&(a.height=lumise.data.max_dimensions[0]*(a.height/a.width),a.width=lumise.data.max_dimensions[0])),a.getContext("2d").drawImage(t,0,0,a.width,a.height),e=a.toDataURL("image/"+i)}let s=lumise.get.size();if(""!==lumise.data.min_ppi){var l=300/parseFloat(lumise.data.min_ppi);if(t.width*l<s.w||t.height*l<s.h)return"1"==lumise.data.ppi_notice?(lumise.fn.notice(lumise.i(197),"notice",3500),t.src):(lumise.fn.notice(lumise.i(194)+" "+lumise.data.min_ppi,"notice",3500),null)}if(""!==lumise.data.max_ppi){l=300/parseFloat(lumise.data.max_ppi);if(t.width*l>s.w||t.height*l>s.h)return lumise.fn.notice(lumise.i(195)+" "+lumise.data.max_ppi,"notice",3500),null}return e},get_blob:function(t,e){var i=new XMLHttpRequest;i.open("GET",t,!0),i.responseType="blob",i.overrideMimeType("text/plain;charset=utf-8"),i.onload=function(){var t=new FileReader;t.onload=e,t.readAsDataURL(this.response)},i.onreadystatechange=function(t){4===i.readyState&&200!==i.status&&e(1)},i.send(null)},count_colors:function(t,e){lumise.ops.count_colors_canvas||(lumise.ops.count_colors_canvas=document.createElement("canvas"));var i=function(t){var e=t.toString(16);return 1==e.length?"0"+e:e},a=function(t,e){return Math.floor(t/(255/e))*(255/e)},s=function(t,e,s){lumise.ops.count_colors_canvas.width=e,lumise.ops.count_colors_canvas.height=s;var l=[],n=lumise.ops.count_colors_canvas.getContext("2d");n.drawImage(t,0,0,e,s);for(var o=n.getImageData(0,0,e,s).data,r=0;r<o.length;r+=4)o[r]=a(o[r],8),o[r+1]=a(o[r+1],8),o[r+2]=a(o[r+2],4),c="#"+i(o[r])+i(o[r+1])+i(o[r+2]),-1===l.indexOf(c)&&l.push(c);return l};if(!0===e)return s(t,t.width/10,t.height/10);var l=new Image;l.cb=e,l.onload=function(){var t=this.naturalWidth/5,e=this.naturalHeight/5;"function"==typeof this.cb&&this.cb(s(this,t,e))},l.src=t},update_state:function(){clearTimeout(lumise.ops.preventDbl),lumise.ops.preventDbl=setTimeout((function(){var e,i={},a=[],s=[],l=[];Object.keys(lumise.data.stages).map((function(n){var o=[],r=0,u=0,c=0,d=0,m=0;if(line={},character={},sizes={},a=[],lumise.data.stages[n].canvas?a=lumise.data.stages[n].canvas.getObjects():lumise.data.stages[n].data&&lumise.data.stages[n].data.objects&&(a=lumise.data.stages[n].data.objects),a.length>0&&a.map((function(t){if(t&&t.evented)if(t.colors&&t.colors.length>0&&t.colors.map((function(t){t=lumise.tools.svg.rgb2hex(t),-1===l.indexOf(t)&&(l.push(t),s.push(t)),-1===o.indexOf(t)&&o.push(t)})),t.stroke&&""!==t.stroke&&"svg"!=t.type&&(e=lumise.tools.svg.rgb2hex(t.stroke),-1===l.indexOf(t.stroke)&&(l.push(t.stroke),s.push(e)),-1===o.indexOf(e)&&o.push(e)),t.fill&&""!==t.fill&&"svg"!=t.type&&(e=lumise.tools.svg.rgb2hex(t.fill),-1===l.indexOf(e)&&(l.push(e),s.push(e)),-1===o.indexOf(e)&&o.push(e)),void 0!==t.template&&0!=t.template.length&&(t.price=0),void 0!==t.resource)switch(t.resource){case"cliparts":c++;break;case"shape":case"svg":d++;break;case"images":r++}else switch(t.type){case"image":m++;break;case"image-fx":case"qrcode":r++;break;case"path":case"svg":d++;break;case"i-text":case"text-fx":case"curvedText":u++;let e="i-text"==t.type?t._textLines:t.text.split(/\r?\n/);null!=e&&e.length>0&&(line[t.id]=e.length,e.length-1>0?character[t.id]=e.map((t=>lumise.fn.letterCount(t))).reduce(((t,e)=>{for(let i in e)e.hasOwnProperty(i)&&(t[i]=(t[i]||0)+e[i]);return t}),{}):character[t.id]=lumise.fn.letterCount(e[0]))}})),void 0!==lumise.data.stages[n].canvas){let e=lumise.data.stages[n],i=e.canvas,a=i.getObjects().filter((function(t){return!0===t.evented&&(void 0===t.imagebox||""===t.imagebox)&&(t.set("active",!0),!0)}));if(1==a.length)sizes=t.extend(!0,{},lumise.get.design_size(e,a[0]));else if(a.length>1){let s=lumise.get.active(),l=new fabric.Group(a,{});i._activeObject=null,i.setActiveGroup(l.setCoords()).renderAll(),sizes=t.extend(!0,{},lumise.get.design_size(e,l)),i.discardActiveObject(),i.discardActiveGroup(),null!=s&&(e.limit_zone.set("visible",!0),i.setActiveObject(s)),i.renderAll()}}i[n]={colors:o,images:r,vector:d,clipart:c,text:u,line:line,character:character,sizes:sizes,upload:m}})),s.length>6?(mo=l.length-6+"+",s=s.splice(s.length-6)):mo="",t("#lumise-count-colors i").html(mo).css({background:"linear-gradient(to right, "+s.join(", ")+")"}).attr({title:"Used "+s.length+" colors"}),lumise.actions.do("updated",i),lumise.get.el("status").hide(),lumise.ops.before_unload=null,lumise.render.stage_nav()}),1e3)},create_canvas:function(e,i){var a=lumise.get.el("main"),s=e.name,l=a.width()-(lumise.ops.window_width<1025?0:20),n=a.height()-(lumise.ops.window_width<1025?-40:10);a.append('<div id="lumise-stage-'+s+'" class="lumise-stage canvas-wrapper" style="height: '+n+'px;">\t\t\t\t\t\t<canvas id="lumise-stage-'+s+'-canvas" width="'+l+'" height="'+n+'"></canvas>\t\t\t\t\t\t<div class="lumise-snap-line-x"></div>\t\t\t\t\t\t<div class="lumise-snap-line-y"></div>\t\t\t\t\t</div>'),e.canvas=new fabric.Canvas("lumise-stage-"+s+"-canvas",{preserveObjectStacking:!0,controlsAboveOverlay:!0}),e.product={},e.stack={data:[],state:!0,index:0};var o=lumise.fn.q("#lumise-stage-"+s);e.lineX=t("#lumise-stage-"+s+" .lumise-snap-line-x"),e.lineY=t("#lumise-stage-"+s+" .lumise-snap-line-y"),[["dragover",function(t){if(t.preventDefault(),lumise.ops.drag_start&&lumise.ops.drag_start.getAttribute("data-ops")){var i=e.limit_zone.visible,a=lumise.stage().canvas.getZoom(),s=lumise.ops.drag_start.distance,l=lumise.stage().canvas.viewportTransform,n=e.limit_zone.left*a+l[4],o=e.limit_zone.top*a+l[5],r=e.limit_zone.width*a,u=e.limit_zone.height*a;t.layerX-s.x+s.w/2>n&&t.layerX-s.x-s.w/2<n+r&&t.layerY-s.y+s.h/2>o&&t.layerY-s.y-s.h/2<o+u?e.limit_zone.set("visible",!0):e.limit_zone.set("visible",!1),i!=e.limit_zone.visible&&e.canvas.renderAll()}}],["dragleave",function(t){t.preventDefault(),!0===e.limit_zone.visible&&(e.limit_zone.set("visible",!1),e.canvas.renderAll())}],["drop",function(i){if(i.preventDefault(),lumise.ops.drag_start&&lumise.ops.drag_start.getAttribute("data-ops")&&!0===e.limit_zone.visible){var a=this.getBoundingClientRect(),s=lumise.ops.drag_start.getAttribute("data-ops");s="lumise-clipart"==lumise.ops.drag_start.getAttribute("class")&&void 0!==lumise.xitems.ops[s]?t.extend(!0,[],lumise.xitems.ops[s]):JSON.parse(lumise.ops.drag_start.getAttribute("data-ops"));var l=lumise.ops.drag_start.distance,n=lumise.stage().canvas.getZoom(),o=lumise.stage().canvas.viewportTransform;"shape"==s[0].type?s[0].url="data:image/svg+xml;base64,"+btoa(lumise.ops.drag_start.innerHTML.trim()):void 0===s[0].url&&(s[0].url=lumise.cliparts.storage[s[0].id]||lumise.cliparts.uploads[s[0].id]),s[0].url&&0===s[0].url.indexOf("dumb-")?lumise.indexed.get(s[0].url.split("dumb-")[1],"dumb",(function(t){null!==t&&(lumise.cliparts.uploads[s[0].id]=t[0],s[0].url=t[0],lumise.fn.preset_import(s,{left:(i.clientX-a.left)/n-l.x-o[4]/n,top:(i.clientY-a.top)/n-l.y-o[5]/n}),delete t)})):lumise.fn.preset_import(s,{left:(i.clientX-a.left)/n-l.x-o[4]/n,top:(i.clientY-a.top)/n-l.y-o[5]/n})}}],["mousewheel",function(t){var e=parseFloat(lumise.get.el("zoom").val());if(t.shiftKey)(e+=.15*t.wheelDelta)<100?e=100:e>250&&(e=250),lumise.get.el("zoom").val(e).trigger("input"),t.preventDefault();else{if(!0!==lumise.stage().canvas.isDrawingMode){var i={x:0,y:void 0!==t.wheelDeltaY?.25*t.wheelDeltaY:.25*t.wheelDelta},a=lumise.stage().canvas,s=a.viewportTransform;return s[5]>0&&i.y>0||s[5]<-(a.height*s[0]-a.height)&&i.y<0||100===e?i.y=0:t.preventDefault(),a.relativePan(i),!0}var l=lumise.get.el("drawing-width"),n=parseFloat(l.val())+.1*t.wheelDelta;l.val(n).trigger("input"),t.preventDefault()}}],["dblclick",function(t){var i=e.canvas.getActiveObject();i&&"i-text"==i.type&&lumise.get.el('text-tools li[data-tool="spacing"]').trigger("click").find("textarea.lumise-edit-text").focus()}]].map((function(t){o.addEventListener(t[0],t[1],!1)})),e.canvas.backgroundColor="#ebeced",e.canvas.on(lumise.objects.events);var r=new fabric.Image(i);e.product=r,lumise.f(!1),r.width>l&&(r.height=r.height*(l/r.width),r.width=l),r.height>n&&(r.width=r.width*(n/r.height),r.height=n);var u=.9*e.canvas.height,c=r.width*(e.canvas.height/r.height)*.9;r.height<=.9*e.canvas.height&&(u=r.height,c=r.width),r.set({left:e.canvas.width/2,top:(e.canvas.height-40)/2,width:c,height:u,selectable:!1,evented:!1});var d=lumise.get.color();e.productColor=new fabric.Rect({width:c-2,height:u-2,left:e.canvas.width/2,top:(e.canvas.height-40)/2,fill:d,selectable:!1,evented:!1,stroke:"transparent"});var m=e.product_width?c/e.product_width:1,p={width:e.edit_zone.width*m,height:e.edit_zone.height*m,top:e.edit_zone.top*m+((e.canvas.height-40)/2-u/2),left:e.edit_zone.left*m},g=void 0!==e.edit_zone.radius&&""!==e.edit_zone.radius?e.edit_zone.radius:0;if(g=g*p.width/100,e.limit_zone=new fabric.Rect({fill:"transparent",left:e.canvas.width/2+p.left-p.width/2,top:u/2+p.top-p.height/2,height:p.height,width:p.width,originX:"left",originY:"top",stroke:lumise.fn.invert(d),strokeDashArray:e.crop_marks_bleed?[0,0]:[5,5],selectable:!1,evented:!1,visible:!1,radius:g,rx:g,ry:g}),e.overlay?(e.canvas.setOverlayImage(r),e.canvas.add(e.productColor,e.limit_zone)):e.canvas.add(e.productColor,r,e.limit_zone),e.crop_marks_bleed&&(e.bleed=new fabric.Rect({fill:"transparent",left:e.canvas.width/2+p.left-p.width/2+5,top:u/2+p.top-p.height/2+5,height:p.height-10,width:p.width-10,originX:"left",originY:"top",stroke:lumise.fn.invert(d),strokeDashArray:[5,5],selectable:!1,evented:!1,visible:!1,radius:g,rx:g,ry:g}),e.crop_marks=new fabric.Rect({fill:"transparent",left:e.canvas.width/2+p.left-p.width/2-5,top:u/2+p.top-p.height/2-5,height:p.height+5,width:p.width+5,originX:"left",originY:"top",stroke:"#ff000038",strokeWidth:5,strokeDashArray:[0,0],selectable:!1,evented:!1,visible:!1,radius:g,rx:g,ry:g}),e.canvas.add(e.bleed,e.crop_marks)),"1"==lumise.data.auto_fit&&t(window).width()>1024){var f=1;u<n&&(f=n/u)*c>l&&(f=l/c),c<l&&f<l/c&&(f=l/c)*u>n&&(f=n/u),98*f>100&&(t("#lumise-zoom").val(98*f).attr({"data-value":parseInt(98*f)+"%"}).parent().attr({"data-value":parseInt(98*f)+"%"}),e.canvas.zoomToPoint(new fabric.Point(l/2,(n-40)/2),.98*f))}lumise.mobile(!0)},stage_nav:function(t,e){var i=lumise.get.el("stage-nav");lumise.ops.window_width;void 0!==t?(i.attr({"data-name":t}),void 0!==e&&i.attr({"data-pos":"right","data-ty":e})):t=i.attr("data-name"),i.find("li.active").removeClass("active"),i.find('li[data-stage="'+t+'"]').addClass("active");var a=i.find("li.active").nextAll("li[data-stage]"),s=i.find("li.active").prevAll("li[data-stage]");a.length>0?i.find('li[data-nav="next"]').removeClass("disbl").find("span").html(a.first().find("p, span").text()):i.find('li[data-nav="next"]').addClass("disbl"),s.length>0?i.find('li[data-nav="prev"]').removeClass("disbl").find("span").html(s.first().find("p, span").text()):i.find('li[data-nav="prev"]').addClass("disbl")},process_variations:function(e,i){null!=lumise.cart.printing.current&&sessionStorage.setItem("LUMISE-PRINT-VALUE",lumise.cart.printing.current),lumise.cart.printing.current=null;let a=lumise.ops.product_data.stages,s={variation:null,name:lumise.ops.product_data.name,sku:lumise.ops.product_data.sku,description:lumise.ops.product_data.description,price:lumise.ops.product_data.price,printings:t.extend(!0,[],lumise.ops.product_data.printings),attributes:t.extend(!0,{},lumise.ops.product_data.attributes),stages:t.extend(!0,{},a.stages?a.stages:a),printing:lumise.cart.printing.current};if(null!==e&&"object"==typeof e&&Object.keys(e).map((function(t){void 0!==e[t]&&"function"==typeof e[t].trim&&(e[t]=e[t].trim()),void 0!==s.attributes[t]?s.attributes[t].value=e[t]:"printing"==t&&(s.printing=e[t])})),"object"!=typeof lumise.data.variations||void 0===lumise.data.variations.variations||0===Object.keys(lumise.data.variations.variations).length)return s;let l=null,n=lumise.data.variations;return n.attrs.map((function(t){s.attributes[t].allows=[],null!=i&&t==i.name&&(s.attributes[t].allows=lumise.ops.product_data.attributes[t].allows,s.attributes[t].value=e[i.name])})),Object.keys(n.variations).map((function(t){let a=!0;Object.keys(n.variations[t].conditions).map((function(o){void 0===s.attributes[o].allows&&(s.attributes[o].allows=[""]),null==i||o==i.name||""!=n.variations[t].conditions[i.name]&&""!=e[i.name]&&n.variations[t].conditions[i.name]!=e[i.name]||-1!==s.attributes[o].allows.indexOf(n.variations[t].conditions[o])?null==i&&(""==n.variations[t].conditions[o]?(s.attributes[o].allows=[""],"object"==typeof s.attributes[o].values&&"object"==typeof s.attributes[o].values.options&&s.attributes[o].values.options.map((function(t){-1===s.attributes[o].allows.indexOf(t.value)&&s.attributes[o].allows.push(t.value)}))):-1===s.attributes[o].allows.indexOf(n.variations[t].conditions[o])&&s.attributes[o].allows.push(n.variations[t].conditions[o])):(""!==n.variations[t].conditions[o]?s.attributes[o].allows.push(n.variations[t].conditions[o]):"object"==typeof s.attributes[o].values&&"object"==typeof s.attributes[o].values.options&&s.attributes[o].values.options.map((function(t){-1===s.attributes[o].allows.indexOf(t.value)&&s.attributes[o].allows.push(t.value)})),e[o]==n.variations[t].conditions[o]&&(s.attributes[o].value=e[o])),""==n.variations[t].conditions[o]||1!=s.attributes[o].allows.length&&s.attributes[o].value!=n.variations[t].conditions[o]||n.variations[t].conditions[o]==e[o]||-1==s.attributes[o].allows.indexOf(n.variations[t].conditions[o])||(e[o]=n.variations[t].conditions[o],l=null),""===n.variations[t].conditions[o]||void 0!==e[o]&&n.variations[t].conditions[o]==e[o]||(a=!1)})),a&&null===l&&(l=n.variations[t],l.id=t)})),null!==l&&(["price","sku","description","minqty","maxqty"].map((function(t){void 0!==l[t]&&null!==l[t]&&""!==l[t]&&(s[t]=l[t])})),!0===l.cfgprinting&&void 0!==l.printings&&null!==l.printings&&""!==l.printings&&(l.printings.map((function(t){t.calculate&&"string"==typeof t.calculate&&(t.calculate=lumise.fn.dejson(t.calculate))})),s.printings=t.extend(!0,[],l.printings),s.printings_cfg=l.printings_cfg,s.cfgprinting=!0),!0===l.cfgstages&&void 0!==l.stages&&null!==l.stages&&""!==l.stages&&(s.stages=t.extend(!0,{},l.stages),s.cfgstages=!0),s.variation=l.id),s},keep_current_designs:function(t){if(!1===lumise.ops.first_completed)return t;var e=lumise.fn.export().stages;return e=lumise.apply_filters("filter_current_design",e,t),Object.keys(e).map((function(t,i){"string"==typeof e[t].data&&(e[t].data=JSON.parse(e[t].data)),void 0!==e[t].data&&void 0!==e[t].data.screenshot&&delete e[t].data.screenshot,lumise.ops.session_designs[i]=e[t].data})),Object.keys(t).map((function(e,i){void 0!==lumise.ops.session_designs[i]&&(t[e].data=lumise.ops.session_designs[i])})),t},preview_designs:function(){lumise.get.el("stage-nav").addClass("stages-expand preview-designs")},print_detail:function(e){var i,a=qkey="",s=[],l=lumise.data.printings.filter((function(t){if(t.id==e)return t}))[0];lumise.tools.lightbox({content:'<div class="lumise_content lumise_wrapper_table">\t\t\t\t\t\t\t\t<h3 class="title">'+lumise.i(67)+" ("+l.title+')</h3>\t\t\t\t\t\t\t\t<div id="lumise-print-detail">\t\t\t\t\t\t\t\t\t<i class="lumise-spinner x3 margin-2"></i>\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t</div>'}),t("#lumise-print-detail").html(""!==l.description?"<div>"+l.description+"</div><br>":""),"string"==typeof l.calculate&&(l.calculate=lumise.fn.dejson(l.calculate));var n='<ul class="lumise_tab_nav '+(l.calculate.multi?"":"hidden")+'">';if(void 0!==l.calculate&&"1"==l.calculate.show_detail){var o=1,r=Object.keys(l.calculate.values)[0];for(var u in l.calculate.values){for(var c in l.calculate.multi&&(n+='<li class=><a href="#" data-side="'+u+'">'+lumise.i("stage")+" "+o+++"</a></li>",a+='<div class="lumise_tab_content" data-lumise-tab="'+u+'">'),a+="<table>\t\t\t\t\t\t\t\t<thead>\t\t\t\t\t\t\t\t\t<tr>\t\t\t\t\t\t\t\t\t\t<th>"+lumise.i(66)+"</th>",l.calculate.values[r][Object.keys(l.calculate.values[r])[0]])l.calculate.cfgpricing&&"ppu"==c||!l.calculate.cfgpricing&&"ppu"!=c&&l.calculate.values[r][Object.keys(l.calculate.values[r])[0]].hasOwnProperty("ppu")||("ppu"==c&&["line","multi","character","size","color","acreage"].includes(l.calculate.type)&&(c=lumise.data.print_types[l.calculate.type].ppu||"Price"),a+="<th>"+decodeURIComponent(c)+"</th>");for(var c in a+="</tr></thead><tbody>",s=Object.keys(l.calculate.values[u]),l.calculate.values[u]){for(var d in i=s.indexOf(c),qkey=void 0!==s[i-1]?c.indexOf(">")>-1?c:parseInt(s[i-1])+1+" - "+c:"0 - "+c,a+="<tr><td>"+qkey+"</td>",l.calculate.values[u][c])l.calculate.cfgpricing&&"ppu"==d||!l.calculate.cfgpricing&&"ppu"!=d&&l.calculate.values[u][c].hasOwnProperty("ppu")||(a+="<td>"+(l.calculate.values[u][c][d],lumise.fn.price(l.calculate.values[u][c][d])+"</td>"));a+="</tr>"}a+="\t\t\t\t\t\t\t</tbody>\t\t\t\t\t\t\t</table>",l.calculate.multi&&(a+="</div>")}n+="</ul>";var m=t("#lumise-print-detail");m.append(n+a),lumise.trigger({el:m,events:{".lumise_tab_nav a:click":"active_tab"},active_tab:function(e){e.preventDefault(),m.find("li").removeClass("active"),m.find("[data-lumise-tab]").removeClass("active"),t(this).closest("li").addClass("active"),m.find("[data-lumise-tab="+t(this).addClass("active").data("side")+"]").addClass("active")}}),m.find(".lumise_tab_nav a:first").trigger("click")}},edit_design:function(t){lumise.tools.save(),lumise.tools.clearAll(),Object.keys(lumise.data.stages).map(((e,i)=>{void 0!==Object.keys(t.stages)[i]&&void 0!==t.stages[Object.keys(t.stages)[i]].data&&(lumise.data.stages[e].data=t.stages[Object.keys(t.stages)[i]].data)})),lumise.active_stage(lumise.render.stage_nav()),lumise.fn.navigation("clear")},load_product:function(t){lumise.f(lumise.i("loading"));var e=null;if(donow=function(e){if(null==e)return lumise.f(!1),void lumise.actions.do("noproduct");"string"==typeof e.variations&&""!==e.variations?e.variations=lumise.fn.dejson(e.variations):e.variations={},"string"==typeof e.attributes&&""!==e.attributes?e.attributes=lumise.fn.dejson(e.attributes):e.attributes={},"string"==typeof e.stages&&(e.stages=lumise.fn.dejson(e.stages)),e.variations.default=t.options,t.printing&&(e.variations.default.printing=t.printing),e.variations.variations&&Object.keys(e.variations.variations).map((function(t){e.variations.variations[t].printings.map((function(t){"string"==typeof t.calculate&&(t.calculate=lumise.fn.dejson(t.calculate))}))})),"object"==typeof t.template&&(lumise.cart.template=t.template.stages,lumise.cart.price.template=t.template.price,e.template=t.template),e.saved_stages=t.stages,lumise.render.product(e,(function(){!0!==lumise.ops.first_completed&&(lumise.actions.do("first-completed"),lumise.ops.first_completed=!0),lumise.fn.update_state()})),"function"==typeof t.callback&&t.callback(e)},void 0!==lumise.ops.products&&"object"==typeof lumise.ops.products.products&&(e=lumise.ops.products.products.filter((function(e){return e.id==t.id}))),null!==e&&e.length>0)return donow(e[0]);lumise.post({action:"load_product",id:t.id},donow)},export:function(e,i,a,s){var l={stages:{},type:lumise.data.type,extra:lumise.cart.price.extra,updated:(new Date).getTime()/1e3,name:lumise.get.el("product header name t").text().trim(),id:lumise.ops.product_data.id,system_version:lumise.data.version},n={screenshot:"",stages:0,name:l.name,updated:l.updated,id:l.id,system_version:lumise.data.version};if(void 0!==a&&(l.created=a,n.created=a),lumise.get.el("stage-nav").find("li[data-stage]").each((function(i){var a=this.getAttribute("data-stage"),s=lumise.data.stages[a];if(s){var o=t('#lumise-stage-nav ul li[data-stage="'+a+'"]').hasClass("active");if(s.canvas){var r=s.canvas.viewportTransform;if(s.canvas.set("viewportTransform",[1,0,0,1,0,0]),l.stages[a]={data:lumise.tools.export(s),edit_zone:s.edit_zone,image:s.image,overlay:s.overlay,updated:l.updated,product_width:void 0!==s.product_width?s.product_width:s.product.width,product_height:void 0!==s.product_height?s.product_height:s.product.height,devicePixelRatio:window.devicePixelRatio},1==o&&"cart"!=e&&(l.stages[a].screenshot=lumise.tools.toImage({stage:s,is_bg:"full",multiplier:1/window.devicePixelRatio}),lumise.data.stages[a].screenshot=l.stages[a].screenshot),null!=sessionStorage.getItem("LUMISE-CHANGE-COLOR")&&"cart"!=e&&(l.stages[a].screenshot=lumise.tools.toImage({stage:s,is_bg:"full",multiplier:1/window.devicePixelRatio}),void 0!==l.stages[a].screenshot&&(lumise.data.stages[a].screenshot=l.stages[a].screenshot),null!=l.stages[a].screenshot&&"undefined"!=l.stages[a].screenshot&&null!=l.stages[a].screenshot||""==l.stages[a].image||(lumise.data.stages[a].screenshot=l.stages[a].image)),"cart"==e){let e=!1;lumise.data.stages[a].canvas.getObjects().map((function(t){!0===t.evented&&(e=!0)})),null!=l.stages[a].data&&0==e&&(delete l.stages[a].data,null!=l.stages[a].image&&(l.stages[a].screenshot=l.stages[a].image,lumise.data.stages[a].screenshot=l.stages[a].screenshot)),1==e&&(l.stages[a].screenshot=t('#lumise-stage-nav ul li[data-stage="'+a+'"] img[data-stage="'+a+'"]').attr("src"),lumise.data.stages[a].screenshot=l.stages[a].screenshot)}s.canvas.set("viewportTransform",r),s.canvas.renderAll()}else l.stages[a]={data:s.data,screenshot:s.screenshot,edit_zone:s.edit_zone,image:s.image,overlay:s.overlay,updated:l.updated};n.stages++,""===n.screenshot&&(n.screenshot=s.screenshot)}})),!0===lumise.ops.first_completed&&""===lumise.fn.url_var("order_print","")&&(!0===e||"designs"==e||"share"==e||"function"==typeof e)){if(l.template={stages:lumise.cart.template,price:lumise.cart.price.template},""!==lumise.fn.url_var("cart",""))lumise.actions.do("cart-changed",l);else{if("share"==e)return l;"function"==typeof e&&e(l,n)}if("designs"==e&&!0!==lumise.ops.importing){var o=null!=i&&"new"!=i?i:(new Date).getTime().toString(36).toUpperCase(),r=lumise.fn.url_var("product_base","");product_cms=lumise.fn.url_var("product_cms",""),l.id=o,n=t.extend(!0,n,{id:o,product:r,product_cms:product_cms,product_cms:product_cms,printing:lumise.cart.printing.current,options:lumise.cart.data.options,template:{stages:lumise.cart.template,price:lumise.cart.price.template}}),void 0!==a&&(n.created=a,l.created=a),void 0!==s&&(n.name=s,l.name=s);try{lumise.indexed.save([n,l],"designs",(function(){delete l,delete n,lumise.actions.do("save-design",o)}))}catch(t){console.log(t)}delete lumise.ops.designs_loading,delete lumise.ops.designs_cursor}delete l,delete n}return l},set_url:function(t,e){var i=window.location.href;if((i=i.split("#")[0].replace(/\,/g,"").split("?"))[1]){var a={};i[1].split("&").map((function(t){t=t.split("="),a[t[0]]=t[1]})),i[1]=[],null===e?delete a[t]:a[t]=e,Object.keys(a).map((function(t){i[1].push(t+"="+a[t])})),i=i[0]+"?"+i[1].join("&")}else null!==e&&(i=i[0]+"?"+t+"="+e);window.history.replaceState({},"",i)},url_var:function(t,e){var i=window.location.href.split("#")[0].split("?"),a=e;return i[1]?(i[1].split("&").map((function(e){(e=e.split("="))[0]==t&&(a=e[1])})),a):e},url_attr:function(){var t=window.location.href.split("#")[0].split("?");return result={},t[1]?(t[1].split("&").map((function(t){-1!=(t=t.split("="))[0].indexOf("attribute_")&&(result[t[0]]=decodeURIComponent(t[1].replace("+","%20")))})),result):result},get_url:function(t,e){return this.url_var(t,e)},attr_label:function(t,e){if("object"==typeof e&&"function"==typeof e.filter){var i=e.filter((function(e){return e.value==t}));return i.length>0&&void 0!==i[0].label?i[0].label:t}return t},date:function(t,e){if(void 0===e||""===e)return"";var i={t:((e="string"==typeof e&&(e.indexOf("-")>-1||e.indexOf(":")>-1)?new Date(e):10===e.toString().split(".")[0].length?new Date(1e3*parseFloat(e)):new Date(parseFloat(e))).getMonth()+1<10?"0":"")+(e.getMonth()+1),h:e.getHours(),m:(e.getMinutes()<10?"0":"")+e.getMinutes(),d:e.getDate(),D:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][e.getDay()],M:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][e.getMonth()],y:e.getYear(),Y:e.getFullYear()};return str="",t.split("").map((function(t){str+=null!=i[t]?i[t]:t})),str},cart_thumbn:function(e){lumise.indexed.get(e,"cart",(function(i){if(null!=i)for(var a=Object.keys(i.stages),s=!1,l=0;l<a.length;l++){var n=i.stages[a[l]],o=180/n.product_height;if(!s&&n.data&&n.data.objects.length>0){n.data.objects.filter((function(t){return!0===t.evented})).length>0&&(s=a[l])}img='<img data-view="layer" style="height: 180px;width: '+n.product_width*o+"px; "+(a[l]!==s?"display:none;":"")+'" src="'+n.screenshot+'" />',t('div[data-design-layer="'+e+'"]').append(img),t('#lumise-cart-items img[data-id="'+e+'"]').length>0&&a[l]==s&&t('#lumise-cart-items img[data-id="'+e+'"]').attr("src",n.screenshot)}}))},get_type:function(t){return t.indexOf("data:image/jpeg")>-1?"jpeg":t.indexOf("data:image/png")>-1?"png":t.indexOf("data:image/svg")>-1?"svg":"jpg"==t.split(".").pop()?"jpeg":"png"==t.split(".").pop()?"png":"svg"==t.split(".").pop()?"svg":"jpeg"},scale_designs:function(t,e){if(0!==t){var i=lumise.stage(),a=i.canvas,s=2*i.limit_zone.strokeWidth,l=a.getObjects().filter((function(t){return!0===t.evented&&(t.set("active",!0),!0)}));if(0===l.length)return!1;t*=i.limit_zone.width/(i.limit_zone.width-s);var n=new fabric.Group(l,{scaleX:t,scaleY:t,originX:"center",originY:"center"}),o=(i.limit_zone.width-s)/2+i.limit_zone.left,r=(i.limit_zone.height-s)/2+i.limit_zone.top,u=o-(o-n.left)*t,c=r-(r-n.top)*t;void 0!==e&&(void 0!==e.left&&(u=s+i.limit_zone.left+n.width/2*t,u+=e.left),void 0!==e.top&&(c=s+i.limit_zone.top+n.height/2*t,c+=e.top)),n.set({left:u,top:c}),a._activeObject=null,a.setActiveGroup(n.setCoords()).renderAll(),lumise.tools.discard()}},font_blob:function(t){"string"==typeof t.font&&-1===t.font.trim().indexOf("data:")&&(-1===t.font.indexOf("http")&&(t.font=lumise.data.upload_url+t.font),lumise.fn.get_blob(t.font,(function(){t.set("font",this.result),lumise.tools.save()})))},clear_url:function(t){["cart","design_print","order_print","design","share"].map((function(e){"object"==typeof t&&-1!==t.indexOf(e)||lumise.fn.set_url(e,null)}))},do_double:function(){var t=lumise.stage().canvas,e=t.getActiveObject(),i=t.getActiveGroup();if(e){if(void 0!==e.imagebox&&""!==e.imagebox&&t.getObjects().filter((function(t){return t.id==e.imagebox})).length>0)return;lumise.tools.discard(),clearTimeout(lumise.ops.preventDbl),lumise.ops.preventDbl=setTimeout((function(e){var a=[];t.getObjects().map((function(t){if(t.id&&-1!==e.indexOf(t.id)){var s=t.toJSON();delete s.toClip,lumise.ops.export_list.map((function(e){s[e]=t[e]})),s.left=1.1*((i?i.left:1)+t.left),s.top=1.1*((i?i.top:1)+t.top),s.thumbn=t.thumbn,s.replace=!1,s.id=parseInt((new Date).getTime()/1e3).toString(36)+"-"+Math.random().toString(36).substr(2),a.push(s)}})),lumise.tools.import({objects:a},(function(){}))}),100,[e.id])}else if(i)return},build_lumi:function(t){var e=lumise.stage(),i=document.createElement("canvas"),a=i.getContext("2d"),s=200,l=t.naturalHeight/t.naturalWidth*200,n=(new Date).getTime();i.height=t.naturalHeight,i.width=t.naturalWidth,a.drawImage(t,0,0,i.width,i.height);var o=i.toDataURL("image/"+(t.src.indexOf(".png")>-1?"png":"jpeg")),r={stages:{lumise:{data:{objects:[null,null,{type:"image",originX:"center",originY:"center",left:102,top:l/2+2,width:180,height:.9*l,fill:"rgb(0,0,0)",stroke:"",strokeWidth:0,strokeLineCap:"butt",strokeLineJoin:"miter",strokeMiterLimit:10,scaleX:1,scaleY:1,angle:0,flipX:!1,flipY:!1,opacity:1,visible:!0,backgroundColor:"",fillRule:"nonzero",globalCompositeOperation:"source-over",skewX:0,skewY:0,crossOrigin:"",alignX:"none",alignY:"none",meetOrSlice:"meet",src:o,evented:!0,selectable:!0,filters:[],resizeFilters:[]}],background:"#ebeced",devicePixelRatio:2,product_color:"#00ff7f",limit_zone:{width:s,height:l,top:0,left:0},edit_zone:{height:l,width:s,left:0,top:0,radius:"0"},product_width:e.product.width,product_height:e.product.height,screenshot:""},screenshot:"",edit_zone:{height:l,width:s,left:0,top:0,radius:"0"},updated:n,padding:[0,0]}},updated:n};return delete o,delete i,delete a,delete t,encodeURIComponent(JSON.stringify(r))},enjson:function(t){return btoa(encodeURIComponent(JSON.stringify(t)))},dejson:function(t){return JSON.parse(decodeURIComponent(atob(t)))},slugify:function(t){var e="ร รกแบกรครขรฃแบฅแบงแบซแบญแบกฤƒแบฏแบฑแบตแบทรจรฉรซรชแบฟแปแป…แบนแป‡รฌรญฤฉรฏรฎแป‹รฒรณรถรดแป‘แป“แป—แป™แปรนรบรผรปลฉแปฅรนรบลฉฤ‘รฑรงรŸรฟล“รฆล•ล›ล„แน•แบƒวตวนแธฟว˜แบลบแธงยท/_,:;",i=new RegExp(e.split("").join("|"),"g");return t.toString().toLowerCase().replace(/\s+/g,"-").replace(i,(function(t){return"aaaaaaaaaaaaaaaaeeeeeeeeeiiiiiiooooooooouuuuuuuuudncsyoarsnpwgnmuxzh------".charAt(e.indexOf(t))})).replace(/&/g,"-and-").replace(/[^\w\-]+/g,"").replace(/\-\-+/g,"-").replace(/^-+/,"").replace(/-+$/,"")},pimage:function(t){for(var e in t)t[e].image||(t[e].image=("raws"==t[e].source?lumise.data.assets+"assets/raws/":lumise.data.upload_url)+t[e].url);return t},price:function(t){let e=this.number_format(parseFloat(1*t),parseInt(lumise.data.number_decimals),lumise.data.decimal_separator,lumise.data.thousand_separator);return"0"===lumise.data.currency_position?e+lumise.data.currency:lumise.data.currency+e},number_format:function(t,e,i,a){t=(t+"").replace(/[^0-9+\-Ee.]/g,"");var s=isFinite(+t)?+t:0,l=isFinite(+e)?Math.abs(e):0,n=void 0===a?",":a,o=void 0===i?".":i,r="";return r=(l?function(t,e){var i=Math.pow(10,e);return""+Math.round(t*i)/i}(s,l):""+Math.round(s)).split("."),r[0].length>3&&(r[0]=r[0].replace(/\B(?=(?:\d{3})+(?!\d))/g,n)),(r[1]||"").length<l&&(r[1]=r[1]||"",r[1]+=new Array(l-r[1].length+1).join("0")),r.join(o)},distance:function(t,e){var i=t.x,a=t.y,s=e.x,l=e.y,n=function(t){return t*(Math.PI/180)},o=n(s-i),r=n(l-a),u=Math.sin(o/2)*Math.sin(o/2)+Math.cos(n(i))*Math.cos(n(s))*Math.sin(r/2)*Math.sin(r/2);return 2*Math.atan2(Math.sqrt(u),Math.sqrt(1-u))},confirm:function(e){var i='<div id="lumise-confirm"'+(void 0!==e.type?' data-type="'+e.type+'"':"")+'>\t\t\t\t\t\t<conf data-label="'+(e.label?e.label:"Confirmation")+'">\t\t\t\t\t\t\t<p>'+e.title+"</p>"+(void 0!==e.primary.text?'<button class="lumise-btn" data-btn="primary">'+e.primary.text+(e.primary.icon?' <i class="'+e.primary.icon+'"></i>':"")+"</button>":"")+(void 0!==e.second.text?'<button class="lumise-btn white" data-btn="second">'+e.second.text+(e.second.icon?' <i class="'+e.second.icon+'"></i>':"")+"</button>":"")+'\t\t\t\t\t\t\t<i class="lumisex-android-close" data-btn="close"></i>\t\t\t\t\t\t</conf>\t\t\t\t\t</div>';t("#lumise-confirm").remove(),t("#LumiseDesign").append(i),lumise.trigger({el:t("#lumise-confirm"),events:{'[data-btn="primary"]':function(i){"function"==typeof e.primary.callback&&!1===e.primary.callback(i)||(null===sessionStorage.getItem("LUMISE-START-NEW")&&sessionStorage.setItem("LUMISE-START-NEW",!0),t("#lumise-confirm").remove()),i.preventDefault()},'[data-btn="second"]':function(i){"function"==typeof e.second.callback&&e.second.callback(i),t("#lumise-confirm").remove(),i.preventDefault()},'[data-btn="close"]':function(e){t("#lumise-confirm").remove(),e.preventDefault()}}})},copy:function(t){var e=document.createElement("input");e.setAttribute("value",t.replace(/\&amp\;/g,"&")),document.body.appendChild(e),e.select(),document.execCommand("copy"),document.body.removeChild(e)},crop:function(e){lumise.tools.lightbox({width:void 0!==e.width?e.width:500,content:'<div class="lumise_crop_dragArea">\t\t\t\t\t\t\t\t<img src="'+e.src+'" class="lumise_crop_img" style="max-height: 520px;" />\t\t\t\t\t\t\t\t<div class="lumise_crop_selArea">\t\t\t\t\t\t\t\t\t<div class="lumise_crop_marqueeHoriz lumise_crop_marqueeNorth"><span></span></div>\t\t\t\t\t\t\t\t\t<div class="lumise_crop_marqueeVert lumise_crop_marqueeEast"><span></span></div>\t\t\t\t\t\t\t\t\t<div class="lumise_crop_marqueeHoriz lumise_crop_marqueeSouth"><span></span></div>\t\t\t\t\t\t\t\t\t<div class="lumise_crop_marqueeVert lumise_crop_marqueeWest"><span></span></div>\t\t\t\t\t\t\t\t\t<div class="lumise_crop_handle lumise_crop_handleN" data-target="n"></div>\t\t\t\t\t\t\t\t\t<div class="lumise_crop_handle lumise_crop_handleNE" data-target="ne"></div>\t\t\t\t\t\t\t\t\t<div class="lumise_crop_handle lumise_crop_handleE" data-target="e"></div>\t\t\t\t\t\t\t\t\t<div class="lumise_crop_handle lumise_crop_handleSE" data-target="se"></div>\t\t\t\t\t\t\t\t\t<div class="lumise_crop_handle lumise_crop_handleS" data-target="s"></div>\t\t\t\t\t\t\t\t\t<div class="lumise_crop_handle lumise_crop_handleSW" data-target="sw"></div>\t\t\t\t\t\t\t\t\t<div class="lumise_crop_handle lumise_crop_handleW" data-target="w"></div>\t\t\t\t\t\t\t\t\t<div class="lumise_crop_handle lumise_crop_handleNW" data-target="nw"></div>\t\t\t\t\t\t\t\t\t<div class="lumise_crop_clickArea" style="background-image: url(\''+e.src+'\');" data-target="visible" title="Enter to apply">\t\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t\t<div class="lumise_crop_info">0 x 0</div>\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t<div class="lumise_crop_clickArea_scan" data-target="darken"></div>\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t<ul class="lumise-crop-btns">\t\t\t\t\t\t\t\t<li data-func="center">\t\t\t\t\t\t\t\t\t<i class="lumisex-resize-arrow-down"></i>\t\t\t\t\t\t\t\t\t<span>'+lumise.i("01")+'</span>\t\t\t\t\t\t\t\t</li>\t\t\t\t\t\t\t\t<li data-func="horizontal">\t\t\t\t\t\t\t\t\t<i class="lumisex-move-horizontal"></i>\t\t\t\t\t\t\t\t\t<span>'+lumise.i("02")+'</span>\t\t\t\t\t\t\t\t</li>\t\t\t\t\t\t\t\t<li data-func="vertical">\t\t\t\t\t\t\t\t\t<i class="lumisex-move-vertical"></i>\t\t\t\t\t\t\t\t\t<span>'+lumise.i("03")+"</span>\t\t\t\t\t\t\t\t</li>\t\t\t\t\t\t\t\t"+(!1!==e.square?'<li data-func="square">\t\t\t\t\t\t\t\t\t<i class="lumisex-android-checkbox-outline-blank"></i>\t\t\t\t\t\t\t\t\t<span>'+lumise.i("04")+"</span>\t\t\t\t\t\t\t\t</li>\t\t\t\t\t\t\t\t":"")+(void 0!==e.dimension?'<li data-func="dimension" class="active">\t\t\t\t\t\t\t\t\t<i class="lumisex-link"></i>\t\t\t\t\t\t\t\t\t<span>'+lumise.i("168")+"</span>\t\t\t\t\t\t\t\t</li>\t\t\t\t\t\t\t\t":"")+'<li data-func="save">\t\t\t\t\t\t\t\t\t'+lumise.i("save")+'\t\t\t\t\t\t\t\t</li>\t\t\t\t\t\t\t\t<li data-func="cancel">\t\t\t\t\t\t\t\t\t'+lumise.i("cancel")+"\t\t\t\t\t\t\t\t</li>\t\t\t\t\t\t\t</ul>"});var i=t("#lumise-lightbox-content div.lumise_crop_dragArea");return i.on("mousedown touchstart",(function(a){"touchstart"==a.type&&(a.clientX=a.originalEvent.touches[0].pageX,a.clientY=a.originalEvent.touches[0].pageY);var s=t(this),l=t("#lumise-lightbox-content"),n=s.find(">img").get(0),o=s.find(".lumise_crop_selArea"),r=s.find(".lumise_crop_info"),u=s.find(".lumise_crop_clickArea"),c=n.width/n.naturalWidth,d=a.target.getAttribute("data-target"),m=l.find('li[data-func="square"]').hasClass("active"),p=l.find('li[data-func="dimension"]').hasClass("active"),g=void 0!==e.dimension?e.dimension:0;m&&0===g&&(g=1),l.find('li[data-func="dimension"]').length>0&&!p&&(g=0),i.attr({"data-dimension":g});var f=o.get(0),h={t:f.offsetTop,l:f.offsetLeft,h:f.offsetHeight,w:f.offsetWidth,ph:s.get(0).offsetHeight,pw:s.get(0).offsetWidth,pl:s.get(0).offsetLeft,pt:s.get(0).offsetTop,clientX:a.clientX,clientY:a.clientY},v=function(){var t=f.offsetTop,e=f.offsetLeft,i=f.offsetHeight,a=f.offsetWidth;u.css({backgroundPosition:-e+"px "+-t+"px"}),r.html(Math.round(a/c)+" x "+Math.round(i/c))};"darken"==d&&(h.l=a.clientX-t("#lumise-lightbox-body").get(0).offsetLeft+h.pw/2,h.t=a.clientY-t("#lumise-lightbox-body").get(0).offsetTop+h.ph/2+23,o.css({left:h.l+"px",top:h.t+"px",width:"0px",height:"0px"})),v(),t(this).on("mousemove touchmove",(function(t){if(!d)return!0;"touchmove"==t.type&&(t.clientX=t.originalEvent.touches[0].pageX,t.clientY=t.originalEvent.touches[0].pageY);var e=h.l+(t.clientX-h.clientX),i=h.t+(t.clientY-h.clientY),a=h.w+(t.clientX-h.clientX),s=h.h+(t.clientY-h.clientY);"visible"==d?(e<0&&(e=0,h.clientX=t.clientX,h.l=e),i<0&&(i=0,h.clientY=t.clientY,h.t=i),e+h.w>h.pw&&(e=h.pw-h.w,h.clientX=t.clientX,h.l=e),i+h.h>h.ph&&(i=h.ph-h.h,h.clientY=t.clientY,h.t=i),o.css({left:e+"px",top:i+"px"}),v()):"darken"==d?(a-=h.w,s-=h.h,a<0&&(a=-a,o.css({left:e+"px"})),s<0&&(s=-s,o.css({top:i+"px"})),0!==g&&(s=a/g),o.css({width:a+"px",height:s+"px"}),v()):(["nw","ne","n"].indexOf(d)>-1&&(o.css({top:i+"px"}),s=h.h-(t.clientY-h.clientY)),["nw","sw","w"].indexOf(d)>-1&&(o.css({left:e+"px"}),a=h.w-(t.clientX-h.clientX)),["w","e","nw","ne","se","sw"].indexOf(d)>-1&&(o.css({width:a+"px"}),0!==g&&o.css({height:a/g+"px"})),["n","s","nw","ne","se","sw"].indexOf(d)>-1&&(o.css({height:s+"px"}),0!==g&&o.css({width:s*g+"px"})),v()),t.preventDefault()}))})),i.find("img.lumise_crop_img").on("load",(function(){var a,s=lumise.get.stage(),l=t("#lumise-lightbox-content");s.active&&(a=s.active.fx&&s.active.fx.crop?{width:this.offsetWidth*s.active.fx.crop.width+"px",height:this.offsetHeight*s.active.fx.crop.height+"px",left:this.offsetWidth*s.active.fx.crop.left+"px",top:this.offsetHeight*s.active.fx.crop.top+"px"}:{width:Math.round(.8*this.offsetWidth)+"px",height:Math.round(.8*this.offsetHeight)+"px",left:Math.round(.1*this.offsetWidth)+"px",top:Math.round(.1*this.offsetHeight)+"px"},void 0===e.width&&this.offsetWidth<500&&l.css({"min-width":this.offsetWidth}),l.find("div.lumise_crop_selArea").css(a),l.find("div.lumise_crop_dragArea").trigger("mousedown touchstart").off("mousemove"),l.find("div.lumise_crop_clickArea").css({backgroundSize:this.offsetWidth+"px "+this.offsetHeight+"px",backgroundPosition:"-"+a.left+" -"+a.top,opacity:1}),i.trigger("mousedown").off("mousemove touchmove"),"function"==typeof e.load&&e.load(this,i))})),t("#lumise-lightbox-content .lumise-crop-btns li[data-func]").on("click",(function(a){var s=this.getAttribute("data-func"),l=i.find(".lumise_crop_selArea");switch(s){case"square":if(t(this).hasClass("active"))return t(this).removeClass("active");t(this).addClass("active"),i.width()>l.height()?l.css({width:l.height()+"px"}):i.height()>l.width()&&l.css({height:l.width()+"px"});break;case"dimension":if(t(this).hasClass("active"))return t(this).removeClass("active");t(this).addClass("active");break;case"center":l.css({top:i.height()/2-l.height()/2+"px",left:i.width()/2-l.width()/2+"px"});break;case"horizontal":l.css({left:i.width()/2-l.width()/2+"px"});break;case"vertical":l.css({top:i.height()/2-l.height()/2+"px"});break;case"save":return"function"==typeof e.save&&e.save(i),t("#lumise-lightbox").remove();case"cancel":return t("#lumise-lightbox").remove()}t("#lumise-lightbox-content div.lumise_crop_dragArea").trigger("mousedown").off("mousemove").off("touchmove")})),lumise.actions.globalMouseUp||lumise.actions.add("globalMouseUp",(function(e){if(document.querySelectorAll("#lumise-lightbox-content .lumise_crop_dragArea").length>0){var i=t("#lumise-lightbox-content div.lumise_crop_dragArea"),a=i.find("div.lumise_crop_selArea"),s=a.width(),l=a.height(),n=a.get(0).offsetLeft,o=a.get(0).offsetTop,r=a.parent().width(),u=a.parent().height();s>r||s+n>r?a.css({width:r-n+"px",height:l*((r-n)/s)+"px"}):(l>u||l+o>u)&&a.css({height:u-o+"px",width:s*((u-o)/l)+"px"}),i.trigger("mousedown").off("mousemove").off("touchmove")}})),i},large_image_helper:function(t){t.obj.set({full_src:t.src});var e=document.createElement("canvas"),i=e.getContext("2d");e.width=t.ew,e.height=t.ew*(t.h/t.w),e.height<t.eh&&(e.height=t.eh,e.width=t.eh*(t.w/t.h)),i.drawImage(t.el,0,0,e.width,e.height);var a=e.toDataURL("image/"+(t.src.indexOf("image/png")>-1||t.src.indexOf(".png")>-1?"png":"jpeg"));delete e,delete i,t.obj.setSrc(a,(function(){t.obj.set({src:a,origin_src:a,width:t.iw,height:t.ih}),t.obj.fxOrigin&&(t.obj.fxOrigin.onload=function(){lumise.fn.refresh_image_fx(t.obj)},t.obj.fxOrigin.src=a),lumise.stage().canvas.renderAll(),"function"==typeof t.callback&&t.callback(a)}))},uncache_large_images:function(e,i){t("#LumiseDesign").attr({"data-processing":"true","data-msg":"Uncache processing.."}),"function"!=typeof e&&(e=function(){});var a=lumise.stage().canvas.getObjects(),s=0,l=function(){var t=a[s++];if(void 0===t)return e();if(void 0!==t.full_src&&""!==t.full_src&&"image"==t.type){var n=t.width,o=t.height,r=t.src;if(!0===i){if(void 0===t.old_src||null===t.old_src)return l();t.setSrc(t.old_src,(function(){t.set({width:n,height:o,old_src:null}),lumise.fn.refresh_image_fx(t,l)}))}else t.setSrc(t.full_src,(function(){t.set({width:n,height:o,old_src:r}),lumise.fn.refresh_image_fx(t,l)}))}else l()};l()},calc_padding:function(t){if(t.data.objects=t.data.objects.filter((function(t){return null!==t})),0===t.data.objects.length)return[0,0];var e={};return t.data.objects.map((t=>{let i=(t.width+2)*t.scaleX,a=(t.height+2)*t.scaleY,s=t.left-i/2,l=t.top-a/2;void 0!==e.width?(s<e.left&&(e.left=s),l<e.top&&(e.top=l),s+i>e.left+e.width&&(e.width=s+i-e.left),l+a>e.top+e.height&&(e.height=l+a-e.top)):e={width:i,height:a,left:s,top:l}})),[(e.left-t.data.limit_zone.left)/t.data.limit_zone.width,(e.top-t.data.limit_zone.top)/t.data.limit_zone.height]},q:function(t,e){return e?document.querySelectorAll(t):document.querySelector(t)},letterCount:function(t){let e=t.split(/\s+/),a={};for(i=0,len=e.length;i<len;i++)e[i].split("").map((t=>a[t]=a[t]+1||1));return a}},render:{colorPresets:function(e,i){var a,s=void 0===e?lumise.data.colors:e,l=(i=void 0===i?lumise.data.enable_colors:i,t(".lumise-color-presets")),n=t("#lumise-stroke-fix-colors");void 0!==s&&s.indexOf(":")>-1&&(s=s.split(":")[1].replace(/\|/g,",")),"0"!=i&&localStorage.getItem(!lumise.cart.printing.current)&&(s=localStorage.getItem("lumise_color_presets").replace(/\|/g,",")),l.html(""),lumise.data.printings.length>0&&null!=lumise.cart.printing.current&&n.html(""),s.split(",").map((function(t){t=t.split("@"),a=t[0],void 0!==t[1]&&""!==t[1]?a=decodeURIComponent(t[1]).replace(/\"/g,""):void 0!==lumise.ops.color_maps[t[0]]&&(a=lumise.ops.color_maps[t[0]]),l.append('<li data-color="'+t[0]+'" title="'+a+'" style="background:'+t[0]+'"></li>'),lumise.data.printings.length&&null!=lumise.cart.printing.current&&n.append('<li data-color="'+t[0]+'" title="'+a+'" style="background:'+t[0]+'"></li>')})),l.find("li").on("click",(function(){var e=lumise.get.el(t(this).closest("ul.lumise-color-presets").data("target"));e.val(this.getAttribute("data-color")),e.get(0).color&&"function"==typeof e.get(0).color.fromString&&e.get(0).color.fromString(this.getAttribute("data-color"))})),lumise.data.printings.length&&null!=lumise.cart.printing.current&&n.find("li").on("click",(function(){var t=lumise.stage().canvas.getActiveObject(),e=this.getAttribute("data-color"),i=lumise.get.el("stroke").get(0);i.color&&"function"==typeof i.color.fromString&&i.color.fromString(e),t.set("stroke",this.getAttribute("data-color")),lumise.stage().canvas.renderAll()}))},refresh_my_designs:function(e){!0!==lumise.ops.designs_loading&&(lumise.get.el("saved-designs").html(""),lumise.ops.designs_loading=!0,delete lumise.ops.designs_cursor,lumise.indexed.list((function(t){lumise.render.my_designs(t),lumise.ops.designs_cursor=t.id,delete t}),"designs",(function(i){lumise.ops.designs_loading=!1,"done"==i&&(t("#lumise-my-designs").off("scroll"),e?t("#lumise-saved-designs").prepend('<li data-view="add" data-func="edit" data-id="new">\t\t\t\t\t\t\t\t\t<b data-func="edit">+</b>\t\t\t\t\t\t\t\t\t<span data-func="edit">'+lumise.i(107)+"</span>\t\t\t\t\t\t\t\t</li>"):0===t("#lumise-saved-designs>li").length&&t("#lumise-saved-designs").append('<p class="empty">No item found!</p>'))})))},my_designs:function(t){if(null!=t){if(lumise.fn.version_compare("1.7.1",t.system_version)>0)return lumise.indexed.delete(t.id,"designs"),void lumise.indexed.delete(t.id,"dumb");t.screenshot="string"==typeof t.screenshot?URL.createObjectURL(lumise.fn.url2blob(t.screenshot)):lumise.data.assets+"assets/images/default_category.jpg",lumise.ops.my_designs[t.id]=t;var e=lumise.get.el("saved-designs"),i="";e.find("p.empty").remove(),i+='<li data-id="'+t.id+'" data-use-text="'+lumise.i(212)+'" data-func="edit" data-save-text="'+lumise.i(213)+'" data-created="'+t.created+'" data-name="'+t.name+'" class="bgcolorafter">\t\t\t\t\t\t\t<div data-view="stages">\t\t\t\t\t\t\t\t<span>\t\t\t\t\t\t\t\t  <img src="'+t.screenshot+'" height="150" />\t\t\t\t\t\t\t\t</span>\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t<span data-view="name" data-id="'+t.id+'" data-func="name" title="'+lumise.i(52)+'" data-enter="blur" contenteditable>'+(t.name?t.name:"Untitled")+'</span>\t\t\t\t\t\t\t<em data-view="date">'+lumise.fn.date("h:m D d M, Y",1e3*t.updated)+'</em>\t\t\t\t\t\t\t<i class="lumisex-android-close" data-func="delete" title="'+lumise.i(51)+'"></i>\t\t\t\t\t\t</li>',e.append(i)}},shapes:function(t){if(0===lumise.get.el("shapes").find("ul.lumise-list-items").length&&lumise.get.el("shapes").html('<p class="gray">'+lumise.i(158)+'</p>\t\t\t\t\t\t<div class="lumise-tab-body">\t\t\t\t\t\t\t<ul class="lumise-list-items"></ul>\t\t\t\t\t\t</div>'),t.length>0){var e=lumise.get.el("shapes").find("ul.lumise-list-items");t.map((function(t){e.append('<li class="lumise-clipart" \t\t\t\t\t\t\tdata-ops="[{\t\t\t\t\t\t\t\t&quot;type&quot;: &quot;shape&quot;,\t\t\t\t\t\t\t\t&quot;resource&quot;: &quot;shape&quot;,\t\t\t\t\t\t\t\t&quot;width&quot;: 60,\t\t\t\t\t\t\t\t &quot;height&quot;: 60 ,\t\t\t\t\t\t\t\t &quot;name&quot;: &quot;'+t.name+'&quot;\t\t\t\t\t\t\t}]">'+t.content+"</li>")})),lumise.cliparts.add_events()}else html+="<h3>No item found</h3>"},fonts:function(e){var i="",a="",s="",l=[];default_fonts="string"==typeof lumise.data.default_fonts?lumise.data.default_fonts:JSON.stringify(lumise.data.default_fonts),e?localStorage.setItem("LUMISE_FONTS",JSON.stringify(e)):(localStorage.getItem("LUMISE_FONTS")||localStorage.setItem("LUMISE_FONTS",default_fonts),e=JSON.parse(localStorage.getItem("LUMISE_FONTS"))),lumise.get.el("text-ext").html("");try{a=lumise.stage().canvas.getActiveObject().fontFamily}catch(t){a=""}if(window.lumise_render_text=function(e,i,a){if(!(t('#lumise-text-ext li[data-family="'+e+'"]').length>0)){var s=e;void 0!==a&&void 0!==a.name_desc&&""!=a.name_desc&&null!=a.name_desc&&(s=a.name_desc);var l=t('<span data-family="'+e+'" draggable="true" data-act="add" data-ops=\'[{"type":"i-text", "fontSize": "30", "fontFamily": "'+e+'", '+(void 0!==i?'"font": "'+i.replace("\\","/")+'",':"")+'"textAlign": "center", "text": "'+s+'"}]\'>\t\t\t\t\t\t\t<svg width="10" height="40" xmlns="http://www.w3.org/2000/svg" \t\t\t\t\t\t\t\txmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="none">\t\t\t\t\t\t\t\t<g>\t\t\t\t\t\t\t\t\t<text fill="#FFFFFF" stroke="none" stroke-width="0" stroke-linecap="round" \t\t\t\t\t\t\t\t\t\tstroke-linejoin="round" x="0" y="30" text-anchor="middle" \t\t\t\t\t\t\t\t\t\t\tfont-size="30px" font-family="'+e+'">\t\t\t\t\t\t\t\t\t\t<tspan x="50%" dy="0">'+s+"</tspan>\t\t\t\t\t\t\t\t\t</text>\t\t\t\t\t\t\t\t</g>\t\t\t\t\t\t\t</svg>\t\t\t\t\t\t</span>");t("#lumise-text-ext").append(l),lumise.design.event_add_text(l.get(0)),lumise.fn.getTextWidth({family:e,size:30,text:e},(function(t){l.find("svg").attr({width:t.width+18})}))}},lumise_render_text("Arial"),null!=lumise.cart.printing.current&&lumise.data.printings.length>0){let t=lumise.get.ptcfg_type("font"),i=JSON.parse(default_fonts);t&&null!=t.font_available&&"string"==typeof t.font_available&&(l=t.font_available.split(","));let a=Object.keys(e).filter((t=>!Object.keys(i).includes(t)));a.length>0&&(a=a.map((t=>decodeURIComponent(t))),l=l.concat(a))}lumise.data.fonts&&lumise.data.fonts.length>0&&lumise.data.fonts.map((function(t){if(!(t.name.indexOf('"')>-1)){var e=t.name;void 0!==t&&void 0!==t.name_desc&&""!=t.name_desc&&null!=t.name_desc&&(e=t.name_desc),l.length>0&&-1===l.indexOf(e)||(s+="<font"+(a==t.name?' class="selected"':"")+' data-family="'+t.name+'" \t\t\t\t\t\t\t\tstyle="font-family: \''+t.name+'\'" \t\t\t\t\t\t\t\tdata-source="'+t.upload+'">'+e+"</font>",lumise.tools.load_font(t.name,"url("+lumise.data.upload_url+t.upload.replace(/\\/g,"/")+")",(function(e){lumise_render_text(e,t.upload,t)})))}})),Object.keys(e).map((function(t){l.length>0&&-1===l.indexOf(decodeURIComponent(t))||(i=decodeURIComponent(t).replace(/ /g,"+")+":"+decodeURIComponent(e[t][1]),s+="<link onload=\"lumise_render_text('"+decodeURIComponent(t)+"', '"+encodeURIComponent(JSON.stringify(e[t]))+'\')" rel="stylesheet" href="//fonts.googleapis.com/css?family='+i+'" \t\t\t\t\t\t\ttype="text/css" media="all" />\t\t\t\t\t\t\t<font'+(a==decodeURIComponent(t)?' class="selected"':"")+' data-family="'+decodeURIComponent(t)+'" \t\t\t\t\t\t\t\tstyle="font-family: \''+decodeURIComponent(t)+"'\">"+decodeURIComponent(t)+"</font>")})),lumise.get.el("fonts").html(s)},stage_nav:function(){var e=lumise.data.stages,i=[],a=1,s="",l="",n=void 0===e.colors?Object.keys(e).length:Object.keys(e).length-1;return"object"==typeof e&&(Object.keys(e).map((function(t){if("colors"!=t){""===s&&(s=t),!1!==e[t].overlay&&(e[t].overlay=!0),-1==lumise.fn.url_var("product_base","").indexOf("variable:")&&(e[t].color=lumise.data._color);var o=lumise.get.color();if(-1!=lumise.fn.url_var("product_base","").indexOf("variable:")&&null!=e[t].color&&o!=e[t].color&&(o=e[t].color),void 0!==e[t].url&&""!==e[t].url||void 0!==e[t].image){e[t].image||(e[t].image=("raws"==e[t].source?lumise.data.assets+"assets/raws/":lumise.data.upload_url)+e[t].url),null!==sessionStorage.getItem("lumise_change_product")&&void 0!==e[t].data&&void 0!==e[t].data.screenshot&&""!==e[t].data.screenshot&&(e[t].data.screenshot="",o=""),void 0===e[t].screenshot&&(void 0!==e[t].data&&void 0!==e[t].data.screenshot&&""!==e[t].data.screenshot?e[t].screenshot=e[t].data.screenshot:void 0!==e[t].template&&void 0!==e[t].template.screenshot?e[t].screenshot=e[t].template.screenshot:e[t].image&&(e[t].screenshot=e[t].image)),l="",l=void 0!==e[t].screenshot&&""!==e[t].screenshot?e[t].screenshot:void 0!==e[t].thumbnail&&""!==e[t].thumbnail?lumise.data.upload_url+e[t].thumbnail:e[t].image,label=void 0!==e[t].label&&""!==e[t].label?e[t].label:lumise.i("_"+t)?lumise.i("_"+t):"";var r=0;void 0!==e[t].addon&&void 0!==e[t].addon.additional_price&&null!=e[t].addon.additional_price&&(r=e[t].addon.additional_price),i.push('<li data-additional_price="'+r+'" data-stage="'+t+'" data-tip="true"'+(t===lumise.current_stage?' class="active"':"")+'>\t\t\t\t\t\t\t\t\t\t<img style="background:'+o+'" data-stage="'+t+'" src="'+l+'" />\t\t\t\t\t\t\t\t\t\t<span data-stage="'+t+'">'+(""!==label?label+" ("+a+"/"+n+")":a+"/"+n)+"</span>\t\t\t\t\t\t\t\t\t</li>"),a++}}})),null!==sessionStorage.getItem("lumise_change_product")&&sessionStorage.removeItem("lumise_change_product"),i.length>1&&(i.unshift('<li data-nav="prev" data-tip="true"><i data-svg="prev"></i><span></span></li>'),i.push('<li data-nav="next" data-tip="true"><i data-svg="next"></i><span></span></li>')),i=lumise.apply_filters("stage_nav",i)),lumise.get.el("stage-nav").find(">ul").html(i.join("")).css({display:i.length>1?"inline-block":"none"}),t("#lumise-stage-nav ul").sortable({items:">li[data-stage]",start:function(e,i){i.item.closest("#lumise-stage-nav").hasClass("stages-expand")&&!i.item.closest("#lumise-stage-nav").hasClass("preview-designs")||setTimeout((function(t){try{t.sortable("cancel")}catch(t){}}),0,t(this))},beforeStop:function(){var e={};t("#lumise-stage-nav ul li[data-stage]").each((function(){e[this.getAttribute("data-stage")]=lumise.data.stages[this.getAttribute("data-stage")]})),lumise.data.stages=e,lumise.render.stage_nav()}}),lumise.fn.stage_nav(),lumise.actions.do("render_stage_nav"),s},product:function(e,i,a){e=lumise.apply_filters("product",e);var s,l=!1;if("string"==typeof(e=t.extend(!0,{},e)).stages&&""!=e.stages&&1==/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e.stages))try{s=JSON.parse(decodeURIComponent(atob(e.stages))),l=!0}catch(t){console.log(t)}if(Object.keys(e.stages).length>0&&Object.values(e.stages)[0].color?lumise.data.color=Object.values(e.stages)[0].color:delete lumise.data.color,1==l&&(lumise.data.color=Object.values(s)[0].color),void 0!==e.variations&&""!==e.variations&&"string"==typeof e.variations&&(e.variations=lumise.fn.dejson(e.variations)),void 0!==e.attributes&&""!==e.attributes&&"string"==typeof e.attributes&&(e.attributes=lumise.fn.dejson(e.attributes)),void 0!==e.stages&&""!==e.stages&&"string"==typeof e.stages&&(e.stages=lumise.fn.dejson(e.stages)),delete e.stages.options,lumise.ops.product_data=e,lumise.data.printings_cfg=e.printings_cfg,0===Object.keys(e.stages).length)return lumise.f(!1),t("#lumise-main").html('<div id="lumise-no-product" style="display: block;">\t\t\t\t\t\t\t<p>'+lumise.i(208)+'</p>\t\t\t\t\t\t\t<button class="lumise-btn" id="lumise-select-product">\t\t\t\t\t\t\t\t<i class="lumisex-android-apps"></i> \t\t\t\t\t\t\t\t'+lumise.i(87)+"\t\t\t\t\t\t\t</button>\t\t\t\t\t\t</div>"),t("#lumise-select-product").on("click",lumise.render.products_list),lumise.fn.notice(lumise.i(209),"error",5e3);var n=void 0!==e.variations?e.variations:{};lumise.data.variations=n;var o=lumise.fn.process_variations(n.default,null);if(lumise.data.variation=o.variation,lumise.data.cfgstages=o.cfgstages,"object"==typeof e.templates&&Object.keys(e.templates).length>0&&Object.keys(e.templates).map((function(t){void 0!==e.stages[t]&&(e.stages[t].template=e.templates[t])})),lumise.data.product=e.id,void 0===e.saved_stages)lumise.data.stages=lumise.fn.keep_current_designs(o.stages);else{var r={};Object.keys(e.saved_stages).map((function(t){void 0!==o.stages[t]?(r[t]=o.stages[t],r[t].data=e.saved_stages[t].data):r[t]=e.saved_stages[t]})),lumise.data.stages=r}lumise.data.cfgprinting=o.cfgprinting,o.cfgprinting&&(lumise.data.printings_cfg=o.printings_cfg),lumise.data.printings=o.printings,lumise.fn.set_url("product_base",e.id),null!==e.product&&void 0!==e.product&&0!==e.product&&lumise.fn.set_url("product_cms",e.product),lumise.get.el("main").find(".lumise-stage,#lumise-no-product").remove(),lumise.get.el("navigations").find("ul[data-block] li.active").removeClass("active"),lumise.active_stage(lumise.render.stage_nav(),(function(){var e=lumise.stage();if(void 0!==lumise.data.share)lumise.f("Loading share data.."),t.get(lumise.data.upload_url+"shares/"+lumise.data.share+".lumi",(function(e){try{e=JSON.parse(e)}catch(t){e={}}void 0!==e.stages&&(lumise.tools.imports(e,(function(){!0!==lumise.ops.first_completed&&(lumise.actions.do("first-completed"),lumise.ops.first_completed=!0);var e=lumise.fn.export("cart"),i=0,a=(lumise.current_stage,Object.keys(lumise.data.stages)[i]),s=function(l){i++,lumise.active_stage(l,(function(){t("#LumiseDesign").attr({"data-processing":"true","data-msg":lumise.i("render")}),lumise.get.el("zoom").val("100").trigger("input"),lumise.fn.uncache_large_images((function(){let n=lumise.get.size();lumise.f(!1),lumise.fn.download_design({type:"png",orien:n.o,height:n.h,width:n.w,include_base:!1,with_base:lumise.data.stages[l].include_base,callback:function(n){if(lumise.fn.uncache_large_images(null,!0),e.stages[l].print_file=n,void 0===Object.keys(lumise.data.stages)[i])return lumise.active_stage(a),lumise.data.stages[a].screenshot=lumise.tools.toImage({stage:lumise.data.stages[a],is_bg:"full",multiplier:1/window.devicePixelRatio}),t('#lumise-stage-nav img[data-stage="'+a+'"]').attr({src:lumise.data.stages[a].screenshot}),lumise.fn.set_url("share",null),lumise.f(!1);s(Object.keys(lumise.data.stages)[i])}})}))}))};void 0!==Object.keys(lumise.data.stages)[i]&&Object.keys(lumise.data.stages).length-1>0&&s(a),t("#lumise-general-status").html('<span>\t\t\t\t\t\t\t\t\t\t\t<i class="lumisex-android-checkmark-circle"></i> '+lumise.i(136)+"</span>")})),delete e)})).done((function(){})).fail((function(t,e,i){lumise.fn.notice("SHARE LINK ERROR: "+t.status,"error",5e3)})).always((function(){lumise.f(!1)})),delete lumise.data.share;else{if(""!==lumise.fn.url_var("cart","")&&null!==sessionStorage.getItem("LUMISE-START-NEW")&&!0===sessionStorage.getItem("LUMISE-START-NEW")){for(var a in sessionStorage.setItem("LUMISE-START-NEW",!1),lumise.f("Processing.."),lumise.indexed.get(lumise.fn.url_var("cart"),"cart",(function(t){if(void 0===t)return lumise.f(!1);void 0!==t.template&&(lumise.cart.template=t.template.stages,lumise.cart.price.template=t.template.price),void 0!==t.extra&&(lumise.cart.price.extra=t.extra),lumise.tools.imports(t,(function(){!0!==lumise.ops.first_completed&&(lumise.actions.do("first-completed"),lumise.ops.first_completed=!0)}))})),lumise.data.stages)void 0!==lumise.data.stages[a].template&&(lumise.data.stages[a].template.noload=!0);return}""!==lumise.fn.url_var("cart","")&&lumise.indexed.get(lumise.fn.url_var("cart"),"cart",(function(e){var i=lumise.fn.export("cart"),a=0,s=(lumise.current_stage,Object.keys(lumise.data.stages)[a]),l=function(e){a++,lumise.active_stage(e,(function(){t("#LumiseDesign").attr({"data-processing":"true","data-msg":lumise.i("render")}),lumise.get.el("zoom").val("100").trigger("input");let n=lumise.get.size();lumise.f(!1),lumise.fn.download_design({type:"png",orien:n.o,height:n.h,width:n.w,include_base:!1,with_base:lumise.data.stages[e].include_base,callback:function(n){if(lumise.fn.uncache_large_images(null,!0),i.stages[e].print_file=n,lumise.actions.do("load_object_stages"),void 0===Object.keys(lumise.data.stages)[a])return lumise.active_stage(Object.keys(lumise.data.stages)[0]),lumise.data.stages[s].screenshot=lumise.tools.toImage({stage:lumise.data.stages[s],is_bg:"full",multiplier:1/window.devicePixelRatio}),t('#lumise-stage-nav img[data-stage="'+s+'"]').attr({src:lumise.data.stages[s].screenshot}),lumise.stack.save(),lumise.f(!1);l(Object.keys(lumise.data.stages)[a])}})}))};void 0!==Object.keys(lumise.data.stages)[a]&&Object.keys(lumise.data.stages).length-1>0&&l(s),t("#lumise-general-status").html('<span>\t\t\t\t\t\t\t\t\t<i class="lumisex-android-checkmark-circle"></i> '+lumise.i(136)+"</span>")}))}setTimeout(lumise.fn.product_color,1,lumise.get.color()),e.screenshot=lumise.tools.toImage({stage:e,is_bg:"full",multiplier:1/window.devicePixelRatio}),t('#lumise-stage-nav img[data-stage="'+lumise.current_stage+'"]').attr({src:e.screenshot}),"function"==typeof i&&i()})),o.ext_attribute_name=e.ext_attribute_name,o.ext_list_variation=e.ext_list_variation,o.ext_attributes=e.ext_attributes,o.ext_attributes_value=e.ext_attributes_value,o.ext_attributes_callback=e.ext_attributes_callback,lumise.render.product_attrs(o),lumise.actions.do("product",o)},product_attrs:function(e){var i=lumise.get.el("product");if(void 0===lumise.ops.doctitle&&(lumise.ops.doctitle=document.title),document.title=e.name+" | "+lumise.ops.doctitle,i.find("nav.lumise-add-cart-action").show(),i.find("header").show().find(">name").html("<t>"+(e.name?e.name:"")+" &nbsp; </t>"),i.find("header>price").html(lumise.fn.price(e.price)),i.find("header>sku").html(e.sku?"SKU: "+e.sku:""),void 0!==e.description&&""!==e.description){var a=!1,s=e.description.substr(0,100);i.find("desc").data({desc:e.description}),e.description.length>100&&(a=!0),i.find("span").show().html(s),i.find("desc").show().find('a[href="#more"]').css({display:a?"inline-block":"none"}).off("click").on("click",(function(e){t(this).toggleClass("open"),t(this).hasClass("open")?(t(this).html(lumise.i(137)),t(this).closest("desc").find("span").html(t(this).closest("desc").data("desc"))):(t(this).html(lumise.i(69)),t(this).closest("desc").find("span").html(t(this).closest("desc").data("desc").substr(0,100))),e.preventDefault()}))}else i.find("desc").hide();lumise.get.el("cart-options").show(),lumise.render.cart_change(),lumise.cart.render(e)},cart_change:function(){var t,e,i,a,s=lumise.fn.url_var("cart",""),l=lumise.get.el("cart-action"),n=localStorage.getItem("LUMISE-CART-DATA"),o=lumise.get.el("cart-items").find('ul[data-view="items"]'),r=0;l.length>0&&(""===s?l.attr({"data-action":"add-cart"}).find(">span").html(l.data("add")):l.attr({"data-action":"update-cart"}).find(">span").html(l.data("update"))),o.html("");try{n=JSON.parse(n),t=Object.keys(n)}catch(e){n={},t=[]}Object.keys(n).length>0?(Object.keys(n).map((function(t){if(e=n[t],lumise.fn.version_compare("1.7.1",e.system_version)<=0){i="#fefdfe",a=e.options.quantity?e.options.quantity:1,"object"==typeof e.attributes&&"object"==typeof e.options&&Object.keys(e.attributes).length>0&&Object.keys(e.attributes).map((function(t){"product_color"==e.attributes[t].type&&void 0!==e.options[t]&&(i=e.options[t])})),"object"==typeof e.attributes&&"object"==typeof e.options&&Object.keys(e.attributes).length>0&&Object.keys(e.attributes).map((function(t){"quantity"==e.attributes[t].type&&void 0!==e.options[t]&&(a=e.options[t])}));try{if(isNaN(a)){var l=0;Object.values(JSON.parse(a)).map((function(t){l+=parseInt(t)})),a=l}}catch(t){}o.append('<li data-func="edit" data-id="'+t+'">\t\t\t\t\t\t\t\t<span data-view="thumbn">\t\t\t\t\t\t\t\t\t<img data-func="edit" title="'+lumise.i("edit")+'" data-id="'+t+'" style="background: '+i+'" src="'+e.screenshot+'" />\t\t\t\t\t\t\t\t</span>\t\t\t\t\t\t\t\t<span data-view="info">\t\t\t\t\t\t\t\t\t'+(t!=s?'<name>\t\t\t\t\t\t\t\t\t\t\t<a href="#edit" data-func="edit" title="'+lumise.i("edit")+'" data-id="'+t+'">'+e.name+"\t\t\t\t\t\t\t\t\t\t\t</a>\t\t\t\t\t\t\t\t\t\t</name><quantity>x "+a+"</quantity>":"<name>"+e.name+"</name> <quantity>x "+a+"</quantity>")+"<price>"+lumise.fn.price(e.price_total)+'</price> \t\t\t\t\t\t\t\t\t<a href="#remove" title="'+lumise.i("remove")+'">\t\t\t\t\t\t\t\t\t\t<i class="lumisex-android-close" data-func="remove" data-id="'+t+'"></i>\t\t\t\t\t\t\t\t\t</a>\t\t\t\t\t\t\t\t\t'+(t==s?"<small>"+lumise.i(72)+"</small> ":"")+"\t\t\t\t\t\t\t\t</span>\t\t\t\t\t\t\t</li>"),r+=parseFloat(e.price_total)}})),o.append("<li><strong>"+lumise.i(74)+": "+lumise.fn.price(r.toFixed(2))+"</strong></li>"),o.attr({"data-empty":"false"})):o.attr({"data-empty":"true"}).html('<p><i class="lumisex-bag"></i> '+lumise.i(71)+"</p>"),lumise.get.el("addToCart").find("small").remove(),lumise.get.el("addToCart").append(" <small>"+t.length+"</small>"),lumise.actions.do("cart-change")},cart_details:function(e){var i=JSON.parse(localStorage.getItem("LUMISE-CART-DATA")||"{}"),a=1,s=0,l=lumise.fn.url_var("cart"),n=['<table class="lumise-table sty2"><thead>',"<tr>","<th> &nbsp; # &nbsp; </th>","<th>"+lumise.i(76)+"</th>",'<th data-align="left"><div style="width: 240px;">'+lumise.i(77)+"</div></th>",'<th data-align="center">'+lumise.i(104)+"</th>",'<th data-align="center">'+lumise.i(79)+"</th>",'<th data-align="center"><div style="width: 120px;">'+lumise.i(78)+"</div></th>","</tr>","</thead>","<tbody>"];Object.keys(i).length>0?(Object.keys(i).map((function(t){if(lumise.fn.version_compare("1.7.1",i[t].system_version)>0)return delete i[t],localStorage.setItem("LUMISE-CART-DATA",JSON.stringify(i)),void lumise.indexed.delete(t,"cart");var e,o=i[t],r="";Object.keys(o.options).map((function(t){if(""!==(e=o.options[t])){if("product_color"==o.attributes[t].type||"color"==o.attributes[t].type){var i=lumise.fn.attr_label(e,o.attributes[t].values);e='<span title="'+i+'" style="background: '+e+";padding: 3px 5px;border-radius: 2px;color:"+lumise.fn.invert(e)+'">'+i+"</span>"}else if("quantity"==o.attributes[t].type){if(""!==e&&isNaN(parseInt(e)))try{e=JSON.parse(e),Object.keys(e).map((function(i){var a=lumise.fn.attr_label(i,o.attributes[t].values.multiple_options);0!=e[i]?e[i]=a+": "+e[i]:delete e[i]})),e=Object.values(e).join(", ")}catch(t){}}else"object"==typeof o.attributes[t].values&&(e=lumise.fn.attr_label(e,o.attributes[t].values));r+="<strong>"+o.attributes[t].name+":</strong> "+e+"<br />"}})),n=n.concat(["<tr>","<td>"+a+++"</td>",'<td class="product-thumb">','<div data-design-layer="'+t+'"></div>','<span class="product-title"  align="center">'+o.name+"</span>","</td>","<td>"+r+"</td>",'<td data-align="center">'+lumise.fn.price(o.price_total)+"</td>",'<td data-align="center">'+lumise.fn.date("h:m D d M, Y",o.updated)+"</td>",'<td data-align="center">',l!=t?'<a href="#edit" data-id="'+t+'">'+lumise.i("edit")+"</a>":lumise.i(72),'&nbsp; | &nbsp;<a href="#remove" data-id="'+t+'">'+lumise.i("remove")+"</a>","</td>"]),setTimeout(lumise.fn.cart_thumbn,100,t),s+=parseFloat(o.price_total)})),n=n.concat(["</tbody>","<tfoot>","<tr>",'<td colspan="3" class="lumise-total">'+lumise.i(74)+": "+lumise.fn.price(s.toFixed(2)),"</td>",'<td colspan="3" data-align="right">','<button class="lumise-btn-primary">'+lumise.i(75)+' <i class="lumisex-android-arrow-forward"></i></button>',"</td>","</tr>","</tfoot>","</table>"])):n=n.concat(["<tr>",'<td colspan="6"><h3>'+lumise.i(42)+"</h3></td>","</tr>","</table>"]),lumise.tools.lightbox({content:'<div id="lumise-cart-details" class="lumise_content lumise_wrapper_table">\t\t\t\t\t\t\t\t<h3 class="title">'+lumise.i(73)+"</h3>\t\t\t\t\t\t\t\t<div>"+n.join("")+"</div>\t\t\t\t\t\t\t</div>"}),lumise.trigger({el:t("#lumise-cart-details"),events:{'a[href="#edit"]':"edit_item",'a[href="#remove"]':"remove_item","tfoot button.lumise-btn-primary":lumise.cart.do_checkout},edit_item:function(t){lumise.cart.edit_item(this.getAttribute("data-id"),t),t.preventDefault()},remove_item:function(e){if(confirm(lumise.i("sure"))){var i=this.getAttribute("data-id"),a=t("#lumise-cart-details").find("tfoot tr:first td"),s=0;lumise.fn.url_var("cart",null)==i&&lumise.fn.set_url("cart",null);var l=JSON.parse(localStorage.getItem("LUMISE-CART-DATA"));delete l[i],localStorage.setItem("LUMISE-CART-DATA",JSON.stringify(l)),lumise.render.cart_change(),t(this).closest("tr").remove(),Object.keys(l).map((function(t){void 0!==l[t].price_total&&(s+=parseFloat(l[t].price_total))})),t(a[0]).html(lumise.i(74)+": "+lumise.fn.price(s.toFixed(2))),0==s&&(t(a[1]).html(""),t("#lumise-cart-details").find("tfoot .lumise-btn-primary").hide())}e.preventDefault()}}),e.preventDefault()},categories:function(e,i){var a=t('button[data-func="show-categories"][data-type="'+e+'"]');void 0!==i?(lumise.ops.categories[e]=i,0!==i.category&&""!==i.category&&""!==i.category_name?a.find("span").html(i.category_name):a.find("span").html(lumise.i(57))):i=lumise.ops.categories[e];var s=i.categories,l=i.category,n=lumise.get.el("x-thumbn-preview"),o='<div class="lumise-categories-wrp" data-type="'+e+'">';if(void 0===s||0===s.length)n.find(">div").html('<div class="lumise-categories-wrp" data-type="'+e+'"><br><br>'+lumise.i(42)+"</div>");else{i.category_parents.length>0&&(1===i.category_parents.length&&""===i.category_parents[0].id?o+="<nav><span>"+i.category_parents[0].name+"</span></nav>":(o+='<nav><a href="#category-all" data-act="item" data-id="">'+lumise.i(57)+"</a>",i.category_parents.map((function(t){t.id!=i.category?o+='<i class="lumisex-ios-arrow-forward"></i><a href="#category-'+t.id+'" data-act="item" data-id="'+t.id+'">'+t.name+"</a>":o+='<i class="lumisex-ios-arrow-forward"></i><span>'+t.name+"</span>"})),o+="</nav>")),o+='<ul class="smooth">',s.map((function(t){var e=t.thumbnail;null==e||""===e?e=lumise.data.assets+"assets/images/default_category.jpg":0!==e.indexOf("http")&&(e=lumise.data.upload_url+"thumbnails/"+e),o+='<li data-act="item" data-id="'+t.id+'"'+(l==t.id?' class="active"':"")+">\t\t\t\t\t\t\t\t\t<span style=\"background-image:url('"+e+"');\"></span>\t\t\t\t\t\t\t\t\t<p>"+t.name+"</p>\t\t\t\t\t\t\t\t </li>"})),o+="</ul></div>";var r=n.find(".lumise-categories-wrp ul").scrollTop();n.find(">div").html(o),n.find(".lumise-categories-wrp ul").scrollTop(r),lumise.trigger({el:n,events:{"div.lumise-categories-wrp":"click"},click:function(e){var i=e.target.getAttribute("data-act")?t(e.target):t(e.target).closest("[data-act]"),a=this.getAttribute("data-type"),s=i.data("act");if(s){if("item"===s)t(".lumise-categories-wrp").attr({"data-process":"true"}),lumise.ops[a+"_category"]=i.data("id"),lumise.ops[a+"_index"]=0,lumise.ops[a+"_loading"]=!1,lumise.get.el(a+"-list").find("ul").html(""),lumise.get.el(a+"-list").trigger("scroll");e.preventDefault()}}})}},products_list:function(t){if(t||(t=lumise.i(87)),lumise.tools.lightbox({content:'<div id="lumise-change-products-wrp" data-btn="'+t+'" >\t\t\t\t\t\t\t\t<center><i class="lumise-spinner x3"></i></center>\t\t\t\t\t\t\t  </div>'}),void 0!==lumise.ops.products)return lumise.response.list_products(lumise.ops.products);lumise.post({action:"list_products",s:"",category:"",product_cms:null,index:0})},cart_confirm:function(){var e=t('<div id="lumise-update-cart-confirm" data-func="close" style="opacity:0">\t\t\t\t\t\t\t<div>\t\t\t\t\t\t\t\t<img src="'+lumise.data.assets+'assets/images/done.svg" alt="" />\t\t\t\t\t\t\t\t<em>'+lumise.i(172)+'!</em>\t\t\t\t\t\t\t\t<ul>\t\t\t\t\t\t\t\t\t<li>\t\t\t\t\t\t\t\t\t\t<a href="#details" data-func="details">'+lumise.i(173)+'</a>\t\t\t\t\t\t\t\t\t</li>\t\t\t\t\t\t\t\t\t<li>\t\t\t\t\t\t\t\t\t\t<a href="#new" data-func="new">'+lumise.i(174)+'</a>\t\t\t\t\t\t\t\t\t</li>\t\t\t\t\t\t\t\t</ul>\t\t\t\t\t\t\t\t<br>\t\t\t\t\t\t\t\t<button class="lumise-btn-primary" data-func="checkout">\t\t\t\t\t\t\t\t\t'+lumise.i(175)+'\t\t\t\t\t\t\t\t\t<i class="lumisex-android-arrow-forward" data-func="checkout"></i>\t\t\t\t\t\t\t\t</button>\t\t\t\t\t\t\t\t<i class="lumisex-android-close close" title="'+lumise.i(176)+'" data-func="close"></i>\t\t\t\t\t\t\t</div>\t\t\t\t\t\t</div>');t("#LumiseDesign").append(e),e.animate({opacity:1},150).on("click",(function(e){e.preventDefault();t(this);var i=e.target.getAttribute("data-func");switch(lumise.get.el("proceed").removeClass("active"),i){case"close":t(this).fadeOut(150,(function(){t(this).remove()}));break;case"details":lumise.render.cart_details(e);break;case"new":lumise.fn.set_url("cart",null),lumise.get.el("general-status").html(""),lumise.render.products_list();break;case"checkout":lumise.cart.do_checkout(e)}i&&t(this).fadeOut(150,(function(){t(this).remove()}))}))},layouts:function(e,i){if(e=t.extend(!0,{nonce:"LUMISE-SECURITY:"+lumise.data.nonce,ajax:"frontend",action:"load_layout"},e),lumise.ops.first_completed&&null===lumise.cart.printing.current&&"function"==typeof i)return i();if(lumise.f("Loading layout.."),lumise.ops.load_layout=!0,void 0!==e.printing)t.ajax({url:lumise.data.ajax,method:"POST",data:e,dataType:"JSON",success:function(e){e&&(lumise.get.els={},t.each(e,(function(e,i){"left"==e?(lumise.get.el(e).html(t(i).html()),t("#lumise-layers",lumise.get.el(e)).length>0&&(lumise.e.layers=t("#lumise-layers",lumise.get.el(e)))):"navigations"==e?t("<div/>").html(i).find("ul[data-block]").each((function(i){t("ul[data-block]",lumise.get.el(e)).eq(i).replaceWith(this)})):(lumise.get.el(e).html(i),"top-tools"==e&&jscolor.bind())})),lumise.design.events(),lumise.cart.init(),lumise.render.fonts(),lumise.layout_mobile(),lumise.f(!1),lumise.actions.do("after-change-layout"),"function"==typeof i&&i(),lumise.ops.load_layout=!1)}});else{if(!lumise.ops.first_completed&&"function"==typeof i)return i();lumise.get.els={},Object.keys(lumise.data.layouts).map((function(e){"left"==e?lumise.get.el(e).html(t(lumise.data.layouts[e]).html()):"navigations"==e?t("<div/>").html(lumise.data.layouts[e]).find("ul[data-block]").each((function(i){t("ul[data-block]",lumise.get.el(e)).eq(i).replaceWith(this)})):(lumise.get.el(e).html(lumise.data.layouts[e]),"top-tools"==e&&jscolor.bind())})),lumise.design.events(),lumise.cart.init(),lumise.render.fonts(),lumise.layout_mobile(),lumise.f(!1),null!==sessionStorage.getItem("lumise_change_product")&&lumise.get.el("product").length>0?t('#lumise-left .lumise-left-nav li[data-tab="product"]').trigger("click"):t("#lumise-left ul.lumise-left-nav>li[data-tab]").eq(1).click(),lumise.ops.thumbn_preview=!0,lumise.actions.do("after-change-layout"),"function"==typeof i&&i(),lumise.ops.load_layout=!1}}},indexed:{req:null,db:null,stores:{uploads:null,designs:null,dumb:null,cart:null,categories:null},init:function(){var t=this;t.req=indexedDB.open("lumise",8),t.req.onsuccess=function(e){e.target.result.setVersion?e.target.result.version!=t.ver?e.target.result.setVersion(t.ver).onsuccess=function(){t.store(e.target.result),t.ready(e.target.result)}:t.ready(e.target.result):t.ready(e.target.result)},t.req.onupgradeneeded=function(e){t.store(e.target.result)}},ready:function(t){this.db=t,void 0!==lumise.data.version&&"function"==typeof this.onDBReady&&this.onDBReady()},save:function(e,i,a){if(null==this.db)return a(null);var s=this.db.transaction(2===e.length?[i,"dumb"]:[i],"readwrite"),l=s.objectStore(i);null!==e.id&&void 0!==e.id||(e.id=parseInt((new Date).getTime()/1e3).toString(36)+":"+Math.random().toString(36).substr(2));var n=t.extend(!0,{created:(new Date).getTime()},void 0!==e[0]?e[0]:e);n=lumise.indexed.prepare(n);var o=l.put(n,n.id);if("function"==typeof a&&(o.onsuccess=a),void 0!==e[1]){var r=t.extend(!0,{id:n.id,created:n.created},e[1]);r=lumise.indexed.prepare(r),s.objectStore("dumb").put(r,n.id)}},get:function(t,e,i){if(null==this.db)return i(null);var a=this.db.transaction([e],"readwrite"),s=a.objectStore(e);try{var l=s.get(t)}catch(t){}a.oncomplete=function(t){i(void 0!==l?l.result:null),delete l,delete a,delete s,delete go},a.onerror=function(){i(null)}},list:function(t,e,i){if(null==this.db)return i(null);var a=this.db.transaction([e],"readwrite"),s=a.objectStore(e),l=0;a.oncomplete=i;var n=lumise.ops[e+"_cursor"]?IDBKeyRange.upperBound(lumise.ops[e+"_cursor"],!0):null,o=s.openCursor(n,"prev");o.onerror=function(t){console.log(t)},o.onsuccess=function(e){if(l++>11)return"function"==typeof i?i():void 0;var s=e.target.result;if(!s)return delete s,delete o,delete n,delete a,delete go,"function"==typeof i?i("done"):null;t(s.value),i!=s.id&&s.continue()}},store:function(t){Object.keys(this.stores).map((function(e){try{t.createObjectStore(e)}catch(t){}}))},delete:function(t,e){var i=this.db.transaction([e,"dumb"],"readwrite");i.objectStore(e).delete(t),i.objectStore("dumb").delete(t)},prepare:function(t){for(var e in t)void 0!==t[e]&&null!==t[e]&&"object"==typeof t[e]&&(1===t[e].nodeType&&"object"==typeof t[e].style&&"object"==typeof t[e].ownerDocument?delete t[e]:t[e]=lumise.indexed.prepare(t[e]));return t},onDBReady:function(){void 0!==lumise.data.access_core&&""!==lumise.data.access_core&&(lumise.data.access_core.split(",").map((function(t){if(void 0!==window[t]&&"function"==typeof window[t])try{window[t](lumise)}catch(e){console.warn('Error on lumise addon callback "'+t+'": '+e.message),console.log(e)}})),delete lumise.data.access_core);try{lumise.actions.do("db-ready")}catch(t){console.warn(t.message),console.log(t)}delete lumise.indexed.onDBReady}},post:function(e,i){if(!e.action)return lumise.fn.notice("lumise.post() missing param action","error");t.ajax({url:lumise.data.ajax,method:"POST",data:lumise.apply_filters("ajax",t.extend({nonce:"LUMISE-SECURITY:"+lumise.data.nonce,ajax:"frontend",product_base:lumise.fn.url_var("product_base"),product_cms:lumise.fn.url_var("product_cms")},e)),statusCode:lumise.response.statusCode,success:function(t){if("function"==typeof i)return i(t);"function"==typeof lumise.response[e.action]&&lumise.response[e.action](t)}})},response:{templates:function(t){var e="";if(t.items&&t.items.length>0){t.items.map((function(t){lumise.templates.storage[t.id]=lumise.data.upload_url+t.upload,e+="<li style=\"background-image: url('"+t.screenshot+'\')" \t\t\t\t\t\t\t\tdata-ops=\'[{\t\t\t\t\t\t\t\t\t"type": "template", \t\t\t\t\t\t\t\t\t"name": "'+t.name+'", \t\t\t\t\t\t\t\t\t"id": "'+t.id+'", \t\t\t\t\t\t\t\t\t"tags": "'+(t.tags?t.tags:"")+'", \t\t\t\t\t\t\t\t\t"cates": "'+(t.cates?t.cates:"")+'", \t\t\t\t\t\t\t\t\t"screenshot": "'+t.screenshot+'", \t\t\t\t\t\t\t\t\t"price": "'+t.price+'"\t\t\t\t\t\t\t\t}]\' class="lumise-template">\t\t\t\t\t\t\t\t<i data-tag="'+t.id+'">'+(t.price?lumise.fn.price(t.price):lumise.i(100))+"</i>"+(lumise.ops.thumbn_preview?'<i data-info="'+t.id+'"></i>':"")+"\t\t\t\t\t\t\t\t</li>"}));var i=t.total?t.total:0;lumise.ops.templates_q=t.q,lumise.ops.templates_category=t.category,lumise.ops.templates_index=parseInt(t.index)+t.items.length,lumise.ops.templates_index<i&&(lumise.ops.templates_loading=!1)}else e+='<span class="noitems">'+lumise.i(42)+"</span>";lumise.get.el("templates-list").find("i.lumise-spinner").remove(),lumise.get.el("templates-list").find("ul.lumise-list-items").append(e),lumise.render.categories("templates",t),lumise.templates.add_events()},cliparts:function(t){var e="";if(t.items&&t.items.length>0){t.items.map((function(t){var i="Art-"+t.id;lumise.xitems.ops[i]=[{type:"image",name:t.name,id:t.id.toString(),tags:t.tags?t.tags:"",cates:t.cates?t.cates:"",resource:"cliparts",resource_id:t.id,price:parseFloat(t.price),url:lumise.data.upload_url+t.upload}],e+="<li style=\"background-image: url('"+t.thumbnail_url+'\')" data-ops="'+i+'" class="lumise-clipart"><i data-tag="'+t.id+'">'+(t.price>0?lumise.fn.price(t.price):lumise.i(100))+"</i>"+(lumise.ops.thumbn_preview?'<i data-info="'+t.id+'"></i>':"")+"</li>"}));var i=t.total?t.total:0;lumise.ops.cliparts_q=t.q,lumise.ops.cliparts_category=t.category,lumise.ops.cliparts_index=parseInt(t.index)+t.items.length,lumise.ops.cliparts_index<i&&(lumise.ops.cliparts_loading=!1)}else e+='<span class="noitems">'+lumise.i(42)+"</span>";lumise.get.el("cliparts-list").find("i.lumise-spinner").remove(),lumise.get.el("cliparts-list").find("ul.lumise-list-items").append(e),lumise.render.categories("cliparts",t),lumise.cliparts.add_events()},save_design:function(t){lumise.f(!1),t.success?(lumise.fn.notice(lumise.i(21),"success"),lumise.data.design=t.id,lumise.get.el("navigations").find('li[data-tool="designs"]').attr({"data-load":"designs"})):t.error&&lumise.fn.notice(t.error,"error")},my_designs:function(t){if(t.error)return lumise.fn.notice(t.error,"error");lumise.render.my_designs(t)},edit_design:function(t){if(t.error)return lumise.fn.notice(t.error,"error");try{var e=JSON.parse(t.data)}catch(t){return lumise.fn.notice(t.message,"error")}lumise.tools.imports(e),lumise.get.el("share-link").val(lumise.data.url+"?design="+t.id+"&product_base="+t.pid+"&private_key="+t.share_token).closest('li[data-view="link"]').removeAttr("data-msg"),lumise.get.el("navigations").find('li[data-tool="share"] p[data-view="radio"] input[name="lumise-share-permission"]').get(t.share_permission).checked=!0,lumise.data.design=t.id,lumise.data.private_key=t.share_token,lumise.get.el("navigations").find('li[data-tool="designs"]').attr({"data-load":"designs"}),-1===window.location.href.indexOf("design="+t.id+"&")&&window.history.replaceState({},"",lumise.data.url+"?design="+t.id+"&product_base="+t.pid)},delete_design:function(e){if(e.error)return lumise.fn.notice(e.error,"error");t('ul#lumise-saved-designs li[data-id="'+e.id+'"]').remove(),lumise.fn.notice(lumise.i(22),"success")},design_permission:function(t){t.error&&lumise.get.el("navigations").find('li[data-tool="share"] li[data-view="link"]').attr({"data-msg":t.error}),lumise.get.el("navigations").find('li[data-tool="share"] button[data-func="copy-link"]').removeClass("disabled").next("i").remove()},shapes:function(e){if(e.error)return lumise.fn.notice(e.error,"error");if(t("#lumise-shapes i.lumise-spinner").remove(),e.items&&e.items.length>0){lumise.ops.shapes_index=parseInt(e.index)+e.items.length,lumise.ops.shapes_loading=!1,lumise.render.shapes(e.items);var i=t("#lumise-shapes .lumise-tab-body").get(0);i.scrollHeight==i.clientHeight&&t(i).trigger("scroll")}else t("#lumise-shapes ul").append('<span class="noitems">'+lumise.i(42)+"</span>")},change_lang:function(){location.reload()},list_products:function(e){var i=t("#lumise-change-products-wrp"),a=i.data("btn");lumise.ops.products=e;var s=['<ul data-view="categories">',"<h3>"+lumise.i(56)+"</h3>",'<li data-id="" '+(""===e.category?'class="active"':"")+' data-lv="0"> '+lumise.i(57)+"</li>"],l=['<h3 data-view="top"><input type="search" value="'+e.s+'" placeholder="'+lumise.i(63)+'" /></h3>','<ul data-view="products" class="smooth">'];if(e.categories&&e.categories.map((function(t){s.push("<li "+(e.category==t.id?'class="active"':"")+' data-id="'+t.id+'" data-lv="'+t.lv+'">'+"&mdash;".repeat(t.lv)+" "+t.name+"</li>")})),e.products&&e.products.length>0?e.products.map((function(t){if(null!==t){""!==t.stages&&"string"==typeof t.stages&&(t.stages=lumise.fn.dejson(t.stages));var e=lumise.fn.pimage(void 0!==t.stages.stages?t.stages.stages:t.stages),i="";void 0!==e.colors&&delete e.colors;try{var s=lumise.fn.dejson(t.attributes)}catch(t){s={}}Object.keys(s).map((function(t){if("product_color"==s[t].type&&""!==s[t].values&&null!==s[t].values)try{"string"==typeof s[t].values&&(s[t].values=JSON.parse(s[t].values)),s[t].values.options.map((function(t){t.default&&(i=t.value)}))}catch(t){}}));var n=Object.keys(e)[0];l.push('<li data-id="'+t.id+'"'+(lumise.data.product==t.id?' data-current="true"':"")+' data-name="'+t.name.toLowerCase().trim().replace(/[^a-z0-9 ]/gim,"")+'"'+(t.id!==t.product?' data-cms="'+t.product+'"':"")+'>\t\t\t\t\t\t\t\t<span data-view="thumbn" data-start="'+a+'">\t\t\t\t\t\t\t\t\t<img  style="background:'+i+'" src="'+(e[n]?e[n].image:lumise.data.assets+"assets/images/default_category.jpg")+'" />\t\t\t\t\t\t\t\t</span>\t\t\t\t\t\t\t\t<span data-view="name">'+t.name+'</span>\t\t\t\t\t\t\t\t<span data-view="price">'+lumise.fn.price(t.price)+"</span>\t\t\t\t\t\t\t</li>")}})):l.push('<li data-view="noitem">'+lumise.i(42)+"</li>"),e.limit<e.total){for(var n=['<li data-view="pagination">',"<ul>"],o=Math.ceil(e.total/e.limit),r=Math.ceil(e.index/e.limit),u=1;u<=o;u++)n.push('<li data-page="'+u+'" '+(r==u?' class="lumise-color"':"")+">"+u+"</li>");n.push("</ul></li>"),l.push(n.join(""))}l.push("</ul>"),i.html(s.join("")).append(l.join("")),lumise.trigger({el:t("#lumise-change-products-wrp"),events:{'ul[data-view="categories"] li':"category",'ul[data-view="products"] li[data-id]':"product",'h3[data-view="top"] input:keydown':"search",'li[data-view="pagination"] li[data-page]':"page"},category:function(){t(this).closest("#lumise-change-products-wrp");var e=this.getAttribute("data-id");lumise.ops.products.category=e,t("#lumise-change-products-wrp").html('<center><i class="lumise-spinner x3"></i></center>'),lumise.post({action:"list_products",s:lumise.ops.products.s,category:e,product_cms:null,index:0})},product:function(){if("true"!=this.getAttribute("data-current")){var e=this.getAttribute("data-id"),a=lumise.ops.products.products.filter((function(t){return t.id==e}));if(a.length>0)if("function"==typeof i.data("callback"))i.data("callback")(a[0]);else{var s={};a[0].printings.length>0&&(s.printing=sessionStorage["LUMISE-PRINT-VALUE"]?sessionStorage["LUMISE-PRINT-VALUE"]:a[0].printings[0].id),""!==lumise.fn.url_var("cart","")?lumise.fn.confirm({title:lumise.i(119),primary:{text:lumise.i(124),callback:function(e){t("lumise-general-status").html(""),lumise.fn.clear_url([]),lumise.render.layouts(s,(function(){lumise.render.product(a[0])}))}},second:{text:lumise.i(125),callback:function(t){lumise.fn.clear_url(["cart"]),lumise.render.layouts(s,(function(){lumise.render.product(a[0])}))}}}):(sessionStorage.setItem("lumise_change_product","changed"),lumise.fn.clear_url([]),lumise.ops.view_design=!1,lumise.render.layouts(s,(function(){lumise.render.product(a[0])}))),lumise.actions.do("select-product",a[0])}t(this).closest("#lumise-lightbox").remove()}},search:function(e){if(13===e.keyCode){e.data.el.find('ul[data-view="categories"] li.active').removeClass("active"),e.data.el.find('ul[data-view="categories"] li[data-id="all"]').addClass("active");var i=this.value.toLowerCase();t("#lumise-change-products-wrp").html('<center><i class="lumise-spinner x3"></i></center>'),lumise.post({action:"list_products",s:i,category:lumise.ops.products.category?lumise.ops.products.category:"",index:0,product_cms:null}),e.preventDefault()}},page:function(e){var i=parseInt(this.getAttribute("data-page"));t("#lumise-change-products-wrp").html('<center><i class="lumise-spinner x3"></i></center>');var a=parseInt(lumise.ops.products.limit);isNaN(a)&&(a=10),lumise.post({action:"list_products",s:lumise.ops.products.s,product_cms:null,category:lumise.ops.products.category,index:i*a-a})}})},categories:function(t){if(t.length>0){var e=t[0].type;lumise.ops.categories[e]=t,lumise.render.categories(e)}},statusCode:{403:function(){t.post(lumise.data.ajax,lumise.apply_filters("ajax",{action:"extend",name:"general",nonce:lumise.data.nonce}),(function(t){return lumise.f(!1),"-1"==t?lumise.fn.notice(lumise.i(23),"error",3e3):(lumise.data.nonce=t,lumise.fn.notice(lumise.i(24),"notice",3e3))}))}}},mobile:function(e){var i=t(window).width(),a=t(window).height();if(!0!==e){if(!lumise.ops.excmobile){if(lumise.ops.window_width=i,i<1025&&(t(window).on("scroll",(function(t){return t.stopPropagation(),t.preventDefault(),!1})),t(document.body).on("scroll touchEnd",(function(t){document.body.scrollTop=-1,t.preventDefault()})),document.ontouchmove=function(t){t.preventDefault()},setInterval((function(){document.body.scrollTop=-1}),500),t("#lumise-left").on("mousedown touchstart touchend touchmove",(function(t){if(t.originalEvent.touches&&t.originalEvent.touches.length>1)return t.preventDefault(),!0})),t("#lumise-main").on("mousedown touchstart",(function(e){this.t=this.offsetTop,this.l=this.offsetLeft,this.x=e.originalEvent.pageX?e.originalEvent.pageX:e.originalEvent.touches[0].pageX,this.y=e.originalEvent.pageY?e.originalEvent.pageY:e.originalEvent.touches[0].pageY,this._do="standard"==t("#lumise-top-tools").attr("data-view"),this._gest=this.gest,e.originalEvent.touches&&2===e.originalEvent.touches.length?(this.gest=!0,this.sc||(this.sc=1),this.a=e.originalEvent.touches[0].pageX-e.originalEvent.touches[1].pageX,this.b=e.originalEvent.touches[0].pageY-e.originalEvent.touches[1].pageY,this.scale_start=Math.sqrt(this.a*this.a+this.b*this.b)):this.gest=!1,this.start_move=!0})).on("mousemove touchmove",(function(t){if(t.originalEvent.touches&&1===t.originalEvent.touches.length||!0!==this.start_move)return!0;if(!0===this.gest){this.a=t.originalEvent.touches[0].pageX-t.originalEvent.touches[1].pageX,this.b=t.originalEvent.touches[0].pageY-t.originalEvent.touches[1].pageY,this.scale_move=Math.sqrt(this.a*this.a+this.b*this.b),this.scale=this.scale_move/this.scale_start;var e=this.sc*this.scale;e>2?e=2:e<.5&&(e=.5),this.style.transform="scale("+e+")"}if(!0!==this._do)return t.preventDefault(),!0;this.style.top=this.t+((t.originalEvent.pageY?t.originalEvent.pageY:t.originalEvent.touches[0].pageY)-this.y)+"px",this.style.left=this.l+((t.originalEvent.pageX?t.originalEvent.pageX:t.originalEvent.touches[0].pageX)-this.x)+"px"})).on("mouseup touchend",(function(t){this.sc=parseFloat(this.style.transform.toString().replace("scale(","").replace(")","")),this.sc>2?this.sc=2:this.sc<.5&&(this.sc=.5),this.start_move=!1,this.gest=!1})),!localStorage.getItem("LUMISE-GUIDE"))){var s=t('<img id="mobile-guide" src="'+lumise.data.assets+'assets/images/mobile-guide.jpg" />');t("body").append(s),s.on("click",(function(){t(this).remove(),localStorage.setItem("LUMISE-GUIDE","{}")}))}if(i<450){var l=0;t("ul.lumise-left-nav li").each((function(){l+=parseFloat(t(this).outerWidth())})),lumise.actions.add("first-completed",(function(){t('li[data-tab="design"]').trigger("click")}));var n="div#lumise-left .lumise-left-nav,#lumise-top-tools";if(t("div#lumise-left .lumise-left-nav").width()<450)n="#lumise-top-tools";lumise.e.main.on("mousedown touchstart",n,(function(e){if(this.sub=t(e.target).closest('[data-view="sub"]'),this.sub.length>0)return!0;this.l=this.offsetLeft,this.x=e.originalEvent.pageX?e.originalEvent.pageX:e.originalEvent.touches[0].pageX,this.w=t(window).width(),e.preventDefault()})).on("mousemove touchmove",n,(function(e){let a=l;if("lumise-top-tools"===e.currentTarget.id&&(a=parseFloat(t(e.currentTarget).outerWidth())),void 0!==this.sub&&this.sub.length>0)return!0;var s=this.l+((e.originalEvent.pageX?e.originalEvent.pageX:e.originalEvent.touches[0].pageX)-this.x);s>0?s*=.1:this.offsetWidth+s<this.w&&s<=0&&a<i?s=.1:this.offsetWidth+s<this.w&&(s=this.w-this.offsetWidth+.1*(s-(this.w-this.offsetWidth))),this.style.left=Math.round(s)+"px",e.preventDefault()})).on("mouseup touchend",n,(function(e){if(void 0!==this.sub&&this.sub.length>0)return!0;Math.abs(this.offsetLeft-this.l)<=2?e.target.click():this.offsetLeft>0?t(this).animate({left:0},150):this.offsetWidth+this.offsetLeft<this.w&&t(this).animate({left:-(this.offsetWidth-this.w)},150),e.preventDefault()})),lumise.actions.add("object:added",(function(){t('li[data-tab="design"]').trigger("click"),t("div#lumise-left .lumise-left-nav").css({left:"0px"})})),lumise.actions.add("selection:cleared",(function(){t("#lumise-top-tools").css({left:""})})),lumise.actions.add("object:selected",(function(){t("#lumise-top-tools").css({left:""})})),lumise.actions.add("after:render",(function(){})),t("#lumise-templates-list,#lumise-cliparts-list").css({"max-height":a-224+"px"}),t("div#lumise-left .lumise-tab-body-wrp").css({height:a-110+"px"}),t("#lumise-cart-wrp").css({"max-height":a-200+"px"}),t("div#lumise-left>div.lumise-left-nav-wrp,div#lumise-stage-nav").css({top:a+"px"}),t("#lumise-left #lumise-uploads div[data-tab]").css({height:a-169+"px"})}else i<1025&&(t("#lumise-main").on("touchstart",(function(){t("#lumise-side-close").trigger("click")})),lumise.actions.add("object:added",(function(){t("#lumise-side-close").trigger("click")})),t("#lumise-templates-list,#lumise-cliparts-list").css({"max-height":a-170+"px"}),t("div#lumise-left .lumise-tab-body-wrp").css({height:a-54+"px"}),t("div#lumise-stage-nav").css({top:a-30+"px"}),t("#lumise-left #lumise-uploads div[data-tab]").css({height:a-115+"px"}));lumise.ops.excmobile=!0}}else{var o=lumise.get.el("main"),r=lumise.stage(),u=r.canvas.width,c=r.canvas.height;if(o.css({transform:"",top:"",left:""}),i<450&&r.product.width>o.width()-20){var d=(o.width()-20)/r.product.width,m=c*d-c;o.css({transform:"scale("+d+")",top:m+"px",left:-(u-(o.width()-0))/2*d+"px"}),"1"==lumise.data.rtl&&(o.css({right:-(u-o.width())/2*d+"px",left:"auto"}),o.css({left:o.css("left"),right:"auto"}))}}},layout_mobile:function(){var e=t(window).width(),i=t(window).height();e<450?(t("#lumise-templates-list,#lumise-cliparts-list").css({"max-height":i-224+"px"}),t("div#lumise-left .lumise-tab-body-wrp").css({height:i-110+"px"}),t("#lumise-cart-wrp").css({"max-height":i-200+"px"}),t("div#lumise-left>div.lumise-left-nav-wrp,div#lumise-stage-nav").css({top:i+"px"}),t("#lumise-left #lumise-uploads div[data-tab]").css({height:i-169+"px"})):e<1025&&(t("#lumise-templates-list,#lumise-cliparts-list").css({"max-height":i-170+"px"}),t("div#lumise-left .lumise-tab-body-wrp").css({height:i-54+"px"}),t("#lumise-left #lumise-uploads div[data-tab]").css({height:i-115+"px"}))},stage:function(){return lumise.data.stages[lumise.current_stage]},active_stage:function(e,i){if("function"!=typeof i&&(i=function(){}),""===e||null==e)return i();if(this.current_stage=e,!this.current_stage||!this.data.stages[this.current_stage])return alert(lumise.i(20));var a=this.data.stages[this.current_stage],s=t("#lumise-print-nav");if(a.name=e,null!=a.color&&-1!=lumise.fn.url_var("product_base","").indexOf("variable:")&&null==lumise.data.color&&(lumise.data.color=a.color),null!=a.template&&null!=a.template.id&&null!=a.data&&null!=a.data.objects&&""==lumise.fn.url_var("design_print","")&&""==lumise.fn.url_var("order_print","")&&""==lumise.fn.url_var("cart","")&&delete a.data,t("#lumise-main div.lumise-stage").hide(),void 0!==a.orientation&&""!==a.orientation?(s.find('select[name="orientation"]').val(a.orientation),s.find('li[data-row="orien"]').hide()):s.find('li[data-row="orien"]').show(),void 0!==a.size&&""!==a.size)"string"==typeof a.size?(a.size.indexOf("+")&&(a.size=a.size.split("+").join(" ")),"png"==s.find('input[name="print-format"]:checked').attr("data-format")?s.find('li[data-row="size"]').show():s.find('li[data-row="size"]').hide(),s.find('select[name="select-size"]').val(a.size).attr({disabled:!0}),s.find('input[name="size"]').val(a.size),s.find('input[data-unit="cm"]').prop({checked:!0}),s.find('li[data-row="csize"],li[data-row="unit"]').hide()):(s.find('li[data-row="size"]').hide(),s.find('li[data-row="csize"],li[data-row="unit"]').show(),s.find('input[name="size"]').val(a.size.width+" x "+a.size.height).attr({disabled:!0}),s.find('input[data-unit="'+a.size.unit+'"]').prop({checked:!0}),s.find("input[data-unit]").attr({disabled:!0}));else{s.find('select[name="select-size"],input[name="size"],input[data-unit]').attr({disabled:null}),s.find('li[data-row="csize"],li[data-row="unit"],li[data-row="size"],li[data-row="orien"]').show();var l=localStorage.getItem("LUMISE_PRINT_CFG");l&&""!==l&&(void 0!==(l=JSON.parse(l)).format&&s.find('input[data-format="'+l.format+'"]').prop({checked:!0}).change(),void 0!==l.unit&&s.find('input[data-unit="'+l.unit+'"]').prop({checked:!0}).change(),void 0!==l.size&&s.find('select[name="select-size"]').val(l.size).change(),void 0!==l.csize&&s.find('input[name="size"]').val(l.csize).change())}if(a.canvas)return a.productColor!=lumise.get.color()&&a.productColor.set("fill",lumise.get.color()),lumise.tools.discard(),t("#lumise-stage-"+e).show(),a.data?(lumise.tools.import(a.data,(function(){lumise.stack.save(),lumise.actions.do("active_stage",a)})),delete a.data):lumise.actions.do("active_stage",a),lumise.fn.stage_nav(e,a.product.width/a.product.height),lumise.mobile(!0),i();lumise.f("Loading.."),fabric.util.loadImage(a.image,(function(s){if(lumise.f(!1),null===s)lumise.fn.notice(lumise.i(33)+a.image,"error",5e3);else if(lumise.fn.create_canvas(a,s),a.canvas.renderAll(),lumise.actions.do("render_stage",a),a.data){var l=a.data.product_height?a.product.height/a.data.product_height:1;lumise.tools.import(a.data,(function(){1!==l&&lumise.fn.scale_designs(l),lumise.stack.save(),lumise.actions.do("active_stage",e),i();var e=lumise.stage();e.screenshot=lumise.tools.toImage({stage:e,is_bg:"full",multiplier:1/window.devicePixelRatio}),t('#lumise-stage-nav img[data-stage="'+lumise.current_stage+'"]').attr({src:e.screenshot})})),delete a.data}else void 0!==a.template&&void 0!==a.template.upload&&!0!==a.template.noload?lumise.templates.load(a.template,(function(){lumise.actions.do("active_stage",a),i()})):(lumise.stack.save(),!0!==lumise.ops.first_completed&&(lumise.actions.do("first-completed"),lumise.ops.first_completed=!0),lumise.actions.do("active_stage",a),i());lumise.fn.stage_nav(e,a.product.width/a.product.height)}))},cart:{data:{},price:{template:{},extra:{},base:0,color:0,attr:0,fixed:0},template:{},qty:0,attr_tmpl:null,timer:null,sum_calc:function(){var t={},e=lumise.apply_filters("product_extra_price",{}),i=lumise.cart.price.base+lumise.cart.price.color+lumise.cart.price.attr;t.base=i,i=0;var a=Object.values(e).filter((t=>"object"!=typeof t&&parseFloat(t)>0));return a.length>0&&(i+=a.reduce(((t,e)=>parseFloat(t)+parseFloat(e)))),Object.keys(lumise.cart.price.extra).length>0&&Object.values(lumise.cart.price.extra).map((function(t){t.map((function(t){i+=parseFloat(t.price)}))})),t.ext=i,i=0,i+=Object.keys(lumise.cart.price.template).length>0&&Object.values(lumise.cart.price.template).filter((t=>parseFloat(t))).length>0?Object.values(lumise.cart.price.template).filter((t=>parseFloat(t)>=0)).reduce(((t,e)=>parseFloat(t)+parseFloat(e))):0,t.template=i,t},sum:function(){var t=this.sum_calc();return t.base+t.ext+t.template},extra_price:function(t,e){null!=e?(void 0===lumise.cart.price.extra[t]&&(lumise.cart.price.extra[t]=[]),void 0===lumise.cart.price.extra[t].filter((t=>t.id==e.id&&t.table==e.table))[0]&&lumise.cart.price.extra[t].push(e)):delete lumise.cart.price.extra[t]},get_price:function(t){var e=0,i=lumise.cart.sum();return(isNaN(lumise.cart.qty)||0==lumise.cart.qty)&&(lumise.cart.qty=1),e=(i+lumise.cart.printing.calc(lumise.cart.qty))*lumise.cart.qty,e+=lumise.cart.price.fixed,!0===t?[e,lumise.cart.qty]:e},init:function(){null==lumise.onload&&lumise.cart.render(),lumise.ops.load_layout||(lumise.actions.add("updated",(function(t){clearTimeout(lumise.cart.timer),lumise.cart.timer=setTimeout((function(){lumise.cart.calc(t)}),300)})),lumise.actions.add("checkout",lumise.cart.checkout)),t("#lumise-cart-action").on("click",(function(t){lumise.cart.add_cart("button add cart click"),t.preventDefault()})),top.location!==window.location&&t("#back-btn a").on("click",(function(t){top.location.href=this.getAttribute("href"),t.preventDefault()})),lumise.render.cart_change()},add_cart:function(e){if("0"!=lumise.fn.url_var("product_cms","")){var i=[],a=0,s=[],l=null,n=t(".lumise-cart-attributes");if(Object.keys(lumise.data.stages).map((function(t){if(void 0!==lumise.data.stages[t])if(void 0!==lumise.data.stages[t].canvas){lumise.data.stages[t].canvas.getObjects().filter((function(t){return!0===t.evented})).length>0&&a++}else{if(null==lumise.data.stages[t].data)return!0;void 0!==lumise.data.stages[t].data&&void 0!==lumise.data.stages[t].data.objects&&lumise.data.stages[t].data.objects.filter((function(t){return!0===t.evented})).length>0&&a++}})),0===a)return lumise.fn.notice(lumise.i(96),"error"),delete cart_data,delete c,!1;if("1"==lumise.data.required_full_design&&a<Object.keys(lumise.data.stages).length)return lumise.fn.notice(lumise.i(210),"error"),delete cart_data,delete c,!1;if(lumise.data.printings.length>0&&null===lumise.cart.printing.current&&(void 0!==(l=t(".lumise-prints").find(".lumise-cart-field-printing-tmpl").get(0))&&i.push(l),t(".lumise-prints").find(".lumise-cart-field-printing-tmpl .lumise-required-msg").html(lumise.i(99))),n.find("em.lumise-required-msg").remove(),n.find(".lumise-cart-param").each((function(e){var a=t(this),l=a.attr("name"),n=a.attr("type");a.prop("required")&&(("radio"!=n&&"checkbox"!=n||0!==a.closest(".lumise-cart-field").find('[name="'+l+'"]:checked').length)&&""!==this.value||-1!==s.indexOf(l)||(s.push(l),i.push(a.closest(".lumise-cart-field")[0]),a.after('<em class="lumise-required-msg">'+lumise.i(102)+"</em>").closest(".lumise_form_group").shake()))})),i.length>0){var o=t("#lumise-cart-wrp"),r=i[0].offsetTop;return o.closest("#lumise-product").length>0?(t('#lumise-left .lumise-left-nav li[data-tab="product"]').trigger("click"),t("#lumise-product").show().animate({scrollTop:r-20},400)):o.animate({scrollTop:r-20},400),lumise.fn.notice(lumise.i(179),"error",3500),delete cart_data,delete c,!1}try{var u=lumise.ops.product_data.variations.variations[lumise.data.variation];if(parseFloat(lumise.cart.qty)<parseFloat(u.minqty))return void lumise.fn.notice(lumise.i(149)+" <br>(Variation #"+lumise.data.variation+" has min quantity are "+u.minqty+")","error",5e3);if(parseFloat(lumise.cart.qty)>parseFloat(u.maxqty))return void lumise.fn.notice(lumise.i(150)+" <br>(Variation #"+lumise.data.variation+" has max quantity are "+u.maxqty+")","error",5e3)}catch(t){}var c=lumise.fn.export("cart"),d=0,m=lumise.current_stage,p=Object.keys(lumise.data.stages)[d],g=function(e){d++,lumise.active_stage(e,(function(){t("#LumiseDesign").attr({"data-processing":"true","data-msg":lumise.i("render")}),lumise.get.el("zoom").val("100").trigger("input"),lumise.fn.uncache_large_images((function(){let t=lumise.get.size();lumise.f(!1),lumise.fn.download_design({type:"png",orien:t.o,height:t.h,width:t.w,include_base:!1,with_base:lumise.data.stages[e].include_base,callback:function(t){if(lumise.fn.uncache_large_images(null,!0),c.stages[e].print_file=t,void 0===Object.keys(lumise.data.stages)[d])return lumise.active_stage(m),lumise.cart.process_add_cart(c);g(Object.keys(lumise.data.stages)[d])}})}))}))};t("#LumiseDesign").attr({"data-processing":"true","data-msg":"Preparing cart data"}),g(p),void 0!==e&&"function"==typeof e.preventDefault&&e.preventDefault()}else alert("Could not add to cart, missing product_cms id")},process_add_cart:function(e){lumise.f(!1);var i=[],a=lumise.fn.url_var("cart",(new Date).getTime().toString(36).toUpperCase()),s=JSON.parse(localStorage.getItem("LUMISE-CART-DATA")||"{}");return s[a]={id:a,screenshot:"",stages:0,name:lumise.ops.product_data.name,updated:(new Date).getTime(),product:lumise.ops.product_data.id,product_cms:lumise.ops.product_data.product,printing:lumise.cart.printing.current,printings_cfg:lumise.data.printings_cfg,options:t.extend(!0,{},lumise.cart.data.options),attributes:t.extend(!0,{},lumise.ops.product_data.attributes),ext_attributes:t.extend(!0,{},lumise.ops.product_data.ext_attributes_value),price_total:lumise.cart.get_price(),extra:t.extend(!0,{},lumise.cart.price.extra),states_data:t.extend(!0,{},lumise.cart.printing.states_data),variation:lumise.data.variation,template:{stages:lumise.cart.template,price:lumise.cart.price.template},system_version:lumise.data.version},Object.keys(lumise.data.stages).map((function(t){s[a].stages++,""===s[a].screenshot&&(s[a].screenshot=lumise.data.stages[t].image)})),Object.keys(lumise.cart.data.options).map((function(t){i.push(lumise.cart.data.options[t])})),lumise.cart.qty=parseInt(lumise.cart.qty),(isNaN(lumise.cart.qty)||0==lumise.cart.qty)&&(lumise.cart.qty=1),s=lumise.apply_filters("cart_data",s),e=lumise.apply_filters("cart_design",e),localStorage.setItem("LUMISE-CART-DATA",JSON.stringify(s)),e.id=a,lumise.indexed.save([e],"cart"),delete e,delete s,lumise.render.cart_confirm(),lumise.render.cart_change(),lumise.actions.do("add-cart",a),!0},variations:function(e){if(void 0!==lumise.data.variations.attrs&&-1!==lumise.data.variations.attrs.indexOf(e.name)){var i={};t(".lumise-cart-attributes .lumise-cart-param:not(.disabled)").serializeArray().map((function(t){i[t.name]=t.value}));var a=lumise.fn.process_variations(i,e);if(null===a.variation&&null===lumise.data.variation||lumise.data.variation==a.variation)return lumise.render.product_attrs(a);lumise.data.variation=a.variation,a.cfgprinting?lumise.data.printings_cfg=a.printings_cfg:lumise.data.printings_cfg=lumise.ops.product_data.printings_cfg,lumise.data.printings=a.printings,lumise.render.product_attrs(a),!0!==a.cfgstages&&!0!==lumise.data.cfgstages||(lumise.data.stages=lumise.fn.keep_current_designs(a.stages),lumise.data.cfgstages=a.cfgstages,lumise.get.el("main").find(".lumise-stage,#lumise-no-product").remove(),lumise.active_stage(lumise.render.stage_nav(),(function(){lumise.cart.calc(),t("#lumise-left ul.lumise-left-nav>li[data-tab]").eq(1).hasClass("active")||t("#lumise-left ul.lumise-left-nav>li[data-tab]").eq(1).click()})),lumise.actions.do("product-variation",a))}},calc:function(e){null==e?e=lumise.cart.printing.states_data:lumise.cart.printing.states_data=e,lumise.cart.data={options:{},printing:lumise.cart.printing.current,states_data:lumise.cart.printing.states_data},lumise.cart.price.attr=0,lumise.cart.price.fixed=0,lumise.cart.qty=0;var i=t(".lumise-cart-attributes .lumise-cart-param:not(.disabled)").serializeArray(),a=lumise.ops.product_data.attributes;i.map((function(t){if(null!=a[t.name]){var e=a[t.name];if(""===t.value?delete lumise.cart.data.options[e.id]:void 0===lumise.cart.data.options[e.id]?lumise.cart.data.options[e.id]=t.value:lumise.cart.data.options[e.id]+="\n"+t.value,"quantity"==e.type){if(isNaN(parseInt(t.value))){if(""!==t.value&&"multiple"==e.values.type)try{var i=JSON.parse(t.value);Object.keys(i).map((function(t){isNaN(parseInt(i[t]))||(lumise.cart.qty+=parseInt(i[t]))})),Object.keys(i).map((function(t){var a=e.values.multiple_options.filter((function(e){return e.value==t}));a.length>0&&""!==a[0].price&&!isNaN(parseInt(a[0].price))&&!isNaN(parseInt(i[t]))&&(lumise.cart.price.fixed+=parseFloat(a[0].price)*parseInt(i[t]))}))}catch(t){}}else if(lumise.cart.qty+=parseInt(t.value),void 0!==e.values&&"object"==typeof e.values&&"package"==e.values.type)(s=e.values.package_options.filter((function(e){return e.value==t.value}))).length>0&&""!==s[0].price&&!isNaN(parseInt(s[0].price))&&(lumise.cart.price.attr+=parseFloat(s[0].price))}else if("object"==typeof e.values&&"object"==typeof e.values.options){var s;t.value.split(decodeURI("%0A")).map((function(t){""!==t&&(s=e.values.options.filter((function(e){return e.value==t}))).length>0&&""!==s[0].price&&!isNaN(parseInt(s[0].price))&&(lumise.cart.price.attr+=parseFloat(s[0].price))}))}}})),lumise.cart.price.template={},Object.keys(lumise.data.stages).map((function(t){if(void 0!==lumise.data.stages[t].canvas){var e=lumise.data.stages[t].canvas;lumise.cart.template[t]=[],lumise.cart.price.template[t]=0,e.getObjects().map((function(e){1==e.evented&&void 0!==e.price&&parseFloat(e.price)>0&&(lumise.cart.price.attr+=parseFloat(e.price)),void 0!==e.template&&"object"==typeof e.template&&-1===lumise.cart.template[t].indexOf(e.template[0])&&(lumise.cart.template[t].push(e.template[0]),lumise.cart.price.template[t]+=e.template[1])}))}})),0===lumise.cart.qty&&(lumise.cart.qty=1),lumise.actions.do("cart-calc"),lumise.cart.display()},checkout:function(e){var i=new FormData,a="",s=100;if(i.append("action","checkout"),i.append("ajax","frontend"),i.append("nonce","LUMISE-SECURITY:"+lumise.data.nonce),Object.keys(e).map((function(t){e[t].product_id=e[t].product,""!==e[t].product_cms?e[t].cms_id=e[t].product_cms:e[t].cms_id=0,e[t].product_name=e[t].name,a=JSON.stringify(lumise.apply_filter("checkout-item",e[t])),s+=a.length,i.append(t,new Blob([a]))})),delete e,lumise.data.max_upload_size>0&&s/1024e3>lumise.data.max_upload_size)return lumise.fn.notice("Error: your design is too large ("+(s/1024e3).toFixed(2)+"MB out of max "+lumise.data.max_upload_size+"MB)<br>Please contact the administrator to change the server configuration","error",5e3),lumise.f(!1);lumise.f("0% complete"),t.ajax({data:i,type:"POST",url:lumise.data.ajax,contentType:!1,processData:!1,xhr:function(){var e=new window.XMLHttpRequest;return e.upload.addEventListener("progress",(function(e){if(e.lengthComputable){var i=e.loaded/e.total;i<1?t("div#LumiseDesign").attr({"data-msg":parseInt(100*i)+"% upload complete"}):t("div#LumiseDesign").attr({"data-msg":lumise.i(159)})}}),!1),e},success:function(e,i){t("div#LumiseDesign").attr({"data-msg":lumise.i(161)}),"0"==e?alert("Error: could not checkout this time"):!1!==(e=lumise.apply_filters("checkout-success",e))&&"string"==typeof e?top.location.href=e:console.error(e)},error:function(){alert("Error: could not checkout this time")}})},render:function(e){var i=lumise.get.el("cart-attributes");if(i.html(""),void 0!==e){lumise.cart.printing.render(e.printing),lumise.cart.price.base=parseFloat(e.price),lumise.actions.do("vari_data_price",e);var a=localStorage.getItem("LUMISE-CART-DATA");lumise.fn.url_var("cart","");if(a=""!==a?JSON.parse(a):{},void 0!==e.ext_attributes&&{}.constructor===e.ext_attributes.constructor){let t;for(n in e.ext_attributes)t={id:n.toLowerCase(),classes:"ext-attribute",type:"select",required:!0,name:e.ext_attribute_name[n],value:e.ext_attributes_value[n.toLowerCase()],values:{options:[]}},Object.values(e.ext_attributes[n]).forEach((e=>{t.values.options.push({value:e.value,price:"",title:e.name})})),i.append(lumise.cart.fields.render(t))}if(Object.keys(e.attributes).map((function(t){var a=e.attributes[t];lumise.ops.product_data.attributes[t].allows=a.allows,void 0===a.value&&("object"==typeof a.values&&"object"==typeof a.values.options?(a.value=[],a.values.options.map((function(t){!0===t.default&&a.value.push(t.value)})),a.value=a.value.join(decodeURI("%0A"))):"object"==typeof a.values&&void 0!==a.values.default?a.value=a.values.default:a.value=""),void 0===a.id&&(a.id=lumise.cart.slug(a.name)),i.append(lumise.cart.fields.render(a))})),product_base_check=lumise.fn.url_var("product_base",""),-1!=product_base_check.indexOf("variable:")&&i.append('<div class="lumise-cart-field field-inline ext-attribute">\t\t\t\t\t\t\t<div class="lumise_form_group">\t\t\t\t\t\t\t\t<span class="lumise-cart-field-label">\t\t\t\t\t\t\t\t\t<button class="btn_tempo" id="clear_variable">Clear</button>\t\t\t\t\t\t\t\t</span>\t\t\t\t\t\t\t</div>\t\t\t\t\t\t</div>'),"1"==lumise.data.calc_formula&&i.append('<div class="lumise-cart-field how-calculate">\t\t\t\t\t\t\t<a href="#formula">\t\t\t\t\t\t\t\t'+lumise.i(180)+'\t\t\t\t\t\t\t\t<i class="lumisex-ios-arrow-forward"></i>\t\t\t\t\t\t\t</a>\t\t\t\t\t\t</div>'),lumise.trigger({el:i,events:{".lumise-cart-param:change":"calc_cart","button#select_variable:click":"calc_cart","button#clear_variable:click":"clear_variable",'a[href="#formula"]':"formula"},calc_cart:function(e){if(-1!=lumise.fn.url_var("product_base","").indexOf("variable:")){let e=[];t("div.lumise-cart-field.ext-attribute select").each((function(){let i=t(this).val()||"",a=t(this).attr("name");e[a]=i})),t("div.lumise-cart-field.ext-attribute select").each((function(i,a){var s,l=t(a),n=l.attr("name"),o=":gt(0)",r=t("<select/>"),u=l.val()||"",c=!0;if(!l.data("attribute_html")){var d=l.clone();d.find("option").removeAttr("attached").prop("disabled",!1).prop("selected",!1),l.data("attribute_options",d.find("option"+o).get()),l.data("attribute_html",d.html())}r.html(l.data("attribute_html"));var m=t.extend(!0,{},e);m[n]="";var p=[];for(var g in t.each(lumise.ops.product_data.ext_list_variation,(function(t,e){var i=!0;for(var a in e)if(e.hasOwnProperty(a)){var s=e[a],l=m[a];void 0!==s&&void 0!==l&&0!==s.length&&0!==l.length&&s!==l&&(i=!1)}i&&p.push(e)})),p)if(void 0!==p[g]){var f=p[g];for(var h in f)if(f.hasOwnProperty(h)){var v=f[h];if(h===n)if(v){v=t("<div/>").html(v).text();var b=r.find("option");if(b.length)for(var _=0,x=b.length;_<x;_++){var w=t(b[_]);if(v===w.val()){w.addClass("attached enabled");break}}}else r.find("option:gt(0)").addClass("attached enabled")}}s=r.find("option.attached").length,u&&(c=!1,0!==s&&r.find("option.attached.enabled").each((function(){var e=t(this).val();if(u===e)return c=!0,!1}))),r.find("option"+o+":not(.attached)").remove(),l.html(r.html()),l.find("option"+o+":not(.enabled)").prop("disabled",!0),u?c?l.val(u):l.val("").trigger("change"):l.val("")}))}sessionStorage.setItem("LUMISE-PRINT-DROPDOWN","false"),t("#lumise-cart-attributes em.lumise-required-msg").remove(),lumise.cart.variations(this),lumise.cart.calc(),lumise.render.cart_change(),"quantity"==e.target.getAttribute("name")&&sessionStorage.setItem("LUMISE-CHANGE-QUANTITY","true"),lumise.actions.do("cart-changed",!0)},clear_variable:function(e){t.each(lumise.ops.product_data.ext_attributes,(function(e,i){t('select[name="'+e+'"] option').remove();let a='<option value="">Choose an option</option>';t.each(i,(function(t,e){a+='<option value="'+e.value+'">'+e.name+"</option>"})),t('select[name="'+e+'"]').html(a)}))},formula:function(e){e.preventDefault();var i=lumise.cart.sum_calc(),a=!1;if(lumise.data.printings.length>0){var s=lumise.data.printings.filter((function(t){return t.id==lumise.cart.printing.current}));a=s.length>0&&(""!==s[0].description||void 0!==s[0].calculate.show_detail&&1==s[0].calculate.show_detail)&&lumise.cart.printing.calc(lumise.cart.qty)>0}var l="",n=void 0!==lumise.ops.product_data.variations&&void 0!==lumise.ops.product_data.variations.variations&&void 0!==lumise.ops.product_data.variations.variations[lumise.data.variation]?lumise.ops.product_data.variations.variations[lumise.data.variation]:null;null!==lumise.data.variation&&null!==n&&(l+='<p class="notice">'+lumise.i(193)+" <strong>#"+lumise.data.variation+"</strong>"+(""!==n.price?", "+lumise.i(182)+": <strong>"+n.price+"</strong>":"")+(""!==n.minqty?", min-qty: <strong>"+n.minqty+"</strong>":"")+(""!==n.maxqty?", max-qty: <strong>"+n.maxqty+"</strong>":"")+"</p>");var o=i.ext+i.base+i.template+lumise.cart.printing.calc(lumise.cart.qty);lumise.tools.lightbox({content:'<div class="lumise_content lumise_wrapper_table">\t\t\t\t\t\t\t\t<h3 class="title">'+lumise.i(180)+'</h3>\t\t\t\t\t\t\t\t<div id="lumise-formula-detail">\t\t\t\t\t\t\t\t\t'+l+'\t\t\t\t\t\t\t\t\t<table>\t\t\t\t\t\t\t\t\t\t<tr>\t\t\t\t\t\t\t\t\t\t\t<td style="width:20%;text-align: left">'+lumise.i(182)+"</td>\t\t\t\t\t\t\t\t\t\t\t<td>"+lumise.fn.price(i.base-lumise.cart.price.attr)+'</td>\t\t\t\t\t\t\t\t\t\t</tr>\t\t\t\t\t\t\t\t\t\t<tr>\t\t\t\t\t\t\t\t\t\t\t<td style="width:20%;text-align: left">'+lumise.i(199)+"</td>\t\t\t\t\t\t\t\t\t\t\t<td>"+lumise.fn.price(lumise.cart.price.attr)+'</td>\t\t\t\t\t\t\t\t\t\t</tr>\t\t\t\t\t\t\t\t\t\t<tr>\t\t\t\t\t\t\t\t\t\t\t<td style="width:20%;text-align: left">'+lumise.i(91)+"</td>\t\t\t\t\t\t\t\t\t\t\t<td>"+lumise.fn.price(i.template)+'</td>\t\t\t\t\t\t\t\t\t\t</tr>\t\t\t\t\t\t\t\t\t\t<tr>\t\t\t\t\t\t\t\t\t\t\t<td style="width:20%;text-align: left">'+lumise.i(108)+"</td>\t\t\t\t\t\t\t\t\t\t\t<td>"+lumise.fn.price(lumise.cart.printing.calc(lumise.cart.qty))+(a?' &nbsp; <a href="#" data-print="'+s[0].id+'">'+lumise.i(68)+' <i class="lumisex-android-open"></i></a>':"")+'</td>\t\t\t\t\t\t\t\t\t\t</tr>\t\t\t\t\t\t\t\t\t\t<tr>\t\t\t\t\t\t\t\t\t\t\t<td style="width:20%;text-align: left">'+lumise.i(183)+"</td>\t\t\t\t\t\t\t\t\t\t\t<td>"+lumise.fn.price(i.ext)+'</td>\t\t\t\t\t\t\t\t\t\t</tr>\t\t\t\t\t\t\t\t\t\t<tr>\t\t\t\t\t\t\t\t\t\t\t<td style="width:20%;text-align: left">'+lumise.i(74)+"</td>\t\t\t\t\t\t\t\t\t\t\t<td>"+lumise.fn.price(o)+" x "+lumise.cart.qty+"qty = <strong>"+lumise.fn.price(o*lumise.cart.qty)+"</strong></td>\t\t\t\t\t\t\t\t\t\t</tr>\t\t\t\t\t\t\t\t\t\t"+(0!==lumise.cart.price.fixed?'\t\t\t\t\t\t\t\t\t\t<tr>\t\t\t\t\t\t\t\t\t\t\t<td style="width:20%;text-align: left">'+lumise.i(198)+"</td>\t\t\t\t\t\t\t\t\t\t\t<td>"+lumise.i(74)+" + "+lumise.fn.price(lumise.cart.price.fixed)+" = <strong>"+lumise.fn.price(o*lumise.cart.qty+lumise.cart.price.fixed)+"</strong></td>\t\t\t\t\t\t\t\t\t\t</tr>\t\t\t\t\t\t\t\t\t\t":"")+"\t\t\t\t\t\t\t\t\t</table>\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t</div>"}),t("#lumise-formula-detail a[data-print]").on("click",(function(t){t.preventDefault(),lumise.fn.print_detail(this.getAttribute("data-print"))}))}}),"string"==typeof e.ext_attributes_callback)try{new Function("wrp",e.ext_attributes_callback)(i)}catch(t){console.log(t)}lumise.cart.calc(),lumise.trigger({el:t(".lumise-add-cart-btn"),events:{":click":"submit_cart"},submit_cart:function(e){var i=t("#lumise-cart-form");i.find("input[name=data]").val(JSON.stringify(lumise.cart.data)),i.find("input[name=product]").val(lumise.data.product),i.submit()}}),lumise.actions.do("cart-render",i)}},validate_file:function(t){return-1!==["image/png","image/jpeg","image/gif","image/svg+xml","application/zip","text/plain",".docx"].indexOf(t.type)&&!(t.size>5242880)},slug:function(t,e){return null==e?encodeURIComponent(t):decodeURIComponent(t)},fields:{render:function(e){var i=lumise.data.attributes_cfg[e.type];if(void 0===i||void 0===i.render||""===i.render)return"";if("function"!=typeof i.frontend_render)try{i.frontend_render=Function("data","$","lumise",i.render)}catch(i){return t("<p>JS Error: field render <b>"+e.type+"</b> :: "+i.message+"</p>")}"quantity"==e.type&&(e.required=!0),"object"==typeof e.value&&(e.value=e.value[0]);let a=e.values;if("string"==typeof e.values)try{a=JSON.parse(e.values)}catch(t){}!0===e.use_variation&&(e.required=!0,e.values={options:[{value:"",title:lumise.i(178),price:""}]}),!0===e.use_variation&&"object"==typeof e.allows&&"object"==typeof a&&"object"==typeof a.options&&a.options.length>0&&(e.values.options=[],a.options.map((function(t){e.allows.indexOf(t.value)>-1&&e.values.options.push(t)}))),void 0===e.id&&(e.id=encodeURIComponent(e.name));var s=e.name,l=t('<div data-type="'+e.type+'" data-id="'+(void 0!==e.id?e.id:"")+'" class="lumise-cart-field field-inline'+(void 0!==e.classes?" "+e.classes:"")+'">\t\t\t\t\t\t\t<div class="lumise_form_group">\t\t\t\t\t\t\t\t<span class="lumise-cart-field-label">'+s+": "+(e.required?' <em class="required">*</em>':"")+'\t\t\t\t\t\t\t\t</span>\t\t\t\t\t\t\t\t<div class="lumise_form_content"></div>\t\t\t\t\t\t\t</div>\t\t\t\t\t\t</div>'),n=i.frontend_render(e,t,lumise);return l.find("div.lumise_form_content").append(n),l},printing:function(e){var i=t('<div class="lumise_radios">\t\t\t\t\t\t\t\t\t\t<div class="lumise-radio">\t\t\t\t                \t\t\t<input type="radio" class="lumise-cart-param" name="printing" value="1" id="" required>\t\t\t\t\t\t\t                <label class="lumise-cart-option-label" for=""></label>\t\t\t\t\t\t\t            </div>\t\t\t\t\t\t\t\t\t</div>'),a=i.find(".lumise-cart-field-label"),s=i.find(".lumise-cart-param");return a.html((e.label?e.label:e.title)+": "+(e.required?'<em class="required">*</em>':"")+' <em class="lumise-required-msg"></em>'),s.attr("name",e.name),e.required||s.removeAttr("required"),{el:i,inp:s,label:a}}},display:function(){var e=lumise.cart.get_price(!0);t(".lumise-product-price").html(lumise.fn.price(e[0].toFixed(2))),t("#lumise-product-attributes .lumise-product-price").append("<avg>\t\t\t\t\t\t<strong>"+lumise.i(156)+":</strong> "+lumise.fn.price((e[0]/e[1]).toFixed(1))+"/"+lumise.i(157)+"</avg>")},printing:{price:0,states_data:{},current:null,render:function(e){if(lumise.cart.printing.price=0,lumise.cart.printing.current=e||null,t("#lumise-cart-wrp .lumise-prints").html(""),lumise.data.printings&&0!==lumise.data.printings.length){var i=t('<div class="lumise-cart-field">\t\t\t\t\t\t<div class="lumise_form_group">\t\t\t\t\t\t\t<span class="lumise-cart-field-label">'+lumise.i(64)+' <em class="required">*</em></span>\t\t\t\t\t\t\t<div class="lumise_form_content">\t\t\t\t\t\t\t\t<div class="lumise_radios"></div>\t\t\t\t\t\t\t</div>\t\t\t\t\t\t</div>\t\t\t\t\t</div>');lumise.data.printings.map((function(e,a){e.thumbnail=e.thumbnail||lumise.data.assets+"assets/images/print-default.jpg";var s="lumise-printing-"+e.id,l=""!==e.description||void 0!==e.calculate.show_detail&&1==e.calculate.show_detail,n=t('<div class="lumise-radio">\t                \t\t\t<input type="radio" class="lumise-cart-param" name="printing" value="'+e.id+'" data-id="'+e.id+'" id="'+s+'" required>\t\t\t\t                <label class="lumise-cart-option-label" for="'+s+'">\t\t\t\t                \t<div class="lumise-cart-option-thumb">\t\t\t\t                \t\t<img src="'+e.thumbnail+'" alt="" />\t\t\t\t                \t</div>\t\t\t\t\t\t\t\t\t<div class="lumise-desc">\t\t\t\t\t\t\t\t\t\t<span>'+e.title+"</span>"+(l?' <a href="#" class="lumise-color lumise-print-detail" data-id="'+e.id+'">'+lumise.i(68)+"</a>":"")+"</div>\t\t\t\t                </label>\t\t\t\t\t\t\t</div>");lumise.trigger({el:n,events:{"a.lumise-print-detail":"price_table","input:change":"select_printing"},price_table:function(t){t.preventDefault(),lumise.fn.print_detail(this.getAttribute("data-id"))},select_printing:function(e){lumise.cart.printing.current=parseInt(t(this).val());var i={},a=null,s=lumise.data.printings.filter((function(t){return lumise.cart.printing.current==t.id}));if(s.length>0&&("string"==typeof(a=s[0]).resource&&(a.resource=lumise.fn.dejson(a.resource)),"object"==typeof a.resource&&(Object.keys(a.resource).map((function(t){if(a.resource[t].hasOwnProperty("options")&&"string"==typeof a.resource[t].options){let e=lumise.fn.dejson(a.resource[t].options);a.resource[t].options=e.active?e.values:{}}})),i=t.extend(!0,i,a.resource)),"object"==typeof a.layout&&a.layout.actions&&("string"==typeof a.layout.actions&&(a.layout.actions=a.layout.actions.split(",")),lumise.ops.thumbn_preview=-1!==a.layout.actions.indexOf("preview")),localStorage.setItem("LUMISE_PRINTING_CFG",JSON.stringify(i)),lumise.render.fonts()),null===sessionStorage.getItem("lumise_change_layout"))if(1==lumise.ops.first_completed){var l={printing:lumise.cart.printing.current};setTimeout((()=>{t(".lumise-cart-attributes .lumise-cart-param:not(.disabled)").serializeArray().map((function(t){l[t.name]=t.value}))}),1),lumise.f("Loading.."),t.ajax({url:lumise.data.ajax,method:"POST",data:{nonce:"LUMISE-SECURITY:"+lumise.data.nonce,ajax:"frontend",action:"load_layout",printing:lumise.cart.printing.current},dataType:"JSON",success:function(e){if(e){lumise.get.els={},lumise.ops.load_layout=!0,t.each(e,(function(e,i){"left"==e?(lumise.get.el(e).html(t(i).html()),t("#lumise-layers",lumise.get.el(e)).length>0&&(lumise.e.layers=t("#lumise-layers",lumise.get.el(e)))):"navigations"==e?t("<div/>").html(i).find("ul[data-block]").each((function(i){t("ul[data-block]",lumise.get.el(e)).eq(i).replaceWith(this)})):(lumise.get.el(e).html(i),"top-tools"==e&&jscolor.bind())})),lumise.design.events(),lumise.cart.init(),lumise.render.fonts(),sessionStorage.setItem("lumise_change_layout","changed");var i=lumise.fn.process_variations(l,null);void 0!==lumise.ops.product_data.ext_attributes&&(i.ext_attribute_name=lumise.ops.product_data.ext_attribute_name,i.ext_list_variation=lumise.ops.product_data.ext_list_variation,i.ext_attributes=lumise.ops.product_data.ext_attributes,i.ext_attributes_value=lumise.ops.product_data.ext_attributes_value,i.ext_attributes_callback=lumise.ops.product_data.ext_attributes_callback),lumise.render.product_attrs(i),lumise.layout_mobile(),lumise.f(!1),t("#lumise-left ul.lumise-left-nav>li[data-tab]").eq(1).click(),lumise.ops.load_layout=!1,lumise.actions.do("after-change-layout")}}})}else lumise.cart.calc();else sessionStorage.removeItem("lumise_change_layout")}}),"false"===sessionStorage.getItem("LUMISE-PRINT-DROPDOWN")&&(lumise.cart.printing.current=parseInt(e.id),lumise.cart.calc(),sessionStorage.setItem("LUMISE-PRINT-DROPDOWN","true")),sessionStorage["LUMISE-PRINT-VALUE"]&&lumise.data.printings.length>0&&t.each(lumise.data.printings,(function(t,e){e.id==sessionStorage["LUMISE-PRINT-VALUE"]&&(lumise.cart.printing.current=parseInt(sessionStorage.getItem("LUMISE-PRINT-VALUE")),lumise.cart.calc(),sessionStorage.removeItem("LUMISE-PRINT-VALUE"))})),i.find("div.lumise_radios").append(n)})),t(".lumise-prints").append(i),null===lumise.cart.printing.current&&lumise.data.printings.length>0&&(lumise.data.printings[0].active=!0,lumise.cart.printing.current=lumise.data.printings[0].id),null!==lumise.cart.printing.current&&t("#lumise-printing-"+lumise.cart.printing.current).trigger("click")}},calc:function(t){if(0==lumise.data.printings.length||null==lumise.cart.printing.current)return 0;var e=null,i={},a="",s=[],l=[],n=0,o=lumise.cart.printing.states_data,r="",u=-1,c=0,d=!1,m=lumise.data.printings.filter((function(t){return lumise.cart.printing.current==t.id}));if(!(m.length>0))return 0;if("string"==typeof(e=m[0]).calculate&&(e.calculate=lumise.fn.dejson(e.calculate)),r=e.calculate.type,i=e.calculate.values,d=e.calculate.cfgpricing,void 0===i)return 0;var p=0;for(var g in o)if(a=p,e.calculate.multi||(a=0),0!=(s=i[a=Object.keys(i)[a]]?Object.keys(i[a]):[]).length){s.sort((function(t,e){return parseInt(t)-parseInt(e)}));for(var f=0;f<s.length;f++)(!isNaN(s[f])&&parseInt(s[f])<t||isNaN(s[f])&&s[f].indexOf(">")>-1&&parseInt(s[f].replace(">",""))+1<=t)&&(u=f);for(var h in l=void 0!==s[u+1]?i[a][s[u+1]]:i[a][s[u]],c=0,o[g]){var v=o[g][h],b=h;if("color"==r&&"colors"==h&&o[g][h].length>0&&(v=1,b=void 0===l[b=o[g][h].length+"-color"]?"full-color":b,n+=void 0!==l[b=1==o[g][h].length&&"#ffffff"==o[g][h][0]?"white-base":b]&&d?o[g][h].length*parseFloat(l[b]):o[g][h].length*parseFloat(l.ppu)),"line"==r&&"line"==h&&"object"==typeof o[g][h])for(let t in o[g][h]){var _=parseInt(o[g][h][t]);n+=void 0!==l[x=o[g][h][t]+"-line"]&&d?_*parseFloat(l[x]):_*parseFloat(l.ppu)}if("character"==r&&"character"==h&&"object"==typeof o[g][h])for(let t in o[g][h]){var x,w=Object.values(o[g][h][t]).reduce(((t,e)=>t+e),0);n+=void 0!==l[x=w+"-character"]&&d?w*parseFloat(l[x]):w*parseFloat(l.ppu)}"color"!==r&&void 0!==l[b]&&(n+=(d?parseFloat(l[b]):parseFloat(l.ppu))*v),"array"!=typeof o[g][h]&&parseInt(o[g][h])>0&&c++}if("size"==r&&c>0&&"object"==typeof o[g].sizes){var y=o[g].sizes.size;n+=void 0!==y&&void 0!==l[y]?parseFloat(l[y]):parseFloat(l.ppu)}if("acreage"==r&&c>0&&"object"==typeof o[g].sizes){let t=o[g].sizes.width*o[g].sizes.height;n+=void 0!==l.price?t*parseFloat(l.price):0}"fixed"==r&&c>0&&void 0!==l.price&&(n+=parseFloat(l.price)),p++}return n}},edit_item:function(t,e){var i=JSON.parse(localStorage.getItem("LUMISE-CART-DATA"))[t];i&&(lumise.get.el("general-status").html('<span>\t\t\t\t\t\t\t<text><i class="lumisex-android-alert"></i> '+lumise.i(115)+'</text> \t\t\t\t\t\t\t<a href="#clear-designs" data-btn="cancel" data-func="clear-designs">\t\t\t\t\t\t\t\t'+lumise.i(185)+"\t\t\t\t\t\t\t</a>\t\t\t\t\t\t</span>"),lumise.actions.do("cart_edit",lumise.apply_filters("cart_edit",i)),delete data),e&&"function"==typeof e.preventDefault&&e.preventDefault()},do_checkout:function(t){void 0!==t&&"function"==typeof t.preventDefault&&t.preventDefault();var e=function(){try{var t=JSON.parse(localStorage.getItem("LUMISE-CART-DATA")),e=0,i=function(i){e++,t[i.id].design=i,e===Object.keys(t).length?!0===lumise.apply_filter("custom-checkout",!1)?lumise.do_action("custom-checkout",lumise.apply_filters("checkout",t)):lumise.actions.do("checkout",lumise.apply_filters("checkout",t)):lumise.f(!1)};lumise.f(lumise.i(44)),Object.keys(t).map((function(t){lumise.indexed.get(t,"cart",i)}))}catch(t){console.warn(t),console.log(t)}};if(""!==lumise.data.conditions){var i=lumise.fn.dejson(lumise.data.conditions).replace(/\>/g,"&gt;").replace(/\</g,"&lt;")+'<em><input type="checkbox" id="condition-agree" /> <label for="condition-agree">'+lumise.i(177)+' <font color="red">*</font></label></em>';lumise.fn.confirm({title:i,primary:{text:lumise.i(175),callback:function(t){if(!0!==lumise.get.el("confirm").find('input[type="checkbox"]').prop("checked"))return lumise.get.el("confirm").find('input[type="checkbox"]').shake(),!1;e()}},second:{}})}else e()}},load:function(){for(var e in this.html=document.querySelector("html"),this.body=document.querySelector("body"),this.fn.get_cookie("lumise-AID")||this.fn.set_cookie("lumise-AID",Math.random().toString(36).substr(2)),fabric.Object.prototype.set({cornerSize:"basic"==this.mode?14:22,borderColor:"rgba(205,205,205,0.5)",centeredRotation:!0,centeredScaling:!0,rotatingPointOffset:"basic"==this.mode?50:0}),this.extends.controls)fabric.Object.prototype[e]=this.extends.controls[e];for(var e in this.extends.canvas)fabric.Canvas.prototype[e]=this.extends.canvas[e];this.actions.add("object:selected",(function(t){var e=[],i=lumise.stage(),a=i.canvas.getActiveObject(),s=i.canvas.getActiveGroup();!0!==lumise.fn.ctrl_btns(t)&&(a?(e.push(i.canvas.getActiveObject()),lumise.tools.set()):s&&(e=s._objects,lumise.e.tools.attr({"data-view":"default"})),lumise.e.layers.find("li[data-id].active").removeClass("active"),0!==e.length&&(i.limit_zone.set("visible",!0),i.bleed&&(i.bleed.set("visible",!0),i.crop_marks.set("visible",!0)),e.forEach((function(t){!1!==t.selectable&&lumise.e.layers.find('li[data-id="'+t.id+'"]').addClass("active")}))))})),this.actions.add("object:added",(function(t){var e=new Date,i=t.target,a=lumise.stage();if(void 0===i.id?i.set("id",parseInt(e.getTime()/1e3).toString(36)+"-"+Math.random().toString(36).substr(2)):i.id.indexOf(":")>-1?i.set("id",i.id.replace(/\:/g,"-")):-1===i.id.indexOf("-")&&i.set("id",parseInt(e.getTime()/1e3).toString(36)+"-"+i.id),void 0===i.origin_src&&i._element&&i._element&&i.set("origin_src",i._element.src),"i-text"==i.type&&i.set("padding",5),!1!==i.evented){switch(i.type){case"i-text":i.set("thumbn",'<i class="lumisex-character layer-type" style="color:%color%;background:%bgcolor%"></i>');break;case"curvedText":i.set("thumbn",'<i class="lumisex-vector layer-type" style="color:%color%;background:%bgcolor%"></i>');break;case"image":lumise.fn.createThumbn({source:i.src,width:50,height:50,callback:function(t){i.set("thumbn",'<img class="layer-type" style="background:%color%" src="'+t.toDataURL("image/jpeg")+'" />'),void 0===i.colors&&i.set("colors",lumise.fn.count_colors(t,!0))}});break;case"qrcode":i.set("thumbn",'<i class="lumisex-qrcode-1 layer-type" style="color:%color%;background:%bgcolor%"></i>');break;case"path":i.set("thumbn",'<i class="lumise-icon-graph layer-type" style="color:%color%;background:%bgcolor%"></i>');break;case"svg":lumise.fn.createThumbn({source:i.src,width:24,height:24,callback:function(t){i.set("thumbn",'<img class="layer-type" style="background:%color%" src="'+t.toDataURL("image/jpeg",.5)+'" />')}});break;default:i.set("thumbn",'<i class="lumise-icon-picture layer-type" style="color:%color%;background:%bgcolor%"></i>')}lumise.fn.font_blob(i),a.bleed&&(a.canvas.bringToFront(a.bleed),setTimeout((()=>{a.canvas.setActiveObject(i).renderAll()}),150))}})),this.actions.add("object:remove",(function(){lumise.fn.update_state();var e=lumise.stage();e.screenshot=lumise.tools.toImage({stage:e,is_bg:"full",multiplier:1/window.devicePixelRatio}),t('#lumise-stage-nav img[data-stage="'+lumise.current_stage+'"]').attr({src:e.screenshot})})),this.actions.add("selection:cleared",(function(){lumise.e.tools.attr({"data-view":"standard"});let t=lumise.stage();lumise.stage().limit_zone.set("visible",!1),t.bleed&&(t.bleed.set("visible",!1),t.crop_marks.set("visible",!1))})),this.actions.add("key-move",(function(t){var e=lumise.stage().canvas,i=e.getActiveObject()||e.getActiveGroup();if(null!=i){var a=i.left,s=i.top;if(i){switch(t.preventDefault(),t.keyCode){case 37:a=i.left-(t.shiftKey?10:1);break;case 38:s=i.top-(t.shiftKey?10:1);break;case 39:a=i.left+(t.shiftKey?10:1);break;case 40:s=i.top+(t.shiftKey?10:1)}i.group_pos&&e.getObjects().map((function(t){t.group_pos&&t.id!=i.id&&t.set({left:t.left+(a-i.left),top:t.top+(s-i.top)})})),i.set({top:s,left:a}),e.renderAll()}}})),this.actions.add("key-enter",(function(t){return lumise.stage().canvas.deactivateAllWithDispatch().renderAll()})),this.actions.add("key-esc",(function(t){!0===lumise.stage().canvas.isDrawingMode&&lumise.get.el("discard-drawing").trigger("click")})),this.actions.add("ctrl-z",lumise.stack.back),this.actions.add("ctrl-shift-z",lumise.stack.forward),this.actions.add("ctrl-a",(function(t){if("INPUT"==t.target.tagName||null!==t.target.getAttribute("contenteditable"))return!0;var e=lumise.stage().canvas,i=e.getActiveGroup(),a=e.getObjects().filter((function(t){return!0===t.evented&&(void 0===t.imagebox||""===t.imagebox)&&(t.set("active",!0),!0)}));if(0===a.length||i&&i.getObjects().length==a.length)return t.preventDefault(),!1;var s=new fabric.Group(a,{originX:"center",originY:"center"});return e._activeObject=null,e.setActiveGroup(s.setCoords()).renderAll(),lumise.objects.events["mouse:up"](t),t.preventDefault(),!1})),this.actions.add("ctrl-d",(function(t){return lumise.fn.do_double(),t.preventDefault(),!1})),this.actions.add("ctrl+",(function(t){return lumise.get.el("zoom").val(parseInt(lumise.get.el("zoom").val())+20).trigger("input"),t.preventDefault(),!1})),this.actions.add("ctrl-",(function(t){return lumise.get.el("zoom").val(parseInt(lumise.get.el("zoom").val())-20).trigger("input"),t.preventDefault(),!1})),this.actions.add("ctrl-0",(function(t){return lumise.get.el("zoom").val(100).trigger("input"),t.preventDefault(),!1})),this.actions.add("ctrl-s",(function(t){return t.preventDefault(),""!==lumise.fn.url_var("cart","")?lumise.cart.add_cart(t):(lumise.design.my_designs.pre_save(),!1)})),this.actions.add("key-delete",(function(t){lumise.itemInStage("del");var e=lumise.stage().canvas,i=e.getActiveGroup()?e.getActiveGroup()._objects:e.getObjects(),a=[];i.map((function(t){!0===t.evented&&!0===t.active&&a.push(t)})),lumise.stack.save(),lumise.tools.discard(),a.map((function(t){let i=lumise.get.ptcfg_type(t);if(i&&null!=i.options.removable&&!i.options.removable)return!1;e.remove(t)})),e.renderAll(),lumise.stack.save(),lumise.design.layers.build(),lumise.actions.do("object:remove")})),this.actions.add("save",lumise.fn.update_state),this.actions.add("cart_edit",(function(e){t(".lumise-lightbox").remove(),lumise.indexed.get(e.id,"cart",(function(t){lumise.fn.load_product({id:e.product,cms:e.product_cms,printing:e.printing,options:e.options,template:e.template,stages:t.stages,callback:function(t){if(void 0===t.id)return lumise.f(!1),void lumise.fn.notice("ERROR_LOAD_PRODUCT","error",3500);lumise.get.el("general-status").html('<span>\t\t\t\t\t\t\t\t\t\t<text>\t\t\t\t\t\t\t\t\t\t\t<i class="lumisex-android-alert"></i> '+lumise.i(186)+" <strong>#"+e.id+'</strong></text>\t\t\t\t\t\t\t\t\t\t<a href="#cancel-design" data-btn="cancel" data-func="cancel-design">\t\t\t\t\t\t\t\t\t\t\t'+lumise.i(187)+"\t\t\t\t\t\t\t\t\t\t</a>\t\t\t\t\t\t\t\t\t</span>")}})})),lumise.fn.clear_url(),lumise.fn.set_url("cart",e.id),lumise.render.cart_change()})),this.actions.add("active_stage",(function(){var e=[],i="";if(void 0!==lumise.cart.printing.states_data[lumise.current_stage]){for(var a=lumise.cart.printing.states_data[lumise.current_stage].colors,s=0;s<6;s++)a[s]&&e.push(a[s]);a.length>6&&(i=a.length-6+"+")}t("#lumise-count-colors i").html(i).css({background:"linear-gradient(to right, "+e.join(", ")+")"}).attr({title:"Used "+i+" colors"})})),this.actions.add("db-ready",(function(){try{var t=JSON.parse(localStorage.getItem("LUMISE-CART-DATA"))}catch(e){t=null}var e=!1;if(""!==lumise.fn.url_var("cart","")&&(null!==t&&void 0!==t[lumise.fn.url_var("cart")]?e=!0:lumise.fn.notice(lumise.i(120),"error",3500)),!0===e)lumise.cart.edit_item(lumise.fn.url_var("cart"));else if(lumise.data.onload){lumise.f(lumise.i("importing")+".."),lumise.fn.set_url("cart",null);var i=function(){void 0!==lumise.data.share&&Object.keys(lumise.data.onload.stages).map((function(t){delete lumise.data.onload.stages[t].template})),lumise.render.product(lumise.data.onload),delete lumise.data.onload};if(lumise.data.onload.printings.length>0){let t={printing:sessionStorage["LUMISE-PRINT-VALUE"]?sessionStorage["LUMISE-PRINT-VALUE"]:lumise.data.onload.printings[0].id};lumise.render.layouts(t,(function(){setTimeout(i,300)}))}else setTimeout(i,100)}else""===lumise.fn.url_var("reorder","")&&lumise.get.el("no-product").length>0&&(lumise.f(!1),lumise.actions.do("noproduct"));void 0!==lumise.data.share_invalid&&lumise.fn.confirm({title:lumise.data.share_invalid,primary:{},second:{text:"Ok"},type:"error"});var a=localStorage.getItem("LUMISE-CART-DATA");a&&""!==a&&(a=Object.keys(JSON.parse(a)),lumise.indexed.list((function(t){-1===a.indexOf(t.id)&&lumise.indexed.delete(t.id,"cart")}),"cart",(function(t){"done"==t&&(lumise.ops.cart_cursor=null)})))})),this.actions.add("first-completed",(function(){if(""!=lumise.fn.url_var("cart",""))lumise.get.el("general-status").html('<span>\t\t\t\t\t\t\t<text><i class="lumisex-android-alert"></i> '+lumise.i(115)+'</text> \t\t\t\t\t\t\t<a href="#clear-designs" data-btn="cancel" data-func="clear-designs">\t\t\t\t\t\t\t\t'+lumise.i(185)+"\t\t\t\t\t\t\t</a>\t\t\t\t\t\t</span>");else if(""!==lumise.fn.url_var("order_print","")&&(t("#lumise-general-status").html('<span>\t\t\t\t\t\t\t<text>\t\t\t\t\t\t\t\t<i class="lumisex-android-alert"></i> '+lumise.i(122)+" #"+lumise.fn.url_var("order_print")+"</text>\t\t\t\t\t\t</span>"),""!==lumise.fn.url_var("design_print",""))){lumise.f("Loading..");var e=lumise.apply_filters("print-design-url",lumise.data.upload_url+"designs/"),i="string"==typeof e?e:lumise.data.upload_url+"designs/";t.ajax({url:i+decodeURIComponent(lumise.fn.url_var("design_print",""))+".lumi",method:"GET",dataType:"JSON",statusCode:{403:lumise.response.statusCode[403],404:function(){lumise.fn.notice(lumise.i(123),"error",3500),lumise.f(!1)},200:function(t){if(null===t)return lumise.fn.notice(lumise.i(166),"error",3500),void lumise.f(!1);lumise.fn.clear_url(["design_print","order_print"]),lumise.fn.load_product({id:t.product,cms:t.product_cms,printing:t.printing,options:t.options,template:t.template,stages:t.stages,callback:function(t){if(void 0===t.id)return lumise.f(!1),void lumise.fn.notice("ERROR_LOAD_PRODUCT","error",3500);lumise.get.el("general-status").html('<span>\t\t\t\t\t\t\t\t\t\t\t\t\t\t<text>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class="lumisex-android-alert"></i> '+lumise.i(192)+" <strong>#"+lumise.fn.url_var("order_print")+"</strong></text>\t\t\t\t\t\t\t\t\t\t\t\t\t</span>")}})}}})}t("#lumise-left ul.lumise-left-nav>li[data-tab]").eq(1).click()})),this.actions.add("cart-changed",(function(){""!==lumise.fn.url_var("cart","")&&t("#lumise-general-status").html('<span>\t\t\t\t\t\t<text>\t\t\t\t\t\t\t<i class="lumisex-android-alert"></i> '+lumise.i(116)+": "+lumise.fn.date("h:m d M, Y",(new Date).getTime())+'</text>\t\t\t\t\t\t<a href="#cancel-cart" data-btn="cancel" data-func="cancel-cart">\t\t\t\t\t\t\t'+lumise.i(117)+"\t\t\t\t\t\t</a>\t\t\t\t\t</span>")})),this.actions.add("add-cart",(function(){t("#lumise-general-status").html("<span>\t\t\t\t\t\t<text>"+lumise.i(118)+'!</text> \t\t\t\t\t\t<a href="#checkout">'+lumise.i(75)+' <i class="lumisex-android-arrow-forward"></i>\t\t\t\t\t\t</a>\t\t\t\t\t</span>'),t('#lumise-general-status a[href="#checkout"]').on("click",lumise.cart.do_checkout)})),this.actions.add("noproduct",(function(){t("#lumise-no-product").show(),lumise.fn.set_url("cart",null);var e=lumise.apply_filters("no-product");0!=e&&null!=e||lumise.get.el("change-product").trigger("click")})),this.actions.add("product",(function(t){var e=lumise.get.el("navigations").find('li[data-tool="print"][data-alwd]'),i=encodeURIComponent(lumise.fn.url_var("design_print",""));e.length>0&&e.attr("data-alwd")!=i&&e.remove()})),this.actions.add("updated",(function(){""===lumise.fn.url_var("cart","")&&""===lumise.fn.url_var("design_print","")&&lumise.get.el("general-status").html('<span>\t\t\t\t\t\t\t<text><i class="lumisex-android-alert"></i> '+lumise.i(189)+'</text>\t\t\t\t\t\t\t<a href="#save-design" data-func="save-design"><i class="lumisex-floppy"></i> '+lumise.i(190)+"</a>\t\t\t\t\t\t</span>")})),lumise.add_filter("lumise_image_object",(t=>{if(void 0!==t){if(void 0!==t.template&&"undefined"!==t.template&&0!=t.template.length||void 0!==t.type&&"i-text"==t.type||"text-fx"==t.type||"curvedText"==t.type)return t;var e=lumise.stage(),i=e.canvas,a=lumise.get.size(),s=a.w/(e.limit_zone.width-1),l="landscape"!=a.o?s:s*(i.width/i.height),n=lumise.get.ptcfg_type(t),o=.01,r=0,u=t.scaleX||1;n&&null!=n.options&&(null!=n.options.min_scale&&n.options.min_scale&&(o=o>parseFloat(n.options.min_scale)?o:parseFloat(n.options.min_scale)),null!=n.options.min_width&&n.options.min_width&&(u=parseFloat(n.options.min_width)/parseFloat(t.width*l*o)),null!=n.options.max_width&&""!=n.options.max_width&&(r=parseFloat(n.options.max_width)/parseFloat(t.width*l*o)),t.scaleX=0!==u&&u>o?u:o,0!==r&&(t.width=t.width<parseFloat(t.width*r)?t.width:parseFloat(t.width*r),t.height=t.width<parseFloat(t.width*r)?t.height:parseFloat(t.height*r)))}return t})),[["ctrl-o","import"],["ctrl-e","clear"],["ctrl-shift-s","saveas"],["ctrl-p","print"]].map((function(t){lumise.actions.add(t[0],(function(e){return lumise.get.el("navigations").find('li[data-tool="file"] li[data-func="'+t[1]+'"]').trigger("click"),e.preventDefault(),e.stopPropagation(),!1}))})),fabric.Object.prototype.originX=fabric.Object.prototype.originY="center",fabric.Object.prototype.transparentCorners=!1,window.LumiseDesign=null,window.indexedDB=window.indexedDB||window.webkitIndexedDB||window.mozIndexedDB||window.OIndexedDB||window.msIndexedDB,window.URL=window.URL||window.webkitURL,CanvasRenderingContext2D.prototype.roundRect=function(t,e,i,a,s){return i<2*s&&(s=i/2),a<2*s&&(s=a/2),this.beginPath(),this.moveTo(t+s,e),this.arcTo(t+i,e,t+i,e+a,s),this.arcTo(t+i,e+a,t,e+a,s),this.arcTo(t,e+a,t,e,s),this.arcTo(t,e,t+i,e,s),this.closePath(),this},window.addEventListener("message",(function(e){if(("https://services.lumise.com"==e.origin||e.origin==window.location.origin)&&e.data&&e.data.action)switch(e.data.action){case"close_lightbox":t("#lumise-lightbox").remove();break;case"import_image":var i=parseInt((new Date).getTime()/1e3).toString(36)+":"+Math.random().toString(36).substr(2);e.data.ops.name.indexOf("/")>-1&&(e.data.ops.name=e.data.ops.name.split("/").pop()),lumise.cliparts.import(i,e.data.ops,"prepend");break;case"add_image":lumise.fn.preset_import([{type:"image",url:e.data.url,user_upload:!0}]);break;case"preview_image":lumise.get.el("x-thumbn-preview").show().find(">div").html('<img src="'+e.data.ops.url+'" />'),lumise.get.el("x-thumbn-preview").find(">header").html(e.data.ops.name?e.data.ops.name:e.data.ops.url.split("/").pop().substr(0,50)),""!==e.data.ops.tags&&lumise.get.el("x-thumbn-preview").find(">footer").show().html(e.data.ops.tags);break;case"close_preview_image":lumise.get.el("x-thumbn-preview").hide();break;case"fonts":lumise.render.fonts(e.data.fonts);break;case"update-svg":var a=lumise.stage().canvas;if(active=a.getActiveObject(),null!==active){var s="data:image/svg+xml;base64,"+btoa(e.data.svg);active.set("origin_src",s),active.set("src",s),active._element.src=s,active._originalElement.src=s,active._element.onload=function(){a.renderAll()}}lumise.tools.lightbox("close")}})),window.addEventListener("popstate",(function(t,e){t&&(window.location=document.referrer,t.preventDefault())})),t(window).bind("beforeunload",(function(){if(lumise.ops.before_unload)return lumise.ops.before_unload})).on("touchstart",(function(e){t(e.target).hasClass("smooth")?this.smooth=e.target:this.smooth=t(e.target).closest(".smooth").get(0)})).on("touchmove",(function(t){return t.target===document?(t.preventDefault(),!1):!!(["INPUT","SELECT"].indexOf(t.target.tagName)>-1||this.smooth)||(t.preventDefault(),!1)})).on("load",(function(){lumise.mobile()})),this.design.events(),this.objects.icons.init(),fabric.util.addListener(fabric.window,"load",(function(){var t=this.__canvas||this.canvas,e=this.__canvases||this.canvases;if(t&&t.calcOffset&&t.calcOffset(),e&&e.length)for(var i=0,a=e.length;i<a;i++)e[i].calcOffset()})),this.render.colorPresets(),this.render.fonts(),this.cart.init(),jscolor.detectDir=function(){return lumise.data.assets+"/assets/images/"},jscolor.init(),delete jscolor.init,lumise.mobile()},init:function(e){t.ajax({url:lumise.data.ajax,method:"POST",data:t.extend(!0,{nonce:"LUMISE-INIT:"+e,ajax:"frontend",action:"init",product_base:lumise.fn.url_var("product_base",""),product_cms:lumise.fn.url_var("product_cms",""),share:lumise.fn.url_var("share",""),quantity:lumise.fn.url_var("quantity","1")},lumise.fn.url_attr()),dataType:"JSON",success:function(e){if(void 0!==e.custom_js&&""!==e.custom_js){try{Function("lumise",e.custom_js)(lumise)}catch(t){}delete e.custom_js}t.extend(lumise.data,e),lumise.load(),null!==lumise.indexed.db&&"function"==typeof lumise.indexed.onDBReady&&lumise.indexed.onDBReady(),void 0!==e.onload&&void 0!==e.onload.id&&-1!=e.onload.id.toString().indexOf("variable")&&lumise.data.calc_formula}})}},lumise.indexed.init(),lumise.data=Object.assign({},lumise.data,lumise_app_params),lumise.init(lumise.data.lumise_app_nonce)}));