Current File : /home/aventura/public_html/js/jquery.transform-0.9.3.min.js |
(function($,window,document,undefined){var rmatrix=/progid:DXImageTransform\.Microsoft\.Matrix\(.*?\)/,rfxnum=/^([\+\-]=)?([\d+.\-]+)(.*)$/,rperc=/%/;var m=document.createElement('modernizr'),m_style=m.style;function stripUnits(arg){return parseFloat(arg);}
function getVendorPrefix(){var property={transformProperty:'',MozTransform:'-moz-',WebkitTransform:'-webkit-',OTransform:'-o-',msTransform:'-ms-'};for(var p in property){if(typeof m_style[p]!='undefined'){return property[p];}}
return null;}
function supportCssTransforms(){if(typeof(window.Modernizr)!=='undefined'){return Modernizr.csstransforms;}
var props=['transformProperty','WebkitTransform','MozTransform','OTransform','msTransform'];for(var i in props){if(m_style[props[i]]!==undefined){return true;}}}
var vendorPrefix=getVendorPrefix(),transformProperty=vendorPrefix!==null?vendorPrefix+'transform':false,transformOriginProperty=vendorPrefix!==null?vendorPrefix+'transform-origin':false;$.support.csstransforms=supportCssTransforms();if(vendorPrefix=='-ms-'){transformProperty='msTransform';transformOriginProperty='msTransformOrigin';}
$.extend({transform:function(elem){elem.transform=this;this.$elem=$(elem);this.applyingMatrix=false;this.matrix=null;this.height=null;this.width=null;this.outerHeight=null;this.outerWidth=null;this.boxSizingValue=null;this.boxSizingProperty=null;this.attr=null;this.transformProperty=transformProperty;this.transformOriginProperty=transformOriginProperty;}});$.extend($.transform,{funcs:['matrix','origin','reflect','reflectX','reflectXY','reflectY','rotate','scale','scaleX','scaleY','skew','skewX','skewY','translate','translateX','translateY']});$.fn.transform=function(funcs,options){return this.each(function(){var t=this.transform||new $.transform(this);if(funcs){t.exec(funcs,options);}});};$.transform.prototype={exec:function(funcs,options){options=$.extend(true,{forceMatrix:false,preserve:false},options);this.attr=null;if(options.preserve){funcs=$.extend(true,this.getAttrs(true,true),funcs);}else{funcs=$.extend(true,{},funcs);}
this.setAttrs(funcs);if($.support.csstransforms&&!options.forceMatrix){return this.execFuncs(funcs);}else if($.browser.msie||($.support.csstransforms&&options.forceMatrix)){return this.execMatrix(funcs);}
return false;},execFuncs:function(funcs){var values=[];for(var func in funcs){if(func=='origin'){this[func].apply(this,$.isArray(funcs[func])?funcs[func]:[funcs[func]]);}else if($.inArray(func,$.transform.funcs)!==-1){values.push(this.createTransformFunc(func,funcs[func]));}}
this.$elem.css(transformProperty,values.join(' '));return true;},execMatrix:function(funcs){var matrix,tempMatrix,args;var elem=this.$elem[0],_this=this;function normalPixels(val,i){if(rperc.test(val)){return parseFloat(val)/100*_this['safeOuter'+(i?'Height':'Width')]();}
return toPx(elem,val);}
var rtranslate=/translate[X|Y]?/,trans=[];for(var func in funcs){switch($.type(funcs[func])){case'array':args=funcs[func];break;case'string':args=$.map(funcs[func].split(','),$.trim);break;default:args=[funcs[func]];}
if($.matrix[func]){if($.cssAngle[func]){args=$.map(args,$.angle.toDegree);}else if(!$.cssNumber[func]){args=$.map(args,normalPixels);}else{args=$.map(args,stripUnits);}
tempMatrix=$.matrix[func].apply(this,args);if(rtranslate.test(func)){trans.push(tempMatrix);}else{matrix=matrix?matrix.x(tempMatrix):tempMatrix;}}else if(func=='origin'){this[func].apply(this,args);}}
matrix=matrix||$.matrix.identity();$.each(trans,function(i,val){matrix=matrix.x(val);});var a=parseFloat(matrix.e(1,1).toFixed(6)),b=parseFloat(matrix.e(2,1).toFixed(6)),c=parseFloat(matrix.e(1,2).toFixed(6)),d=parseFloat(matrix.e(2,2).toFixed(6)),tx=matrix.rows===3?parseFloat(matrix.e(1,3).toFixed(6)):0,ty=matrix.rows===3?parseFloat(matrix.e(2,3).toFixed(6)):0;if($.support.csstransforms&&vendorPrefix==='-moz-'){this.$elem.css(transformProperty,'matrix('+a+', '+b+', '+c+', '+d+', '+tx+'px, '+ty+'px)');}else if($.support.csstransforms){this.$elem.css(transformProperty,'matrix('+a+', '+b+', '+c+', '+d+', '+tx+', '+ty+')');}else if($.browser.msie){var filterType=', FilterType=\'nearest neighbor\'';var style=this.$elem[0].style;var matrixFilter='progid:DXImageTransform.Microsoft.Matrix('+'M11='+a+', M12='+c+', M21='+b+', M22='+d+', sizingMethod=\'auto expand\''+filterType+')';var filter=style.filter||$.curCSS(this.$elem[0],"filter")||"";style.filter=rmatrix.test(filter)?filter.replace(rmatrix,matrixFilter):filter?filter+' '+matrixFilter:matrixFilter;this.applyingMatrix=true;this.matrix=matrix;this.fixPosition(matrix,tx,ty);this.applyingMatrix=false;this.matrix=null;}
return true;},origin:function(x,y){if($.support.csstransforms){if(typeof y==='undefined'){this.$elem.css(transformOriginProperty,x);}else{this.$elem.css(transformOriginProperty,x+' '+y);}
return true;}
switch(x){case'left':x='0';break;case'right':x='100%';break;case'center':case undefined:x='50%';}
switch(y){case'top':y='0';break;case'bottom':y='100%';break;case'center':case undefined:y='50%';}
this.setAttr('origin',[rperc.test(x)?x:toPx(this.$elem[0],x)+'px',rperc.test(y)?y:toPx(this.$elem[0],y)+'px']);return true;},createTransformFunc:function(func,value){if(func.substr(0,7)==='reflect'){var m=value?$.matrix[func]():$.matrix.identity();return'matrix('+m.e(1,1)+', '+m.e(2,1)+', '+m.e(1,2)+', '+m.e(2,2)+', 0, 0)';}
if(func=='matrix'){if(vendorPrefix==='-moz-'){value[4]=value[4]?value[4]+'px':0;value[5]=value[5]?value[5]+'px':0;}}
return func+'('+($.isArray(value)?value.join(', '):value)+')';},fixPosition:function(matrix,tx,ty,height,width){var calc=new $.matrix.calc(matrix,this.safeOuterHeight(),this.safeOuterWidth()),origin=this.getAttr('origin');var offset=calc.originOffset(new $.matrix.V2(rperc.test(origin[0])?parseFloat(origin[0])/100*calc.outerWidth:parseFloat(origin[0]),rperc.test(origin[1])?parseFloat(origin[1])/100*calc.outerHeight:parseFloat(origin[1])));var sides=calc.sides();var cssPosition=this.$elem.css('position');if(cssPosition=='static'){cssPosition='relative';}
var pos={top:0,left:0};var css={'position':cssPosition,'top':(offset.top+ty+sides.top+pos.top)+'px','left':(offset.left+tx+sides.left+pos.left)+'px','zoom':1};this.$elem.css(css);}};function toPx(elem,val){var parts=rfxnum.exec($.trim(val));if(parts[3]&&parts[3]!=='px'){var prop='paddingBottom',orig=$.style(elem,prop);$.style(elem,prop,val);val=cur(elem,prop);$.style(elem,prop,orig);return val;}
return parseFloat(val);}
function cur(elem,prop){if(elem[prop]!=null&&(!elem.style||elem.style[prop]==null)){return elem[prop];}
var r=parseFloat($.css(elem,prop));return r&&r>-10000?r:0;}})(jQuery,this,this.document);(function($,window,document,undefined){$.extend($.transform.prototype,{safeOuterHeight:function(){return this.safeOuterLength('height');},safeOuterWidth:function(){return this.safeOuterLength('width');},safeOuterLength:function(dim){var funcName='outer'+(dim=='width'?'Width':'Height');if(!$.support.csstransforms&&$.browser.msie){dim=dim=='width'?'width':'height';if(this.applyingMatrix&&!this[funcName]&&this.matrix){var calc=new $.matrix.calc(this.matrix,1,1),ratio=calc.offset(),length=this.$elem[funcName]()/ratio[dim];this[funcName]=length;return length;}else if(this.applyingMatrix&&this[funcName]){return this[funcName];}
var side={height:['top','bottom'],width:['left','right']};var elem=this.$elem[0],outerLen=parseFloat($.curCSS(elem,dim,true)),boxSizingProp=this.boxSizingProperty,boxSizingValue=this.boxSizingValue;if(!this.boxSizingProperty){boxSizingProp=this.boxSizingProperty=_findBoxSizingProperty()||'box-sizing';boxSizingValue=this.boxSizingValue=this.$elem.css(boxSizingProp)||'content-box';}
if(this[funcName]&&this[dim]==outerLen){return this[funcName];}else{this[dim]=outerLen;}
if(boxSizingProp&&(boxSizingValue=='padding-box'||boxSizingValue=='content-box')){outerLen+=parseFloat($.curCSS(elem,'padding-'+side[dim][0],true))||0+parseFloat($.curCSS(elem,'padding-'+side[dim][1],true))||0;}
if(boxSizingProp&&boxSizingValue=='content-box'){outerLen+=parseFloat($.curCSS(elem,'border-'+side[dim][0]+'-width',true))||0+parseFloat($.curCSS(elem,'border-'+side[dim][1]+'-width',true))||0;}
this[funcName]=outerLen;return outerLen;}
return this.$elem[funcName]();}});var _boxSizingProperty=null;function _findBoxSizingProperty(){if(_boxSizingProperty){return _boxSizingProperty;}
var property={boxSizing:'box-sizing',MozBoxSizing:'-moz-box-sizing',WebkitBoxSizing:'-webkit-box-sizing',OBoxSizing:'-o-box-sizing'},elem=document.body;for(var p in property){if(typeof elem.style[p]!='undefined'){_boxSizingProperty=property[p];return _boxSizingProperty;}}
return null;}})(jQuery,this,this.document);(function($,window,document,undefined){var rfuncvalue=/([\w\-]*?)\((.*?)\)/g,attr='data-transform',rspace=/\s/,rcspace=/,\s?/;$.extend($.transform.prototype,{setAttrs:function(funcs){var string='',value;for(var func in funcs){value=funcs[func];if($.isArray(value)){value=value.join(', ');}
string+=' '+func+'('+value+')';}
this.attr=$.trim(string);this.$elem.attr(attr,this.attr);},setAttr:function(func,value){if($.isArray(value)){value=value.join(', ');}
var transform=this.attr||this.$elem.attr(attr);if(!transform||transform.indexOf(func)==-1){this.attr=$.trim(transform+' '+func+'('+value+')');this.$elem.attr(attr,this.attr);}else{var funcs=[],parts;rfuncvalue.lastIndex=0;while(parts=rfuncvalue.exec(transform)){if(func==parts[1]){funcs.push(func+'('+value+')');}else{funcs.push(parts[0]);}}
this.attr=funcs.join(' ');this.$elem.attr(attr,this.attr);}},getAttrs:function(){var transform=this.attr||this.$elem.attr(attr);if(!transform){return{};}
var attrs={},parts,value;rfuncvalue.lastIndex=0;while((parts=rfuncvalue.exec(transform))!==null){if(parts){value=parts[2].split(rcspace);attrs[parts[1]]=value.length==1?value[0]:value;}}
return attrs;},getAttr:function(func){var attrs=this.getAttrs();if(typeof attrs[func]!=='undefined'){return attrs[func];}
if(func==='origin'&&$.support.csstransforms){return this.$elem.css(this.transformOriginProperty).split(rspace);}else if(func==='origin'){return['50%','50%'];}
return $.cssDefault[func]||0;}});if(typeof($.cssAngle)=='undefined'){$.cssAngle={};}
$.extend($.cssAngle,{rotate:true,skew:true,skewX:true,skewY:true});if(typeof($.cssDefault)=='undefined'){$.cssDefault={};}
$.extend($.cssDefault,{scale:[1,1],scaleX:1,scaleY:1,matrix:[1,0,0,1,0,0],origin:['50%','50%'],reflect:[1,0,0,1,0,0],reflectX:[1,0,0,1,0,0],reflectXY:[1,0,0,1,0,0],reflectY:[1,0,0,1,0,0]});if(typeof($.cssMultipleValues)=='undefined'){$.cssMultipleValues={};}
$.extend($.cssMultipleValues,{matrix:6,origin:{length:2,duplicate:true},reflect:6,reflectX:6,reflectXY:6,reflectY:6,scale:{length:2,duplicate:true},skew:2,translate:2});$.extend($.cssNumber,{matrix:true,reflect:true,reflectX:true,reflectXY:true,reflectY:true,scale:true,scaleX:true,scaleY:true});$.each($.transform.funcs,function(i,func){$.cssHooks[func]={set:function(elem,value){var transform=elem.transform||new $.transform(elem),funcs={};funcs[func]=value;transform.exec(funcs,{preserve:true});},get:function(elem,computed){var transform=elem.transform||new $.transform(elem);return transform.getAttr(func);}};});$.each(['reflect','reflectX','reflectXY','reflectY'],function(i,func){$.cssHooks[func].get=function(elem,computed){var transform=elem.transform||new $.transform(elem);return transform.getAttr('matrix')||$.cssDefault[func];};});})(jQuery,this,this.document);(function($,window,document,undefined){var rfxnum=/^([+\-]=)?([\d+.\-]+)(.*)$/;var _animate=$.fn.animate;$.fn.animate=function(prop,speed,easing,callback){var optall=$.speed(speed,easing,callback),mv=$.cssMultipleValues;optall.complete=optall.old;if(!$.isEmptyObject(prop)){if(typeof optall.original==='undefined'){optall.original={};}
$.each(prop,function(name,val){if(mv[name]||$.cssAngle[name]||(!$.cssNumber[name]&&$.inArray(name,$.transform.funcs)!==-1)){var specialEasing=null;if(jQuery.isArray(prop[name])){var mvlen=1,len=val.length;if(mv[name]){mvlen=(typeof mv[name].length==='undefined'?mv[name]:mv[name].length);}
if(len>mvlen||(len<mvlen&&len==2)||(len==2&&mvlen==2&&isNaN(parseFloat(val[len-1])))){specialEasing=val[len-1];val.splice(len-1,1);}}
optall.original[name]=val.toString();prop[name]=parseFloat(val);}});}
return _animate.apply(this,[arguments[0],optall]);};var prop='paddingBottom';function cur(elem,prop){if(elem[prop]!=null&&(!elem.style||elem.style[prop]==null)){}
var r=parseFloat($.css(elem,prop));return r&&r>-10000?r:0;}
var _custom=$.fx.prototype.custom;$.fx.prototype.custom=function(from,to,unit){var multiple=$.cssMultipleValues[this.prop],angle=$.cssAngle[this.prop];if(multiple||(!$.cssNumber[this.prop]&&$.inArray(this.prop,$.transform.funcs)!==-1)){this.values=[];if(!multiple){multiple=1;}
var values=this.options.original[this.prop],currentValues=$(this.elem).css(this.prop),defaultValues=$.cssDefault[this.prop]||0;if(!$.isArray(currentValues)){currentValues=[currentValues];}
if(!$.isArray(values)){if($.type(values)==='string'){values=values.split(',');}else{values=[values];}}
var length=multiple.length||multiple,i=0;while(values.length<length){values.push(multiple.duplicate?values[0]:defaultValues[i]||0);i++;}
var start,parts,end,fx=this,transform=fx.elem.transform;orig=$.style(fx.elem,prop);$.each(values,function(i,val){if(currentValues[i]){start=currentValues[i];}else if(defaultValues[i]&&!multiple.duplicate){start=defaultValues[i];}else if(multiple.duplicate){start=currentValues[0];}else{start=0;}
if(angle){start=$.angle.toDegree(start);}else if(!$.cssNumber[fx.prop]){parts=rfxnum.exec($.trim(start));if(parts[3]&&parts[3]!=='px'){if(parts[3]==='%'){start=parseFloat(parts[2])/100*transform['safeOuter'+(i?'Height':'Width')]();}else{$.style(fx.elem,prop,start);start=cur(fx.elem,prop);$.style(fx.elem,prop,orig);}}}
start=parseFloat(start);parts=rfxnum.exec($.trim(val));if(parts){end=parseFloat(parts[2]);unit=parts[3]||"px";if(angle){end=$.angle.toDegree(end+unit);unit='deg';}else if(!$.cssNumber[fx.prop]&&unit==='%'){start=(start/transform['safeOuter'+(i?'Height':'Width')]())*100;}else if(!$.cssNumber[fx.prop]&&unit!=='px'){$.style(fx.elem,prop,(end||1)+unit);start=((end||1)/cur(fx.elem,prop))*start;$.style(fx.elem,prop,orig);}
if(parts[1]){end=((parts[1]==="-="?-1:1)*end)+start;}}else{end=val;unit='';}
fx.values.push({start:start,end:end,unit:unit});});}
return _custom.apply(this,arguments);};$.fx.multipleValueStep={_default:function(fx){$.each(fx.values,function(i,val){fx.values[i].now=val.start+((val.end-val.start)*fx.pos);});}};$.each(['matrix','reflect','reflectX','reflectXY','reflectY'],function(i,func){$.fx.multipleValueStep[func]=function(fx){var d=fx.decomposed,$m=$.matrix;m=$m.identity();d.now={};$.each(d.start,function(k){d.now[k]=parseFloat(d.start[k])+((parseFloat(d.end[k])-parseFloat(d.start[k]))*fx.pos);if(((k==='scaleX'||k==='scaleY')&&d.now[k]===1)||(k!=='scaleX'&&k!=='scaleY'&&d.now[k]===0)){return true;}
m=m.x($m[k](d.now[k]));});var val;$.each(fx.values,function(i){switch(i){case 0:val=parseFloat(m.e(1,1).toFixed(6));break;case 1:val=parseFloat(m.e(2,1).toFixed(6));break;case 2:val=parseFloat(m.e(1,2).toFixed(6));break;case 3:val=parseFloat(m.e(2,2).toFixed(6));break;case 4:val=parseFloat(m.e(1,3).toFixed(6));break;case 5:val=parseFloat(m.e(2,3).toFixed(6));break;}
fx.values[i].now=val;});};});$.each($.transform.funcs,function(i,func){$.fx.step[func]=function(fx){var transform=fx.elem.transform||new $.transform(fx.elem),funcs={};if($.cssMultipleValues[func]||(!$.cssNumber[func]&&$.inArray(func,$.transform.funcs)!==-1)){($.fx.multipleValueStep[fx.prop]||$.fx.multipleValueStep._default)(fx);funcs[fx.prop]=[];$.each(fx.values,function(i,val){funcs[fx.prop].push(val.now+($.cssNumber[fx.prop]?'':val.unit));});}else{funcs[fx.prop]=fx.now+($.cssNumber[fx.prop]?'':fx.unit);}
transform.exec(funcs,{preserve:true});};});$.each(['matrix','reflect','reflectX','reflectXY','reflectY'],function(i,func){$.fx.step[func]=function(fx){var transform=fx.elem.transform||new $.transform(fx.elem),funcs={};if(!fx.initialized){fx.initialized=true;if(func!=='matrix'){var values=$.matrix[func]().elements;var val;$.each(fx.values,function(i){switch(i){case 0:val=values[0];break;case 1:val=values[2];break;case 2:val=values[1];break;case 3:val=values[3];break;default:val=0;}
fx.values[i].end=val;});}
fx.decomposed={};var v=fx.values;fx.decomposed.start=$.matrix.matrix(v[0].start,v[1].start,v[2].start,v[3].start,v[4].start,v[5].start).decompose();fx.decomposed.end=$.matrix.matrix(v[0].end,v[1].end,v[2].end,v[3].end,v[4].end,v[5].end).decompose();}
($.fx.multipleValueStep[fx.prop]||$.fx.multipleValueStep._default)(fx);funcs.matrix=[];$.each(fx.values,function(i,val){funcs.matrix.push(val.now);});transform.exec(funcs,{preserve:true});};});})(jQuery,this,this.document);(function($,window,document,undefined){var RAD_DEG=180/Math.PI;var RAD_GRAD=200/Math.PI;var DEG_RAD=Math.PI/180;var DEG_GRAD=2/1.8;var GRAD_DEG=0.9;var GRAD_RAD=Math.PI/200;var rfxnum=/^([+\-]=)?([\d+.\-]+)(.*)$/;$.extend({angle:{runit:/(deg|g?rad)/,radianToDegree:function(rad){return rad*RAD_DEG;},radianToGrad:function(rad){return rad*RAD_GRAD;},degreeToRadian:function(deg){return deg*DEG_RAD;},degreeToGrad:function(deg){return deg*DEG_GRAD;},gradToDegree:function(grad){return grad*GRAD_DEG;},gradToRadian:function(grad){return grad*GRAD_RAD;},toDegree:function(val){var parts=rfxnum.exec(val);if(parts){val=parseFloat(parts[2]);switch(parts[3]||'deg'){case'grad':val=$.angle.gradToDegree(val);break;case'rad':val=$.angle.radianToDegree(val);break;}
return val;}
return 0;}}});})(jQuery,this,this.document);(function($,window,document,undefined){if(typeof($.matrix)=='undefined'){$.extend({matrix:{}});}
var $m=$.matrix;$.extend($m,{V2:function(x,y){if($.isArray(arguments[0])){this.elements=arguments[0].slice(0,2);}else{this.elements=[x,y];}
this.length=2;},V3:function(x,y,z){if($.isArray(arguments[0])){this.elements=arguments[0].slice(0,3);}else{this.elements=[x,y,z];}
this.length=3;},M2x2:function(m11,m12,m21,m22){if($.isArray(arguments[0])){this.elements=arguments[0].slice(0,4);}else{this.elements=Array.prototype.slice.call(arguments).slice(0,4);}
this.rows=2;this.cols=2;},M3x3:function(m11,m12,m13,m21,m22,m23,m31,m32,m33){if($.isArray(arguments[0])){this.elements=arguments[0].slice(0,9);}else{this.elements=Array.prototype.slice.call(arguments).slice(0,9);}
this.rows=3;this.cols=3;}});var Matrix={e:function(row,col){var rows=this.rows,cols=this.cols;if(row>rows||col>rows||row<1||col<1){return 0;}
return this.elements[(row-1)*cols+col-1];},decompose:function(){var a=this.e(1,1),b=this.e(2,1),c=this.e(1,2),d=this.e(2,2),e=this.e(1,3),f=this.e(2,3);if(Math.abs(a*d-b*c)<0.01){return{rotate:0+'deg',skewX:0+'deg',scaleX:1,scaleY:1,translateX:0+'px',translateY:0+'px'};}
var tx=e,ty=f;var sx=Math.sqrt(a*a+b*b);a=a/sx;b=b/sx;var k=a*c+b*d;c-=a*k;d-=b*k;var sy=Math.sqrt(c*c+d*d);c=c/sy;d=d/sy;k=k/sy;if((a*d-b*c)<0.0){a=-a;b=-b;sx=-sx;}
var rad2deg=$.angle.radianToDegree;var r=rad2deg(Math.atan2(b,a));k=rad2deg(Math.atan(k));return{rotate:r+'deg',skewX:k+'deg',scaleX:sx,scaleY:sy,translateX:tx+'px',translateY:ty+'px'};}};$.extend($m.M2x2.prototype,Matrix,{toM3x3:function(){var a=this.elements;return new $m.M3x3(a[0],a[1],0,a[2],a[3],0,0,0,1);},x:function(matrix){var isVector=typeof(matrix.rows)==='undefined';if(!isVector&&matrix.rows==3){return this.toM3x3().x(matrix);}
var a=this.elements,b=matrix.elements;if(isVector&&b.length==2){return new $m.V2(a[0]*b[0]+a[1]*b[1],a[2]*b[0]+a[3]*b[1]);}else if(b.length==a.length){return new $m.M2x2(a[0]*b[0]+a[1]*b[2],a[0]*b[1]+a[1]*b[3],a[2]*b[0]+a[3]*b[2],a[2]*b[1]+a[3]*b[3]);}
return false;},inverse:function(){var d=1/this.determinant(),a=this.elements;return new $m.M2x2(d*a[3],d*-a[1],d*-a[2],d*a[0]);},determinant:function(){var a=this.elements;return a[0]*a[3]-a[1]*a[2];}});$.extend($m.M3x3.prototype,Matrix,{x:function(matrix){var isVector=typeof(matrix.rows)==='undefined';if(!isVector&&matrix.rows<3){matrix=matrix.toM3x3();}
var a=this.elements,b=matrix.elements;if(isVector&&b.length==3){return new $m.V3(a[0]*b[0]+a[1]*b[1]+a[2]*b[2],a[3]*b[0]+a[4]*b[1]+a[5]*b[2],a[6]*b[0]+a[7]*b[1]+a[8]*b[2]);}else if(b.length==a.length){return new $m.M3x3(a[0]*b[0]+a[1]*b[3]+a[2]*b[6],a[0]*b[1]+a[1]*b[4]+a[2]*b[7],a[0]*b[2]+a[1]*b[5]+a[2]*b[8],a[3]*b[0]+a[4]*b[3]+a[5]*b[6],a[3]*b[1]+a[4]*b[4]+a[5]*b[7],a[3]*b[2]+a[4]*b[5]+a[5]*b[8],a[6]*b[0]+a[7]*b[3]+a[8]*b[6],a[6]*b[1]+a[7]*b[4]+a[8]*b[7],a[6]*b[2]+a[7]*b[5]+a[8]*b[8]);}
return false;},inverse:function(){var d=1/this.determinant(),a=this.elements;return new $m.M3x3(d*(a[8]*a[4]-a[7]*a[5]),d*(-(a[8]*a[1]-a[7]*a[2])),d*(a[5]*a[1]-a[4]*a[2]),d*(-(a[8]*a[3]-a[6]*a[5])),d*(a[8]*a[0]-a[6]*a[2]),d*(-(a[5]*a[0]-a[3]*a[2])),d*(a[7]*a[3]-a[6]*a[4]),d*(-(a[7]*a[0]-a[6]*a[1])),d*(a[4]*a[0]-a[3]*a[1]));},determinant:function(){var a=this.elements;return a[0]*(a[8]*a[4]-a[7]*a[5])-a[3]*(a[8]*a[1]-a[7]*a[2])+a[6]*(a[5]*a[1]-a[4]*a[2]);}});var Vector={e:function(i){return this.elements[i-1];}};$.extend($m.V2.prototype,Vector);$.extend($m.V3.prototype,Vector);})(jQuery,this,this.document);(function($,window,document,undefined){if(typeof($.matrix)=='undefined'){$.extend({matrix:{}});}
$.extend($.matrix,{calc:function(matrix,outerHeight,outerWidth){this.matrix=matrix;this.outerHeight=outerHeight;this.outerWidth=outerWidth;}});$.matrix.calc.prototype={coord:function(x,y,z){z=typeof(z)!=='undefined'?z:0;var matrix=this.matrix,vector;switch(matrix.rows){case 2:vector=matrix.x(new $.matrix.V2(x,y));break;case 3:vector=matrix.x(new $.matrix.V3(x,y,z));break;}
return vector;},corners:function(x,y){var save=!(typeof(x)!=='undefined'||typeof(y)!=='undefined'),c;if(!this.c||!save){y=y||this.outerHeight;x=x||this.outerWidth;c={tl:this.coord(0,0),bl:this.coord(0,y),tr:this.coord(x,0),br:this.coord(x,y)};}else{c=this.c;}
if(save){this.c=c;}
return c;},sides:function(corners){var c=corners||this.corners();return{top:Math.min(c.tl.e(2),c.tr.e(2),c.br.e(2),c.bl.e(2)),bottom:Math.max(c.tl.e(2),c.tr.e(2),c.br.e(2),c.bl.e(2)),left:Math.min(c.tl.e(1),c.tr.e(1),c.br.e(1),c.bl.e(1)),right:Math.max(c.tl.e(1),c.tr.e(1),c.br.e(1),c.bl.e(1))};},offset:function(corners){var s=this.sides(corners);return{height:Math.abs(s.bottom-s.top),width:Math.abs(s.right-s.left)};},area:function(corners){var c=corners||this.corners();var v1={x:c.tr.e(1)-c.tl.e(1)+c.br.e(1)-c.bl.e(1),y:c.tr.e(2)-c.tl.e(2)+c.br.e(2)-c.bl.e(2)},v2={x:c.bl.e(1)-c.tl.e(1)+c.br.e(1)-c.tr.e(1),y:c.bl.e(2)-c.tl.e(2)+c.br.e(2)-c.tr.e(2)};return 0.25*Math.abs(v1.e(1)*v2.e(2)-v1.e(2)*v2.e(1));},nonAffinity:function(){var sides=this.sides(),xDiff=sides.top-sides.bottom,yDiff=sides.left-sides.right;return parseFloat(parseFloat(Math.abs((Math.pow(xDiff,2)+Math.pow(yDiff,2))/(sides.top*sides.bottom+sides.left*sides.right))).toFixed(8));},originOffset:function(toOrigin,fromOrigin){toOrigin=toOrigin?toOrigin:new $.matrix.V2(this.outerWidth*0.5,this.outerHeight*0.5);fromOrigin=fromOrigin?fromOrigin:new $.matrix.V2(0,0);var toCenter=this.coord(toOrigin.e(1),toOrigin.e(2));var fromCenter=this.coord(fromOrigin.e(1),fromOrigin.e(2));return{top:(fromCenter.e(2)-fromOrigin.e(2))-(toCenter.e(2)-toOrigin.e(2)),left:(fromCenter.e(1)-fromOrigin.e(1))-(toCenter.e(1)-toOrigin.e(1))};}};})(jQuery,this,this.document);(function($,window,document,undefined){if(typeof($.matrix)=='undefined'){$.extend({matrix:{}});}
var $m=$.matrix,$m2x2=$m.M2x2,$m3x3=$m.M3x3;$.extend($m,{identity:function(size){size=size||2;var length=size*size,elements=new Array(length),mod=size+1;for(var i=0;i<length;i++){elements[i]=(i%mod)===0?1:0;}
return new $m['M'+size+'x'+size](elements);},matrix:function(){var args=Array.prototype.slice.call(arguments);switch(arguments.length){case 4:return new $m2x2(args[0],args[2],args[1],args[3]);case 6:return new $m3x3(args[0],args[2],args[4],args[1],args[3],args[5],0,0,1);}},reflect:function(){return new $m2x2(-1,0,0,-1);},reflectX:function(){return new $m2x2(1,0,0,-1);},reflectXY:function(){return new $m2x2(0,1,1,0);},reflectY:function(){return new $m2x2(-1,0,0,1);},rotate:function(deg){var rad=$.angle.degreeToRadian(deg),costheta=Math.cos(rad),sintheta=Math.sin(rad);var a=costheta,b=sintheta,c=-sintheta,d=costheta;return new $m2x2(a,c,b,d);},scale:function(sx,sy){sx=sx||sx===0?sx:1;sy=sy||sy===0?sy:sx;return new $m2x2(sx,0,0,sy);},scaleX:function(sx){return $m.scale(sx,1);},scaleY:function(sy){return $m.scale(1,sy);},skew:function(degX,degY){degX=degX||0;degY=degY||0;var radX=$.angle.degreeToRadian(degX),radY=$.angle.degreeToRadian(degY),x=Math.tan(radX),y=Math.tan(radY);return new $m2x2(1,x,y,1);},skewX:function(degX){return $m.skew(degX);},skewY:function(degY){return $m.skew(0,degY);},translate:function(tx,ty){tx=tx||0;ty=ty||0;return new $m3x3(1,0,tx,0,1,ty,0,0,1);},translateX:function(tx){return $m.translate(tx);},translateY:function(ty){return $m.translate(0,ty);}});})(jQuery,this,this.document);