/*
 * 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(d,g,i,a){var h=/progid:DXImageTransform\.Microsoft\.Matrix\(.*?\)/;d.extend({transform:function(j){this.$elem=d(j);this.transformProperty=this.getTransformProperty();this.height=null;this.width=null;this.outerHeight=null;this.outerWidth=null;this.boxSizingValue=null;this.boxSizingProperty=null}});d.extend(d.transform,{funcs:["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)?$/}});d.fn.transform=function(j,k){return this.each(function(){var l=new d.transform(this);if(j){l.transform(j,k)}})};d.transform.prototype={transform:function(j,k){var l=this.transformProperty;k=d.extend(true,{forceMatrix:false,preserve:false},k);if(k.preserve){j=d.extend(true,this.getAttrs(true,true),j)}else{j=d.extend(true,{},j)}this.clearAttrs();this.setAttrs(j);if(l&&!k.forceMatrix){return this.applyFuncs(j)}else{if(d.browser.msie||(l&&k.forceMatrix)){return this.applyMatrix(j)}}return false},applyFuncs:function(l,j){var k=[];var n=this.transformProperty;for(var m in l){if(m=="origin"){this[m].apply(this,d.isArray(l[m])?l[m]:[l[m]])}else{if(d.inArray(m,d.transform.funcs)!=-1){k.push(this.createTransformFunc(m,l[m]))}}}this.$elem.css(n,k.join(" "));this.$elem.data("transformed",true);return true},applyMatrix:function(n){var r,l=this.transformProperty,j;var q=function(D,C){j[D]=parseFloat(C)};for(var k in n){if(d.matrix[k]){j=d.isArray(n[k])?n[k]:[n[k]];d.each(j,q);if(!r){r=d.matrix[k].apply(this,j)}else{r=r.x(d.matrix[k].apply(this,j))}}else{if(k=="origin"){j=d.isArray(n[k])?n[k]:[n[k]];this[k].apply(this,j)}}}var o=this.getAttr("translate",true),B=this.getAttr("translateX",true,true)||0,A=this.getAttr("translateY",true,true)||0;if(!d.isArray(o)){o=[o,0]}if(!r){r=new d.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(o[0]||o[1]||B||A){var p=r.x(new d.matrix.V2(parseFloat(o[0])+parseFloat(B),parseFloat(o[1])+parseFloat(A)));z=parseFloat(parseFloat(p.e(1)).toFixed(8));x=parseFloat(parseFloat(p.e(2)).toFixed(8))}if(l&&l.substr(0,4)=="-moz"){this.$elem.css(l,"matrix("+y+", "+w+", "+v+", "+u+", "+z+"px, "+x+"px)")}else{if(l){this.$elem.css(l,"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 m=s.filter||jQuery.curCSS(this.$elem[0],"filter")||"";s.filter=h.test(m)?m.replace(h,t):m?m+" "+t:t;this.$elem.css({zoom:1});this.fixPosition(r,z,x)}}}this.$elem.data("transformed",true);return true},origin:function(k,n){var m=this.transformProperty,j=this.safeOuterHeight(),l=this.safeOuterWidth();switch(k){case"left":k="0";break;case"right":k=l;break;case"center":k=l*0.5;break}switch(n){case"top":n="0";break;case"bottom":n=j;break;case"center":case a:n=j*0.5;break}k=/%/.test(k)?l*parseFloat(k)/100:parseFloat(k);if(typeof(n)!=="undefined"){n=/%/.test(n)?j*parseFloat(n)/100:parseFloat(n)}if(m){if(!n&&n!==0){this.$elem.css(m+"-origin",k+"px")}else{this.$elem.css(m+"-origin",k+"px "+n+"px")}}if(!n&&n!==0){this.setAttr("origin",k)}else{this.setAttr("origin",[k,n])}return true},getTransformProperty:function(){if(this.transformProperty){return this.transformProperty}var k=i.body;var j;var l={transform:"transform",MozTransform:"-moz-transform",WebkitTransform:"-webkit-transform",OTransform:"-o-transform"};for(var m in l){if(typeof k.style[m]!="undefined"){j=l[m];return j}}return null},createTransformFunc:function(m,n){if(d.transform.rfunc.reflect.test(m)&&n){var l=d.matrix[m](),k=l.e(1,1),j=l.e(2,1),p=l.e(1,2),o=l.e(2,2);return"matrix("+k+", "+j+", "+p+", "+o+", 0, 0)"}n=e(m,n);if(!d.isArray(n)){return m+"("+n+")"}else{return m+"("+n[0]+", "+n[1]+")"}},fixPosition:function(s,p,o){var u=this.safeOuterHeight(),j=this.safeOuterWidth(),n=new d.matrix.calc(s,u,j),t=this.getAttr("origin",true);var m=n.originOffset({x:parseFloat(t[0]),y:parseFloat(t[1])});var k=n.sides();var l=this.$elem.css("position");if(l=="static"){l="relative"}var r={top:0,left:0};var q={position:l,top:(m.top+o+k.top+r.top)+"px",left:(m.left+p+k.left+r.left)+"px"};this.$elem.css(q)},safeOuterHeight:function(){return this.safeOuterLength("height")},safeOuterWidth:function(){return this.safeOuterLength("width")},safeOuterLength:function(p){var o="outer"+(p=="width"?"Width":"Height");if(d.browser.msie){p=p=="width"?"width":"height";var k={height:["top","bottom"],width:["left","right"]};var l=this.$elem[0],n=parseFloat(d.curCSS(l,p,true)),j=this.boxSizingProperty,m=this.boxSizingValue;if(!this.boxSizingProperty){j=this.boxSizingProperty=c()||"box-sizing";m=this.boxSizingValue=this.$elem.css(j)||"content-box"}if(this[o]&&this[p]==n){return this[o]}else{this[p]=n}if(j&&(m=="padding-box"||m=="content-box")){n+=parseFloat(d.curCSS(l,"padding-"+k[p][0],true))||0+parseFloat(d.curCSS(l,"padding-"+k[p][1],true))||0}if(j&&m=="content-box"){n+=parseFloat(d.curCSS(l,"border-"+k[p][0]+"-width",true))||0+parseFloat(d.curCSS(l,"border-"+k[p][1]+"-width",true))||0}this[o]=n;return n}return this.$elem[o]()},clearAttrs:function(){d.each(d.transform.funcs,d.proxy(function(j,k){if(this.$elem[0][k]!==a){this.$elem[0][k]=a}},this))},setAttrs:function(j){d.each(j,d.proxy(this.setAttr,this))},setAttr:function(j,k){if(d.isArray(k)){d.each(k,function(l){k[l]=parseFloat(k[l])});k=k.join(" ")}else{if(k||k===0){k=parseFloat(k)}}this.$elem[0][j]=k},getAttrs:function(k){var j={},l;d.each(d.transform.funcs,d.proxy(function(m,n){l=this.getAttr(n,k,true);if(l||l===0){j[n]=l}},this));return j},getAttr:function(n,k,j){var o=this.$elem[0][n];var l=/\s/;var m=/%/;if(j&&!o&&o!==0){return o}else{if(!o&&o!==0){if(n=="origin"){o=this.transformProperty?this.$elem.css(this.transformProperty+"-origin"):(this.safeOuterWidth()*0.5)+" "+(this.safeOuterHeight()*0.5);if(m.test(o)){o=o.split(l);if(m.test(o[0])){o[0]=this.safeOuterWidth()*(parseFloat(o[0])/100)}if(m.test(o[1])){o[1]=this.safeOuterHeight()*(parseFloat(o[1])/100)}o=o.join(" ")}o=o.replace(/px/g,"")}else{o=d.transform.rfunc.scale.test(n)?1:0}}}if(k&&l.test(o)){o=o.split(l)}return o}};var b=/^([\+\-]=)?([\d+.\-]+)(.*)$/;function e(k,p){var r=!d.isArray(p)?[p]:[p[0],p[1]],j=d.transform.rfunc.angle,q=d.transform.rfunc.length;for(var m=0,n=r.length;m<n;m++){var l=b.exec(r[m]),o="";if(j.test(k)){o="deg";if(l[3]&&!d.angle.runit.test(l[3])){l[3]=null}}else{if(q.test(k)){o="px"}}if(!l){r[m]=0+o}else{if(!l[3]){r[m]+=o}}}return n==1?r[0]:r}var f=null;function c(){if(f){return f}var k={boxSizing:"box-sizing",MozBoxSizing:"-moz-box-sizing",WebkitBoxSizing:"-webkit-box-sizing",OBoxSizing:"-o-box-sizing"},j=i.body;for(var l in k){if(typeof j.style[l]!="undefined"){f=k[l];return f}}return null}})(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]},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:parseFloat(parseFloat(f.e(1)).toFixed(8)),y:parseFloat(parseFloat(f.e(2)).toFixed(8))}},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}}}if(g>2||e>2){return 0}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(p,t){if(e.inArray(p,e.transform.funcs)!=-1){var s=a.exec(t);if((s&&s[3])||e.isArray(t)){var n,r,o=[];if(e.isArray(t)){e.each(t,function(u){s=a.exec(this);n=parseFloat(s[2]);r=s[3]||"px";o.push({end:(s[1]?s[1]:"")+n,unit:r})})}else{n=parseFloat(s[2]);r=s[3]||"px";o.push({end:(s[1]?s[1]:"")+n,unit:r});var q=0;while(s=c.exec(r)){o[q].unit=s[1];o.push({end:(s[2]?s[2]:"")+parseFloat(s[3]),unit:s[4]});r=s[4];q++}}i.data("animate-"+p,o);m[p]=o[0].end}}})}return h.apply(this,arguments)};var g=e.fx.prototype.cur;e.fx.prototype.cur=function(i){if(e.inArray(this.prop,e.transform.funcs)!=-1){this.transform=this.transform||new e.transform(this.elem);var j=a.exec(this.transform.getAttr(this.prop));return parseFloat(j[2])||0}return g.apply(this,arguments)};e.fx.multivalueInit=function(l){var j=e(l.elem),m,i=l.transform.getAttr(l.prop,true),k=j.data("animate-"+l.prop);j.removeData("animate-"+l.prop);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 n;e.each(k,function(o,p){if(e.isArray(i)){n=i[o]}else{if(o>0){n=e.transform.rfunc.scale.test(l.prop)?i:null}else{n=i}}if(!n&&n!==0){n=e.transform.rfunc.scale.test(l.prop)?1:0}n=parseFloat(n);if(m=a.exec(p.end)){if(m[1]){p.end=((m[1]==="-="?-1:1)*parseFloat(m[2]))+n}}l.values.push({start:parseFloat(n),end:parseFloat(p.end),unit:p.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||new e.transform(n.elem);if(isNaN(n.start)){n.start=n.transform.getAttr(n.prop,true);if(e.isArray(n.start)){n.start=n.start[0]}n.now=n.start+((n.end-n.start)*n.pos)}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=""}}}e.each(n.values,function(o){n.values[o].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(o,p){if(p.unit=="deg"){while(p.now>=360){p.now-=360}while(p.now<=-360){p.now+=360}}l.push(parseFloat(parseFloat(p.now).toFixed(8))+p.unit)});var i={};i[n.prop]=n.multiple?l:l[0];n.transform.transform(i,{preserve:true})}})})(jQuery,this,this.document);
