Created
June 1, 2011 20:53
-
-
Save Olical/1003290 to your computer and use it in GitHub Desktop.
Playing with Google closure
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| var h=void 0,i=null,n,o=this;function p(){} | |
| function aa(a){var b=typeof a;if(b=="object")if(a){if(a instanceof Array)return"array";else if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if(c=="[object Window]")return"object";if(c=="[object Array]"||typeof a.length=="number"&&typeof a.splice!="undefined"&&typeof a.propertyIsEnumerable!="undefined"&&!a.propertyIsEnumerable("splice"))return"array";if(c=="[object Function]"||typeof a.call!="undefined"&&typeof a.propertyIsEnumerable!="undefined"&&!a.propertyIsEnumerable("call"))return"function"}else return"null"; | |
| else if(b=="function"&&typeof a.call=="undefined")return"object";return b}function q(a){return aa(a)=="array"}function ba(a){var b=aa(a);return b=="array"||b=="object"&&typeof a.length=="number"}function r(a){return typeof a=="string"}function s(a){return aa(a)=="function"}function ca(a){a=aa(a);return a=="object"||a=="array"||a=="function"}function t(a){return a[da]||(a[da]=++ea)}var da="closure_uid_"+Math.floor(Math.random()*2147483648).toString(36),ea=0,fa=Date.now||function(){return+new Date}; | |
| function u(a,b){function c(){}c.prototype=b.prototype;a.b=b.prototype;a.prototype=new c};function ga(a){if(!ha.test(a))return a;a.indexOf("&")!=-1&&(a=a.replace(ia,"&"));a.indexOf("<")!=-1&&(a=a.replace(ja,"<"));a.indexOf(">")!=-1&&(a=a.replace(ka,">"));a.indexOf('"')!=-1&&(a=a.replace(la,"""));return a}var ia=/&/g,ja=/</g,ka=/>/g,la=/\"/g,ha=/[&<>\"]/; | |
| function ma(a,b){for(var c=0,d=String(a).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),f=String(b).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),e=Math.max(d.length,f.length),g=0;c==0&&g<e;g++){var j=d[g]||"",k=f[g]||"",l=RegExp("(\\d*)(\\D*)","g"),L=RegExp("(\\d*)(\\D*)","g");do{var m=l.exec(j)||["","",""],v=L.exec(k)||["","",""];if(m[0].length==0&&v[0].length==0)break;c=na(m[1].length==0?0:parseInt(m[1],10),v[1].length==0?0:parseInt(v[1],10))||na(m[2].length==0,v[2].length==0)||na(m[2],v[2])}while(c== | |
| 0)}return c}function na(a,b){if(a<b)return-1;else if(a>b)return 1;return 0};var w,oa,pa,qa;function ra(){return o.navigator?o.navigator.userAgent:i}qa=pa=oa=w=!1;var sa;if(sa=ra()){var ta=o.navigator;w=sa.indexOf("Opera")==0;oa=!w&&sa.indexOf("MSIE")!=-1;pa=!w&&sa.indexOf("WebKit")!=-1;qa=!w&&!pa&&ta.product=="Gecko"}var x=oa,y=qa,ua=pa,va=o.navigator,wa=(va&&va.platform||"").indexOf("Mac")!=-1,xa; | |
| a:{var ya="",A;if(w&&o.opera)var za=o.opera.version,ya=typeof za=="function"?za():za;else if(y?A=/rv\:([^\);]+)(\)|;)/:x?A=/MSIE\s+([^\);]+)(\)|;)/:ua&&(A=/WebKit\/(\S+)/),A)var Aa=A.exec(ra()),ya=Aa?Aa[1]:"";if(x){var Ba,Ca=o.document;Ba=Ca?Ca.documentMode:h;if(Ba>parseFloat(ya)){xa=String(Ba);break a}}xa=ya}var Da={};function B(a){return Da[a]||(Da[a]=ma(xa,a)>=0)};function Ea(a,b){for(var c in a)b.call(h,a[c],c,a)}function Fa(){var a=C,b;for(b in a)return!1;return!0}var Ga=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"];function Ha(a){for(var b,c,d=1;d<arguments.length;d++){c=arguments[d];for(b in c)a[b]=c[b];for(var f=0;f<Ga.length;f++)b=Ga[f],Object.prototype.hasOwnProperty.call(c,b)&&(a[b]=c[b])}};var D=Array.prototype,Ia=D.indexOf?function(a,b,c){return D.indexOf.call(a,b,c)}:function(a,b,c){c=c==i?0:c<0?Math.max(0,a.length+c):c;if(r(a)){if(!r(b)||b.length!=1)return-1;return a.indexOf(b,c)}for(;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1},Ja=D.forEach?function(a,b,c){D.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,f=r(a)?a.split(""):a,e=0;e<d;e++)e in f&&b.call(c,f[e],e,a)};function Ka(){return D.concat.apply(D,arguments)} | |
| function La(a){if(q(a))return Ka(a);else{for(var b=[],c=0,d=a.length;c<d;c++)b[c]=a[c];return b}}function Ma(a,b,c){return arguments.length<=2?D.slice.call(a,b):D.slice.call(a,b,c)};var Na;var Oa=!x||B("9"),Pa=x&&!B("8");function E(){Qa&&(Ra[t(this)]=this)}var Qa=!1,Ra={};E.prototype.S=!1;E.prototype.k=function(){if(!this.S&&(this.S=!0,this.a(),Qa)){var a=t(this);if(!Ra.hasOwnProperty(a))throw Error(this+" did not call the goog.Disposable base constructor or was disposed of after a clearUndisposedObjects call");delete Ra[a]}};E.prototype.a=function(){Sa(this.oa)};function Sa(){for(var a=0,b=arguments.length;a<b;++a){var c=arguments[a];ba(c)?Sa.apply(i,c):c&&typeof c.k=="function"&&c.k()}};function F(a,b){E.call(this);this.type=a;this.currentTarget=this.target=b}u(F,E);F.prototype.a=function(){delete this.type;delete this.target;delete this.currentTarget};F.prototype.p=!1;F.prototype.A=!0;F.prototype.preventDefault=function(){this.A=!1};function Ta(a){a.preventDefault()};var Ua=new Function("a","return a");function G(a,b){a&&this.o(a,b)}u(G,F);var Va=[1,4,2];n=G.prototype;n.target=i;n.relatedTarget=i;n.offsetX=0;n.offsetY=0;n.clientX=0;n.clientY=0;n.screenX=0;n.screenY=0;n.button=0;n.keyCode=0;n.charCode=0;n.ctrlKey=!1;n.altKey=!1;n.shiftKey=!1;n.metaKey=!1;n.ka=!1;n.m=i; | |
| n.o=function(a,b){var c=this.type=a.type;F.call(this,c);this.target=a.target||a.srcElement;this.currentTarget=b;var d=a.relatedTarget;if(d){if(y){var f;a:{try{Ua(d.nodeName);f=!0;break a}catch(e){}f=!1}f||(d=i)}}else if(c=="mouseover")d=a.fromElement;else if(c=="mouseout")d=a.toElement;this.relatedTarget=d;this.offsetX=a.offsetX!==h?a.offsetX:a.layerX;this.offsetY=a.offsetY!==h?a.offsetY:a.layerY;this.clientX=a.clientX!==h?a.clientX:a.pageX;this.clientY=a.clientY!==h?a.clientY:a.pageY;this.screenX= | |
| a.screenX||0;this.screenY=a.screenY||0;this.button=a.button;this.keyCode=a.keyCode||0;this.charCode=a.charCode||(c=="keypress"?a.keyCode:0);this.ctrlKey=a.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;this.metaKey=a.metaKey;this.ka=wa?a.metaKey:a.ctrlKey;this.state=a.state;this.m=a;delete this.A;delete this.p}; | |
| n.preventDefault=function(){G.b.preventDefault.call(this);var a=this.m;if(a.preventDefault)a.preventDefault();else if(a.returnValue=!1,Pa)try{if(a.ctrlKey||a.keyCode>=112&&a.keyCode<=123)a.keyCode=-1}catch(b){}};n.a=function(){G.b.a.call(this);this.relatedTarget=this.currentTarget=this.target=this.m=i};function Wa(){}var Xa=0;n=Wa.prototype;n.key=0;n.q=!1;n.P=!1;n.o=function(a,b,c,d,f,e){if(s(a))this.X=!0;else if(a&&a.handleEvent&&s(a.handleEvent))this.X=!1;else throw Error("Invalid listener argument");this.u=a;this.aa=b;this.src=c;this.type=d;this.capture=!!f;this.H=e;this.P=!1;this.key=++Xa;this.q=!1};n.handleEvent=function(a){if(this.X)return this.u.call(this.H||this.src,a);return this.u.handleEvent.call(this.u,a)};var Ya,Za=(Ya="ScriptEngine"in o&&o.ScriptEngine()=="JScript")?o.ScriptEngineMajorVersion()+"."+o.ScriptEngineMinorVersion()+"."+o.ScriptEngineBuildVersion():"0";function H(a,b){E.call(this);this.Z=b;this.n=[];if(a>this.Z)throw Error("[goog.structs.SimplePool] Initial cannot be greater than max");for(var c=0;c<a;c++)this.n.push(this.h?this.h():{})}u(H,E);H.prototype.h=i;H.prototype.R=i;H.prototype.getObject=function(){if(this.n.length)return this.n.pop();return this.h?this.h():{}};function I(a,b){a.n.length<a.Z?a.n.push(b):$a(a,b)}function $a(a,b){if(a.R)a.R(b);else if(ca(b))if(s(b.k))b.k();else for(var c in b)delete b[c]} | |
| H.prototype.a=function(){H.b.a.call(this);for(var a=this.n;a.length;)$a(this,a.pop());delete this.n};var ab,bb,J,cb,db,eb,fb,gb,hb,ib,jb; | |
| (function(){function a(){return{f:0,e:0}}function b(){return[]}function c(){function a(b){return g.call(a.src,a.key,b)}return a}function d(){return new Wa}function f(){return new G}var e=Ya&&!(ma(Za,"5.7")>=0),g;eb=function(a){g=a};if(e){ab=function(){return j.getObject()};bb=function(a){I(j,a)};J=function(){return k.getObject()};cb=function(a){I(k,a)};db=function(){return l.getObject()};fb=function(){I(l,c())};gb=function(){return L.getObject()};hb=function(a){I(L,a)};ib=function(){return m.getObject()}; | |
| jb=function(a){I(m,a)};var j=new H(0,600);j.h=a;var k=new H(0,600);k.h=b;var l=new H(0,600);l.h=c;var L=new H(0,600);L.h=d;var m=new H(0,600);m.h=f}else ab=a,bb=p,J=b,cb=p,db=c,fb=p,gb=d,hb=p,ib=f,jb=p})();var K={},M={},N={},kb={}; | |
| function O(a,b,c,d,f){if(b)if(q(b)){for(var e=0;e<b.length;e++)O(a,b[e],c,d,f);return i}else{var d=!!d,g=M;b in g||(g[b]=ab());g=g[b];d in g||(g[d]=ab(),g.f++);var g=g[d],j=t(a),k;g.e++;if(g[j]){k=g[j];for(e=0;e<k.length;e++)if(g=k[e],g.u==c&&g.H==f){if(g.q)break;return k[e].key}}else k=g[j]=J(),g.f++;e=db();e.src=a;g=gb();g.o(c,e,a,b,d,f);c=g.key;e.key=c;k.push(g);K[c]=g;N[j]||(N[j]=J());N[j].push(g);a.addEventListener?(a==o||!a.Q)&&a.addEventListener(b,e,d):a.attachEvent(lb(b),e);return c}else throw Error("Invalid event type"); | |
| }function mb(a,b,c,d,f){if(q(b))for(var e=0;e<b.length;e++)mb(a,b[e],c,d,f);else{d=!!d;a:{e=M;if(b in e&&(e=e[b],d in e&&(e=e[d],a=t(a),e[a]))){a=e[a];break a}a=i}if(a)for(e=0;e<a.length;e++)if(a[e].u==c&&a[e].capture==d&&a[e].H==f){P(a[e].key);break}}} | |
| function P(a){if(K[a]){var b=K[a];if(!b.q){var c=b.src,d=b.type,f=b.aa,e=b.capture;c.removeEventListener?(c==o||!c.Q)&&c.removeEventListener(d,f,e):c.detachEvent&&c.detachEvent(lb(d),f);c=t(c);f=M[d][e][c];if(N[c]){var g=N[c],j=Ia(g,b);j>=0&&D.splice.call(g,j,1);g.length==0&&delete N[c]}b.q=!0;f.$=!0;nb(d,e,c,f);delete K[a]}}} | |
| function nb(a,b,c,d){if(!d.D&&d.$){for(var f=0,e=0;f<d.length;f++)if(d[f].q){var g=d[f].aa;g.src=i;fb(g);hb(d[f])}else f!=e&&(d[e]=d[f]),e++;d.length=e;d.$=!1;e==0&&(cb(d),delete M[a][b][c],M[a][b].f--,M[a][b].f==0&&(bb(M[a][b]),delete M[a][b],M[a].f--),M[a].f==0&&(bb(M[a]),delete M[a]))}} | |
| function ob(a){var b,c=0,d=b==i;b=!!b;if(a==i)Ea(N,function(a){for(var e=a.length-1;e>=0;e--){var f=a[e];if(d||b==f.capture)P(f.key),c++}});else if(a=t(a),N[a])for(var a=N[a],f=a.length-1;f>=0;f--){var e=a[f];if(d||b==e.capture)P(e.key),c++}}function lb(a){if(a in kb)return kb[a];return kb[a]="on"+a}function Q(a,b,c,d,f){var e=1,b=t(b);if(a[b]){a.e--;a=a[b];a.D?a.D++:a.D=1;try{for(var g=a.length,j=0;j<g;j++){var k=a[j];k&&!k.q&&(e&=pb(k,f)!==!1)}}finally{a.D--,nb(c,d,b,a)}}return Boolean(e)} | |
| function pb(a,b){var c=a.handleEvent(b);a.P&&P(a.key);return c} | |
| eb(function(a,b){if(!K[a])return!0;var c=K[a],d=c.type,f=M;if(!(d in f))return!0;var f=f[d],e,g;Na===h&&(Na=x&&!o.addEventListener);if(Na){var j;if(!(j=b))a:{j="window.event".split(".");for(var k=o;e=j.shift();)if(k[e]!=i)k=k[e];else{j=i;break a}j=k}e=j;j=!0 in f;k=!1 in f;if(j){if(e.keyCode<0||e.returnValue!=h)return!0;a:{var l=!1;if(e.keyCode==0)try{e.keyCode=-1;break a}catch(L){l=!0}if(l||e.returnValue==h)e.returnValue=!0}}l=ib();l.o(e,this);e=!0;try{if(j){for(var m=J(),v=l.currentTarget;v;v=v.parentNode)m.push(v); | |
| g=f[!0];g.e=g.f;for(var z=m.length-1;!l.p&&z>=0&&g.e;z--)l.currentTarget=m[z],e&=Q(g,m[z],d,!0,l);if(k){g=f[!1];g.e=g.f;for(z=0;!l.p&&z<m.length&&g.e;z++)l.currentTarget=m[z],e&=Q(g,m[z],d,!1,l)}}else e=pb(c,l)}finally{if(m)m.length=0,cb(m);l.k();jb(l)}return e}d=new G(b,this);try{e=pb(c,d)}finally{d.k()}return e});function R(a){E.call(this);this.ga=a}u(R,E);var qb=new H(0,100),rb=[];function S(a,b,c,d,f){q(c)||(rb[0]=c,c=rb);for(var e=0;e<c.length;e++){var g=a,j=O(b,c[e],d||a,f||!1,a.ga||a);g.j?g.j[j]=!0:g.t?(g.j=qb.getObject(),g.j[g.t]=!0,g.t=i,g.j[j]=!0):g.t=j}}function sb(a){if(a.j){for(var b in a.j)P(b),delete a.j[b];I(qb,a.j);a.j=i}else a.t&&P(a.t)}R.prototype.a=function(){R.b.a.call(this);sb(this)};R.prototype.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented");};function tb(a,b){this.x=a!==h?a:0;this.y=b!==h?b:0}tb.prototype.toString=function(){return"("+this.x+", "+this.y+")"};function ub(a,b,c,d){this.left=a;this.top=b;this.width=c;this.height=d}ub.prototype.toString=function(){return"("+this.left+", "+this.top+" - "+this.width+"w x "+this.height+"h)"};var vb;function wb(a){var b;b=(b=a.className)&&typeof b.split=="function"?b.split(/\s+/):[];var c=Ma(arguments,1),d;d=b;for(var f=0,e=0;e<c.length;e++)Ia(d,c[e])>=0||(d.push(c[e]),f++);d=f==c.length;a.className=b.join(" ");return d};var xb=!x||B("9");!y&&!x||x&&B("9")||y&&B("1.9.1");x&&B("9");function yb(a,b){Ea(b,function(b,d){d=="style"?a.style.cssText=b:d=="class"?a.className=b:d=="for"?a.htmlFor=b:d in zb?a.setAttribute(zb[d],b):a[d]=b})}var zb={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",rowspan:"rowSpan",valign:"vAlign",height:"height",width:"width",usemap:"useMap",frameborder:"frameBorder",maxlength:"maxLength",type:"type"}; | |
| function Ab(a){var b=!ua&&a.compatMode=="CSS1Compat"?a.documentElement:a.body,a=a.parentWindow||a.defaultView;return new tb(a.pageXOffset||b.scrollLeft,a.pageYOffset||b.scrollTop)} | |
| function Bb(){var a=arguments,b=document,c=a[0],d=a[1];if(!xb&&d&&(d.name||d.type)){c=["<",c];d.name&&c.push(' name="',ga(d.name),'"');if(d.type){c.push(' type="',ga(d.type),'"');var f={};Ha(f,d);d=f;delete d.type}c.push(">");c=c.join("")}c=b.createElement(c);if(d)r(d)?c.className=d:q(d)?wb.apply(i,[c].concat(d)):yb(c,d);a.length>2&&Cb(b,c,a);return c} | |
| function Cb(a,b,c){function d(c){c&&b.appendChild(r(c)?a.createTextNode(c):c)}for(var f=2;f<c.length;f++){var e=c[f];if(ba(e)&&!(ca(e)&&e.nodeType>0)){var g;a:{if(e&&typeof e.length=="number")if(ca(e)){g=typeof e.item=="function"||typeof e.item=="string";break a}else if(s(e)){g=typeof e.item=="function";break a}g=!1}Ja(g?La(e):e,d)}else d(e)}}function Db(a){return a.nodeType==9?a:a.ownerDocument||a.document}function T(a){this.d=a||o.document||document}T.prototype.createElement=function(a){return this.d.createElement(a)}; | |
| T.prototype.createTextNode=function(a){return this.d.createTextNode(a)};T.prototype.appendChild=function(a,b){a.appendChild(b)};function U(){E.call(this)}u(U,E);n=U.prototype;n.Q=!0;n.N=i;n.addEventListener=function(a,b,c,d){O(this,a,b,c,d)};n.removeEventListener=function(a,b,c,d){mb(this,a,b,c,d)}; | |
| n.dispatchEvent=function(a){var b=a.type||a,c=M;if(b in c){if(r(a))a=new F(a,this);else if(a instanceof F)a.target=a.target||this;else{var d=a,a=new F(b,this);Ha(a,d)}var d=1,f,c=c[b],b=!0 in c,e;if(b){f=[];for(e=this;e;e=e.N)f.push(e);e=c[!0];e.e=e.f;for(var g=f.length-1;!a.p&&g>=0&&e.e;g--)a.currentTarget=f[g],d&=Q(e,f[g],a.type,!0,a)&&a.A!=!1}if(!1 in c)if(e=c[!1],e.e=e.f,b)for(g=0;!a.p&&g<f.length&&e.e;g++)a.currentTarget=f[g],d&=Q(e,f[g],a.type,!1,a)&&a.A!=!1;else for(f=this;!a.p&&f&&e.e;f=f.N)a.currentTarget= | |
| f,d&=Q(e,f,a.type,!1,a)&&a.A!=!1;a=Boolean(d)}else a=!0;return a};n.a=function(){U.b.a.call(this);ob(this);this.N=i};function Eb(a,b,c){E.call(this);this.target=a;this.handle=b||a;this.Y=c||new ub(NaN,NaN,NaN,NaN);this.d=Db(a);this.i=new R(this);O(this.handle,["touchstart","mousedown"],this.ba,!1,this)}u(Eb,U);var Fb=x||y&&B("1.9.3");n=Eb.prototype;n.clientX=0;n.clientY=0;n.screenX=0;n.screenY=0;n.ca=0;n.da=0;n.r=0;n.s=0;n.T=!0;n.l=!1;n.W=0;n.ia=0;n.ha=!1;n.a=function(){Eb.b.a.call(this);mb(this.handle,["touchstart","mousedown"],this.ba,!1,this);this.i.k();delete this.target;delete this.handle;delete this.i}; | |
| n.ba=function(a){var b=a.type=="mousedown";if(this.T&&!this.l&&(!b||(Oa?a.m.button==0:a.type=="click"||a.m.button&Va[0])&&(!ua||!wa||!a.ctrlKey))){Gb(a);if(this.W==0)if(Hb(this,a),this.l)a.preventDefault();else return;else a.preventDefault();var b=this.d,c=b.documentElement,d=!Fb;S(this.i,b,["touchmove","mousemove"],this.fa,d);S(this.i,b,["touchend","mouseup"],this.C,d);Fb?(c.setCapture(!1),S(this.i,c,"losecapture",this.C)):S(this.i,b?b.parentWindow||b.defaultView:window,"blur",this.C);x&&this.ha&& | |
| S(this.i,b,"dragstart",Ta);this.la&&S(this.i,this.la,"scroll",this.ja,d);this.clientX=this.ca=a.clientX;this.clientY=this.da=a.clientY;this.screenX=a.screenX;this.screenY=a.screenY;this.r=this.target.offsetLeft;this.s=this.target.offsetTop;a=this.d?new T(Db(this.d)):vb||(vb=new T);this.w=Ab(a.d);this.ia=fa()}};function Hb(a,b){if(a.dispatchEvent(new Ib("start",a,b.clientX,b.clientY,b))!==!1)a.l=!0} | |
| n.C=function(a,b){sb(this.i);Fb&&this.d.releaseCapture();if(this.l)Gb(a),this.l=!1,this.dispatchEvent(new Ib("end",this,a.clientX,a.clientY,a,Jb(this,this.r),Kb(this,this.s),b||a.type=="touchcancel"));(a.type=="touchend"||a.type=="touchcancel")&&a.preventDefault()};function Gb(a){var b=a.type;b=="touchstart"||b=="touchmove"?a.o(a.m.targetTouches[0],a.currentTarget):(b=="touchend"||b=="touchcancel")&&a.o(a.m.changedTouches[0],a.currentTarget)} | |
| n.fa=function(a){if(this.T){Gb(a);var b=a.clientX-this.clientX,c=a.clientY-this.clientY;this.clientX=a.clientX;this.clientY=a.clientY;this.screenX=a.screenX;this.screenY=a.screenY;if(!this.l){var d=this.ca-this.clientX,f=this.da-this.clientY;if(d*d+f*f>this.W&&(Hb(this,a),!this.l)){this.C(a);return}}c=Lb(this,b,c);b=c.x;c=c.y;this.l&&this.dispatchEvent(new Ib("beforedrag",this,a.clientX,a.clientY,a,b,c))!==!1&&(Mb(this,a,b,c),a.preventDefault())}}; | |
| function Lb(a,b,c){var d;d=a.d?new T(Db(a.d)):vb||(vb=new T);d=Ab(d.d);b+=d.x-a.w.x;c+=d.y-a.w.y;a.w=d;a.r+=b;a.s+=c;return new tb(Jb(a,a.r),Kb(a,a.s))}n.ja=function(a){var b=Lb(this,0,0);a.clientX=this.w.x-this.clientX;a.clientY=this.w.y-this.clientY;Mb(this,a,b.x,b.y)};function Mb(a,b,c,d){a.target.style.left=c+"px";a.target.style.top=d+"px";a.dispatchEvent(new Ib("drag",a,b.clientX,b.clientY,b,c,d))} | |
| function Jb(a,b){var c=a.Y,d=!isNaN(c.left)?c.left:i,c=!isNaN(c.width)?c.width:0;return Math.min(d!=i?d+c:Infinity,Math.max(d!=i?d:-Infinity,b))}function Kb(a,b){var c=a.Y,d=!isNaN(c.top)?c.top:i,c=!isNaN(c.height)?c.height:0;return Math.min(d!=i?d+c:Infinity,Math.max(d!=i?d:-Infinity,b))}function Ib(a,b,c,d,f,e,g,j){F.call(this,a);this.clientX=c;this.clientY=d;this.na=f;this.left=e!==h?e:b.r;this.top=g!==h?g:b.s;this.qa=b;this.pa=!!j}u(Ib,F);function Nb(a){var b=a.style,a="";"opacity"in b?a=b.opacity:"MozOpacity"in b?a=b.MozOpacity:"filter"in b&&(b=b.filter.match(/alpha\(opacity=([\d.]+)\)/))&&(a=String(b[1]/100));return a==""?a:Number(a)};var Ob=o.window;function V(a,b,c,d){E.call(this);if(!q(a)||!q(b))throw Error("Start and end parameters must be arrays");if(a.length!=b.length)throw Error("Start and end points must be the same length");this.B=a;this.ea=b;this.duration=c;this.O=d;this.coords=[]}u(V,U);var C={},W=i;function Pb(){Ob.clearTimeout(W);var a=fa(),b;for(b in C)Qb(C[b],a);W=Fa()?i:Ob.setTimeout(Pb,20)}function Rb(a){a=t(a);delete C[a];W&&Fa()&&(Ob.clearTimeout(W),W=i)}n=V.prototype;n.g=0;n.V=0;n.c=0;n.startTime=i;n.U=i;n.I=i; | |
| n.play=function(a){if(a||this.g==0)this.c=0,this.coords=this.B;else if(this.g==1)return!1;Rb(this);this.startTime=fa();this.g==-1&&(this.startTime-=this.duration*this.c);this.U=this.startTime+this.duration;this.I=this.startTime;this.c||this.v();X(this,"play");this.g==-1&&this.L();this.g=1;a=t(this);a in C||(C[a]=this);W||(W=Ob.setTimeout(Pb,20));Qb(this,this.startTime);return!0};n.stop=function(a){Rb(this);this.g=0;if(a)this.c=1;Sb(this,this.c);this.M();this.F()}; | |
| n.a=function(){this.g!=0&&this.stop(!1);this.K();V.b.a.call(this)};function Qb(a,b){a.c=(b-a.startTime)/(a.U-a.startTime);if(a.c>=1)a.c=1;a.V=1E3/(b-a.I);a.I=b;Sb(a,a.c);a.c==1?(a.g=0,Rb(a),X(a,"finish"),a.F()):a.g==1&&a.J()}function Sb(a,b){s(a.O)&&(b=a.O(b));a.coords=Array(a.B.length);for(var c=0;c<a.B.length;c++)a.coords[c]=(a.ea[c]-a.B[c])*b+a.B[c]}n.J=function(){X(this,"animate")};n.v=function(){X(this,"begin")};n.K=function(){X(this,"destroy")};n.F=function(){X(this,"end")}; | |
| n.L=function(){X(this,"resume")};n.M=function(){X(this,"stop")};function X(a,b){a.dispatchEvent(new Tb(b,a))}function Tb(a,b){F.call(this,a);this.coords=b.coords;this.x=b.coords[0];this.y=b.coords[1];this.sa=b.coords[2];this.duration=b.duration;this.c=b.c;this.ra=b.V;this.state=b.g;this.ma=b}u(Tb,F);function Y(a,b,c,d,f){V.call(this,b,c,d,f);this.element=a}u(Y,V);Y.prototype.G=p;Y.prototype.J=function(){this.G();Y.b.J.call(this)};Y.prototype.F=function(){this.G();Y.b.F.call(this)};Y.prototype.v=function(){this.G();Y.b.v.call(this)};function Ub(a,b,c,d,f){typeof b=="number"&&(b=[b]);typeof c=="number"&&(c=[c]);Y.call(this,a,b,c,d,f);if(b.length!=1||c.length!=1)throw Error("Start and end points must be 1D");}u(Ub,Y); | |
| Ub.prototype.G=function(){var a=this.coords[0],b=this.element.style;if("opacity"in b)b.opacity=a;else if("MozOpacity"in b)b.MozOpacity=a;else if("filter"in b)b.filter=a===""?"":"alpha(opacity="+a*100+")"};function Z(){V.call(this,[0],[0],0);this.z=[]}u(Z,V);Z.prototype.L=function(){Vb(this,function(a){a.play(a.c==0)});Z.b.L.call(this)};Z.prototype.M=function(){Vb(this,function(a){a.stop()});Z.b.M.call(this)};Z.prototype.K=function(){Wb(this);Z.b.K.call(this)};function Wb(a){Ja(a.z,function(a){a.k()})}function Xb(){Z.call(this)}u(Xb,Z);Xb.prototype.v=function(){for(var a=0;a<this.z.length;a++)this.z[a].play();Xb.b.v.call(this)};function Vb(a,b){Ja(a.z,b)} | |
| Xb.prototype.add=function(a){this.z.push(a);this.duration=Math.max(this.duration,a.duration)};function Yb(){var a=i,a=Bb("div"),b=new Xb;document.body.appendChild(a);a=new Eb(a,a);O(a,"start",function(){b.stop();b.add(new Ub(this.target,Nb(this.target)||1,0.5,100));b.play()});O(a,"end",function(){b.stop();b.add(new Ub(this.target,Nb(this.target)||0.5,1,100));b.play()})}var Zb="closuretest.main".split("."),$=o;!(Zb[0]in $)&&$.execScript&&$.execScript("var "+Zb[0]);for(var $b;Zb.length&&($b=Zb.shift());)!Zb.length&&Yb!==h?$[$b]=Yb:$=$[$b]?$[$b]:$[$b]={}; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // Set up namespace | |
| goog.provide('closuretest.main'); | |
| // Require namespaces | |
| goog.require('goog.dom'); | |
| goog.require('goog.fx.Dragger'); | |
| goog.require('goog.style'); | |
| goog.require('goog.fx'); | |
| goog.require('goog.fx.dom'); | |
| goog.require('goog.fx.AnimationParallelQueue'); | |
| closuretest.main = function() { | |
| // Initialise variables | |
| var dragger = null, | |
| target = goog.dom.createDom('div'), | |
| animation = new goog.fx.AnimationParallelQueue(); | |
| // Append the div | |
| goog.dom.appendChild(document.body, target); | |
| // Set up the dragger | |
| dragger = new goog.fx.Dragger(target, target); | |
| // Listen for the start and end of dragging | |
| goog.events.listen(dragger, 'start', function(e) { | |
| animation.stop(); | |
| animation.add(new goog.fx.dom.Fade(this.target, goog.style.getOpacity(this.target) || 1, .5, 100)); | |
| animation.play(); | |
| }); | |
| goog.events.listen(dragger, 'end', function(e) { | |
| animation.stop(); | |
| animation.add(new goog.fx.dom.Fade(this.target, goog.style.getOpacity(this.target) || .5, 1, 100)); | |
| animation.play(); | |
| }); | |
| }; | |
| goog.exportSymbol('closuretest.main', closuretest.main); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment