/* DMXzone jQuery.csstransform Version 1.3 Copyright (c) 2010 DMXzone.com */ (function(e){e.bindings=e.extend(true,e.bindings||{},{setter:{css:{},attr:{}},getter:{css:{},attr:{}},filter:{},formatter:{}});e.extend(e.bindings.setter.css,{matrix:function(k,l){g.getInstance(k).set("matrix",l).paint()},rotate:function(k,l){g.getInstance(k).set("rotate",l).paint()},scale:function(k,l){g.getInstance(k).set("scale",l).paint()},scaleX:function(k,l){g.getInstance(k).set("scaleX",l).paint()},scaleY:function(k,l){g.getInstance(k).set("scaleY",l).paint()},skew:function(k,l){g.getInstance(k).set("skew",l).paint()},skewX:function(k,l){g.getInstance(k).set("skewX",l).paint()},skewY:function(k,l){g.getInstance(k).set("skewY",l).paint()},translate:function(k,l){g.getInstance(k).set("translate",l).paint()},translateX:function(k,l){g.getInstance(k).set("translateX",l).paint()},translateY:function(k,l){g.getInstance(k).set("translateY",l).paint()},transform:function(k,l){g.getInstance(k).set("transform",l).paint()}});e.extend(e.bindings.getter.css,{matrix:function(k){return g.getInstance(k).get("matrix")},rotate:function(k){return g.getInstance(k).get("rotate")},scale:function(k){return g.getInstance(k).get("scale")},scaleX:function(k){return g.getInstance(k).get("scaleX")},scaleY:function(k){return g.getInstance(k).get("scaleY")},skew:function(k){return g.getInstance(k).get("skew")},skewX:function(k){return g.getInstance(k).get("skewX")},skewY:function(k){return g.getInstance(k).get("skewY")},translate:function(k){return g.getInstance(k).get("translate")},translateX:function(k){return g.getInstance(k).get("translateX")},translateY:function(k){return g.getInstance(k).get("translateY")},transform:function(k){return g.getInstance(k).get()},"multiplied-matrix":function(k){return g.getInstance(k).get("multiplied-matrix")}});e.extend(e.fx.step,{matrix:function(k){},rotate:function(k){k.unit="deg";g.getInstance(k.elem).set(k.prop,k.now).paint()},scale:function(k){k.unit="";g.getInstance(k.elem).set(k.prop,k.now).paint()},scaleX:function(k){k.unit="";g.getInstance(k.elem).set(k.prop,k.now).paint()},scaleY:function(k){k.unit="";g.getInstance(k.elem).set(k.prop,k.now).paint()},skew:function(k){k.unit="deg";g.getInstance(k.elem).set(k.prop,k.now).paint()},skewX:function(k){k.unit="deg";g.getInstance(k.elem).set(k.prop,k.now).paint()},skewY:function(k){k.unit="deg";g.getInstance(k.elem).set(k.prop,k.now).paint()},translate:function(k){k.unit="px";g.getInstance(k.elem).set(k.prop,k.now).paint()},translateX:function(k){k.unit="px";g.getInstance(k.elem).set(k.prop,k.now).paint()},translateY:function(k){k.unit="px";g.getInstance(k.elem).set(k.prop,k.now).paint()}});var h=jQuery.curCSS;jQuery.curCSS=function(m,k,n){var l=e.bindings.getter.css[k]||null;if(l){return l(m)}return h.apply(jQuery,arguments)};var i=e.fn.css;e.fn.css=function(k,m){if(typeof k=="string"){if(m!==undefined){var l=e.bindings.setter.css[k]||null;if(l){return this.each(function(n){l(this,e.isFunction(m)?m(n,e(this).css(k)):m)})}}}else{this.each(function(o){var n,p,q;for(n in k){p=e.bindings.setter.css[n]||null;if(p){q=k[n];if(e.isFunction(q)){q=q(o,e(this).css(n))}p(this,q)}}})}return i.call(this,k,m)};var c=e.fx.prototype.cur;e.fx.prototype.cur=function(){var k=e.bindings.getter.css[this.prop]||null;if(k){return parseFloat(k(this.elem).replace(/^[^\d-\.\+]*/,""))}return c.apply(this,arguments)};function a(s,r,p,n,m,k){this.a=1;this.b=0;this.c=0;this.d=1;this.tx=0;this.ty=0;if(arguments.length==6){this.a=s;this.b=r;this.c=p;this.d=n;this.tx=m;this.ty=k}var o=["rotate","scale","scaleX","scaleY","translate","translateX","translateY","skew","skewX","skewY","matrix"];for(var l=0;l0){var p,s,r,o,l;for(var m=0;m100){l.b*=k/100}this.element.style.filter=" progid:DXImageTransform.Microsoft.Matrix(M11="+l.a+",M12="+l.c+",M21="+l.b+",M22="+l.d+",sizingMethod='auto expand',FilterType='nearest neighbor') "+String(this.element.style.filter||"").replace(/(progid:DXImageTransform\.Microsoft\.)?Matrix\s*\([^\)]*\)\s*/gi,"");this.element.style.top=((this.origState.height-e(this.element).height())/2)+l.ty+this.origState.top+"px";this.element.style.left=((this.origState.width-e(this.element).width())/2)+l.tx+this.origState.left+"px"}return this};d.prototype.initTransform=function(){var m=e(this.element);var k=this;function l(){if(!k.origStyle){k.origStyle={}}for(var o=0;o');this.wrapper=m.parent().css({display:m.css("display")=="block"?"block":"inline-block",position:"relative","float":n(),width:m.outerWidth({margin:true}),height:m.outerHeight({margin:true})})}break;default:this.origState.top=0;this.origState.left=0;l("width","height","top","left","position");m.css({width:this.origState.width,height:this.origState.height,top:this.origState.top,left:this.origState.left,position:"absolute"});if(!this.wrapper){m.wrap('');this.wrapper=m.parent().css({display:m.css("display")=="block"?"block":"inline-block",position:"relative","float":n(),width:m.outerWidth({margin:true}),height:m.outerHeight({margin:true})})}break}};d.prototype.uninitTransform=function(){this.origState={};if(this.origStyle){e(this.element).css(this.origStyle);this.origStyle=null}if(this.wrapper){this.wrapper.before(e(this.element));this.wrapper.remove();this.wrapper=null}};function b(k){this.element=k||null;this.canvas=null;this.canvasContext=null;this.origStyle=null;this.origState={};this.wrapper=null;this._stack=[];this._stackIndex={}}b.prototype=new g();b.prototype.paint=function(){var o=e(this.element);if(o.is("img")){var k=this.getMatrix();if(k.isIdentity()){this.uninitTransform()}else{if(!this.origStyle){this.initTransform()}var l=this.origState.imageWidth;var p=this.origState.imageHeight;var n=k.getSize(l,p);if(n.width<10000&&n.height<10000){var q=parseFloat(o.css("opacity"));if(q<1){this.canvas.css("opacity",q)}q=null;if(n.width==this.canvas[0].width&&n.height==this.canvas[0].height){this.canvasContext.clearRect(0,0,this.canvas[0].width,this.canvas[0].height)}else{this.canvas.attr("width",Math.max(n.width,1)).attr("height",Math.max(n.height,1)).css({left:this.origState.left+k.tx-(n.width-l)/2,top:this.origState.top+k.ty-(n.height-p)/2})}this.canvasContext.setTransform(k.a,k.b,k.c,k.d,this.canvas[0].width/2,this.canvas[0].height/2);this.canvasContext.drawImage(this.element,-l/2,-p/2,l,p)}l=p=n=null}k=null}return this};b.prototype.initTransform=function(){var p=this;var k=e(this.element);this.origState={imageWidth:k.width(),imageHeight:k.height(),top:0,left:0};this.origStyle={visibility:k.css("visibility"),position:k.css("position"),zIndex:k.css("zIndex")};var r={display:"inline-block"};var u={position:"absolute",opacity:k.css("opacity")};function l(x,z){var y=e('');y.css(e.extend({},u,z));p.canvas=y;p.canvasContext=y[0].getContext("2d");k.wrap('');p.wrapper=k.parent().css(e.extend({},r,x));k.css({position:"absolute",zIndex:-1,visibility:"hidden"}).after(p.canvas);jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,select,keydown,keypress,keyup,error").split(","),function(B,A){p.canvas.bind(A,function(C){k.trigger(A)})})}function s(z,A,y){var x=parseFloat(z.css(A));if(isNaN(x)){x=y||0}return x}function q(){var x=k.css("float");if(x=="none"){x=k.attr("align")}if(x!="left"&&x!="right"){x="none"}return x}var w=s(k,"paddingTop");var o=s(k,"paddingLeft");var v=s(k,"borderTopWidth");var m=s(k,"borderLeftWidth");switch(k.css("position")){case"absolute":l({position:"absolute",width:this.origState.width,height:this.origState.height,top:k.position().top+w+v,left:k.position().left+o+m},{margin:k.css("margin")});break;case"fixed":l({position:"fixed",width:this.origState.imageWidth,height:this.origState.imageHeight,top:k.offset().top+w+v,left:k.offset().left+o+m});break;case"relative":var t=parseFloat(k[0].style.top);var n=parseFloat(k[0].style.left);if(isNaN(t)){t=0}if(isNaN(n)){n=0}this.origState.top=t+w+v;this.origState.left=n+o+m;l({display:"inline-block",position:"relative","float":q(),width:k.outerWidth({margin:true}),height:k.outerHeight({margin:true})},{margin:k.css("margin")});t=n=null;break;default:this.origState.top=w+v;this.origState.left=o+m;l({display:"inline-block",position:"relative","float":q(),width:k.outerWidth({margin:true}),height:k.outerHeight({margin:true})},{margin:k.css("margin"),top:w+v,left:o+m});break}w=o=v=m=null};b.prototype.uninitTransform=function(){if(this.origStyle){var k=e(this.element);k.css(this.origStyle);this.origStyle=null;this.canvas.unbind();this.wrapper.before(k);this.wrapper.remove()}}})(jQuery);