/*
 * jQuery 2d Transform
 * http://wiki.github.com/heygrady/transform/
 *
 * Copyright 2010, Grady Kuhnline
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 */
(function(f,g,i,b){var c=180/Math.PI;var j=200/Math.PI;var e=Math.PI/180;var d=2/1.8;var h=0.9;var a=Math.PI/200;f.extend({angle:{runit:/(deg|g?rad)/,radianToDegree:function(k){return k*c},radianToGrad:function(k){return k*j},degreeToRadian:function(k){return k*e},degreeToGrad:function(k){return k*d},gradToDegree:function(k){return k*h},gradToRadian:function(k){return k*a}}})})(jQuery,this,this.document);(function(f,e,b,g){var c=/progid:DXImageTransform\.Microsoft\.Matrix\(.*?\)/;f.extend({transform:function(h){h.transform=this;this.$elem=f(h);this.transformProperty=this.getTransformProperty();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}});f.extend(f.transform,{funcs:["matrix","origin","reflect","reflectX","reflectXY","reflectY","rotate","scale","scaleX","scaleY","skew","skewX","skewY","translate","translateX","translateY"],rfunc:{angle:/^rotate|skew[X|Y]?$/,length:/^origin|translate[X|Y]?$/,scale:/^scale[X|Y]?$/,reflect:/^reflect(XY|X|Y)?$/}});f.fn.transform=function(h,i){return this.each(function(){var j=this.transform||new f.transform(this);if(h){j.exec(h,i)}})};f.transform.prototype={exec:function(h,i){var j=this.transformProperty;i=f.extend(true,{forceMatrix:false,preserve:false},i);this.attr=null;if(i.preserve){h=f.extend(true,this.getAttrs(true,true),h)}else{h=f.extend(true,{},h)}this.setAttrs(h);if(j&&!i.forceMatrix){return this.execFuncs(h)}else{if(f.browser.msie||(j&&i.forceMatrix)){return this.execMatrix(h)}}return false},execFuncs:function(i){var h=[];var k=this.transformProperty;for(var j in i){if(j=="origin"){this[j].apply(this,f.isArray(i[j])?i[j]:[i[j]])}else{if(f.inArray(j,f.transform.funcs)!=-1){h.push(this.createTransformFunc(j,i[j]))}}}this.$elem.css(k,h.join(" "));return true},execMatrix:function(l){var r,j=this.transformProperty,h;var p=function(C,m){h[C]=parseFloat(m)};for(var i in l){if(f.matrix[i]||i=="matrix"){h=f.isArray(l[i])?l[i]:[l[i]];f.each(h,p);var q;if(i=="matrix"){q=new f.matrix.M2x2(h[0],h[1],h[2],h[3]);if(h[4]){this.setAttr("translateX",h[4])}if(h[5]){this.setAttr("translateY",h[5])}}else{q=f.matrix[i].apply(this,h)}if(!r){r=q}else{r=r.x(q)}}else{if(i=="origin"){h=f.isArray(l[i])?l[i]:[l[i]];this[i].apply(this,h)}}}var n=this.getAttr("translate")||0,B=this.getAttr("translateX")||0,A=this.getAttr("translateY")||0;if(!f.isArray(n)){n=[n,0]}if(!r){r=new f.matrix.M2x2(1,0,0,1)}var y=parseFloat(parseFloat(r.e(1,1)).toFixed(8)),w=parseFloat(parseFloat(r.e(2,1)).toFixed(8)),v=parseFloat(parseFloat(r.e(1,2)).toFixed(8)),u=parseFloat(parseFloat(r.e(2,2)).toFixed(8)),z=0,x=0;if(n[0]||n[1]||B||A){var o=r.x(new f.matrix.V2(parseFloat(n[0])+parseFloat(B),parseFloat(n[1])+parseFloat(A)));z=parseFloat(parseFloat(o.e(1)).toFixed(8));x=parseFloat(parseFloat(o.e(2)).toFixed(8))}if(j&&j.substr(0,4)=="-moz"){this.$elem.css(j,"matrix("+y+", "+w+", "+v+", "+u+", "+z+"px, "+x+"px)")}else{if(j){this.$elem.css(j,"matrix("+y+", "+w+", "+v+", "+u+", "+z+", "+x+")")}else{if(jQuery.browser.msie){var s=this.$elem[0].style;var t="progid:DXImageTransform.Microsoft.Matrix(M11="+y+", M12="+v+", M21="+w+", M22="+u+", sizingMethod='auto expand')";var k=s.filter||jQuery.curCSS(this.$elem[0],"filter")||"";s.filter=c.test(k)?k.replace(c,t):k?k+" "+t:t;this.applyingMatrix=true;this.matrix=r;this.fixPosition(r,z,x);this.applyingMatrix=false;this.matrix=null}}}return true},origin:function(i,l){var k=this.transformProperty,h=this.safeOuterHeight(),j=this.safeOuterWidth();switch(i){case"left":i="0";break;case"right":i=j;break;case"center":i=j*0.5;break}switch(l){case"top":l="0";break;case"bottom":l=h;break;case"center":case g:l=h*0.5;break}i=/%/.test(i)?j*parseFloat(i)/100:parseFloat(i);if(typeof(l)!=="undefined"){l=/%/.test(l)?h*parseFloat(l)/100:parseFloat(l)}if(k){if(!l&&l!==0){this.$elem.css(k+"-origin",i+"px")}else{this.$elem.css(k+"-origin",i+"px "+l+"px")}}if(!l&&l!==0){this.setAttr("origin",i)}else{this.setAttr("origin",[i,l])}return true},getTransformProperty:function(){if(this.transformProperty){return this.transformProperty}var h=b.body;var i={transform:"transform",MozTransform:"-moz-transform",WebkitTransform:"-webkit-transform",OTransform:"-o-transform"};for(var j in i){if(typeof h.style[j]!="undefined"){this.transformProperty=i[j];return i[j]}}return null},createTransformFunc:function(k,l){if(f.transform.rfunc.reflect.test(k)){var j=l?f.matrix[k]():f.matrix.empty(),i=j.e(1,1),h=j.e(2,1),n=j.e(1,2),m=j.e(2,2);return"matrix("+i+", "+h+", "+n+", "+m+", 0, 0)"}l=d(k,l);if(!f.isArray(l)){return k+"("+l+")"}else{if(k=="matrix"){return"matrix("+l[0]+", "+l[1]+", "+l[2]+", "+l[3]+", "+(l[4]||0)+", "+(l[5]||0)+")"}else{return k+"("+l[0]+", "+l[1]+")"}}},fixPosition:function(q,n,m,s,h){var l=new f.matrix.calc(q,this.safeOuterHeight(),this.safeOuterWidth()),r=this.getAttr("origin");var k=l.originOffset({x:parseFloat(r[0]),y:parseFloat(r[1])});var i=l.sides();var j=this.$elem.css("position");if(j=="static"){j="relative"}var p={top:0,left:0};var o={position:j,top:(k.top+m+i.top+p.top)+"px",left:(k.left+n+i.left+p.left)+"px",zoom:1};this.$elem.css(o)}};var a=/^([\+\-]=)?([\d+.\-]+)(.*)$/;function d(j,o){var q=!f.isArray(o)?[o]:o,h=f.transform.rfunc.angle,p=f.transform.rfunc.length;for(var l=0,m=q.length;l<m;l++){var k=a.exec(q[l]),n="";if(h.test(j)){n="deg";if(k[3]&&!f.angle.runit.test(k[3])){k[3]=null}}else{if(p.test(j)){n="px"}}if(!k){q[l]=0+n}else{if(!k[3]){q[l]+=n}}}return m==1?q[0]:q}})(jQuery,this,this.document);(function(d,c,a,f){d.extend(d.transform.prototype,{safeOuterHeight:function(){return this.safeOuterLength("height")},safeOuterWidth:function(){return this.safeOuterLength("width")},safeOuterLength:function(l){var o="outer"+(l=="width"?"Width":"Height");if(d.browser.msie){l=l=="width"?"width":"height";if(this.applyingMatrix&&!this[o]&&this.matrix){var k=new d.matrix.calc(this.matrix,1,1),m=k.size(),g=this.$elem[o]()/m[l];this[o]=g;return g}else{if(this.applyingMatrix&&this[o]){return this[o]}}var n={height:["top","bottom"],width:["left","right"]};var h=this.$elem[0],j=parseFloat(d.curCSS(h,l,true)),p=this.boxSizingProperty,i=this.boxSizingValue;if(!this.boxSizingProperty){p=this.boxSizingProperty=e()||"box-sizing";i=this.boxSizingValue=this.$elem.css(p)||"content-box"}if(this[o]&&this[l]==j){return this[o]}else{this[l]=j}if(p&&(i=="padding-box"||i=="content-box")){j+=parseFloat(d.curCSS(h,"padding-"+n[l][0],true))||0+parseFloat(d.curCSS(h,"padding-"+n[l][1],true))||0}if(p&&i=="content-box"){j+=parseFloat(d.curCSS(h,"border-"+n[l][0]+"-width",true))||0+parseFloat(d.curCSS(h,"border-"+n[l][1]+"-width",true))||0}this[o]=j;return j}return this.$elem[o]()}});var b=null;function e(){if(b){return b}var h={boxSizing:"box-sizing",MozBoxSizing:"-moz-box-sizing",WebkitBoxSizing:"-webkit-box-sizing",OBoxSizing:"-o-box-sizing"},g=a.body;for(var i in h){if(typeof g.style[i]!="undefined"){b=h[i];return b}}return null}})(jQuery,this,this.document);(function(c,d,g,b){var h=/(origin|matrix|reflect(X|XY|Y)?|rotate|scale[XY]?|skew[XY]?|translate[XY]?)\((.*?)\)/g,f=/^origin|matrix|reflect(XY|[XY])?|rotate|scale[XY]?|skew[XY]?|translate[XY]?$/,e="data-transform",i=/\s/,a=/,\s/;c.extend(c.transform.prototype,{setAttrs:function(j){var k="",m;for(var l in j){if(f.test(l)){m=j[l];if(c.isArray(m)){m=m.join(", ")}k+=" "+l+"("+m+")"}}this.attr=c.trim(k);this.$elem.attr(e,this.attr)},setAttr:function(p,q){if(!f.test(p)){return}if(c.isArray(q)){q=q.join(", ")}q=c.trim(q);var n=this.attr||this.$elem.attr(e);if(!n){this.attr=q;this.$elem.attr(e,this.attr)}else{if(n.indexOf(p)>-1){this.attr=n+" "+q;this.$elem.attr(e,this.attr)}}var m=[],j,r;h.exec("");while((j=h.exec(n))!==null){m.push(j[0])}for(var o=0,k=m.length;o<k;o++){h.exec("");r=h.exec(m[o]);if(p==r[1]){m[o]=q;break}}this.attr=m.join(" ");this.$elem.attr(e,this.attr)},getAttrs:function(){var o=this.attr||this.$elem.attr(e);if(!o){return{}}var m=[],n={},j,r,q;h.exec("");while((j=h.exec(o))!==null){m.push(j[0])}for(var p=0,k=m.length;p<k;p++){h.exec("");r=h.exec(m[p]);if(r&&f.test(r[1])){q=r[3].split(a);n[r[1]]=q.length==1?q[0]:q}}return n},getAttr:function(k){if(!f.test(k)){return null}var j=this.attr||this.$elem.attr(e);var s=c.transform.rfunc.scale;if(k!="origin"&&k!="matrix"&&(!j||j.indexOf(k)===-1)){return s.test(k)?1:null}var r=[],t,n,p=null;h.exec("");while((t=h.exec(j))!==null){r.push(t[0])}for(var o=0,m=r.length;o<m;o++){h.exec("");n=h.exec(r[o]);if(k==n[1]){p=n[3].split(a);return p.length==1?p[0]:p}}if(k=="origin"){var q=/%/;p=this.transformProperty?this.$elem.css(this.transformProperty+"-origin"):[this.safeOuterWidth()*0.5,this.safeOuterHeight()*0.5];p=c.isArray(p)?p:p.split(i);if(q.test(p[0])){if(q.test(p[0])){p[0]=this.safeOuterWidth()*(parseFloat(p[0])/100)}if(q.test(p[1])){p[1]=this.safeOuterHeight()*(parseFloat(p[1])/100)}}}else{if(k=="matrix"){p=[1,0,0,1,0,0]}else{if(s.test(k)){p=1}}}return c.isArray(p)&&p.length==1?p[0]:p}})})(jQuery,this,this.document);(function(c,b,a,d){c.extend({matrix:{}});c.extend(c.matrix,{calc:function(e,f,g){this.matrix=e;this.outerHeight=f;this.outerWidth=g},V2:function(e,f){this.elements=[e,f]},M2x2:function(f,e,h,g){this.elements=[f,e,h,g]},empty:function(){return new c.matrix.M2x2(1,0,0,1)},reflect:function(){return new c.matrix.M2x2(-1,0,0,-1)},reflectX:function(){return new c.matrix.M2x2(1,0,0,-1)},reflectXY:function(){return new c.matrix.M2x2(0,1,1,0)},reflectY:function(){return new c.matrix.M2x2(-1,0,0,1)},rotate:function(i){var f=c.angle.degreeToRadian(i),h=Math.cos(f),j=Math.sin(f);var g=h,e=j,l=-j,k=h;return new c.matrix.M2x2(g,l,e,k)},scale:function(f,e){f=f||f===0?f:1;e=e||e===0?e:f;return new c.matrix.M2x2(f,0,0,e)},scaleX:function(e){return c.matrix.scale(e,1)},scaleY:function(e){return c.matrix.scale(1,e)},skew:function(h,f){h=h||0;f=f||0;var i=c.angle.degreeToRadian(h),g=c.angle.degreeToRadian(f),e=Math.tan(i),j=Math.tan(g);return new c.matrix.M2x2(1,e,j,1)},skewX:function(e){return c.matrix.skew(e)},skewY:function(e){return c.matrix.skew(0,e)}});c.matrix.calc.prototype={coord:function(e,h){var g=this.matrix,f=g.x(new c.matrix.V2(e,h));return{x:f.e(1),y:f.e(2)}},corners:function(){var f=this.outerHeight,e=this.outerWidth;return{tl:this.coord(0,0),bl:this.coord(0,f),tr:this.coord(e,0),br:this.coord(e,f)}},sides:function(){var f=this.corners();var g={top:0,bottom:0,left:0,right:0},e,i;for(var h in f){e=f[h].x;i=f[h].y;if(i<g.top){g.top=i}if(i>g.bottom){g.bottom=i}if(e<g.left){g.left=e}if(e>g.right){g.right=e}}return g},size:function(){var e=this.sides();return{height:Math.abs(e.bottom-e.top),width:Math.abs(e.right-e.left)}},originOffset:function(h,g){h=h?h:{x:this.outerWidth*0.5,y:this.outerHeight*0.5};g=g?g:{x:0,y:0};var e=this.coord(h.x,h.y);var f=this.coord(g.x,g.y);return{top:(f.y-g.y)-(e.y-h.y),left:(f.x-g.x)-(e.x-h.x)}}};c.matrix.M2x2.prototype={x:function(g){var f=this.elements,e=g.elements;if(e.length==2){return new c.matrix.V2(f[0]*e[0]+f[1]*e[1],f[2]*e[0]+f[3]*e[1])}else{if(e.length==4){return new c.matrix.M2x2(f[0]*e[0]+f[1]*e[2],f[0]*e[1]+f[1]*e[3],f[2]*e[0]+f[3]*e[2],f[2]*e[1]+f[3]*e[3])}}return false},e:function(g,e){var f=0;if(g==1&&e==2){f=1}else{if(g==2&&e==1){f=2}else{if(g==2&&e==2){f=3}}}return this.elements[f]}};c.matrix.V2.prototype={e:function(e){return this.elements[e-1]}}})(jQuery,this,this.document);(function(e,d,b,f){var a=/^([+\-]=)?([\d+.\-]+)(.*)$/;var c=/^(.*?)\s+([+\-]=)?([\d+.\-]+)(.*)$/;var h=e.fn.animate;e.fn.animate=function(m,j,l,k){if(m&&!jQuery.isEmptyObject(m)){var i=this;jQuery.each(m,function(n,o){if(e.inArray(n,e.transform.funcs)!=-1){if(e.transform.rfunc.reflect.test(n)){var p=o?e.matrix[n]():e.matrix.empty(),t=p.elements;o=[t[0],t[1],t[2],t[3]]}var r=a.exec(o);if((r&&r[3])||e.isArray(o)){var q,u,v=[];if(e.isArray(o)){e.each(o,function(w){r=a.exec(this);q=parseFloat(r[2]);u=r[3]||"px";v.push({end:(r[1]?r[1]:"")+q,unit:u})})}else{q=parseFloat(r[2]);u=r[3]||"px";v.push({end:(r[1]?r[1]:"")+q,unit:u});var s=0;while(r=c.exec(u)){v[s].unit=r[1];v.push({end:(r[2]?r[2]:"")+parseFloat(r[3]),unit:r[4]});u=r[4];s++}}i.data("data-animate-"+n,v);m[n]=v[0].end}}})}return h.apply(this,arguments)};var g=e.fx.prototype.cur;e.fx.prototype.cur=function(k){if(e.inArray(this.prop,e.transform.funcs)!=-1){this.transform=this.transform||this.elem.transform||new e.transform(this.elem);var i=e.transform.rfunc;var j=this.transform.getAttr(this.prop),l=a.exec(e.isArray(j)?j[0]:j);if(j===null||l===null){j=i.scale.test(this.prop)||i.reflect.test(this.prop)?1:0;l=[null,null,j]}return parseFloat(l[2])}return g.apply(this,arguments)};e.fx.multivalueInit=function(l){var j=e(l.elem),i=l.transform.getAttr(l.prop),k=j.data("data-animate-"+l.prop);if(k){j.removeData("data-animate-"+l.prop)}if(e.transform.rfunc.reflect.test(l.prop)){i=l.transform.getAttr("matrix")}l.values=[];if(e.isArray(i)&&!e.isArray(k)){k=[{end:parseFloat(l.end),unit:l.unit},{end:e.transform.rfunc.scale.test(l.prop)?1:0,unit:l.unit}]}if(k){var o,n=e.transform.rfunc.scale,m;e.each(k,function(p,q){if(e.isArray(i)){o=i[p]}else{if(p>0){o=n.test(l.prop)?i:null}else{o=i}}if(!o&&o!==0){o=n.test(l.prop)?1:0}o=parseFloat(o);m=a.exec(q.end);if(m&&m[1]){q.end=((m[1]==="-="?-1:1)*parseFloat(m[2]))+o}l.values.push({start:parseFloat(o),end:parseFloat(q.end),unit:q.unit})})}else{l.values.push({start:parseFloat(l.start),end:parseFloat(l.end),unit:l.unit})}};e.fx.multivalueStep={_default:function(i){e.each(i.values,function(j,k){i.values[j].now=k.start+((k.end-k.start)*i.pos)})}};e.each(e.transform.funcs,function(j,k){e.fx.step[k]=function(n){if(!n.transformInit){n.transform=n.transform||n.elem.transform||new e.transform(n.elem);e.fx.multivalueInit(n);if(n.values.length>1){n.multiple=true}var m=e.transform.rfunc;if(m.angle.test(n.prop)){n.unit="deg"}else{if(m.scale.test(n.prop)){n.unit=""}else{if(m.reflect.test(n.prop)){n.unit=""}else{if(n.prop=="matrix"){n.unit=""}}}}e.each(n.values,function(p){n.values[p].unit=n.unit});n.transformInit=true}if(n.multiple){(e.fx.multivalueStep[n.prop]||e.fx.multivalueStep._default)(n)}else{n.values[0].now=n.now}var l=[];e.each(n.values,function(p,q){if(q.unit=="deg"){while(q.now>=360){q.now-=360}while(q.now<=-360){q.now+=360}}l.push(parseFloat(parseFloat(q.now).toFixed(8))+q.unit)});var i={},o=e.transform.rfunc.reflect.test(n.prop)?"matrix":n.prop;i[o]=n.multiple?l:l[0];n.transform.exec(i,{preserve:true})}})})(jQuery,this,this.document);
