refactoring, use Handlebars instead of jQuery objects, updated toolbar styles

This commit is contained in:
Bala Clark 2013-05-02 22:26:33 +02:00
parent fa5e67d9cf
commit ad2ad4f379
23 changed files with 1151 additions and 267 deletions

78
lib/ComicBook.min.js vendored
View file

@ -1,39 +1,41 @@
var Pixastic=function(){function g(a,c,o){a.addEventListener?a.addEventListener(c,o,!1):a.attachEvent&&a.attachEvent("on"+c,o)}function f(a){var c=!1,o=function(){c||(c=!0,a())};document.write('<script defer src="//:" id="__onload_ie_pixastic__"><\/script>');var e=document.getElementById("__onload_ie_pixastic__");e.onreadystatechange=function(){e.readyState=="complete"&&(e.parentNode.removeChild(e),o())};document.addEventListener&&document.addEventListener("DOMContentLoaded",o,!1);g(window,"load",
o)}function h(){for(var a=b("pixastic",null,"img"),c=b("pixastic",null,"canvas"),o=a.concat(c),e=0;e<o.length;e++)(function(){for(var a=o[e],c=[],d=a.className.split(" "),f=0;f<d.length;f++){var b=d[f];b.substring(0,9)=="pixastic-"&&(b=b.substring(9),b!=""&&c.push(b))}if(c.length)if(a.tagName.toLowerCase()=="img")if(d=new Image,d.src=a.src,d.complete)for(d=0;d<c.length;d++)(f=Pixastic.applyAction(a,a,c[d],null))&&(a=f);else d.onload=function(){for(var e=0;e<c.length;e++){var d=Pixastic.applyAction(a,
a,c[e],null);d&&(a=d)}};else setTimeout(function(){for(var e=0;e<c.length;e++){var d=Pixastic.applyAction(a,a,c[e],null);d&&(a=d)}},1)})()}function b(a,c,d){var e=[];c==null&&(c=document);d==null&&(d="*");c=c.getElementsByTagName(d);d=c.length;a=RegExp("(^|\\s)"+a+"(\\s|$)");for(i=0,j=0;i<d;i++)a.test(c[i].className)&&(e[j]=c[i],j++);return e}function m(a,c){if(Pixastic.debug)try{switch(c){case "warn":console.warn("Pixastic:",a);break;case "error":console.error("Pixastic:",a);break;default:console.log("Pixastic:",
a)}}catch(d){}}typeof pixastic_parseonload!="undefined"&&pixastic_parseonload&&f(h);var k=function(){var a=document.createElement("canvas"),c=!1;try{c=!!(typeof a.getContext=="function"&&a.getContext("2d"))}catch(d){}return function(){return c}}(),l=function(){var a=document.createElement("canvas"),c=!1,d;try{if(typeof a.getContext=="function"&&(d=a.getContext("2d")))c=typeof d.getImageData=="function"}catch(e){}return function(){return c}}(),d=function(){var a=!1,c=document.createElement("canvas");
if(k()&&l()){c.width=c.height=1;c=c.getContext("2d");c.fillStyle="rgb(255,0,0)";c.fillRect(0,0,1,1);var d=document.createElement("canvas");d.width=d.height=1;var e=d.getContext("2d");e.fillStyle="rgb(0,0,255)";e.fillRect(0,0,1,1);c.globalAlpha=0.5;c.drawImage(d,0,0);a=c.getImageData(0,0,1,1).data[2]!=255}return function(){return a}}();return{parseOnLoad:!1,debug:!1,applyAction:function(a,c,d,e){var e=e||{},f=a.tagName.toLowerCase()=="canvas";if(f&&Pixastic.Client.isIE())return Pixastic.debug&&m("Tried to process a canvas element but browser is IE."),
!1;var b,g,h=!1;Pixastic.Client.hasCanvas()&&(h=!!e.resultCanvas,b=e.resultCanvas||document.createElement("canvas"),g=b.getContext("2d"));var k=a.offsetWidth,l=a.offsetHeight;if(f)k=a.width,l=a.height;if(k==0||l==0)if(a.parentNode==null){var q=a.style.position,r=a.style.left;a.style.position="absolute";a.style.left="-9999px";document.body.appendChild(a);k=a.offsetWidth;l=a.offsetHeight;document.body.removeChild(a);a.style.position=q;a.style.left=r}else{Pixastic.debug&&m("Image has 0 width and/or height.");
return}if(d.indexOf("(")>-1&&(q=d,d=q.substr(0,q.indexOf("(")),q=q.match(/\((.*?)\)/),q[1])){q=q[1].split(";");for(r=0;r<q.length;r++)if(thisArg=q[r].split("="),thisArg.length==2)if(thisArg[0]=="rect"){var n=thisArg[1].split(",");e[thisArg[0]]={left:parseInt(n[0],10)||0,top:parseInt(n[1],10)||0,width:parseInt(n[2],10)||0,height:parseInt(n[3],10)||0}}else e[thisArg[0]]=thisArg[1]}e.rect?(e.rect.left=Math.round(e.rect.left),e.rect.top=Math.round(e.rect.top),e.rect.width=Math.round(e.rect.width),e.rect.height=
Math.round(e.rect.height)):e.rect={left:0,top:0,width:k,height:l};q=!1;Pixastic.Actions[d]&&typeof Pixastic.Actions[d].process=="function"&&(q=!0);if(!q)return Pixastic.debug&&m('Invalid action "'+d+'". Maybe file not included?'),!1;if(!Pixastic.Actions[d].checkSupport())return Pixastic.debug&&m('Action "'+d+'" not supported by this browser.'),!1;if(Pixastic.Client.hasCanvas()){if(b!==a)b.width=k,b.height=l;if(!h)b.style.width=k+"px",b.style.height=l+"px";g.drawImage(c,0,0,k,l);a.__pixastic_org_image?
(b.__pixastic_org_image=a.__pixastic_org_image,b.__pixastic_org_width=a.__pixastic_org_width,b.__pixastic_org_height=a.__pixastic_org_height):(b.__pixastic_org_image=a,b.__pixastic_org_width=k,b.__pixastic_org_height=l)}else if(Pixastic.Client.isIE()&&typeof a.__pixastic_org_style=="undefined")a.__pixastic_org_style=a.style.cssText;c={image:a,canvas:b,width:k,height:l,useData:!0,options:e};if(!Pixastic.Actions[d].process(c))return!1;if(Pixastic.Client.hasCanvas()){c.useData&&Pixastic.Client.hasCanvasImageData()&&
(b.getContext("2d").putImageData(c.canvasData,e.rect.left,e.rect.top),b.getContext("2d").fillRect(0,0,0,0));if(!e.leaveDOM){b.title=a.title;b.imgsrc=a.imgsrc;if(!f)b.alt=a.alt;if(!f)b.imgsrc=a.src;b.className=a.className;b.style.cssText=a.style.cssText;b.name=a.name;b.tabIndex=a.tabIndex;b.id=a.id;a.parentNode&&a.parentNode.replaceChild&&a.parentNode.replaceChild(b,a)}return e.resultCanvas=b}return a},prepareData:function(a,c){var d=a.canvas.getContext("2d"),b=a.options.rect,d=d.getImageData(b.left,
b.top,b.width,b.height),b=d.data;if(!c)a.canvasData=d;return b},process:function(a,c,d,b){if(a.tagName.toLowerCase()=="img"){var f=new Image;f.src=a.src;if(f.complete){var g=Pixastic.applyAction(a,f,c,d);b&&b(g);return g}else f.onload=function(){var g=Pixastic.applyAction(a,f,c,d);b&&b(g)}}if(a.tagName.toLowerCase()=="canvas")return g=Pixastic.applyAction(a,a,c,d),b&&b(g),g},revert:function(a){if(Pixastic.Client.hasCanvas()){if(a.tagName.toLowerCase()=="canvas"&&a.__pixastic_org_image)return a.width=
a.__pixastic_org_width,a.height=a.__pixastic_org_height,a.getContext("2d").drawImage(a.__pixastic_org_image,0,0),a.parentNode&&a.parentNode.replaceChild&&a.parentNode.replaceChild(a.__pixastic_org_image,a),a}else if(Pixastic.Client.isIE()&&typeof a.__pixastic_org_style!="undefined")a.style.cssText=a.__pixastic_org_style},Client:{hasCanvas:k,hasCanvasImageData:l,hasGlobalAlpha:d,isIE:function(){return!!document.all&&!!window.attachEvent&&!window.opera}},Actions:{}}}();
Pixastic.Actions.brightness={process:function(g){var f=parseInt(g.options.brightness,10)||0,h=parseFloat(g.options.contrast)||0,b=!!(g.options.legacy&&g.options.legacy!="false");if(b)f=Math.min(150,Math.max(-150,f));else var m=1+Math.min(150,Math.max(-150,f))/150;h=Math.max(0,h+1);if(Pixastic.Client.hasCanvasImageData()){var k=Pixastic.prepareData(g),g=g.options.rect,g=g.width*g.height,l=g*4,d,a;h!=1?b?(b=h,f=(f-128)*h+128):(b=m*h,f=-h*128+128):b?b=1:(b=m,f=0);for(var c,o,e;g--;)k[l]=(c=k[l-=4]*b+
f)>255?255:c<0?0:c,k[d]=(o=k[d=l+1]*b+f)>255?255:o<0?0:o,k[a]=(e=k[a=l+2]*b+f)>255?255:e<0?0:e;return!0}},checkSupport:function(){return Pixastic.Client.hasCanvasImageData()}};
Pixastic.Actions.desaturate={process:function(g){var f=!!(g.options.average&&g.options.average!="false");if(Pixastic.Client.hasCanvasImageData()){var h=Pixastic.prepareData(g),g=g.options.rect,g=g.width*g.height,b=g*4,m,k;if(f)for(;g--;)h[b-=4]=h[m=b+1]=h[k=b+2]=(h[b]+h[m]+h[k])/3;else for(;g--;)h[b-=4]=h[m=b+1]=h[k=b+2]=h[b]*0.3+h[m]*0.59+h[k]*0.11;return!0}else if(Pixastic.Client.isIE())return g.image.style.filter+=" gray",!0},checkSupport:function(){return Pixastic.Client.hasCanvasImageData()||
var Pixastic=function(){function c(g,e,b){g.addEventListener?g.addEventListener(e,b,!1):g.attachEvent&&g.attachEvent("on"+e,b)}function d(g){var b=!1,a=function(){b||(b=!0,g())};document.write('<script defer src="//:" id="__onload_ie_pixastic__"><\/script>');var p=document.getElementById("__onload_ie_pixastic__");p.onreadystatechange=function(){p.readyState=="complete"&&(p.parentNode.removeChild(p),a())};document.addEventListener&&document.addEventListener("DOMContentLoaded",a,!1);c(window,"load",
a)}function a(){for(var g=b("pixastic",null,"img"),a=b("pixastic",null,"canvas"),c=g.concat(a),p=0;p<c.length;p++)(function(){for(var g=c[p],b=[],a=g.className.split(" "),e=0;e<a.length;e++){var d=a[e];d.substring(0,9)=="pixastic-"&&(d=d.substring(9),d!=""&&b.push(d))}if(b.length)if(g.tagName.toLowerCase()=="img")if(a=new Image,a.src=g.src,a.complete)for(a=0;a<b.length;a++)(e=Pixastic.applyAction(g,g,b[a],null))&&(g=e);else a.onload=function(){for(var a=0;a<b.length;a++){var e=Pixastic.applyAction(g,
g,b[a],null);e&&(g=e)}};else setTimeout(function(){for(var a=0;a<b.length;a++){var e=Pixastic.applyAction(g,g,b[a],null);e&&(g=e)}},1)})()}function b(g,a,b){var c=[];a==null&&(a=document);b==null&&(b="*");a=a.getElementsByTagName(b);b=a.length;g=RegExp("(^|\\s)"+g+"(\\s|$)");for(i=0,j=0;i<b;i++)g.test(a[i].className)&&(c[j]=a[i],j++);return c}function h(g,a){if(Pixastic.debug)try{switch(a){case "warn":console.warn("Pixastic:",g);break;case "error":console.error("Pixastic:",g);break;default:console.log("Pixastic:",
g)}}catch(b){}}typeof pixastic_parseonload!="undefined"&&pixastic_parseonload&&d(a);var m=function(){var a=document.createElement("canvas"),b=!1;try{b=!!(typeof a.getContext=="function"&&a.getContext("2d"))}catch(c){}return function(){return b}}(),l=function(){var a=document.createElement("canvas"),b=!1,c;try{if(typeof a.getContext=="function"&&(c=a.getContext("2d")))b=typeof c.getImageData=="function"}catch(d){}return function(){return b}}(),f=function(){var a=!1,b=document.createElement("canvas");
if(m()&&l()){b.width=b.height=1;b=b.getContext("2d");b.fillStyle="rgb(255,0,0)";b.fillRect(0,0,1,1);var c=document.createElement("canvas");c.width=c.height=1;var d=c.getContext("2d");d.fillStyle="rgb(0,0,255)";d.fillRect(0,0,1,1);b.globalAlpha=0.5;b.drawImage(c,0,0);a=b.getImageData(0,0,1,1).data[2]!=255}return function(){return a}}();return{parseOnLoad:!1,debug:!1,applyAction:function(a,b,c,d){var d=d||{},f=a.tagName.toLowerCase()=="canvas";if(f&&Pixastic.Client.isIE())return Pixastic.debug&&h("Tried to process a canvas element but browser is IE."),
!1;var k,m,l=!1;Pixastic.Client.hasCanvas()&&(l=!!d.resultCanvas,k=d.resultCanvas||document.createElement("canvas"),m=k.getContext("2d"));var s=a.offsetWidth,r=a.offsetHeight;if(f)s=a.width,r=a.height;if(s==0||r==0)if(a.parentNode==null){var n=a.style.position,t=a.style.left;a.style.position="absolute";a.style.left="-9999px";document.body.appendChild(a);s=a.offsetWidth;r=a.offsetHeight;document.body.removeChild(a);a.style.position=n;a.style.left=t}else{Pixastic.debug&&h("Image has 0 width and/or height.");
return}if(c.indexOf("(")>-1&&(n=c,c=n.substr(0,n.indexOf("(")),n=n.match(/\((.*?)\)/),n[1])){n=n[1].split(";");for(t=0;t<n.length;t++)if(thisArg=n[t].split("="),thisArg.length==2)if(thisArg[0]=="rect"){var o=thisArg[1].split(",");d[thisArg[0]]={left:parseInt(o[0],10)||0,top:parseInt(o[1],10)||0,width:parseInt(o[2],10)||0,height:parseInt(o[3],10)||0}}else d[thisArg[0]]=thisArg[1]}d.rect?(d.rect.left=Math.round(d.rect.left),d.rect.top=Math.round(d.rect.top),d.rect.width=Math.round(d.rect.width),d.rect.height=
Math.round(d.rect.height)):d.rect={left:0,top:0,width:s,height:r};n=!1;Pixastic.Actions[c]&&typeof Pixastic.Actions[c].process=="function"&&(n=!0);if(!n)return Pixastic.debug&&h('Invalid action "'+c+'". Maybe file not included?'),!1;if(!Pixastic.Actions[c].checkSupport())return Pixastic.debug&&h('Action "'+c+'" not supported by this browser.'),!1;if(Pixastic.Client.hasCanvas()){if(k!==a)k.width=s,k.height=r;if(!l)k.style.width=s+"px",k.style.height=r+"px";m.drawImage(b,0,0,s,r);a.__pixastic_org_image?
(k.__pixastic_org_image=a.__pixastic_org_image,k.__pixastic_org_width=a.__pixastic_org_width,k.__pixastic_org_height=a.__pixastic_org_height):(k.__pixastic_org_image=a,k.__pixastic_org_width=s,k.__pixastic_org_height=r)}else if(Pixastic.Client.isIE()&&typeof a.__pixastic_org_style=="undefined")a.__pixastic_org_style=a.style.cssText;b={image:a,canvas:k,width:s,height:r,useData:!0,options:d};if(!Pixastic.Actions[c].process(b))return!1;if(Pixastic.Client.hasCanvas()){b.useData&&Pixastic.Client.hasCanvasImageData()&&
(k.getContext("2d").putImageData(b.canvasData,d.rect.left,d.rect.top),k.getContext("2d").fillRect(0,0,0,0));if(!d.leaveDOM){k.title=a.title;k.imgsrc=a.imgsrc;if(!f)k.alt=a.alt;if(!f)k.imgsrc=a.src;k.className=a.className;k.style.cssText=a.style.cssText;k.name=a.name;k.tabIndex=a.tabIndex;k.id=a.id;a.parentNode&&a.parentNode.replaceChild&&a.parentNode.replaceChild(k,a)}return d.resultCanvas=k}return a},prepareData:function(a,b){var c=a.canvas.getContext("2d"),d=a.options.rect,c=c.getImageData(d.left,
d.top,d.width,d.height),d=c.data;if(!b)a.canvasData=c;return d},process:function(a,b,c,d){if(a.tagName.toLowerCase()=="img"){var f=new Image;f.src=a.src;if(f.complete){var h=Pixastic.applyAction(a,f,b,c);d&&d(h);return h}else f.onload=function(){var h=Pixastic.applyAction(a,f,b,c);d&&d(h)}}if(a.tagName.toLowerCase()=="canvas")return h=Pixastic.applyAction(a,a,b,c),d&&d(h),h},revert:function(a){if(Pixastic.Client.hasCanvas()){if(a.tagName.toLowerCase()=="canvas"&&a.__pixastic_org_image)return a.width=
a.__pixastic_org_width,a.height=a.__pixastic_org_height,a.getContext("2d").drawImage(a.__pixastic_org_image,0,0),a.parentNode&&a.parentNode.replaceChild&&a.parentNode.replaceChild(a.__pixastic_org_image,a),a}else if(Pixastic.Client.isIE()&&typeof a.__pixastic_org_style!="undefined")a.style.cssText=a.__pixastic_org_style},Client:{hasCanvas:m,hasCanvasImageData:l,hasGlobalAlpha:f,isIE:function(){return!!document.all&&!!window.attachEvent&&!window.opera}},Actions:{}}}();
Pixastic.Actions.brightness={process:function(c){var d=parseInt(c.options.brightness,10)||0,a=parseFloat(c.options.contrast)||0,b=!!(c.options.legacy&&c.options.legacy!="false");if(b)d=Math.min(150,Math.max(-150,d));else var h=1+Math.min(150,Math.max(-150,d))/150;a=Math.max(0,a+1);if(Pixastic.Client.hasCanvasImageData()){var m=Pixastic.prepareData(c),c=c.options.rect,c=c.width*c.height,l=c*4,f,g;a!=1?b?(b=a,d=(d-128)*a+128):(b=h*a,d=-a*128+128):b?b=1:(b=h,d=0);for(var e,x,p;c--;)m[l]=(e=m[l-=4]*b+
d)>255?255:e<0?0:e,m[f]=(x=m[f=l+1]*b+d)>255?255:x<0?0:x,m[g]=(p=m[g=l+2]*b+d)>255?255:p<0?0:p;return!0}},checkSupport:function(){return Pixastic.Client.hasCanvasImageData()}};
Pixastic.Actions.desaturate={process:function(c){var d=!!(c.options.average&&c.options.average!="false");if(Pixastic.Client.hasCanvasImageData()){var a=Pixastic.prepareData(c),c=c.options.rect,c=c.width*c.height,b=c*4,h,m;if(d)for(;c--;)a[b-=4]=a[h=b+1]=a[m=b+2]=(a[b]+a[h]+a[m])/3;else for(;c--;)a[b-=4]=a[h=b+1]=a[m=b+2]=a[b]*0.3+a[h]*0.59+a[m]*0.11;return!0}else if(Pixastic.Client.isIE())return c.image.style.filter+=" gray",!0},checkSupport:function(){return Pixastic.Client.hasCanvasImageData()||
Pixastic.Client.isIE()}};
Pixastic.Actions.sharpen={process:function(g){var f=0;typeof g.options.amount!="undefined"&&(f=parseFloat(g.options.amount)||0);f<0&&(f=0);f>1&&(f=1);if(Pixastic.Client.hasCanvasImageData()){for(var h=Pixastic.prepareData(g),b=Pixastic.prepareData(g,!0),m=15,f=1+3*f,k=[[0,-f,0],[-f,m,-f],[0,-f,0]],l=0,d=0;d<3;d++)for(var a=0;a<3;a++)l+=k[d][a];l=1/l;k=g.options.rect;g=k.width;k=k.height;m*=l;f*=l;l=g*4;d=k;do{var a=(d-1)*l,c=(d==1?0:d-2)*l,o=(d==k?d-1:d)*l,e=g;do{var p=a+(e*4-4),u=c+(e==1?0:e-2)*
4,s=o+(e==g?e-1:e)*4,t=(-b[u]-b[p-4]-b[p+4]-b[s])*f+b[p]*m,w=(-b[u+1]-b[p-3]-b[p+5]-b[s+1])*f+b[p+1]*m,u=(-b[u+2]-b[p-2]-b[p+6]-b[s+2])*f+b[p+2]*m;t<0&&(t=0);w<0&&(w=0);u<0&&(u=0);t>255&&(t=255);w>255&&(w=255);u>255&&(u=255);h[p]=t;h[p+1]=w;h[p+2]=u}while(--e)}while(--d);return!0}},checkSupport:function(){return Pixastic.Client.hasCanvasImageData()}};function merge(g,f){var h;typeof f==="undefined"&&(f={});for(h in g)g.hasOwnProperty(h)&&!(h in f)&&(f[h]=g[h]);return f}
var ComicBookException={INVALID_PAGE:"invalid page",INVALID_PAGE_TYPE:"invalid page type",UNDEFINED_CONTROL:"undefined control",INVALID_ZOOM_MODE:"invalid zoom mode",INVALID_NAVIGATION_EVENT:"invalid navigation event"};
function ComicBook(g,f,h){function b(){var a=window.innerHeight+1;r===!1&&(r=$(document.createElement("div")).attr("id","cb-width-shiv").css({width:"100%",position:"absolute",top:0,zIndex:"-1000"}),$("body").append(r));r.height(a);return r.innerWidth()}function m(){var a=k();a!==n&&s.indexOf(a)>-1&&(n=a,d.draw())}function k(){var a=parseInt(location.hash.substring(1),10)-1||0;if(a<0)a=location.hash=0;return a}function l(){p=document.getElementById(a);u=p.getContext("2d");x===!1&&(d.renderControls(),
x=!0);p.addEventListener("click",d.navigation,!1);window.addEventListener("keydown",d.navigation,!1);window.addEventListener("hashchange",m,!1)}var d=this,a=g;this.srcs=f;var c=merge({displayMode:"double",zoomMode:"fitWidth",manga:!1,enhance:{},keyboard:{next:78,previous:80,toolbar:84,toggleLayout:76}},h),o=f.length,e=[],p,u,s=[],t=1,w=!1,x=!1,q=!1,r=!1,g=k(),n=g<f.length?g:0;ComicBook.prototype.control={status:$(document.createElement("div")).attr("id","cb-status").addClass("cb-control cb-always-on").append($(document.createElement("div")).attr("id",
"cb-progress-bar").progressbar()),toolbar:$(document.createElement("div")).attr("id","cb-toolbar").addClass("cb-control").append($(document.createElement("button")).attr("title","close the toolbar").addClass("cb-close").click(function(){d.toggleToolbar()})).append($(document.createElement("button")).attr("title","switch between dual and single page modes").addClass("cb-layout "+c.displayMode).click(function(){d.toggleLayout()})).append($(document.createElement("button")).attr("title","tweak the page colors").addClass("cb-color cb-menu-button").click(function(){d.toggleControl("color")})).append($(document.createElement("button")).attr("title",
"zoom out").addClass("cb-zoom-out").click(function(){d.zoom(t-0.1)})).append($(document.createElement("button")).attr("title","zoom in").addClass("cb-zoom-in").click(function(){d.zoom(t+0.1)})).append($(document.createElement("button")).attr("title","fit to page width").addClass("cb-fit-width").click(function(){c.zoomMode="fitWidth";d.drawPage()})).append($(document.createElement("p")).attr("id","cb-comic-info").append("<span id='cb-current-page'></span> / "+f.length)),color:$(document.createElement("div")).attr("id",
"cb-color").addClass("cb-control").append("<label for='cb-sharpen'>Brightness</label>").append($("<div id='cb-brightness' class='cb-option'></div>").slider({value:0,step:10,min:-1E3,max:1E3,change:function(a,c){d.enhance.brightness({brightness:c.value})}})).append("<label for='cb-sharpen'>Contrast</label>").append($("<div id='cb-contrast' class='cb-option'></div>").slider({value:0,step:0.0010,min:0,max:1,change:function(a,c){d.enhance.brightness({contrast:c.value})}})).append("<label for='cb-sharpen'>Sharpen</label>").append($("<div id='cb-sharpen' class='cb-option'></div>").slider({value:0,
step:0.0010,min:0,max:1,change:function(a,c){d.enhance.sharpen({amount:c.value})}})).append($(document.createElement("div")).addClass("cb-option").append("<input type='checkbox' id='cb-desaturate' /> <label for='cb-desaturate'>Desaturate</label>").append("<button id='cb-reset'>reset</button>")),navigation:{left:$(document.createElement("div")).addClass("cb-control cb-navigate cb-always-on left").click(function(){d.drawPrevPage()}),right:$(document.createElement("div")).addClass("cb-control cb-navigate cb-always-on right").click(function(){d.drawNextPage()})},
loadingOverlay:$(document.createElement("div")).attr("id","cb-loading-overlay").addClass("cb-control")};ComicBook.prototype.renderControls=function(){$(p).before(this.getControl("loadingOverlay")).before(this.getControl("status")).after(this.getControl("toolbar")).after(this.getControl("navigation").left).after(this.getControl("navigation").right).after(this.getControl("color").hide());$(".cb-menu-button").click(function(){$(this).toggleClass("active")});$("#cb-desaturate").click(function(){$(this).is(":checked")?
d.enhance.desaturate():d.enhance.resaturate()});$("#cb-reset").click(function(){$("#cb-brightness").slider("value",0);$("#cb-contrast").slider("value",0);$("#cb-saturation").slider("value",0);$("#cb-sharpen").slider("value",0);$("#cb-desaturate").attr("checked",!1);d.enhance.reset()})};ComicBook.prototype.getControl=function(a){if(typeof this.control[a]==="undefined")throw ComicBookException.UNDEFINED_CONTROL+" "+a;return this.control[a]};ComicBook.prototype.showControl=function(a){this.getControl(a).show().addClass("open")};
ComicBook.prototype.hideControl=function(a){this.getControl(a).removeClass("open").hide()};ComicBook.prototype.toggleControl=function(a){this.getControl(a).toggle().toggleClass("open")};ComicBook.prototype.toggleToolbar=function(){$("#cb-toolbar").is(":visible")?$(".cb-control").not(".cb-always-on").hide():$("#cb-toolbar, .cb-control.open").show()};ComicBook.prototype.toggleLayout=function(){c.displayMode==="double"?($("#cb-toolbar .cb-layout").removeClass("double"),c.displayMode="single"):($("#cb-toolbar .cb-layout").removeClass("single"),
c.displayMode="double");$("#cb-toolbar .cb-layout").addClass(c.displayMode);d.drawPage()};ComicBook.prototype.getPage=function(a){if(a<0||a>f.length-1)throw ComicBookException.INVALID_PAGE+" "+a;if(typeof e[a]==="object")return e[a];else q=a,this.showControl("loadingOverlay")};ComicBook.prototype.draw=function(){l();$(".cb-control.cb-navigate").outerHeight(window.innerHeight);$("#cb-toolbar").outerWidth(b());$("#cb-loading-overlay").outerWidth(b()).height(window.innerHeight);e.length!==o?this.preload():
this.drawPage()};ComicBook.prototype.zoom=function(a){c.zoomMode="manual";t=a;typeof this.getPage(n)==="object"&&this.drawPage()};ComicBook.prototype.preload=function(){function a(b){var k=new Image;k.src=f[b];k.onload=function(){e[b]=this;s.push(b);$("#cb-progress-bar").progressbar("value",Math.floor(s.length/o*100));var k=c.displayMode==="double"&&n<f.length-1?1:0;if(g===!1&&$.inArray(n+k,s)!==-1||typeof q==="number"&&$.inArray(q,s)!==-1)typeof q==="number"&&(n=q-1,q=!1),d.drawPage(),d.hideControl("loadingOverlay"),
g=!0;h.length?(a(h[0]),h.splice(0,1)):$("#cb-status").delay(500).fadeOut()}}var b=n,g=!1,h=[];this.showControl("loadingOverlay");(function(c,d){for(var b=1,f=c,e=c-1;f<=d;)b>3&&e>-1?(h.push(e),e--,b=0):(h.push(f),f++),b++;for(;e>-1;)h.push(e),e--;a(h[0])})(b,f.length-1)};ComicBook.prototype.pageLoaded=function(a){return typeof s[a-1]!=="undefined"};ComicBook.prototype.drawPage=function(a,e){var g=(typeof e!=="undefined"?e:1)?0:window.scrollY;if(typeof a==="number"&&a<f.length&&a>0&&(n=a-1,!this.pageLoaded(a))){this.showControl("loadingOverlay");
return}n<0&&(n=0);var h,l=0,q=0,m=d.getPage(n),o=!1;c.displayMode==="double"&&n<f.length-1&&(o=d.getPage(n+1));if(typeof m!=="object")throw ComicBookException.INVALID_PAGE_TYPE+" "+typeof m;var v=m.width;p.width=0;p.height=0;if(w=typeof o==="object"&&(m.width>m.height||o.width>o.height)&&c.displayMode==="double")c.displayMode="single";c.displayMode==="double"&&(v+=typeof o==="object"?o.width:v);switch(c.zoomMode){case "manual":document.body.style.overflowX="auto";h=c.displayMode==="double"?t*2:t;
break;case "fitWidth":document.body.style.overflowX="hidden";t=h=b()>v?(b()-v)/b()+1:b()/v;break;default:throw ComicBookException.INVALID_ZOOM_MODE+" "+c.zoomMode;}var v=m.width*h,r=m.height*h;h=c.zoomMode==="manual"?m.width*t:v;var s=c.zoomMode==="manual"?m.height*t:r,r=s;p.width=v<b()?b():v;p.height=r<window.innerHeight?window.innerHeight:r;v<b()&&c.zoomMode==="manual"&&(l=(b()-h)/2,c.displayMode==="double"&&(l-=h/2));r<window.innerHeight&&c.zoomMode==="manual"&&(q=(window.innerHeight-s)/2);c.manga&&
c.displayMode==="double"&&typeof o==="object"&&(v=m,m=o,o=v);u.drawImage(m,l,q,h,s);c.displayMode==="double"&&typeof o==="object"&&u.drawImage(o,h+l,q,h,s);$.each(c.enhance,function(a,c){d.enhance[a](c)});l=c.displayMode==="double"&&n+2<=f.length?n+1+"-"+(n+2):n+1;$("#cb-current-page").text(l);if(w)c.displayMode="double";$("button.cb-fit-width").attr("disabled",c.zoomMode==="fitWidth");$(".cb-navigate").show();n===0&&($(".cb-navigate.left").hide(),$(".cb-navigate.right").show());if(n===f.length-1||
typeof o==="object"&&n===f.length-2)$(".cb-navigate.left").show(),$(".cb-navigate.right").hide();typeof c.afterDrawPage==="function"&&c.afterDrawPage(n+1);if(k()!==n)location.hash=n+1;window.scroll(0,g)};ComicBook.prototype.drawNextPage=function(){var a;try{a=this.getPage(n+1)}catch(b){}if(!a)return!1;if(n+1<e.length){n+=c.displayMode==="single"||w?1:2;try{this.drawPage()}catch(d){}}};ComicBook.prototype.drawPrevPage=function(){var a;try{a=this.getPage(n-1)}catch(b){}if(!a)return!1;w=a.width>a.height;
n>0&&(n-=c.displayMode==="single"||w?1:2,this.drawPage())};ComicBook.prototype.enhance={reset:function(a){a?delete c.enhance[a]:c.enhance={};d.drawPage(null,!1)},brightness:function(a,b){b!==!1&&this.reset("brightness");var d=merge({brightness:0,contrast:0},a);c.enhance.brightness=d;Pixastic.process(p,"brightness",{brightness:d.brightness,contrast:d.contrast,legacy:!0});l()},desaturate:function(){c.enhance.desaturate={};Pixastic.process(p,"desaturate",{average:!1});l()},resaturate:function(){delete c.enhance.desaturate;
d.drawPage(null,!1)},sharpen:function(a){this.desharpen();a=merge({amount:0},a);c.enhance.sharpen=a;Pixastic.process(p,"sharpen",{amount:a.amount});l()},desharpen:function(){delete c.enhance.sharpen;d.drawPage(null,!1)}};ComicBook.prototype.navigation=function(a){if($("#cb-loading-overlay").is(":visible"))return!1;var b=!1;switch(a.type){case "click":d.toggleToolbar();break;case "keydown":a.keyCode===c.keyboard.previous&&(b="left");a.keyCode===c.keyboard.next&&(b="right");a.keyCode===c.keyboard.toolbar&&
d.toggleToolbar();a.keyCode===c.keyboard.toggleLayout&&d.toggleLayout();break;default:throw ComicBookException.INVALID_NAVIGATION_EVENT+" "+a.type;}if(b)return a.stopPropagation(),c.manga?(b==="left"&&d.drawNextPage(),b==="right"&&d.drawPrevPage()):(b==="left"&&d.drawPrevPage(),b==="right"&&d.drawNextPage()),!1};ComicBook.prototype.destroy=function(){$("#cb-loading-overlay, #cb-status, #cb-color, .cb-control, .cb-toolbar, #cb-width-shiv").remove();p.width=0;p.height=0;window.removeEventListener("keydown",
d.navigation,!1);window.removeEventListener("hashchange",m,!1);location.hash="";$(this).trigger("destroy")}};
Pixastic.Actions.sharpen={process:function(c){var d=0;typeof c.options.amount!="undefined"&&(d=parseFloat(c.options.amount)||0);d<0&&(d=0);d>1&&(d=1);if(Pixastic.Client.hasCanvasImageData()){for(var a=Pixastic.prepareData(c),b=Pixastic.prepareData(c,!0),h=15,d=1+3*d,m=[[0,-d,0],[-d,h,-d],[0,-d,0]],l=0,f=0;f<3;f++)for(var g=0;g<3;g++)l+=m[f][g];l=1/l;m=c.options.rect;c=m.width;m=m.height;h*=l;d*=l;l=c*4;f=m;do{var g=(f-1)*l,e=(f==1?0:f-2)*l,x=(f==m?f-1:f)*l,p=c;do{var q=g+(p*4-4),k=e+(p==1?0:p-2)*
4,u=x+(p==c?p-1:p)*4,v=(-b[k]-b[q-4]-b[q+4]-b[u])*d+b[q]*h,s=(-b[k+1]-b[q-3]-b[q+5]-b[u+1])*d+b[q+1]*h,k=(-b[k+2]-b[q-2]-b[q+6]-b[u+2])*d+b[q+2]*h;v<0&&(v=0);s<0&&(s=0);k<0&&(k=0);v>255&&(v=255);s>255&&(s=255);k>255&&(k=255);a[q]=v;a[q+1]=s;a[q+2]=k}while(--p)}while(--f);return!0}},checkSupport:function(){return Pixastic.Client.hasCanvasImageData()}};this.Handlebars={};
(function(c){c.VERSION="1.0.rc.1";c.helpers={};c.partials={};c.registerHelper=function(a,b,c){c&&(b.not=c);this.helpers[a]=b};c.registerPartial=function(a,b){this.partials[a]=b};c.registerHelper("helperMissing",function(a){if(arguments.length!==2)throw Error("Could not find property '"+a+"'");});var d=Object.prototype.toString;c.registerHelper("blockHelperMissing",function(a,b){var h=b.inverse||function(){},m=b.fn,l=d.call(a);return l==="[object Function]"&&(a=a.call(this)),a===!0?m(this):a===!1||
a==null?h(this):l==="[object Array]"?a.length>0?c.helpers.each(a,b):h(this):m(a)});c.K=function(){};c.createFrame=Object.create||function(a){c.K.prototype=a;a=new c.K;return c.K.prototype=null,a};c.registerHelper("each",function(a,b){var d=b.fn,m=b.inverse,l=0,f="",g;b.data&&(g=c.createFrame(b.data));if(a&&typeof a=="object")if(a instanceof Array)for(var e=a.length;l<e;l++)g&&(g.index=l),f+=d(a[l],{data:g});else for(e in a)a.hasOwnProperty(e)&&(g&&(g.key=e),f+=d(a[e],{data:g}),l++);return l===0&&
(f=m(this)),f});c.registerHelper("if",function(a,b){return d.call(a)==="[object Function]"&&(a=a.call(this)),!a||c.Utils.isEmpty(a)?b.inverse(this):b.fn(this)});c.registerHelper("unless",function(a,b){var d=b.fn;return b.fn=b.inverse,b.inverse=d,c.helpers["if"].call(this,a,b)});c.registerHelper("with",function(a,b){return b.fn(a)});c.registerHelper("log",function(a){c.log(a)})})(this.Handlebars);var errorProps="description,fileName,lineNumber,message,name,number,stack".split(",");
Handlebars.Exception=function(c){for(var d=Error.prototype.constructor.apply(this,arguments),a=0;a<errorProps.length;a++)this[errorProps[a]]=d[errorProps[a]]};Handlebars.Exception.prototype=Error();Handlebars.SafeString=function(c){this.string=c};Handlebars.SafeString.prototype.toString=function(){return this.string.toString()};
(function(){var c={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},d=/[&<>"'`]/g,a=/[&<>"'`]/,b=function(a){return c[a]||"&amp;"};Handlebars.Utils={escapeExpression:function(c){return c instanceof Handlebars.SafeString?c.toString():c==null||c===!1?"":a.test(c)?c.replace(d,b):c},isEmpty:function(a){return typeof a=="undefined"?!0:a===null?!0:a===!1?!0:Object.prototype.toString.call(a)==="[object Array]"&&a.length===0?!0:!1}}})();
Handlebars.VM={template:function(c){var d={escapeExpression:Handlebars.Utils.escapeExpression,invokePartial:Handlebars.VM.invokePartial,programs:[],program:function(a,b,c){var d=this.programs[a];return c?Handlebars.VM.program(b,c):d?d:(d=this.programs[a]=Handlebars.VM.program(b),d)},programWithDepth:Handlebars.VM.programWithDepth,noop:Handlebars.VM.noop};return function(a,b){return b=b||{},c.call(d,Handlebars,a,b.helpers,b.partials,b.data)}},programWithDepth:function(c,d,a){var b=Array.prototype.slice.call(arguments,
2);return function(a,m){return m=m||{},c.apply(this,[a,m.data||d].concat(b))}},program:function(c,d){return function(a,b){return b=b||{},c(a,b.data||d)}},noop:function(){return""},invokePartial:function(c,d,a,b,h,m){b={helpers:b,partials:h,data:m};if(c===void 0)throw new Handlebars.Exception("The partial "+d+" could not be found");if(c instanceof Function)return c(a,b);if(!Handlebars.compile)throw new Handlebars.Exception("The partial "+d+" could not be compiled when running in runtime-only mode");
return h[d]=Handlebars.compile(c,{data:m!==void 0}),h[d](a,b)}};Handlebars.template=Handlebars.VM.template;function merge(c,d){var a;typeof d==="undefined"&&(d={});for(a in c)c.hasOwnProperty(a)&&!(a in d)&&(d[a]=c[a]);return d}var ComicBookException={INVALID_ACTION:"invalid action",INVALID_PAGE:"invalid page",INVALID_PAGE_TYPE:"invalid page type",UNDEFINED_CONTROL:"undefined control",INVALID_ZOOM_MODE:"invalid zoom mode",INVALID_NAVIGATION_EVENT:"invalid navigation event"};
function ComicBook(c,d,a){function b(){var a=window.innerHeight+1;t===!1&&(t=$(document.createElement("div")).attr("id","cb-width-shiv").css({width:"100%",position:"absolute",top:0,zIndex:"-1000"}),$("body").append(t));t.height(a);return t.innerWidth()}function h(){var a=m();a!==o&&u.indexOf(a)>-1&&(o=a,f.draw())}function m(){var a=parseInt(location.hash.substring(1),10)-1||0;if(a<0)a=location.hash=0;return a}function l(){q=document.getElementById(g);k=q.getContext("2d");r===!1&&(f.renderControls(),
r=!0);window.addEventListener("keydown",f.navigation,!1);window.addEventListener("hashchange",h,!1)}var f=this,g=c;this.srcs=d;var e=merge({displayMode:"double",zoomMode:"fitWidth",manga:!1,enhance:{},keyboard:{next:78,previous:80,toolbar:84,toggleLayout:76}},a),x=d.length,p=[],q,k,u=[],v=1,s=!1,r=!1,n=!1,t=!1,c=m(),o=c<d.length?c:0;ComicBook.prototype.renderControls=function(){var a={};$.each(Handlebars.templates,function(b,c){var d=$(c().trim());a[b]=d;d.find("*").andSelf().filter("[data-action][data-trigger]").each(function(){var a=
$(this),b=a.data("trigger"),c=a.data("action");if(typeof f[a.data("action")]==="function")a.on(b,f[c]);a.on(b,function(a){$(f).trigger(b,a)})});$(q).before(d)});this.controls=a};ComicBook.prototype.getControl=function(a){if(typeof this.controls[a]!=="object")throw ComicBookException.UNDEFINED_CONTROL+" "+a;return this.controls[a]};ComicBook.prototype.showControl=function(a){this.getControl(a).show().addClass("open")};ComicBook.prototype.hideControl=function(a){this.getControl(a).removeClass("open").hide()};
ComicBook.prototype.toggleControl=function(a){this.getControl(a).toggle().toggleClass("open")};ComicBook.prototype.toggleLayout=function(){var a=f.getControl("toolbar").find("[data-action=toggleLayout]"),b=e.displayMode==="single"?"double":"single";a.removeClass(e.displayMode);a.addClass(b);e.displayMode=b;f.drawPage()};ComicBook.prototype.getPage=function(a){if(a<0||a>d.length-1)throw ComicBookException.INVALID_PAGE+" "+a;if(typeof p[a]==="object")return p[a];else n=a,this.showControl("loadingOverlay")};
ComicBook.prototype.draw=function(){l();$(".navigate").outerHeight(window.innerHeight);$("#cb-loading-overlay").outerWidth(b()).height(window.innerHeight);p.length!==x?this.preload():this.drawPage()};ComicBook.prototype.zoom=function(a){e.zoomMode="manual";v=a;typeof this.getPage(o)==="object"&&this.drawPage()};ComicBook.prototype.zoomIn=function(){f.zoom(v+0.1)};ComicBook.prototype.zoomOut=function(){f.zoom(v-0.1)};ComicBook.prototype.fitWidth=function(){e.zoomMode="fitWidth";ComicBook.prototype.drawPage()};
ComicBook.prototype.preload=function(){function a(b){var k=new Image;k.src=d[b];k.onload=function(){p[b]=this;u.push(b);$("#cb-progress-bar .progressbar-value").css("width",Math.floor(u.length/x*100)+"%");var k=e.displayMode==="double"&&o<d.length-1?1:0;if(c===!1&&$.inArray(o+k,u)!==-1||typeof n==="number"&&$.inArray(n,u)!==-1)typeof n==="number"&&(o=n-1,n=!1),f.drawPage(),f.hideControl("loadingOverlay"),c=!0;g.length?(a(g[0]),g.splice(0,1)):$("#cb-status").delay(500).fadeOut()}}var b=o,c=!1,g=[];
this.showControl("loadingOverlay");(function(b,c){for(var d=1,f=b,e=b-1;f<=c;)d>3&&e>-1?(g.push(e),e--,d=0):(g.push(f),f++),d++;for(;e>-1;)g.push(e),e--;a(g[0])})(b,d.length-1)};ComicBook.prototype.pageLoaded=function(a){return typeof u[a-1]!=="undefined"};ComicBook.prototype.drawPage=function(a,c){var g=(typeof c!=="undefined"?c:1)?0:window.scrollY;if(typeof a==="number"&&a<d.length&&a>0&&(o=a-1,!this.pageLoaded(a))){this.showControl("loadingOverlay");return}o<0&&(o=0);var h,l=0,p=0,n=f.getPage(o),
r=!1;e.displayMode==="double"&&o<d.length-1&&(r=f.getPage(o+1));if(typeof n!=="object")throw ComicBookException.INVALID_PAGE_TYPE+" "+typeof n;var w=n.width;q.width=0;q.height=0;if(s=typeof r==="object"&&(n.width>n.height||r.width>r.height)&&e.displayMode==="double")e.displayMode="single";e.displayMode==="double"&&(w+=typeof r==="object"?r.width:w);switch(e.zoomMode){case "manual":document.body.style.overflowX="auto";h=e.displayMode==="double"?v*2:v;break;case "fitWidth":document.body.style.overflowX=
"hidden";v=h=b()>w?(b()-w)/b()+1:b()/w;break;default:throw ComicBookException.INVALID_ZOOM_MODE+" "+e.zoomMode;}var w=n.width*h,t=n.height*h;h=e.zoomMode==="manual"?n.width*v:w;var u=e.zoomMode==="manual"?n.height*v:t,t=u;q.width=w<b()?b():w;q.height=t<window.innerHeight?window.innerHeight:t;w<b()&&e.zoomMode==="manual"&&(l=(b()-h)/2,e.displayMode==="double"&&(l-=h/2));t<window.innerHeight&&e.zoomMode==="manual"&&(p=(window.innerHeight-u)/2);e.manga&&e.displayMode==="double"&&typeof r==="object"&&
(w=n,n=r,r=w);k.drawImage(n,l,p,h,u);e.displayMode==="double"&&typeof r==="object"&&k.drawImage(r,h+l,p,h,u);$.each(e.enhance,function(a,b){f.enhance[a](b)});l=e.displayMode==="double"&&o+2<=d.length?o+1+"-"+(o+2):o+1;this.getControl("toolbar").find("#current-page").text(l).end().find("#page-count").text(d.length);if(s)e.displayMode="double";$("button.cb-fit-width").attr("disabled",e.zoomMode==="fitWidth");$(".navigate").show();o===0&&($(".navigate-left").hide(),$(".navigate-right").show());if(o===
d.length-1||typeof r==="object"&&o===d.length-2)$(".navigate-left").show(),$(".navigate-right").hide();$(this).trigger("navigate");if(m()!==o)location.hash=o+1;window.scroll(0,g)};ComicBook.prototype.drawNextPage=function(){var a;try{a=f.getPage(o+1)}catch(b){}if(!a)return!1;if(o+1<p.length){o+=e.displayMode==="single"||s?1:2;try{f.drawPage()}catch(c){}}};ComicBook.prototype.drawPrevPage=function(){var a;try{a=f.getPage(o-1)}catch(b){}if(!a)return!1;s=a.width>a.height;o>0&&(o-=e.displayMode==="single"||
s?1:2,f.drawPage())};ComicBook.prototype.brightness=function(){f.enhance.brightness({brightness:$(this).val()})};ComicBook.prototype.contrast=function(){f.enhance.brightness({contrast:$(this).val()})};ComicBook.prototype.sharpen=function(){f.enhance.sharpen({amount:$(this).val()})};ComicBook.prototype.desaturate=function(){$(this).is(":checked")?f.enhance.desaturate():f.enhance.resaturate()};ComicBook.prototype.resetEnhancements=function(){f.enhance.reset()};ComicBook.prototype.enhance={reset:function(a){a?
delete e.enhance[a]:e.enhance={};f.drawPage(null,!1)},brightness:function(a,b){b!==!1&&this.reset("brightness");var c=merge({brightness:0,contrast:0},a);e.enhance.brightness=c;Pixastic.process(q,"brightness",{brightness:c.brightness,contrast:c.contrast,legacy:!0});l()},desaturate:function(){e.enhance.desaturate={};Pixastic.process(q,"desaturate",{average:!1});l()},resaturate:function(){delete e.enhance.desaturate;f.drawPage(null,!1)},sharpen:function(a){this.desharpen();a=merge({amount:0},a);e.enhance.sharpen=
a;Pixastic.process(q,"sharpen",{amount:a.amount});l()},desharpen:function(){delete e.enhance.sharpen;f.drawPage(null,!1)}};ComicBook.prototype.navigation=function(a){if($("#cb-loading-overlay").is(":visible"))return!1;var b=!1;switch(a.type){case "keydown":a.keyCode===e.keyboard.previous&&(b="left");a.keyCode===e.keyboard.next&&(b="right");a.keyCode===e.keyboard.toolbar&&f.toggleToolbar();a.keyCode===e.keyboard.toggleLayout&&f.toggleLayout();break;default:throw ComicBookException.INVALID_NAVIGATION_EVENT+
" "+a.type;}if(b)return a.stopPropagation(),e.manga?(b==="left"&&f.drawNextPage(),b==="right"&&f.drawPrevPage()):(b==="left"&&f.drawPrevPage(),b==="right"&&f.drawNextPage()),!1};ComicBook.prototype.destroy=function(){$("#cb-loading-overlay, #cb-status, #cb-color, .cb-control, .cb-toolbar, #cb-width-shiv").remove();q.width=0;q.height=0;window.removeEventListener("keydown",f.navigation,!1);window.removeEventListener("hashchange",h,!1);location.hash="";$(this).trigger("destroy")}};