var Pixastic=function(){function f(a,b){if(!Pixastic.debug)return;try{switch(b){case"warn":console.warn("Pixastic:",a);break;case"error":console.error("Pixastic:",a);break;default:console.log("Pixastic:",a)}}catch(c){}if(!e){};}function d(a,b,c){var d=new Array;if(b==null)b=document;if(c==null)c="*";var e=b.getElementsByTagName(c);var f=e.length;var g=new RegExp("(^|\\s)"+a+"(\\s|$)");for(i=0,j=0;i<f;i++){if(g.test(e[i].className)){d[j]=e[i];j++}}return d}function c(){var a=d("pixastic",null,"img");var b=d("pixastic",null,"canvas");var c=a.concat(b);for(var e=0;e<c.length;e++){(function(){var a=c[e];var b=[];var d=a.className.split(" ");for(var f=0;f<d.length;f++){var g=d[f];if(g.substring(0,9)=="pixastic-"){var h=g.substring(9);if(h!="")b.push(h)}}if(b.length){if(a.tagName.toLowerCase()=="img"){var j=new Image;j.src=a.src;if(j.complete){for(var k=0;k<b.length;k++){var l=Pixastic.applyAction(a,a,b[k],null);if(l)a=l}}else{j.onload=function(){for(var c=0;c<b.length;c++){var d=Pixastic.applyAction(a,a,b[c],null);if(d)a=d}}}}else{setTimeout(function(){for(var c=0;c<b.length;c++){var d=Pixastic.applyAction(a,a,b[c],null);if(d)a=d}},1)}}})()}}function b(b){var c=false;var d=function(){if(!c){c=true;b()}};document.write("<"+'script defer src="//:" id="__onload_ie_pixastic__"></'+"script>");var e=document.getElementById("__onload_ie_pixastic__");e.onreadystatechange=function(){if(e.readyState=="complete"){e.parentNode.removeChild(e);d()}};if(document.addEventListener)document.addEventListener("DOMContentLoaded",d,false);a(window,"load",d)}function a(a,b,c){if(a.addEventListener)a.addEventListener(b,c,false);else if(a.attachEvent)a.attachEvent("on"+b,c)}if(typeof pixastic_parseonload!="undefined"&&pixastic_parseonload)b(c);var e;var g=function(){var a=document.createElement("canvas");var b=false;try{b=!!(typeof a.getContext=="function"&&a.getContext("2d"))}catch(c){}return function(){return b}}();var h=function(){var a=document.createElement("canvas");var b=false;var c;try{if(typeof a.getContext=="function"&&(c=a.getContext("2d"))){b=typeof c.getImageData=="function"}}catch(d){}return function(){return b}}();var k=function(){var a=false;var b=document.createElement("canvas");if(g()&&h()){b.width=b.height=1;var c=b.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=.5;c.drawImage(d,0,0);var f=c.getImageData(0,0,1,1).data;a=f[2]!=255}return function(){return a}}();return{parseOnLoad:false,debug:false,applyAction:function(a,b,c,d){d=d||{};var e=a.tagName.toLowerCase()=="canvas";if(e&&Pixastic.Client.isIE()){if(Pixastic.debug)f("Tried to process a canvas element but browser is IE.");return false}var g,h;var i=false;if(Pixastic.Client.hasCanvas()){i=!!d.resultCanvas;g=d.resultCanvas||document.createElement("canvas");h=g.getContext("2d")}var j=a.offsetWidth;var k=a.offsetHeight;if(e){j=a.width;k=a.height}if(j==0||k==0){if(a.parentNode==null){var l=a.style.position;var m=a.style.left;a.style.position="absolute";a.style.left="-9999px";document.body.appendChild(a);j=a.offsetWidth;k=a.offsetHeight;document.body.removeChild(a);a.style.position=l;a.style.left=m}else{if(Pixastic.debug)f("Image has 0 width and/or height.");return}}if(c.indexOf("(")>-1){var n=c;c=n.substr(0,n.indexOf("("));var o=n.match(/\((.*?)\)/);if(o[1]){o=o[1].split(";");for(var p=0;p<o.length;p++){thisArg=o[p].split("=");if(thisArg.length==2){if(thisArg[0]=="rect"){var q=thisArg[1].split(",");d[thisArg[0]]={left:parseInt(q[0],10)||0,top:parseInt(q[1],10)||0,width:parseInt(q[2],10)||0,height:parseInt(q[3],10)||0}}else{d[thisArg[0]]=thisArg[1]}}}}}if(!d.rect){d.rect={left:0,top:0,width:j,height:k}}else{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)}var r=false;if(Pixastic.Actions[c]&&typeof Pixastic.Actions[c].process=="function"){r=true}if(!r){if(Pixastic.debug)f('Invalid action "'+c+'". Maybe file not included?');return false}if(!Pixastic.Actions[c].checkSupport()){if(Pixastic.debug)f('Action "'+c+'" not supported by this browser.');return false}if(Pixastic.Client.hasCanvas()){if(g!==a){g.width=j;g.height=k}if(!i){g.style.width=j+"px";g.style.height=k+"px"}h.drawImage(b,0,0,j,k);if(!a.__pixastic_org_image){g.__pixastic_org_image=a;g.__pixastic_org_width=j;g.__pixastic_org_height=k}else{g.__pixastic_org_image=a.__pixastic_org_image;g.__pixastic_org_width=a.__pixastic_org_width;g.__pixastic_org_height=a.__pixastic_org_height}}else if(Pixastic.Client.isIE()&&typeof a.__pixastic_org_style=="undefined"){a.__pixastic_org_style=a.style.cssText}var s={image:a,canvas:g,width:j,height:k,useData:true,options:d};var t=Pixastic.Actions[c].process(s);if(!t){return false}if(Pixastic.Client.hasCanvas()){if(s.useData){if(Pixastic.Client.hasCanvasImageData()){g.getContext("2d").putImageData(s.canvasData,d.rect.left,d.rect.top);g.getContext("2d").fillRect(0,0,0,0)}}if(!d.leaveDOM){g.title=a.title;g.imgsrc=a.imgsrc;if(!e)g.alt=a.alt;if(!e)g.imgsrc=a.src;g.className=a.className;g.style.cssText=a.style.cssText;g.name=a.name;g.tabIndex=a.tabIndex;g.id=a.id;if(a.parentNode&&a.parentNode.replaceChild){a.parentNode.replaceChild(g,a)}}d.resultCanvas=g;return g}return a},prepareData:function(a,b){var c=a.canvas.getContext("2d");var d=a.options.rect;var e=c.getImageData(d.left,d.top,d.width,d.height);var f=e.data;if(!b)a.canvasData=e;return f},process:function(a,b,c,d){if(a.tagName.toLowerCase()=="img"){var e=new Image;e.src=a.src;if(e.complete){var f=Pixastic.applyAction(a,e,b,c);if(d)d(f);return f}else{e.onload=function(){var f=Pixastic.applyAction(a,e,b,c);if(d)d(f)}}}if(a.tagName.toLowerCase()=="canvas"){var f=Pixastic.applyAction(a,a,b,c);if(d)d(f);return f}},revert:function(a){if(Pixastic.Client.hasCanvas()){if(a.tagName.toLowerCase()=="canvas"&&a.__pixastic_org_image){a.width=a.__pixastic_org_width;a.height=a.__pixastic_org_height;a.getContext("2d").drawImage(a.__pixastic_org_image,0,0);if(a.parentNode&&a.parentNode.replaceChild){a.parentNode.replaceChild(a.__pixastic_org_image,a)}return a}}else if(Pixastic.Client.isIE()){if(typeof a.__pixastic_org_style!="undefined")a.style.cssText=a.__pixastic_org_style}},Client:{hasCanvas:g,hasCanvasImageData:h,hasGlobalAlpha:k,isIE:function(){return!!document.all&&!!window.attachEvent&&!window.opera}},Actions:{}}}()

