<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -9,14 +9,13 @@ Code Guidelines:
  * Use spaces (four) not tabs.
 
 Tested Browsers:
- - Safari 2.0.4 up, mac/win
- - Firefox 2, 3, 3.5 and Seamonkey
+ - Safari 2.0.4 up, mac/win, iPhone
+ - Gecko (Firefox 2, 3, 3.5, Seamonkey, Fennec)
  - IE 6 up
  - Opera 9.5 up
  - Chrome 2 up
- 
-Other browsers:
-Safari 2.0.4 has many test failures due to limitation in YUI Test's UserAction (pageX)
-Many tests will unofficially pass in Safari 2.0 and IE 5.5.
+ - BlackBerry9000 4.6
 
-TODO: Test in BlackBerry and recent NetFront browser.
\ No newline at end of file
+Other browsers:
+Safari 2.0.4 has many test failures due to limitation in YUI Test's UserAction (pageX).
+Many tests will unofficially pass in Safari 2.0 and IE 5.5.
\ No newline at end of file</diff>
      <filename>README</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +1,3 @@
 (function(){if(typeof APE!==&quot;undefined&quot;){throw Error(&quot;APE is already defined.&quot;)}self.APE={namespace:J,mixin:M,extend:R,createFactory:Q,getById:P,deferError:D,toString:function(){return&quot;[APE JavaScript Library]&quot;}};function I(){}var A=0,T=&quot;instances&quot;,N=&quot;prototype&quot;,B=Object[N],L=B.hasOwnProperty,C=Function[N].toString,V=[&quot;toString&quot;,&quot;valueOf&quot;];function J(Z){var a=Z.split(&quot;.&quot;),X=self,Y=0,F=a.length,W;for(;Y&lt;F;Y++){W=a[Y];if(!U(X,W)){X[W]=new O((X.qualifiedName||&quot;APE&quot;)+&quot;.&quot;+W)}X=X[W]}return X}function M(Y,X){var Z,W=0,F;for(Z in X){if(U(X,Z)){Y[Z]=X[Z]}}for(;W&lt;V.length;W++){F=V[W];if(U(X,F)){Y[F]=X[F]}}return Y}function R(F,Y,W){I[N]=Y[N];var X=F[N]=new I;if(typeof W==&quot;object&quot;){APE.mixin(X,W)}X.constructor=F;return F}function D(F){self.setTimeout(function(){throw F},1)}function Q(F,X){return{getById:W,getByNode:W};function W(Y){if(typeof Y.id==&quot;string&quot;){arguments[0]=H(Y)}if(!(T in this)){if(typeof X===&quot;function&quot;){F[N]=X()}}return E.call(this,F,arguments)}}function E(W,F){var X=F[0];if(!U(this,T)){this[T]={}}return this[T][X]||(this[T][X]=G(W,F))}function P(F){return E.call(this,this,arguments)}function H(F){var X=F.id,W;if(!X){W=S(this)||&quot;APE&quot;;X=F.id=W+&quot;_&quot;+(A++)}return X}function S(F){if(typeof F.name===&quot;string&quot;){return F.name}var W=C.call(F).match(/\s([a-z]+)\(/i);return W&amp;&amp;W[1]||&quot;&quot;}function G(Y,W){var X,F=I[N]=Y[N];F.constructor=Y;X=new I;Y.apply(X,W);return X}O[N].toString=function(){return&quot;[&quot;+this.qualifiedName+&quot;]&quot;};function O(F){this.qualifiedName=F}function U(X,W){if(W in X){if(L){return L.call(X,W)}var F=X.__proto__;if(F){return !(W in F)||F[W]!==X[W]}return B[W]!==X[W]}return false}if(L&amp;&amp;!L.call(self,&quot;Object&quot;)){var K=L;L=B.hasOwnProperty=function(F){return(this===self)?(F in this&amp;&amp;this[F]!==B[F]):K.call(this,F)}}})();(function(){var APE=self.APE,Registry={};APE.EventPublisher=EventPublisher;APE.mixin(EventPublisher,{get:get,add:add,fire:fire,cleanUp:cleanUp});function EventPublisher(src,type){this.src=src;this._callStack=[];this.type=type}EventPublisher.prototype={add:function(fp,thisArg){this._callStack.push([fp,thisArg||this.src]);return this},addBefore:function(f,thisArg){return add(this,&quot;beforeFire&quot;,f,thisArg||this.src)},addAfter:function(f,thisArg){return add(this,&quot;afterFire&quot;,f,thisArg||this.src)},getEvent:function(type){return get(this,type)},remove:function(fp,thisArg){var cs=this._callStack,i,call;thisArg=thisArg||this.src;for(i=0;i&lt;cs.length;i++){call=cs[i];if(call[0]===fp&amp;&amp;call[1]===thisArg){return cs.splice(i,1)}}return null},removeBefore:function(fp,thisArg){return get(this,&quot;beforeFire&quot;).remove(fp,thisArg||this.src)},removeAfter:function(fp,thisArg){return get(this,&quot;afterFire&quot;).remove(fp,thisArg||this.src)},fire:function(payload){return fire(this)(payload)},toString:function(){return&quot;APE.EventPublisher: {src=&quot;+this.src+&quot;, type=&quot;+this.type+&quot;, length=&quot;+this._callStack.length+&quot;}&quot;}};function cleanUp(){var type,publisherList,publisher,i,len;for(type in Registry){publisherList=Registry[type];for(i=0,len=publisherList.length;i&lt;len;i++){publisher=publisherList[i];publisher.src[publisher.type]=null}}Registry={}}function add(src,sEvent,fp,thisArg){return get(src,sEvent).add(fp,thisArg)}function fire(publisher){return fireEvent;function fireEvent(e){var preventDefault=false,i,cs=publisher._callStack,csi;if(typeof publisher.beforeFire==&quot;function&quot;){try{if(publisher.beforeFire(e)==false){preventDefault=true}}catch(ex){APE.deferError(ex)}}for(i=0;i&lt;cs.length;i++){csi=cs[i];try{if(csi[0].call(csi[1],e)==false){preventDefault=true}}catch(ex){APE.deferError(ex)}}if(typeof publisher.afterFire==&quot;function&quot;){if(publisher.afterFire(e)==false){preventDefault=true}}return !preventDefault}}function get(src,sEvent){var publisherList=Registry[sEvent]||(Registry[sEvent]=[]),i,len,publisher;for(i=0,len=publisherList.length;i&lt;len;i++){publisher=publisherList[i];if(publisher.src===src){return publisher}}publisher=new EventPublisher(src,sEvent);if(src[sEvent]){publisher.add(src[sEvent],src)}src[sEvent]=fire(publisher);publisherList[len]=publisher;return publisher}var isMaybeLeak
 /*@cc_on=(@_jscript_version&lt;5.7)@*/
-;if(isMaybeLeak){EventPublisher.get(self,&quot;onunload&quot;).addAfter(cleanUp,EventPublisher)}})();APE.namespace(&quot;APE.dom&quot;);(function(){var E=APE.dom,A=&quot;ownerDocument&quot;,D=document,F=D.documentElement,C=F&amp;&amp;typeof F[A]!==&quot;undefined&quot;?A:&quot;document&quot;,B=D.defaultView;E.OWNER_DOCUMENT=C;E.IS_COMPUTED_STYLE=(typeof B!=&quot;undefined&quot;&amp;&amp;&quot;getComputedStyle&quot; in B)})();(function(){APE.mixin(APE.dom,{getScrollOffsets:A,getViewportDimensions:C});var B=&quot;documentElement&quot;,E=document[B],D=E&amp;&amp;E.clientWidth===0;E=null;function A(H){H=H||window;var G,I=H.document,F=I[B];if(&quot;pageXOffset&quot; in H){G=function(){return{left:H.pageXOffset,top:H.pageYOffset}}}else{if(D){F=I.body}G=function(){return{left:F.scrollLeft,top:F.scrollTop}}}I=null;this.getScrollOffsets=G;return G()}function C(J){J=J||window;var G=J.document,K=G,I=&quot;client&quot;,L,H;if(typeof K.clientWidth==&quot;number&quot;){}else{if(D||F(J)){G=K.body}else{if(K[B].clientHeight&gt;0){G=K[B]}else{if(typeof innerHeight==&quot;number&quot;){G=J;I=&quot;inner&quot;}}}}L=I+&quot;Width&quot;;H=I+&quot;Height&quot;;return(this.getViewportDimensions=function(){return{width:G[L],height:G[H]}})();function F(N){var O=N.document,P=O.createElement(&quot;div&quot;);P.style.height=&quot;2500px&quot;;O.body.insertBefore(P,O.body.firstChild);var M=O[B].clientHeight&gt;2400;O.body.removeChild(P);return M}}})();(function(){var b=APE.dom;APE.mixin(b,{getOffsetCoords:c,isAboveElement:F,isBelowElement:W,isInsideElement:L});var i=this.document,a,h=i.documentElement,e=Math.round,Y=Math.max,D=&quot;getComputedStyle&quot;,C=&quot;defaultView&quot;,Q=h&amp;&amp;h.clientWidth===0,R=&quot;clientTop&quot; in h,P=/^h/.test(h.tagName)?&quot;table&quot;:&quot;TABLE&quot;,M=&quot;currentStyle&quot; in h,T,E,f,V,S,O,G,J,A,N,g,H=i[C]&amp;&amp;typeof i[C][D]!=&quot;undefined&quot;,I=&quot;getBoundingClientRect&quot;,d=&quot;relative&quot;,Z=&quot;borderTopWidth&quot;,B=&quot;borderLeftWidth&quot;,K=/^(?:r|a)/,U=/^(?:a|f)/;i=h=null;function c(k,AC,AI){var AO=k[b.OWNER_DOCUMENT],AM=AO.documentElement,z=AO.body;if(!AC){AC=AO}if(!AI){AI={x:0,y:0}}if(k===AC){AI.x=AI.y=0;return AI}if(I in k){var AK=Q?z:AM,v=k[I](),u=v.left+Y(AM.scrollLeft,z.scrollLeft),s=v.top+Y(AM.scrollTop,z.scrollTop),AH,AE=AK.clientTop,l=AK.clientLeft;if(R){u-=l;s-=AE}if(AC!==AO){v=c(AC,null);u-=v.x;s-=v.y;if(R){if(Q&amp;&amp;AC===z){u-=l;s-=AE}else{if(AC!==AO&amp;&amp;AC!==AM&amp;&amp;AC!==z){u-=AC.clientLeft;s-=AC.clientTop}}}}if(Q&amp;&amp;M&amp;&amp;AC!=AO&amp;&amp;AC!==z){AH=z.currentStyle;u+=parseFloat(AH.marginLeft)||0+parseFloat(AH.left)||0;s+=parseFloat(AH.marginTop)||0+parseFloat(AH.top)||0}AI.x=u;AI.y=s;return AI}else{if(H){if(!a){X()}var q=k.offsetLeft,AJ=k.offsetTop,AF=AO[C],p=AF[D](k,&quot;&quot;);if(p.position==&quot;fixed&quot;){AI.x=q+AM.scrollLeft;AI.y=AJ+AM.scrollTop;return AI}var w=AF[D](z,&quot;&quot;),AA=!K.test(w.position),o=k,r=k.parentNode,j=k.offsetParent;for(;r&amp;&amp;r!==AC;r=r.parentNode){if(r!==z&amp;&amp;r!==AM){q-=r.scrollLeft;AJ-=r.scrollTop}if(r===j){if(r===z&amp;&amp;AA){}else{if(!T&amp;&amp;!(r.tagName===P&amp;&amp;S)){var n=AF[D](r,&quot;&quot;);q+=parseFloat(n[B])||0;AJ+=parseFloat(n[Z])||0}if(r!==z){q+=j.offsetLeft;AJ+=j.offsetTop;o=j;j=r.offsetParent}}}}var t=0,AG=0,AN,AB,AL=AC===AO||AC===AM,AD,m;if(o!=AO){m=AF[D](o,&quot;&quot;).position;AN=U.test(m);AB=AN||K.test(m)}if((o===k&amp;&amp;k.offsetParent===z&amp;&amp;!E&amp;&amp;AC!==z&amp;&amp;!(AA&amp;&amp;V))||(E&amp;&amp;o===k&amp;&amp;!AB)||!AA&amp;&amp;AB&amp;&amp;G&amp;&amp;AL){AG+=parseFloat(w.marginTop)||0;t+=parseFloat(w.marginLeft)||0}if(AC===z){AD=AF[D](AM,&quot;&quot;);if((!AA&amp;&amp;((A&amp;&amp;!AN)||(N&amp;&amp;AN)))||AA&amp;&amp;J){AG-=parseFloat(AD.paddingTop)||0;t-=parseFloat(AD.paddingLeft)||0}if(g){if(!AB||AB&amp;&amp;!AA){AG-=parseFloat(AD.marginTop)||0}t-=parseFloat(AD.marginLeft)||0}}if(AA){if(O||(!AN&amp;&amp;!T&amp;&amp;AL)){AG+=parseFloat(w[Z]);t+=parseFloat(w[B])}}else{if(V){if(AL){if(!f){AG+=parseFloat(w.top)||0;t+=parseFloat(w.left)||0;if(AN&amp;&amp;T){AG+=parseFloat(w[Z]);t+=parseFloat(w[B])}}if(AC===AO&amp;&amp;!AA&amp;&amp;!A){if(!AD){AD=AF[D](AM,&quot;&quot;)}AG+=parseFloat(AD.paddingTop)||0;t+=parseFloat(AD.paddingLeft)||0}}else{if(f){AG-=parseFloat(w.top);t-=parseFloat(w.left)}}if(E&amp;&amp;(!AB||AC===z)){AG-=parseFloat(w.marginTop)||0;t-=parseFloat(w.marginLeft)||0}}}AI.x=e(q+t);AI.y=e(AJ+AG);return AI}}}function X(){a=true;var AA=document,n=AA.body;if(!n){return}var j=&quot;marginTop&quot;,AC=&quot;position&quot;,p=&quot;padding&quot;,y=&quot;static&quot;,t=&quot;border&quot;,o=n.style,AD=o.cssText,w=&quot;1px solid transparent&quot;,k=&quot;0&quot;,r=&quot;1px&quot;,u=&quot;offsetTop&quot;,q=AA.documentElement.style,AB=q.cssText,m=AA.createElement(&quot;div&quot;),l=m.style,v=AA.createElement(P);o[p]=o[j]=o.top=k;q.position=y;o[t]=w;l.margin=k;l[AC]=y;m=n.insertBefore(m,n.firstChild);T=(m[u]===1);o[t]=k;v.innerHTML=&quot;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;x&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&quot;;v.style[t]=&quot;7px solid&quot;;v.cellSpacing=v.cellPadding=k;n.insertBefore(v,n.firstChild);S=v.getElementsByTagName(&quot;td&quot;)[0].offsetLeft===7;n.removeChild(v);o[j]=r;o[AC]=d;E=(m[u]===1);V=n[u]===0;o[j]=k;o.top=r;f=m[u]===1;o.top=k;o[j]=r;o[AC]=l[AC]=d;G=m[u]===0;l[AC]=&quot;absolute&quot;;o[AC]=y;if(m.offsetParent===n){o[t]=w;l.top=&quot;2px&quot;;O=m[u]===1;o[t]=k;l[AC]=d;q[p]=r;o[j]=k;J=m[u]===3;o[AC]=d;A=m[u]===3;l[AC]=&quot;absolute&quot;;N=m[u]===3;q[p]=k;q[j]=r;g=m[u]===3}n.removeChild(m);o.cssText=AD||&quot;&quot;;q.cssText=AB||&quot;&quot;}function L(k,j){var m=c(k).y,l=c(j).y;return m+k.offsetHeight&lt;=l+j.offsetHeight&amp;&amp;m&gt;=l}function F(k,j){return(c(k).y&lt;=c(j).y)}function W(k,j){return(c(k).y+k.offsetHeight&gt;=c(j).y+j.offsetHeight)}})();(function(){APE.mixin(APE.dom,{hasToken:E,removeClass:J,addClass:F,getElementsByClassName:K,findAncestorWithClass:H});var G=&quot;className&quot;;function E(M,L){return B(L,&quot;&quot;).test(M)}function J(M,L){var N=M[G];if(!N){return}if(N===L){M[G]=&quot;&quot;;return}M[G]=C(N.replace(B(L,&quot;g&quot;),&quot; &quot;))}function F(M,L){if(!M[G]){M[G]=L}if(!B(L).test(M[G])){M[G]+=&quot; &quot;+L}}var A={};function B(M,L){var N=M+&quot;$&quot;+L;return(A[N]||(A[N]=RegExp(&quot;(?:^|\\s)&quot;+M+&quot;(?:$|\\s)&quot;,L)))}function K(M,N,T){if(!T){return[]}N=N||&quot;*&quot;;if(M.getElementsByClassName&amp;&amp;(N===&quot;*&quot;)){return M.getElementsByClassName(T)}var O=B(T,&quot;&quot;),Q=M.getElementsByTagName(N),R=Q.length,L=0,P,S=Array(R);for(P=0;P&lt;R;P++){if(O.test(Q[P][G])){S[L++]=Q[P]}}S.length=L;return S}function H(O,L,M){if(O==null||O===M){return null}var P=B(L,&quot;&quot;),N;for(N=O.parentNode;N!=M;){if(P.test(N[G])){return N}N=N.parentNode}return null}var D=/^\s+|\s+$/g,I=/\s\s+/g;function C(L){return L.replace(D,&quot;&quot;).replace(I,&quot; &quot;)}})();(function(){var D=document.documentElement,B=&quot;getNamedItem&quot; in D.attributes,K=&quot;nodeType&quot;,L=&quot;compareDocumentPosition&quot;,I=&quot;parentNode&quot;,F=/^H/.test(D.tagName)?&quot;toUpperCase&quot;:&quot;toLowerCase&quot;;APE.mixin(APE.dom,{contains:H(),findAncestorWithAttribute:A,findAncestorWithTagName:J,findNextSiblingElement:C,findPreviousSiblingElement:E,getChildElements:G});D=null;function H(){if(L in D){return function(N,M){return(N[L](M)&amp;16)!==0}}else{if(&quot;contains&quot; in D){return function(N,M){return N!==M&amp;&amp;N.contains(M)}}}return function(N,M){if(N===M){return false}while(N!==M&amp;&amp;(M=M[I])!==null){}return N===M}}function A(O,R,P){for(var M,Q,N=O[I];N!==null;){Q=N.attributes;if(!Q||!B){return null}M=Q.getNamedItem(R);if(M&amp;&amp;M.specified){if(M.value===P||(P===undefined)){return N}}N=N[I]}return null}function J(O,M){M=M[F]();for(var N=O[I];N!==null;){if(N.tagName===M){return N}N=N[I]}return null}function C(N){for(var M=N.nextSibling;M!==null;M=M.nextSibling){if(M[K]===1){return M}}return null}function E(M){for(var N=M.previousSibling;N!==null;N=N.previousSibling){if(N[K]===1){return N}}return null}function G(Q){var P=0,O,N=[],M,S=Q.childNodes,R;for(M=S.length,O=0;P&lt;M;P++){R=S[P];if(R[K]!==1){continue}N[O++]=R}return N}})();(function(){var A=&quot;addEventListener&quot; in this,F=A?&quot;target&quot;:&quot;srcElement&quot;;APE.mixin(APE.dom.Event={},{eventTarget:F,getTarget:D,addCallback:E,removeCallback:G,preventDefault:B});function D(H){return(H||window.event)[F]}function C(I,H){return A?H:function(J){H.call(I,J)}}function E(K,J,H){if(A){K.addEventListener(J,H,false)}else{var I=C(K,H);K.attachEvent(&quot;on&quot;+J,I)}return I||H}function G(J,I,H){if(A){J.removeEventListener(I,H,false)}else{J.detachEvent(&quot;on&quot;+I,H)}return H}function B(H){H=H||window.event;if(&quot;preventDefault&quot; in H){H.preventDefault()}else{if(&quot;returnValue&quot; in H){H.returnValue=false}}}})();APE.namespace(&quot;APE.dom.Event&quot;);(function(){var C=APE.dom,A=C.Event;A.getCoords=B;function B(E){var D;if(&quot;pageX&quot; in E){D=function(F){return{x:F.pageX,y:F.pageY}}}else{D=function(G){var F=C.getScrollOffsets();G=G||window.event;return{x:G.clientX+F.left,y:G.clientY+F.top}}}return(A.getCoords=D)(E)}})();(function(){var Q=APE.dom;Q.getStyle=D;Q.setOpacity=S;var R=&quot;getComputedStyle&quot;,E=Q.IS_COMPUTED_STYLE,P=&quot;currentStyle&quot;,O=&quot;opacity&quot;,F=&quot;style&quot;,G=&quot;px&quot;,J=&quot;filter&quot;,I=&quot;alpha(&quot;+O+&quot;=&quot;,M=/^(?:margin|(border)(Width|Color|Style)|padding)$/,N=/\Wopacity\s*=\s*([\d]+)/i,A=/^auto|\d%$/,L=&quot;cssFloat&quot;,C=[&quot;Top&quot;,&quot;Right&quot;,&quot;Bottom&quot;,&quot;Left&quot;];if(!(L in document.documentElement[F])){L=&quot;styleFloat&quot;}function K(V){var X,W=V[J];if(!N.test(W)){return 1}X=N.exec(W);return X[1]/100}function S(Y,V){var X=Y[F],W;if(O in X){X[O]=V}else{if(J in X){X[J]=I+(V*100)+&quot;)&quot;;W=Y[P];if(W&amp;&amp;!W.hasLayout){X.zoom=1}}}}function D(W,V){var d=&quot;&quot;,a,Z,X,Y,b,c=W[Q.OWNER_DOCUMENT];if(/float/.test(V)){V=L}if(E){a=c.defaultView[R](W,&quot;&quot;);if(!(V in a)){return&quot;&quot;}d=a[V];if(d===&quot;&quot;){d=T(a,V).join(&quot; &quot;)}if(V==&quot;zIndex&quot;&amp;&amp;d==&quot;normal&quot;){return&quot;0&quot;}if(A.test(d)){d=U(W,V)}}else{a=W[P];if(V===O){d=K(a)}else{d=a[V];if(A.test(d)){d=U(W,V)}else{if(!(V in a)){return&quot;&quot;}}}Z=H.exec(d);if(Z){X=d.split(&quot; &quot;);X[0]=B(W,Z[0]);for(Y=1,b=X.length;Y&lt;b;Y++){Z=H.exec(X[Y]);X[Y]=B(W,Z[0])}d=X.join(&quot; &quot;)}}return d}function U(X,W){var d=X[F],c,Y,V,Z,b,a;if(&quot;pixelWidth&quot; in d&amp;&amp;/width|height|top|left/.test(W)){Y=&quot;pixel&quot;+(W.charAt(0).toUpperCase())+W.substring(1);c=d[Y]}if(c){return c+G}if(W===&quot;width&quot;){b=X.clientLeft||0;V=parseFloat(D(X,&quot;borderRightWidth&quot;))||b;a=parseFloat(D(X,&quot;paddingLeft&quot;))||0+parseFloat(D(X,&quot;paddingRight&quot;))||0;return X.offsetWidth-b-V-a+G}else{if(W===&quot;height&quot;){Z=X.clientTop||0;V=parseFloat(D(X,&quot;borderBottomWidth&quot;))||Z;a=parseFloat(D(X,&quot;paddingTop&quot;))||0+parseFloat(D(X,&quot;paddingBottom&quot;))||0;return X.offsetHeight-Z-V+G}else{if(W==&quot;margin&quot;&amp;&amp;X[P].position!=&quot;absolute&quot;){c=parseFloat(D(X.parentNode,&quot;width&quot;))-X.offsetWidth;if(c===0){return&quot;0px&quot;}c=&quot;0px &quot;+c;return c+&quot; &quot;+c}}}return&quot;0&quot;}function T(b,W){var X=M.exec(W),Z,f,a,d,e,c=true,V,Y=1;if(X&amp;&amp;X[0]){V=C;Z=X[1]||X[0];f=X[2]||&quot;&quot;}else{return[&quot;&quot;]}a=b[Z+V[0]+f];e=[a];while(Y&lt;4){d=b[Z+V[Y]+f];c=c&amp;&amp;d==a;a=d;e[Y++]=d}if(c){return[a]}return e}var H=/(-?\d+|(?:-?\d*\.\d+))(?:em|ex|pt|pc|in|cm|mm\s*)/;function B(Z,a){if(Z.runtimeStyle){if(parseFloat(a)===0){return&quot;0px&quot;}var Y=Z[F],X=Y.left,W=Z.runtimeStyle,V=W.left;W.left=Z[P].left;Y.left=(a||0);a=Y.pixelLeft+G;Y.left=X;W.left=V;return a}}})();
\ No newline at end of file
+;if(isMaybeLeak){EventPublisher.get(self,&quot;onunload&quot;).addAfter(cleanUp,EventPublisher)}})();APE.namespace(&quot;APE.dom&quot;);(function(){var E=APE.dom,A=&quot;ownerDocument&quot;,D=document,F=D.documentElement,C=F&amp;&amp;typeof F[A]!==&quot;undefined&quot;?A:&quot;document&quot;,B=D.defaultView;E.OWNER_DOCUMENT=C;E.IS_COMPUTED_STYLE=(typeof B!=&quot;undefined&quot;&amp;&amp;&quot;getComputedStyle&quot; in B)})();(function(){APE.mixin(APE.dom,{getScrollOffsets:A,getViewportDimensions:C});var B=&quot;documentElement&quot;,E=document[B],D=E&amp;&amp;E.clientWidth===0;E=null;function A(H){H=H||window;var G,I=H.document,F=I[B];if(&quot;pageXOffset&quot; in H){G=function(){return{left:H.pageXOffset,top:H.pageYOffset}}}else{if(D){F=I.body}G=function(){return{left:F.scrollLeft,top:F.scrollTop}}}I=null;this.getScrollOffsets=G;return G()}function C(J){J=J||window;var G=J.document,K=G,I=&quot;client&quot;,L,H;if(typeof K.clientWidth==&quot;number&quot;){}else{if(D||F(J)){G=K.body}else{if(K[B].clientHeight&gt;0){G=K[B]}else{if(typeof innerHeight==&quot;number&quot;){G=J;I=&quot;inner&quot;}}}}L=I+&quot;Width&quot;;H=I+&quot;Height&quot;;return(this.getViewportDimensions=function(){return{width:G[L],height:G[H]}})();function F(N){var O=N.document,P=O.createElement(&quot;div&quot;);P.style.height=&quot;2500px&quot;;O.body.insertBefore(P,O.body.firstChild);var M=O[B].clientHeight&gt;2400;O.body.removeChild(P);return M}}})();(function(){var B=APE.dom,N=typeof document.createElement(&quot;p&quot;).scrollLeft==&quot;number&quot;;APE.mixin(B,{getOffsetCoords:J,isAboveElement:U,isBelowElement:D,isInsideElement:P,IS_SCROLL_SUPPORTED:N});var I=this.document,c,O=I.documentElement,f=Math.round,W=Math.max,S=self.parseFloat,k=&quot;getComputedStyle&quot;,Z=&quot;defaultView&quot;,e=O&amp;&amp;O.clientWidth===0,Q=&quot;clientTop&quot; in O,X=/^h/.test(O.tagName)?&quot;table&quot;:&quot;TABLE&quot;,j=&quot;currentStyle&quot; in O,K,C,b,L,i,g,d,T,Y,F,A,H=I[Z]&amp;&amp;typeof I[Z][k]!=&quot;undefined&quot;,G=&quot;getBoundingClientRect&quot;,M=&quot;relative&quot;,R=&quot;borderTopWidth&quot;,a=&quot;borderLeftWidth&quot;,E=/^(?:r|a)/,V=/^(?:a|f)/;I=O=null;function J(m,AE,AK){var AQ=m[B.OWNER_DOCUMENT],AO=AQ.documentElement,AB=AQ.body;if(!AE){AE=AQ}if(!AK){AK={x:0,y:0}}if(m===AE){AK.x=AK.y=0;return AK}if(G in m){var AM=e?AB:AO,z=m[G](),w=z.left+W(AO.scrollLeft,AB.scrollLeft),u=z.top+W(AO.scrollTop,AB.scrollTop),AJ,AG=AM.clientTop,n=AM.clientLeft;if(Q){w-=n;u-=AG}if(AE!==AQ){z=J(AE,null);w-=z.x;u-=z.y;if(Q){if(e&amp;&amp;AE===AB){w-=n;u-=AG}else{if(AE!==AQ&amp;&amp;AE!==AO&amp;&amp;AE!==AB){w-=AE.clientLeft;u-=AE.clientTop}}}}if(e&amp;&amp;j&amp;&amp;AE!=AQ&amp;&amp;AE!==AB){AJ=AB.currentStyle;w+=S(AJ.marginLeft)||0+S(AJ.left)||0;u+=S(AJ.marginTop)||0+S(AJ.top)||0}AK.x=w;AK.y=u;return AK}else{if(H){if(!c){h()}var s=m.offsetLeft,AL=m.offsetTop,AH=AQ[Z],r=AH[k](m,&quot;&quot;);if(r.position==&quot;fixed&quot;&amp;&amp;N){AK.x=s+AO.scrollLeft;AK.y=AL+AO.scrollTop;return AK}var AA=AH[k](AB,&quot;&quot;),AC=!E.test(AA.position),q=m,t=m.parentNode,l=m.offsetParent;for(;t&amp;&amp;t!==AE;t=t.parentNode){if(t!==AB&amp;&amp;t!==AO&amp;&amp;N){s-=t.scrollLeft;AL-=t.scrollTop}if(t===l){if(t===AB&amp;&amp;AC){}else{if(!K&amp;&amp;!(t.tagName===X&amp;&amp;i)){var p=AH[k](t,&quot;&quot;);s+=S(p[a])||0;AL+=S(p[R])||0}if(t!==AB){s+=l.offsetLeft;AL+=l.offsetTop;q=l;l=t.offsetParent}}}}var v=0,AI=0,AP,AD,AN=AE===AQ||AE===AO,AF,o;if(q!=AQ){o=AH[k](q,&quot;&quot;).position;AP=V.test(o);AD=AP||E.test(o)}if((q===m&amp;&amp;m.offsetParent===AB&amp;&amp;!C&amp;&amp;AE!==AB&amp;&amp;!(AC&amp;&amp;L))||(C&amp;&amp;q===m&amp;&amp;!AD)||!AC&amp;&amp;AD&amp;&amp;d&amp;&amp;AN){AI+=S(AA.marginTop)||0;v+=S(AA.marginLeft)||0}if(AE===AB){AF=AH[k](AO,&quot;&quot;);if((!AC&amp;&amp;((Y&amp;&amp;!AP)||(F&amp;&amp;AP)))||AC&amp;&amp;T){AI-=S(AF.paddingTop)||0;v-=S(AF.paddingLeft)||0}if(A){if(!AD||AD&amp;&amp;!AC){AI-=S(AF.marginTop)||0}v-=S(AF.marginLeft)||0}}if(AC){if(g||(!AP&amp;&amp;!K&amp;&amp;AN)){AI+=S(AA[R]);v+=S(AA[a])}}else{if(L){if(AN){if(!b){AI+=S(AA.top)||0;v+=S(AA.left)||0;if(AP&amp;&amp;K){AI+=S(AA[R]);v+=S(AA[a])}}if(AE===AQ&amp;&amp;!AC&amp;&amp;!Y){if(!AF){AF=AH[k](AO,&quot;&quot;)}AI+=S(AF.paddingTop)||0;v+=S(AF.paddingLeft)||0}}else{if(b){AI-=S(AA.top);v-=S(AA.left)}}if(C&amp;&amp;(!AD||AE===AB)){AI-=S(AA.marginTop)||0;v-=S(AA.marginLeft)||0}}}AK.x=f(s+v);AK.y=f(AL+AI);return AK}}}function h(){c=true;var AC=document,p=AC.body;if(!p){return}var l=&quot;marginTop&quot;,AE=&quot;position&quot;,r=&quot;padding&quot;,AB=&quot;static&quot;,v=&quot;border&quot;,q=p.style,AF=q.cssText,AA=&quot;1px solid transparent&quot;,m=&quot;0&quot;,u=&quot;1px&quot;,w=&quot;offsetTop&quot;,t=AC.documentElement.style,AD=t.cssText,o=AC.createElement(&quot;div&quot;),n=o.style,y=AC.createElement(X);q[r]=q[l]=q.top=m;t.position=AB;q[v]=AA;n.margin=m;n[AE]=AB;o=p.insertBefore(o,p.firstChild);K=(o[w]===1);q[v]=m;y.innerHTML=&quot;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;x&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&quot;;y.style[v]=&quot;7px solid&quot;;y.cellSpacing=y.cellPadding=m;p.insertBefore(y,p.firstChild);i=y.getElementsByTagName(&quot;td&quot;)[0].offsetLeft===7;p.removeChild(y);q[l]=u;q[AE]=M;C=(o[w]===1);L=p[w]===0;q[l]=m;q.top=u;b=o[w]===1;q.top=m;q[l]=u;q[AE]=n[AE]=M;d=o[w]===0;n[AE]=&quot;absolute&quot;;q[AE]=AB;if(o.offsetParent===p){q[v]=AA;n.top=&quot;2px&quot;;g=o[w]===1;q[v]=m;n[AE]=M;t[r]=u;q[l]=m;T=o[w]===3;q[AE]=M;Y=o[w]===3;n[AE]=&quot;absolute&quot;;F=o[w]===3;t[r]=m;t[l]=u;A=o[w]===3}p.removeChild(o);q.cssText=AF||&quot;&quot;;t.cssText=AD||&quot;&quot;}function P(m,l){var o=J(m).y,n=J(l).y;return o+m.offsetHeight&lt;=n+l.offsetHeight&amp;&amp;o&gt;=n}function U(m,l){return(J(m).y&lt;=J(l).y)}function D(m,l){return(J(m).y+m.offsetHeight&gt;=J(l).y+l.offsetHeight)}})();(function(){APE.mixin(APE.dom,{hasToken:E,removeClass:J,addClass:F,getElementsByClassName:K,findAncestorWithClass:H});var G=&quot;className&quot;;function E(M,L){return B(L,&quot;&quot;).test(M)}function J(M,L){var N=M[G];if(!N){return}if(N===L){M[G]=&quot;&quot;;return}M[G]=C(N.replace(B(L,&quot;g&quot;),&quot; &quot;))}function F(M,L){if(!M[G]){M[G]=L}if(!B(L).test(M[G])){M[G]+=&quot; &quot;+L}}var A={};function B(M,L){var N=M+&quot;$&quot;+L;return(A[N]||(A[N]=RegExp(&quot;(?:^|\\s)&quot;+M+&quot;(?:$|\\s)&quot;,L)))}function K(M,N,T){if(!T){return[]}N=N||&quot;*&quot;;if(M.getElementsByClassName&amp;&amp;(N===&quot;*&quot;)){return M.getElementsByClassName(T)}var O=B(T,&quot;&quot;),Q=M.getElementsByTagName(N),R=Q.length,L=0,P,S=Array(R);for(P=0;P&lt;R;P++){if(O.test(Q[P][G])){S[L++]=Q[P]}}S.length=L;return S}function H(O,L,M){if(O==null||O===M){return null}var P=B(L,&quot;&quot;),N;for(N=O.parentNode;N!=M;){if(P.test(N[G])){return N}N=N.parentNode}return null}var D=/^\s+|\s+$/g,I=/\s\s+/g;function C(L){return L.replace(D,&quot;&quot;).replace(I,&quot; &quot;)}})();(function(){var D=document.documentElement,B=&quot;getNamedItem&quot; in D.attributes,K=&quot;nodeType&quot;,L=&quot;compareDocumentPosition&quot;,I=&quot;parentNode&quot;,F=/^H/.test(D.tagName)?&quot;toUpperCase&quot;:&quot;toLowerCase&quot;;APE.mixin(APE.dom,{contains:H(),findAncestorWithAttribute:A,findAncestorWithTagName:J,findNextSiblingElement:C,findPreviousSiblingElement:E,getChildElements:G});D=null;function H(){if(L in D){return function(N,M){return(N[L](M)&amp;16)!==0}}else{if(&quot;contains&quot; in D){return function(N,M){return N!==M&amp;&amp;N.contains(M)}}}return function(N,M){if(N===M){return false}while(N!==M&amp;&amp;(M=M[I])!==null){}return N===M}}function A(O,R,P){for(var M,Q,N=O[I];N!==null;){Q=N.attributes;if(!Q||!B){return null}M=Q.getNamedItem(R);if(M&amp;&amp;M.specified){if(M.value===P||(P===undefined)){return N}}N=N[I]}return null}function J(O,M){M=M[F]();for(var N=O[I];N!==null;){if(N.tagName===M){return N}N=N[I]}return null}function C(N){for(var M=N.nextSibling;M!==null;M=M.nextSibling){if(M[K]===1){return M}}return null}function E(M){for(var N=M.previousSibling;N!==null;N=N.previousSibling){if(N[K]===1){return N}}return null}function G(Q){var P=0,O,N=[],M,S=Q.childNodes,R;for(M=S.length,O=0;P&lt;M;P++){R=S[P];if(R[K]!==1){continue}N[O++]=R}return N}})();(function(){var A=&quot;addEventListener&quot; in this,F=A?&quot;target&quot;:&quot;srcElement&quot;;APE.mixin(APE.dom.Event={},{eventTarget:F,getTarget:D,addCallback:E,removeCallback:G,preventDefault:B});function D(H){return(H||window.event)[F]}function C(I,H){return A?H:function(J){H.call(I,J)}}function E(K,J,H){if(A){K.addEventListener(J,H,false)}else{var I=C(K,H);K.attachEvent(&quot;on&quot;+J,I)}return I||H}function G(J,I,H){if(A){J.removeEventListener(I,H,false)}else{J.detachEvent(&quot;on&quot;+I,H)}return H}function B(H){H=H||window.event;if(&quot;preventDefault&quot; in H){H.preventDefault()}else{if(&quot;returnValue&quot; in H){H.returnValue=false}}}})();APE.namespace(&quot;APE.dom.Event&quot;);(function(){var C=APE.dom,A=C.Event;A.getCoords=B;function B(E){var D;if(&quot;pageX&quot; in E){D=function(F){return{x:F.pageX,y:F.pageY}}}else{D=function(G){var F=C.getScrollOffsets();G=G||window.event;return{x:G.clientX+F.left,y:G.clientY+F.top}}}return(A.getCoords=D)(E)}})();(function(){var Q=APE.dom;Q.getStyle=D;Q.setOpacity=S;var R=&quot;getComputedStyle&quot;,E=Q.IS_COMPUTED_STYLE,P=&quot;currentStyle&quot;,O=&quot;opacity&quot;,F=&quot;style&quot;,G=&quot;px&quot;,J=&quot;filter&quot;,I=&quot;alpha(&quot;+O+&quot;=&quot;,M=/^(?:margin|(border)(Width|Color|Style)|padding)$/,N=/\Wopacity\s*=\s*([\d]+)/i,A=/^auto|\d%$/,L=&quot;cssFloat&quot;,C=[&quot;Top&quot;,&quot;Right&quot;,&quot;Bottom&quot;,&quot;Left&quot;];if(!(L in document.documentElement[F])){L=&quot;styleFloat&quot;}function K(V){var X,W=V[J];if(!N.test(W)){return 1}X=N.exec(W);return X[1]/100}function S(Y,V){var X=Y[F],W;if(O in X){X[O]=V}else{if(J in X){X[J]=I+(V*100)+&quot;)&quot;;W=Y[P];if(W&amp;&amp;!W.hasLayout){X.zoom=1}}}}function D(W,V){var d=&quot;&quot;,a,Z,X,Y,b,c=W[Q.OWNER_DOCUMENT];if(/float/.test(V)){V=L}if(E){a=c.defaultView[R](W,&quot;&quot;);if(!(V in a)){return&quot;&quot;}d=a[V];if(d===&quot;&quot;){d=T(a,V).join(&quot; &quot;)}if(V==&quot;zIndex&quot;&amp;&amp;d==&quot;normal&quot;){return&quot;0&quot;}if(A.test(d)){d=U(W,V)}}else{a=W[P];if(V===O){d=K(a)}else{d=a[V];if(A.test(d)){d=U(W,V)}else{if(!(V in a)){return&quot;&quot;}}}Z=H.exec(d);if(Z){X=d.split(&quot; &quot;);X[0]=B(W,Z[0]);for(Y=1,b=X.length;Y&lt;b;Y++){Z=H.exec(X[Y]);X[Y]=B(W,Z[0])}d=X.join(&quot; &quot;)}}return d}function U(X,W){var d=X[F],c,Y,V,Z,b,a;if(&quot;pixelWidth&quot; in d&amp;&amp;/width|height|top|left/.test(W)){Y=&quot;pixel&quot;+(W.charAt(0).toUpperCase())+W.substring(1);c=d[Y]}if(c){return c+G}if(W===&quot;width&quot;){b=X.clientLeft||0;V=parseFloat(D(X,&quot;borderRightWidth&quot;))||b;a=parseFloat(D(X,&quot;paddingLeft&quot;))||0+parseFloat(D(X,&quot;paddingRight&quot;))||0;return X.offsetWidth-b-V-a+G}else{if(W===&quot;height&quot;){Z=X.clientTop||0;V=parseFloat(D(X,&quot;borderBottomWidth&quot;))||Z;a=parseFloat(D(X,&quot;paddingTop&quot;))||0+parseFloat(D(X,&quot;paddingBottom&quot;))||0;return X.offsetHeight-Z-V+G}else{if(W==&quot;margin&quot;&amp;&amp;X[P].position!=&quot;absolute&quot;){c=parseFloat(D(X.parentNode,&quot;width&quot;))-X.offsetWidth;if(c===0){return&quot;0px&quot;}c=&quot;0px &quot;+c;return c+&quot; &quot;+c}}}return&quot;0&quot;}function T(b,W){var X=M.exec(W),Z,f,a,d,e,c=true,V,Y=1;if(X&amp;&amp;X[0]){V=C;Z=X[1]||X[0];f=X[2]||&quot;&quot;}else{return[&quot;&quot;]}a=b[Z+V[0]+f];e=[a];while(Y&lt;4){d=b[Z+V[Y]+f];c=c&amp;&amp;d==a;a=d;e[Y++]=d}if(c){return[a]}return e}var H=/(-?\d+|(?:-?\d*\.\d+))(?:em|ex|pt|pc|in|cm|mm\s*)/;function B(Z,a){if(Z.runtimeStyle){if(parseFloat(a)===0){return&quot;0px&quot;}var Y=Z[F],X=Y.left,W=Z.runtimeStyle,V=W.left;W.left=Z[P].left;Y.left=(a||0);a=Y.pixelLeft+G;Y.left=X;W.left=V;return a}}})();
\ No newline at end of file</diff>
      <filename>build/ape-ep-dom-min.js</filename>
    </modified>
    <modified>
      <diff>@@ -597,26 +597,30 @@ APE.namespace(&quot;APE.dom&quot; );
 
 (function() {
     
-    var dom = APE.dom;
+    var dom = APE.dom,
+    	IS_SCROLL = typeof document.createElement(&quot;p&quot;).scrollLeft == &quot;number&quot;;
     APE.mixin(
-        dom,
-            /** @scope APE.dom */ {
+        dom, {
             getOffsetCoords : getOffsetCoords,
             isAboveElement : isAboveElement,
             isBelowElement : isBelowElement,
-            isInsideElement: isInsideElement
+            isInsideElement: isInsideElement,
+            
+            // Blackberry9000 does not, and does not support scrollLeft, scrollTop.
+            IS_SCROLL_SUPPORTED : IS_SCROLL
     });
 
     var doc = this.document,
         inited,
         documentElement = doc.documentElement,
         round = Math.round, max = Math.max,
+        parseFloat = self.parseFloat,
         GET_COMPUTED_STYLE = &quot;getComputedStyle&quot;,
         DEFAULT_VIEW = &quot;defaultView&quot;,
         
     // Load-time constants.
         IS_BODY_ACTING_ROOT = documentElement &amp;&amp; documentElement.clientWidth === 0,
-
+        
     // IE, Safari, and Opera support clientTop. FF 2 doesn't
         IS_CLIENT_TOP_SUPPORTED = 'clientTop'in documentElement,
 
@@ -755,12 +759,11 @@ APE.namespace(&quot;APE.dom&quot; );
     // Crawling up the tree.
         else if(IS_COMPUTED_STYLE_SUPPORTED) {
             if(!inited) init();
-
             var offsetLeft = el.offsetLeft,
                 offsetTop = el.offsetTop,
                 defaultView = doc[DEFAULT_VIEW],
                 cs = defaultView[GET_COMPUTED_STYLE](el, '');
-            if(cs.position == &quot;fixed&quot;) {
+            if(cs.position == &quot;fixed&quot; &amp;&amp; IS_SCROLL) {
                 coords.x = offsetLeft + documentElement.scrollLeft;
                 coords.y = offsetTop + documentElement.scrollTop;
                 return coords;
@@ -776,7 +779,7 @@ APE.namespace(&quot;APE.dom&quot; );
             // when we get to a parent that's an offsetParent, update
             // the current offsetParent marker.
             for( ; parent &amp;&amp; parent !== container; parent = parent.parentNode) {
-                if(parent !== body &amp;&amp; parent !== documentElement) {
+                if(parent !== body &amp;&amp; parent !== documentElement &amp;&amp; IS_SCROLL) {
                     offsetLeft -= parent.scrollLeft;
                     offsetTop -= parent.scrollTop;
                 }
@@ -1027,7 +1030,6 @@ APE.namespace(&quot;APE.dom&quot; );
 
         // xs.position = &quot;fixed&quot;;
         // FIXED_HAS_OFFSETPARENT = x.offsetParent != null;
-
         body.removeChild(x);
         s.cssText = bCssText||&quot;&quot;;
         ds.cssText = dCssText||&quot;&quot;;</diff>
      <filename>build/ape-ep-dom.js</filename>
    </modified>
    <modified>
      <diff>@@ -1 +1 @@
-APE.namespace(&quot;APE.dom&quot;);(function(){var E=APE.dom,A=&quot;ownerDocument&quot;,D=document,F=D.documentElement,C=F&amp;&amp;typeof F[A]!==&quot;undefined&quot;?A:&quot;document&quot;,B=D.defaultView;E.OWNER_DOCUMENT=C;E.IS_COMPUTED_STYLE=(typeof B!=&quot;undefined&quot;&amp;&amp;&quot;getComputedStyle&quot; in B)})();(function(){APE.mixin(APE.dom,{getScrollOffsets:A,getViewportDimensions:C});var B=&quot;documentElement&quot;,E=document[B],D=E&amp;&amp;E.clientWidth===0;E=null;function A(H){H=H||window;var G,I=H.document,F=I[B];if(&quot;pageXOffset&quot; in H){G=function(){return{left:H.pageXOffset,top:H.pageYOffset}}}else{if(D){F=I.body}G=function(){return{left:F.scrollLeft,top:F.scrollTop}}}I=null;this.getScrollOffsets=G;return G()}function C(J){J=J||window;var G=J.document,K=G,I=&quot;client&quot;,L,H;if(typeof K.clientWidth==&quot;number&quot;){}else{if(D||F(J)){G=K.body}else{if(K[B].clientHeight&gt;0){G=K[B]}else{if(typeof innerHeight==&quot;number&quot;){G=J;I=&quot;inner&quot;}}}}L=I+&quot;Width&quot;;H=I+&quot;Height&quot;;return(this.getViewportDimensions=function(){return{width:G[L],height:G[H]}})();function F(N){var O=N.document,P=O.createElement(&quot;div&quot;);P.style.height=&quot;2500px&quot;;O.body.insertBefore(P,O.body.firstChild);var M=O[B].clientHeight&gt;2400;O.body.removeChild(P);return M}}})();(function(){var b=APE.dom;APE.mixin(b,{getOffsetCoords:c,isAboveElement:F,isBelowElement:W,isInsideElement:L});var i=this.document,a,h=i.documentElement,e=Math.round,Y=Math.max,D=&quot;getComputedStyle&quot;,C=&quot;defaultView&quot;,Q=h&amp;&amp;h.clientWidth===0,R=&quot;clientTop&quot; in h,P=/^h/.test(h.tagName)?&quot;table&quot;:&quot;TABLE&quot;,M=&quot;currentStyle&quot; in h,T,E,f,V,S,O,G,J,A,N,g,H=i[C]&amp;&amp;typeof i[C][D]!=&quot;undefined&quot;,I=&quot;getBoundingClientRect&quot;,d=&quot;relative&quot;,Z=&quot;borderTopWidth&quot;,B=&quot;borderLeftWidth&quot;,K=/^(?:r|a)/,U=/^(?:a|f)/;i=h=null;function c(k,AC,AI){var AO=k[b.OWNER_DOCUMENT],AM=AO.documentElement,z=AO.body;if(!AC){AC=AO}if(!AI){AI={x:0,y:0}}if(k===AC){AI.x=AI.y=0;return AI}if(I in k){var AK=Q?z:AM,v=k[I](),u=v.left+Y(AM.scrollLeft,z.scrollLeft),s=v.top+Y(AM.scrollTop,z.scrollTop),AH,AE=AK.clientTop,l=AK.clientLeft;if(R){u-=l;s-=AE}if(AC!==AO){v=c(AC,null);u-=v.x;s-=v.y;if(R){if(Q&amp;&amp;AC===z){u-=l;s-=AE}else{if(AC!==AO&amp;&amp;AC!==AM&amp;&amp;AC!==z){u-=AC.clientLeft;s-=AC.clientTop}}}}if(Q&amp;&amp;M&amp;&amp;AC!=AO&amp;&amp;AC!==z){AH=z.currentStyle;u+=parseFloat(AH.marginLeft)||0+parseFloat(AH.left)||0;s+=parseFloat(AH.marginTop)||0+parseFloat(AH.top)||0}AI.x=u;AI.y=s;return AI}else{if(H){if(!a){X()}var q=k.offsetLeft,AJ=k.offsetTop,AF=AO[C],p=AF[D](k,&quot;&quot;);if(p.position==&quot;fixed&quot;){AI.x=q+AM.scrollLeft;AI.y=AJ+AM.scrollTop;return AI}var w=AF[D](z,&quot;&quot;),AA=!K.test(w.position),o=k,r=k.parentNode,j=k.offsetParent;for(;r&amp;&amp;r!==AC;r=r.parentNode){if(r!==z&amp;&amp;r!==AM){q-=r.scrollLeft;AJ-=r.scrollTop}if(r===j){if(r===z&amp;&amp;AA){}else{if(!T&amp;&amp;!(r.tagName===P&amp;&amp;S)){var n=AF[D](r,&quot;&quot;);q+=parseFloat(n[B])||0;AJ+=parseFloat(n[Z])||0}if(r!==z){q+=j.offsetLeft;AJ+=j.offsetTop;o=j;j=r.offsetParent}}}}var t=0,AG=0,AN,AB,AL=AC===AO||AC===AM,AD,m;if(o!=AO){m=AF[D](o,&quot;&quot;).position;AN=U.test(m);AB=AN||K.test(m)}if((o===k&amp;&amp;k.offsetParent===z&amp;&amp;!E&amp;&amp;AC!==z&amp;&amp;!(AA&amp;&amp;V))||(E&amp;&amp;o===k&amp;&amp;!AB)||!AA&amp;&amp;AB&amp;&amp;G&amp;&amp;AL){AG+=parseFloat(w.marginTop)||0;t+=parseFloat(w.marginLeft)||0}if(AC===z){AD=AF[D](AM,&quot;&quot;);if((!AA&amp;&amp;((A&amp;&amp;!AN)||(N&amp;&amp;AN)))||AA&amp;&amp;J){AG-=parseFloat(AD.paddingTop)||0;t-=parseFloat(AD.paddingLeft)||0}if(g){if(!AB||AB&amp;&amp;!AA){AG-=parseFloat(AD.marginTop)||0}t-=parseFloat(AD.marginLeft)||0}}if(AA){if(O||(!AN&amp;&amp;!T&amp;&amp;AL)){AG+=parseFloat(w[Z]);t+=parseFloat(w[B])}}else{if(V){if(AL){if(!f){AG+=parseFloat(w.top)||0;t+=parseFloat(w.left)||0;if(AN&amp;&amp;T){AG+=parseFloat(w[Z]);t+=parseFloat(w[B])}}if(AC===AO&amp;&amp;!AA&amp;&amp;!A){if(!AD){AD=AF[D](AM,&quot;&quot;)}AG+=parseFloat(AD.paddingTop)||0;t+=parseFloat(AD.paddingLeft)||0}}else{if(f){AG-=parseFloat(w.top);t-=parseFloat(w.left)}}if(E&amp;&amp;(!AB||AC===z)){AG-=parseFloat(w.marginTop)||0;t-=parseFloat(w.marginLeft)||0}}}AI.x=e(q+t);AI.y=e(AJ+AG);return AI}}}function X(){a=true;var AA=document,n=AA.body;if(!n){return}var j=&quot;marginTop&quot;,AC=&quot;position&quot;,p=&quot;padding&quot;,y=&quot;static&quot;,t=&quot;border&quot;,o=n.style,AD=o.cssText,w=&quot;1px solid transparent&quot;,k=&quot;0&quot;,r=&quot;1px&quot;,u=&quot;offsetTop&quot;,q=AA.documentElement.style,AB=q.cssText,m=AA.createElement(&quot;div&quot;),l=m.style,v=AA.createElement(P);o[p]=o[j]=o.top=k;q.position=y;o[t]=w;l.margin=k;l[AC]=y;m=n.insertBefore(m,n.firstChild);T=(m[u]===1);o[t]=k;v.innerHTML=&quot;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;x&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&quot;;v.style[t]=&quot;7px solid&quot;;v.cellSpacing=v.cellPadding=k;n.insertBefore(v,n.firstChild);S=v.getElementsByTagName(&quot;td&quot;)[0].offsetLeft===7;n.removeChild(v);o[j]=r;o[AC]=d;E=(m[u]===1);V=n[u]===0;o[j]=k;o.top=r;f=m[u]===1;o.top=k;o[j]=r;o[AC]=l[AC]=d;G=m[u]===0;l[AC]=&quot;absolute&quot;;o[AC]=y;if(m.offsetParent===n){o[t]=w;l.top=&quot;2px&quot;;O=m[u]===1;o[t]=k;l[AC]=d;q[p]=r;o[j]=k;J=m[u]===3;o[AC]=d;A=m[u]===3;l[AC]=&quot;absolute&quot;;N=m[u]===3;q[p]=k;q[j]=r;g=m[u]===3}n.removeChild(m);o.cssText=AD||&quot;&quot;;q.cssText=AB||&quot;&quot;}function L(k,j){var m=c(k).y,l=c(j).y;return m+k.offsetHeight&lt;=l+j.offsetHeight&amp;&amp;m&gt;=l}function F(k,j){return(c(k).y&lt;=c(j).y)}function W(k,j){return(c(k).y+k.offsetHeight&gt;=c(j).y+j.offsetHeight)}})();(function(){APE.mixin(APE.dom,{hasToken:E,removeClass:J,addClass:F,getElementsByClassName:K,findAncestorWithClass:H});var G=&quot;className&quot;;function E(M,L){return B(L,&quot;&quot;).test(M)}function J(M,L){var N=M[G];if(!N){return}if(N===L){M[G]=&quot;&quot;;return}M[G]=C(N.replace(B(L,&quot;g&quot;),&quot; &quot;))}function F(M,L){if(!M[G]){M[G]=L}if(!B(L).test(M[G])){M[G]+=&quot; &quot;+L}}var A={};function B(M,L){var N=M+&quot;$&quot;+L;return(A[N]||(A[N]=RegExp(&quot;(?:^|\\s)&quot;+M+&quot;(?:$|\\s)&quot;,L)))}function K(M,N,T){if(!T){return[]}N=N||&quot;*&quot;;if(M.getElementsByClassName&amp;&amp;(N===&quot;*&quot;)){return M.getElementsByClassName(T)}var O=B(T,&quot;&quot;),Q=M.getElementsByTagName(N),R=Q.length,L=0,P,S=Array(R);for(P=0;P&lt;R;P++){if(O.test(Q[P][G])){S[L++]=Q[P]}}S.length=L;return S}function H(O,L,M){if(O==null||O===M){return null}var P=B(L,&quot;&quot;),N;for(N=O.parentNode;N!=M;){if(P.test(N[G])){return N}N=N.parentNode}return null}var D=/^\s+|\s+$/g,I=/\s\s+/g;function C(L){return L.replace(D,&quot;&quot;).replace(I,&quot; &quot;)}})();(function(){var D=document.documentElement,B=&quot;getNamedItem&quot; in D.attributes,K=&quot;nodeType&quot;,L=&quot;compareDocumentPosition&quot;,I=&quot;parentNode&quot;,F=/^H/.test(D.tagName)?&quot;toUpperCase&quot;:&quot;toLowerCase&quot;;APE.mixin(APE.dom,{contains:H(),findAncestorWithAttribute:A,findAncestorWithTagName:J,findNextSiblingElement:C,findPreviousSiblingElement:E,getChildElements:G});D=null;function H(){if(L in D){return function(N,M){return(N[L](M)&amp;16)!==0}}else{if(&quot;contains&quot; in D){return function(N,M){return N!==M&amp;&amp;N.contains(M)}}}return function(N,M){if(N===M){return false}while(N!==M&amp;&amp;(M=M[I])!==null){}return N===M}}function A(O,R,P){for(var M,Q,N=O[I];N!==null;){Q=N.attributes;if(!Q||!B){return null}M=Q.getNamedItem(R);if(M&amp;&amp;M.specified){if(M.value===P||(P===undefined)){return N}}N=N[I]}return null}function J(O,M){M=M[F]();for(var N=O[I];N!==null;){if(N.tagName===M){return N}N=N[I]}return null}function C(N){for(var M=N.nextSibling;M!==null;M=M.nextSibling){if(M[K]===1){return M}}return null}function E(M){for(var N=M.previousSibling;N!==null;N=N.previousSibling){if(N[K]===1){return N}}return null}function G(Q){var P=0,O,N=[],M,S=Q.childNodes,R;for(M=S.length,O=0;P&lt;M;P++){R=S[P];if(R[K]!==1){continue}N[O++]=R}return N}})();(function(){var A=&quot;addEventListener&quot; in this,F=A?&quot;target&quot;:&quot;srcElement&quot;;APE.mixin(APE.dom.Event={},{eventTarget:F,getTarget:D,addCallback:E,removeCallback:G,preventDefault:B});function D(H){return(H||window.event)[F]}function C(I,H){return A?H:function(J){H.call(I,J)}}function E(K,J,H){if(A){K.addEventListener(J,H,false)}else{var I=C(K,H);K.attachEvent(&quot;on&quot;+J,I)}return I||H}function G(J,I,H){if(A){J.removeEventListener(I,H,false)}else{J.detachEvent(&quot;on&quot;+I,H)}return H}function B(H){H=H||window.event;if(&quot;preventDefault&quot; in H){H.preventDefault()}else{if(&quot;returnValue&quot; in H){H.returnValue=false}}}})();APE.namespace(&quot;APE.dom.Event&quot;);(function(){var C=APE.dom,A=C.Event;A.getCoords=B;function B(E){var D;if(&quot;pageX&quot; in E){D=function(F){return{x:F.pageX,y:F.pageY}}}else{D=function(G){var F=C.getScrollOffsets();G=G||window.event;return{x:G.clientX+F.left,y:G.clientY+F.top}}}return(A.getCoords=D)(E)}})();(function(){var Q=APE.dom;Q.getStyle=D;Q.setOpacity=S;var R=&quot;getComputedStyle&quot;,E=Q.IS_COMPUTED_STYLE,P=&quot;currentStyle&quot;,O=&quot;opacity&quot;,F=&quot;style&quot;,G=&quot;px&quot;,J=&quot;filter&quot;,I=&quot;alpha(&quot;+O+&quot;=&quot;,M=/^(?:margin|(border)(Width|Color|Style)|padding)$/,N=/\Wopacity\s*=\s*([\d]+)/i,A=/^auto|\d%$/,L=&quot;cssFloat&quot;,C=[&quot;Top&quot;,&quot;Right&quot;,&quot;Bottom&quot;,&quot;Left&quot;];if(!(L in document.documentElement[F])){L=&quot;styleFloat&quot;}function K(V){var X,W=V[J];if(!N.test(W)){return 1}X=N.exec(W);return X[1]/100}function S(Y,V){var X=Y[F],W;if(O in X){X[O]=V}else{if(J in X){X[J]=I+(V*100)+&quot;)&quot;;W=Y[P];if(W&amp;&amp;!W.hasLayout){X.zoom=1}}}}function D(W,V){var d=&quot;&quot;,a,Z,X,Y,b,c=W[Q.OWNER_DOCUMENT];if(/float/.test(V)){V=L}if(E){a=c.defaultView[R](W,&quot;&quot;);if(!(V in a)){return&quot;&quot;}d=a[V];if(d===&quot;&quot;){d=T(a,V).join(&quot; &quot;)}if(V==&quot;zIndex&quot;&amp;&amp;d==&quot;normal&quot;){return&quot;0&quot;}if(A.test(d)){d=U(W,V)}}else{a=W[P];if(V===O){d=K(a)}else{d=a[V];if(A.test(d)){d=U(W,V)}else{if(!(V in a)){return&quot;&quot;}}}Z=H.exec(d);if(Z){X=d.split(&quot; &quot;);X[0]=B(W,Z[0]);for(Y=1,b=X.length;Y&lt;b;Y++){Z=H.exec(X[Y]);X[Y]=B(W,Z[0])}d=X.join(&quot; &quot;)}}return d}function U(X,W){var d=X[F],c,Y,V,Z,b,a;if(&quot;pixelWidth&quot; in d&amp;&amp;/width|height|top|left/.test(W)){Y=&quot;pixel&quot;+(W.charAt(0).toUpperCase())+W.substring(1);c=d[Y]}if(c){return c+G}if(W===&quot;width&quot;){b=X.clientLeft||0;V=parseFloat(D(X,&quot;borderRightWidth&quot;))||b;a=parseFloat(D(X,&quot;paddingLeft&quot;))||0+parseFloat(D(X,&quot;paddingRight&quot;))||0;return X.offsetWidth-b-V-a+G}else{if(W===&quot;height&quot;){Z=X.clientTop||0;V=parseFloat(D(X,&quot;borderBottomWidth&quot;))||Z;a=parseFloat(D(X,&quot;paddingTop&quot;))||0+parseFloat(D(X,&quot;paddingBottom&quot;))||0;return X.offsetHeight-Z-V+G}else{if(W==&quot;margin&quot;&amp;&amp;X[P].position!=&quot;absolute&quot;){c=parseFloat(D(X.parentNode,&quot;width&quot;))-X.offsetWidth;if(c===0){return&quot;0px&quot;}c=&quot;0px &quot;+c;return c+&quot; &quot;+c}}}return&quot;0&quot;}function T(b,W){var X=M.exec(W),Z,f,a,d,e,c=true,V,Y=1;if(X&amp;&amp;X[0]){V=C;Z=X[1]||X[0];f=X[2]||&quot;&quot;}else{return[&quot;&quot;]}a=b[Z+V[0]+f];e=[a];while(Y&lt;4){d=b[Z+V[Y]+f];c=c&amp;&amp;d==a;a=d;e[Y++]=d}if(c){return[a]}return e}var H=/(-?\d+|(?:-?\d*\.\d+))(?:em|ex|pt|pc|in|cm|mm\s*)/;function B(Z,a){if(Z.runtimeStyle){if(parseFloat(a)===0){return&quot;0px&quot;}var Y=Z[F],X=Y.left,W=Z.runtimeStyle,V=W.left;W.left=Z[P].left;Y.left=(a||0);a=Y.pixelLeft+G;Y.left=X;W.left=V;return a}}})();
\ No newline at end of file
+APE.namespace(&quot;APE.dom&quot;);(function(){var E=APE.dom,A=&quot;ownerDocument&quot;,D=document,F=D.documentElement,C=F&amp;&amp;typeof F[A]!==&quot;undefined&quot;?A:&quot;document&quot;,B=D.defaultView;E.OWNER_DOCUMENT=C;E.IS_COMPUTED_STYLE=(typeof B!=&quot;undefined&quot;&amp;&amp;&quot;getComputedStyle&quot; in B)})();(function(){APE.mixin(APE.dom,{getScrollOffsets:A,getViewportDimensions:C});var B=&quot;documentElement&quot;,E=document[B],D=E&amp;&amp;E.clientWidth===0;E=null;function A(H){H=H||window;var G,I=H.document,F=I[B];if(&quot;pageXOffset&quot; in H){G=function(){return{left:H.pageXOffset,top:H.pageYOffset}}}else{if(D){F=I.body}G=function(){return{left:F.scrollLeft,top:F.scrollTop}}}I=null;this.getScrollOffsets=G;return G()}function C(J){J=J||window;var G=J.document,K=G,I=&quot;client&quot;,L,H;if(typeof K.clientWidth==&quot;number&quot;){}else{if(D||F(J)){G=K.body}else{if(K[B].clientHeight&gt;0){G=K[B]}else{if(typeof innerHeight==&quot;number&quot;){G=J;I=&quot;inner&quot;}}}}L=I+&quot;Width&quot;;H=I+&quot;Height&quot;;return(this.getViewportDimensions=function(){return{width:G[L],height:G[H]}})();function F(N){var O=N.document,P=O.createElement(&quot;div&quot;);P.style.height=&quot;2500px&quot;;O.body.insertBefore(P,O.body.firstChild);var M=O[B].clientHeight&gt;2400;O.body.removeChild(P);return M}}})();(function(){var B=APE.dom,N=typeof document.createElement(&quot;p&quot;).scrollLeft==&quot;number&quot;;APE.mixin(B,{getOffsetCoords:J,isAboveElement:U,isBelowElement:D,isInsideElement:P,IS_SCROLL_SUPPORTED:N});var I=this.document,c,O=I.documentElement,f=Math.round,W=Math.max,S=self.parseFloat,k=&quot;getComputedStyle&quot;,Z=&quot;defaultView&quot;,e=O&amp;&amp;O.clientWidth===0,Q=&quot;clientTop&quot; in O,X=/^h/.test(O.tagName)?&quot;table&quot;:&quot;TABLE&quot;,j=&quot;currentStyle&quot; in O,K,C,b,L,i,g,d,T,Y,F,A,H=I[Z]&amp;&amp;typeof I[Z][k]!=&quot;undefined&quot;,G=&quot;getBoundingClientRect&quot;,M=&quot;relative&quot;,R=&quot;borderTopWidth&quot;,a=&quot;borderLeftWidth&quot;,E=/^(?:r|a)/,V=/^(?:a|f)/;I=O=null;function J(m,AE,AK){var AQ=m[B.OWNER_DOCUMENT],AO=AQ.documentElement,AB=AQ.body;if(!AE){AE=AQ}if(!AK){AK={x:0,y:0}}if(m===AE){AK.x=AK.y=0;return AK}if(G in m){var AM=e?AB:AO,z=m[G](),w=z.left+W(AO.scrollLeft,AB.scrollLeft),u=z.top+W(AO.scrollTop,AB.scrollTop),AJ,AG=AM.clientTop,n=AM.clientLeft;if(Q){w-=n;u-=AG}if(AE!==AQ){z=J(AE,null);w-=z.x;u-=z.y;if(Q){if(e&amp;&amp;AE===AB){w-=n;u-=AG}else{if(AE!==AQ&amp;&amp;AE!==AO&amp;&amp;AE!==AB){w-=AE.clientLeft;u-=AE.clientTop}}}}if(e&amp;&amp;j&amp;&amp;AE!=AQ&amp;&amp;AE!==AB){AJ=AB.currentStyle;w+=S(AJ.marginLeft)||0+S(AJ.left)||0;u+=S(AJ.marginTop)||0+S(AJ.top)||0}AK.x=w;AK.y=u;return AK}else{if(H){if(!c){h()}var s=m.offsetLeft,AL=m.offsetTop,AH=AQ[Z],r=AH[k](m,&quot;&quot;);if(r.position==&quot;fixed&quot;&amp;&amp;N){AK.x=s+AO.scrollLeft;AK.y=AL+AO.scrollTop;return AK}var AA=AH[k](AB,&quot;&quot;),AC=!E.test(AA.position),q=m,t=m.parentNode,l=m.offsetParent;for(;t&amp;&amp;t!==AE;t=t.parentNode){if(t!==AB&amp;&amp;t!==AO&amp;&amp;N){s-=t.scrollLeft;AL-=t.scrollTop}if(t===l){if(t===AB&amp;&amp;AC){}else{if(!K&amp;&amp;!(t.tagName===X&amp;&amp;i)){var p=AH[k](t,&quot;&quot;);s+=S(p[a])||0;AL+=S(p[R])||0}if(t!==AB){s+=l.offsetLeft;AL+=l.offsetTop;q=l;l=t.offsetParent}}}}var v=0,AI=0,AP,AD,AN=AE===AQ||AE===AO,AF,o;if(q!=AQ){o=AH[k](q,&quot;&quot;).position;AP=V.test(o);AD=AP||E.test(o)}if((q===m&amp;&amp;m.offsetParent===AB&amp;&amp;!C&amp;&amp;AE!==AB&amp;&amp;!(AC&amp;&amp;L))||(C&amp;&amp;q===m&amp;&amp;!AD)||!AC&amp;&amp;AD&amp;&amp;d&amp;&amp;AN){AI+=S(AA.marginTop)||0;v+=S(AA.marginLeft)||0}if(AE===AB){AF=AH[k](AO,&quot;&quot;);if((!AC&amp;&amp;((Y&amp;&amp;!AP)||(F&amp;&amp;AP)))||AC&amp;&amp;T){AI-=S(AF.paddingTop)||0;v-=S(AF.paddingLeft)||0}if(A){if(!AD||AD&amp;&amp;!AC){AI-=S(AF.marginTop)||0}v-=S(AF.marginLeft)||0}}if(AC){if(g||(!AP&amp;&amp;!K&amp;&amp;AN)){AI+=S(AA[R]);v+=S(AA[a])}}else{if(L){if(AN){if(!b){AI+=S(AA.top)||0;v+=S(AA.left)||0;if(AP&amp;&amp;K){AI+=S(AA[R]);v+=S(AA[a])}}if(AE===AQ&amp;&amp;!AC&amp;&amp;!Y){if(!AF){AF=AH[k](AO,&quot;&quot;)}AI+=S(AF.paddingTop)||0;v+=S(AF.paddingLeft)||0}}else{if(b){AI-=S(AA.top);v-=S(AA.left)}}if(C&amp;&amp;(!AD||AE===AB)){AI-=S(AA.marginTop)||0;v-=S(AA.marginLeft)||0}}}AK.x=f(s+v);AK.y=f(AL+AI);return AK}}}function h(){c=true;var AC=document,p=AC.body;if(!p){return}var l=&quot;marginTop&quot;,AE=&quot;position&quot;,r=&quot;padding&quot;,AB=&quot;static&quot;,v=&quot;border&quot;,q=p.style,AF=q.cssText,AA=&quot;1px solid transparent&quot;,m=&quot;0&quot;,u=&quot;1px&quot;,w=&quot;offsetTop&quot;,t=AC.documentElement.style,AD=t.cssText,o=AC.createElement(&quot;div&quot;),n=o.style,y=AC.createElement(X);q[r]=q[l]=q.top=m;t.position=AB;q[v]=AA;n.margin=m;n[AE]=AB;o=p.insertBefore(o,p.firstChild);K=(o[w]===1);q[v]=m;y.innerHTML=&quot;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;x&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&quot;;y.style[v]=&quot;7px solid&quot;;y.cellSpacing=y.cellPadding=m;p.insertBefore(y,p.firstChild);i=y.getElementsByTagName(&quot;td&quot;)[0].offsetLeft===7;p.removeChild(y);q[l]=u;q[AE]=M;C=(o[w]===1);L=p[w]===0;q[l]=m;q.top=u;b=o[w]===1;q.top=m;q[l]=u;q[AE]=n[AE]=M;d=o[w]===0;n[AE]=&quot;absolute&quot;;q[AE]=AB;if(o.offsetParent===p){q[v]=AA;n.top=&quot;2px&quot;;g=o[w]===1;q[v]=m;n[AE]=M;t[r]=u;q[l]=m;T=o[w]===3;q[AE]=M;Y=o[w]===3;n[AE]=&quot;absolute&quot;;F=o[w]===3;t[r]=m;t[l]=u;A=o[w]===3}p.removeChild(o);q.cssText=AF||&quot;&quot;;t.cssText=AD||&quot;&quot;}function P(m,l){var o=J(m).y,n=J(l).y;return o+m.offsetHeight&lt;=n+l.offsetHeight&amp;&amp;o&gt;=n}function U(m,l){return(J(m).y&lt;=J(l).y)}function D(m,l){return(J(m).y+m.offsetHeight&gt;=J(l).y+l.offsetHeight)}})();(function(){APE.mixin(APE.dom,{hasToken:E,removeClass:J,addClass:F,getElementsByClassName:K,findAncestorWithClass:H});var G=&quot;className&quot;;function E(M,L){return B(L,&quot;&quot;).test(M)}function J(M,L){var N=M[G];if(!N){return}if(N===L){M[G]=&quot;&quot;;return}M[G]=C(N.replace(B(L,&quot;g&quot;),&quot; &quot;))}function F(M,L){if(!M[G]){M[G]=L}if(!B(L).test(M[G])){M[G]+=&quot; &quot;+L}}var A={};function B(M,L){var N=M+&quot;$&quot;+L;return(A[N]||(A[N]=RegExp(&quot;(?:^|\\s)&quot;+M+&quot;(?:$|\\s)&quot;,L)))}function K(M,N,T){if(!T){return[]}N=N||&quot;*&quot;;if(M.getElementsByClassName&amp;&amp;(N===&quot;*&quot;)){return M.getElementsByClassName(T)}var O=B(T,&quot;&quot;),Q=M.getElementsByTagName(N),R=Q.length,L=0,P,S=Array(R);for(P=0;P&lt;R;P++){if(O.test(Q[P][G])){S[L++]=Q[P]}}S.length=L;return S}function H(O,L,M){if(O==null||O===M){return null}var P=B(L,&quot;&quot;),N;for(N=O.parentNode;N!=M;){if(P.test(N[G])){return N}N=N.parentNode}return null}var D=/^\s+|\s+$/g,I=/\s\s+/g;function C(L){return L.replace(D,&quot;&quot;).replace(I,&quot; &quot;)}})();(function(){var D=document.documentElement,B=&quot;getNamedItem&quot; in D.attributes,K=&quot;nodeType&quot;,L=&quot;compareDocumentPosition&quot;,I=&quot;parentNode&quot;,F=/^H/.test(D.tagName)?&quot;toUpperCase&quot;:&quot;toLowerCase&quot;;APE.mixin(APE.dom,{contains:H(),findAncestorWithAttribute:A,findAncestorWithTagName:J,findNextSiblingElement:C,findPreviousSiblingElement:E,getChildElements:G});D=null;function H(){if(L in D){return function(N,M){return(N[L](M)&amp;16)!==0}}else{if(&quot;contains&quot; in D){return function(N,M){return N!==M&amp;&amp;N.contains(M)}}}return function(N,M){if(N===M){return false}while(N!==M&amp;&amp;(M=M[I])!==null){}return N===M}}function A(O,R,P){for(var M,Q,N=O[I];N!==null;){Q=N.attributes;if(!Q||!B){return null}M=Q.getNamedItem(R);if(M&amp;&amp;M.specified){if(M.value===P||(P===undefined)){return N}}N=N[I]}return null}function J(O,M){M=M[F]();for(var N=O[I];N!==null;){if(N.tagName===M){return N}N=N[I]}return null}function C(N){for(var M=N.nextSibling;M!==null;M=M.nextSibling){if(M[K]===1){return M}}return null}function E(M){for(var N=M.previousSibling;N!==null;N=N.previousSibling){if(N[K]===1){return N}}return null}function G(Q){var P=0,O,N=[],M,S=Q.childNodes,R;for(M=S.length,O=0;P&lt;M;P++){R=S[P];if(R[K]!==1){continue}N[O++]=R}return N}})();(function(){var A=&quot;addEventListener&quot; in this,F=A?&quot;target&quot;:&quot;srcElement&quot;;APE.mixin(APE.dom.Event={},{eventTarget:F,getTarget:D,addCallback:E,removeCallback:G,preventDefault:B});function D(H){return(H||window.event)[F]}function C(I,H){return A?H:function(J){H.call(I,J)}}function E(K,J,H){if(A){K.addEventListener(J,H,false)}else{var I=C(K,H);K.attachEvent(&quot;on&quot;+J,I)}return I||H}function G(J,I,H){if(A){J.removeEventListener(I,H,false)}else{J.detachEvent(&quot;on&quot;+I,H)}return H}function B(H){H=H||window.event;if(&quot;preventDefault&quot; in H){H.preventDefault()}else{if(&quot;returnValue&quot; in H){H.returnValue=false}}}})();APE.namespace(&quot;APE.dom.Event&quot;);(function(){var C=APE.dom,A=C.Event;A.getCoords=B;function B(E){var D;if(&quot;pageX&quot; in E){D=function(F){return{x:F.pageX,y:F.pageY}}}else{D=function(G){var F=C.getScrollOffsets();G=G||window.event;return{x:G.clientX+F.left,y:G.clientY+F.top}}}return(A.getCoords=D)(E)}})();(function(){var Q=APE.dom;Q.getStyle=D;Q.setOpacity=S;var R=&quot;getComputedStyle&quot;,E=Q.IS_COMPUTED_STYLE,P=&quot;currentStyle&quot;,O=&quot;opacity&quot;,F=&quot;style&quot;,G=&quot;px&quot;,J=&quot;filter&quot;,I=&quot;alpha(&quot;+O+&quot;=&quot;,M=/^(?:margin|(border)(Width|Color|Style)|padding)$/,N=/\Wopacity\s*=\s*([\d]+)/i,A=/^auto|\d%$/,L=&quot;cssFloat&quot;,C=[&quot;Top&quot;,&quot;Right&quot;,&quot;Bottom&quot;,&quot;Left&quot;];if(!(L in document.documentElement[F])){L=&quot;styleFloat&quot;}function K(V){var X,W=V[J];if(!N.test(W)){return 1}X=N.exec(W);return X[1]/100}function S(Y,V){var X=Y[F],W;if(O in X){X[O]=V}else{if(J in X){X[J]=I+(V*100)+&quot;)&quot;;W=Y[P];if(W&amp;&amp;!W.hasLayout){X.zoom=1}}}}function D(W,V){var d=&quot;&quot;,a,Z,X,Y,b,c=W[Q.OWNER_DOCUMENT];if(/float/.test(V)){V=L}if(E){a=c.defaultView[R](W,&quot;&quot;);if(!(V in a)){return&quot;&quot;}d=a[V];if(d===&quot;&quot;){d=T(a,V).join(&quot; &quot;)}if(V==&quot;zIndex&quot;&amp;&amp;d==&quot;normal&quot;){return&quot;0&quot;}if(A.test(d)){d=U(W,V)}}else{a=W[P];if(V===O){d=K(a)}else{d=a[V];if(A.test(d)){d=U(W,V)}else{if(!(V in a)){return&quot;&quot;}}}Z=H.exec(d);if(Z){X=d.split(&quot; &quot;);X[0]=B(W,Z[0]);for(Y=1,b=X.length;Y&lt;b;Y++){Z=H.exec(X[Y]);X[Y]=B(W,Z[0])}d=X.join(&quot; &quot;)}}return d}function U(X,W){var d=X[F],c,Y,V,Z,b,a;if(&quot;pixelWidth&quot; in d&amp;&amp;/width|height|top|left/.test(W)){Y=&quot;pixel&quot;+(W.charAt(0).toUpperCase())+W.substring(1);c=d[Y]}if(c){return c+G}if(W===&quot;width&quot;){b=X.clientLeft||0;V=parseFloat(D(X,&quot;borderRightWidth&quot;))||b;a=parseFloat(D(X,&quot;paddingLeft&quot;))||0+parseFloat(D(X,&quot;paddingRight&quot;))||0;return X.offsetWidth-b-V-a+G}else{if(W===&quot;height&quot;){Z=X.clientTop||0;V=parseFloat(D(X,&quot;borderBottomWidth&quot;))||Z;a=parseFloat(D(X,&quot;paddingTop&quot;))||0+parseFloat(D(X,&quot;paddingBottom&quot;))||0;return X.offsetHeight-Z-V+G}else{if(W==&quot;margin&quot;&amp;&amp;X[P].position!=&quot;absolute&quot;){c=parseFloat(D(X.parentNode,&quot;width&quot;))-X.offsetWidth;if(c===0){return&quot;0px&quot;}c=&quot;0px &quot;+c;return c+&quot; &quot;+c}}}return&quot;0&quot;}function T(b,W){var X=M.exec(W),Z,f,a,d,e,c=true,V,Y=1;if(X&amp;&amp;X[0]){V=C;Z=X[1]||X[0];f=X[2]||&quot;&quot;}else{return[&quot;&quot;]}a=b[Z+V[0]+f];e=[a];while(Y&lt;4){d=b[Z+V[Y]+f];c=c&amp;&amp;d==a;a=d;e[Y++]=d}if(c){return[a]}return e}var H=/(-?\d+|(?:-?\d*\.\d+))(?:em|ex|pt|pc|in|cm|mm\s*)/;function B(Z,a){if(Z.runtimeStyle){if(parseFloat(a)===0){return&quot;0px&quot;}var Y=Z[F],X=Y.left,W=Z.runtimeStyle,V=W.left;W.left=Z[P].left;Y.left=(a||0);a=Y.pixelLeft+G;Y.left=X;W.left=V;return a}}})();
\ No newline at end of file</diff>
      <filename>build/dom/dom-min.js</filename>
    </modified>
    <modified>
      <diff>@@ -110,26 +110,30 @@ APE.namespace(&quot;APE.dom&quot; );
 
 (function() {
     
-    var dom = APE.dom;
+    var dom = APE.dom,
+    	IS_SCROLL = typeof document.createElement(&quot;p&quot;).scrollLeft == &quot;number&quot;;
     APE.mixin(
-        dom,
-            /** @scope APE.dom */ {
+        dom, {
             getOffsetCoords : getOffsetCoords,
             isAboveElement : isAboveElement,
             isBelowElement : isBelowElement,
-            isInsideElement: isInsideElement
+            isInsideElement: isInsideElement,
+            
+            // Blackberry9000 does not, and does not support scrollLeft, scrollTop.
+            IS_SCROLL_SUPPORTED : IS_SCROLL
     });
 
     var doc = this.document,
         inited,
         documentElement = doc.documentElement,
         round = Math.round, max = Math.max,
+        parseFloat = self.parseFloat,
         GET_COMPUTED_STYLE = &quot;getComputedStyle&quot;,
         DEFAULT_VIEW = &quot;defaultView&quot;,
         
     // Load-time constants.
         IS_BODY_ACTING_ROOT = documentElement &amp;&amp; documentElement.clientWidth === 0,
-
+        
     // IE, Safari, and Opera support clientTop. FF 2 doesn't
         IS_CLIENT_TOP_SUPPORTED = 'clientTop'in documentElement,
 
@@ -268,12 +272,11 @@ APE.namespace(&quot;APE.dom&quot; );
     // Crawling up the tree.
         else if(IS_COMPUTED_STYLE_SUPPORTED) {
             if(!inited) init();
-
             var offsetLeft = el.offsetLeft,
                 offsetTop = el.offsetTop,
                 defaultView = doc[DEFAULT_VIEW],
                 cs = defaultView[GET_COMPUTED_STYLE](el, '');
-            if(cs.position == &quot;fixed&quot;) {
+            if(cs.position == &quot;fixed&quot; &amp;&amp; IS_SCROLL) {
                 coords.x = offsetLeft + documentElement.scrollLeft;
                 coords.y = offsetTop + documentElement.scrollTop;
                 return coords;
@@ -289,7 +292,7 @@ APE.namespace(&quot;APE.dom&quot; );
             // when we get to a parent that's an offsetParent, update
             // the current offsetParent marker.
             for( ; parent &amp;&amp; parent !== container; parent = parent.parentNode) {
-                if(parent !== body &amp;&amp; parent !== documentElement) {
+                if(parent !== body &amp;&amp; parent !== documentElement &amp;&amp; IS_SCROLL) {
                     offsetLeft -= parent.scrollLeft;
                     offsetTop -= parent.scrollTop;
                 }
@@ -540,7 +543,6 @@ APE.namespace(&quot;APE.dom&quot; );
 
         // xs.position = &quot;fixed&quot;;
         // FIXED_HAS_OFFSETPARENT = x.offsetParent != null;
-
         body.removeChild(x);
         s.cssText = bCssText||&quot;&quot;;
         ds.cssText = dCssText||&quot;&quot;;</diff>
      <filename>build/dom/dom.js</filename>
    </modified>
    <modified>
      <diff>@@ -1 +1 @@
-APE.namespace(&quot;APE.dom&quot;);(function(){var b=APE.dom;APE.mixin(b,{getOffsetCoords:c,isAboveElement:F,isBelowElement:W,isInsideElement:L});var i=this.document,a,h=i.documentElement,e=Math.round,Y=Math.max,D=&quot;getComputedStyle&quot;,C=&quot;defaultView&quot;,Q=h&amp;&amp;h.clientWidth===0,R=&quot;clientTop&quot; in h,P=/^h/.test(h.tagName)?&quot;table&quot;:&quot;TABLE&quot;,M=&quot;currentStyle&quot; in h,T,E,f,V,S,O,G,J,A,N,g,H=i[C]&amp;&amp;typeof i[C][D]!=&quot;undefined&quot;,I=&quot;getBoundingClientRect&quot;,d=&quot;relative&quot;,Z=&quot;borderTopWidth&quot;,B=&quot;borderLeftWidth&quot;,K=/^(?:r|a)/,U=/^(?:a|f)/;i=h=null;function c(k,AC,AI){var AO=k[b.OWNER_DOCUMENT],AM=AO.documentElement,z=AO.body;if(!AC){AC=AO}if(!AI){AI={x:0,y:0}}if(k===AC){AI.x=AI.y=0;return AI}if(I in k){var AK=Q?z:AM,v=k[I](),u=v.left+Y(AM.scrollLeft,z.scrollLeft),s=v.top+Y(AM.scrollTop,z.scrollTop),AH,AE=AK.clientTop,l=AK.clientLeft;if(R){u-=l;s-=AE}if(AC!==AO){v=c(AC,null);u-=v.x;s-=v.y;if(R){if(Q&amp;&amp;AC===z){u-=l;s-=AE}else{if(AC!==AO&amp;&amp;AC!==AM&amp;&amp;AC!==z){u-=AC.clientLeft;s-=AC.clientTop}}}}if(Q&amp;&amp;M&amp;&amp;AC!=AO&amp;&amp;AC!==z){AH=z.currentStyle;u+=parseFloat(AH.marginLeft)||0+parseFloat(AH.left)||0;s+=parseFloat(AH.marginTop)||0+parseFloat(AH.top)||0}AI.x=u;AI.y=s;return AI}else{if(H){if(!a){X()}var q=k.offsetLeft,AJ=k.offsetTop,AF=AO[C],p=AF[D](k,&quot;&quot;);if(p.position==&quot;fixed&quot;){AI.x=q+AM.scrollLeft;AI.y=AJ+AM.scrollTop;return AI}var w=AF[D](z,&quot;&quot;),AA=!K.test(w.position),o=k,r=k.parentNode,j=k.offsetParent;for(;r&amp;&amp;r!==AC;r=r.parentNode){if(r!==z&amp;&amp;r!==AM){q-=r.scrollLeft;AJ-=r.scrollTop}if(r===j){if(r===z&amp;&amp;AA){}else{if(!T&amp;&amp;!(r.tagName===P&amp;&amp;S)){var n=AF[D](r,&quot;&quot;);q+=parseFloat(n[B])||0;AJ+=parseFloat(n[Z])||0}if(r!==z){q+=j.offsetLeft;AJ+=j.offsetTop;o=j;j=r.offsetParent}}}}var t=0,AG=0,AN,AB,AL=AC===AO||AC===AM,AD,m;if(o!=AO){m=AF[D](o,&quot;&quot;).position;AN=U.test(m);AB=AN||K.test(m)}if((o===k&amp;&amp;k.offsetParent===z&amp;&amp;!E&amp;&amp;AC!==z&amp;&amp;!(AA&amp;&amp;V))||(E&amp;&amp;o===k&amp;&amp;!AB)||!AA&amp;&amp;AB&amp;&amp;G&amp;&amp;AL){AG+=parseFloat(w.marginTop)||0;t+=parseFloat(w.marginLeft)||0}if(AC===z){AD=AF[D](AM,&quot;&quot;);if((!AA&amp;&amp;((A&amp;&amp;!AN)||(N&amp;&amp;AN)))||AA&amp;&amp;J){AG-=parseFloat(AD.paddingTop)||0;t-=parseFloat(AD.paddingLeft)||0}if(g){if(!AB||AB&amp;&amp;!AA){AG-=parseFloat(AD.marginTop)||0}t-=parseFloat(AD.marginLeft)||0}}if(AA){if(O||(!AN&amp;&amp;!T&amp;&amp;AL)){AG+=parseFloat(w[Z]);t+=parseFloat(w[B])}}else{if(V){if(AL){if(!f){AG+=parseFloat(w.top)||0;t+=parseFloat(w.left)||0;if(AN&amp;&amp;T){AG+=parseFloat(w[Z]);t+=parseFloat(w[B])}}if(AC===AO&amp;&amp;!AA&amp;&amp;!A){if(!AD){AD=AF[D](AM,&quot;&quot;)}AG+=parseFloat(AD.paddingTop)||0;t+=parseFloat(AD.paddingLeft)||0}}else{if(f){AG-=parseFloat(w.top);t-=parseFloat(w.left)}}if(E&amp;&amp;(!AB||AC===z)){AG-=parseFloat(w.marginTop)||0;t-=parseFloat(w.marginLeft)||0}}}AI.x=e(q+t);AI.y=e(AJ+AG);return AI}}}function X(){a=true;var AA=document,n=AA.body;if(!n){return}var j=&quot;marginTop&quot;,AC=&quot;position&quot;,p=&quot;padding&quot;,y=&quot;static&quot;,t=&quot;border&quot;,o=n.style,AD=o.cssText,w=&quot;1px solid transparent&quot;,k=&quot;0&quot;,r=&quot;1px&quot;,u=&quot;offsetTop&quot;,q=AA.documentElement.style,AB=q.cssText,m=AA.createElement(&quot;div&quot;),l=m.style,v=AA.createElement(P);o[p]=o[j]=o.top=k;q.position=y;o[t]=w;l.margin=k;l[AC]=y;m=n.insertBefore(m,n.firstChild);T=(m[u]===1);o[t]=k;v.innerHTML=&quot;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;x&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&quot;;v.style[t]=&quot;7px solid&quot;;v.cellSpacing=v.cellPadding=k;n.insertBefore(v,n.firstChild);S=v.getElementsByTagName(&quot;td&quot;)[0].offsetLeft===7;n.removeChild(v);o[j]=r;o[AC]=d;E=(m[u]===1);V=n[u]===0;o[j]=k;o.top=r;f=m[u]===1;o.top=k;o[j]=r;o[AC]=l[AC]=d;G=m[u]===0;l[AC]=&quot;absolute&quot;;o[AC]=y;if(m.offsetParent===n){o[t]=w;l.top=&quot;2px&quot;;O=m[u]===1;o[t]=k;l[AC]=d;q[p]=r;o[j]=k;J=m[u]===3;o[AC]=d;A=m[u]===3;l[AC]=&quot;absolute&quot;;N=m[u]===3;q[p]=k;q[j]=r;g=m[u]===3}n.removeChild(m);o.cssText=AD||&quot;&quot;;q.cssText=AB||&quot;&quot;}function L(k,j){var m=c(k).y,l=c(j).y;return m+k.offsetHeight&lt;=l+j.offsetHeight&amp;&amp;m&gt;=l}function F(k,j){return(c(k).y&lt;=c(j).y)}function W(k,j){return(c(k).y+k.offsetHeight&gt;=c(j).y+j.offsetHeight)}})();
\ No newline at end of file
+APE.namespace(&quot;APE.dom&quot;);(function(){var B=APE.dom,N=typeof document.createElement(&quot;p&quot;).scrollLeft==&quot;number&quot;;APE.mixin(B,{getOffsetCoords:J,isAboveElement:U,isBelowElement:D,isInsideElement:P,IS_SCROLL_SUPPORTED:N});var I=this.document,c,O=I.documentElement,f=Math.round,W=Math.max,S=self.parseFloat,k=&quot;getComputedStyle&quot;,Z=&quot;defaultView&quot;,e=O&amp;&amp;O.clientWidth===0,Q=&quot;clientTop&quot; in O,X=/^h/.test(O.tagName)?&quot;table&quot;:&quot;TABLE&quot;,j=&quot;currentStyle&quot; in O,K,C,b,L,i,g,d,T,Y,F,A,H=I[Z]&amp;&amp;typeof I[Z][k]!=&quot;undefined&quot;,G=&quot;getBoundingClientRect&quot;,M=&quot;relative&quot;,R=&quot;borderTopWidth&quot;,a=&quot;borderLeftWidth&quot;,E=/^(?:r|a)/,V=/^(?:a|f)/;I=O=null;function J(m,AE,AK){var AQ=m[B.OWNER_DOCUMENT],AO=AQ.documentElement,AB=AQ.body;if(!AE){AE=AQ}if(!AK){AK={x:0,y:0}}if(m===AE){AK.x=AK.y=0;return AK}if(G in m){var AM=e?AB:AO,z=m[G](),w=z.left+W(AO.scrollLeft,AB.scrollLeft),u=z.top+W(AO.scrollTop,AB.scrollTop),AJ,AG=AM.clientTop,n=AM.clientLeft;if(Q){w-=n;u-=AG}if(AE!==AQ){z=J(AE,null);w-=z.x;u-=z.y;if(Q){if(e&amp;&amp;AE===AB){w-=n;u-=AG}else{if(AE!==AQ&amp;&amp;AE!==AO&amp;&amp;AE!==AB){w-=AE.clientLeft;u-=AE.clientTop}}}}if(e&amp;&amp;j&amp;&amp;AE!=AQ&amp;&amp;AE!==AB){AJ=AB.currentStyle;w+=S(AJ.marginLeft)||0+S(AJ.left)||0;u+=S(AJ.marginTop)||0+S(AJ.top)||0}AK.x=w;AK.y=u;return AK}else{if(H){if(!c){h()}var s=m.offsetLeft,AL=m.offsetTop,AH=AQ[Z],r=AH[k](m,&quot;&quot;);if(r.position==&quot;fixed&quot;&amp;&amp;N){AK.x=s+AO.scrollLeft;AK.y=AL+AO.scrollTop;return AK}var AA=AH[k](AB,&quot;&quot;),AC=!E.test(AA.position),q=m,t=m.parentNode,l=m.offsetParent;for(;t&amp;&amp;t!==AE;t=t.parentNode){if(t!==AB&amp;&amp;t!==AO&amp;&amp;N){s-=t.scrollLeft;AL-=t.scrollTop}if(t===l){if(t===AB&amp;&amp;AC){}else{if(!K&amp;&amp;!(t.tagName===X&amp;&amp;i)){var p=AH[k](t,&quot;&quot;);s+=S(p[a])||0;AL+=S(p[R])||0}if(t!==AB){s+=l.offsetLeft;AL+=l.offsetTop;q=l;l=t.offsetParent}}}}var v=0,AI=0,AP,AD,AN=AE===AQ||AE===AO,AF,o;if(q!=AQ){o=AH[k](q,&quot;&quot;).position;AP=V.test(o);AD=AP||E.test(o)}if((q===m&amp;&amp;m.offsetParent===AB&amp;&amp;!C&amp;&amp;AE!==AB&amp;&amp;!(AC&amp;&amp;L))||(C&amp;&amp;q===m&amp;&amp;!AD)||!AC&amp;&amp;AD&amp;&amp;d&amp;&amp;AN){AI+=S(AA.marginTop)||0;v+=S(AA.marginLeft)||0}if(AE===AB){AF=AH[k](AO,&quot;&quot;);if((!AC&amp;&amp;((Y&amp;&amp;!AP)||(F&amp;&amp;AP)))||AC&amp;&amp;T){AI-=S(AF.paddingTop)||0;v-=S(AF.paddingLeft)||0}if(A){if(!AD||AD&amp;&amp;!AC){AI-=S(AF.marginTop)||0}v-=S(AF.marginLeft)||0}}if(AC){if(g||(!AP&amp;&amp;!K&amp;&amp;AN)){AI+=S(AA[R]);v+=S(AA[a])}}else{if(L){if(AN){if(!b){AI+=S(AA.top)||0;v+=S(AA.left)||0;if(AP&amp;&amp;K){AI+=S(AA[R]);v+=S(AA[a])}}if(AE===AQ&amp;&amp;!AC&amp;&amp;!Y){if(!AF){AF=AH[k](AO,&quot;&quot;)}AI+=S(AF.paddingTop)||0;v+=S(AF.paddingLeft)||0}}else{if(b){AI-=S(AA.top);v-=S(AA.left)}}if(C&amp;&amp;(!AD||AE===AB)){AI-=S(AA.marginTop)||0;v-=S(AA.marginLeft)||0}}}AK.x=f(s+v);AK.y=f(AL+AI);return AK}}}function h(){c=true;var AC=document,p=AC.body;if(!p){return}var l=&quot;marginTop&quot;,AE=&quot;position&quot;,r=&quot;padding&quot;,AB=&quot;static&quot;,v=&quot;border&quot;,q=p.style,AF=q.cssText,AA=&quot;1px solid transparent&quot;,m=&quot;0&quot;,u=&quot;1px&quot;,w=&quot;offsetTop&quot;,t=AC.documentElement.style,AD=t.cssText,o=AC.createElement(&quot;div&quot;),n=o.style,y=AC.createElement(X);q[r]=q[l]=q.top=m;t.position=AB;q[v]=AA;n.margin=m;n[AE]=AB;o=p.insertBefore(o,p.firstChild);K=(o[w]===1);q[v]=m;y.innerHTML=&quot;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;x&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&quot;;y.style[v]=&quot;7px solid&quot;;y.cellSpacing=y.cellPadding=m;p.insertBefore(y,p.firstChild);i=y.getElementsByTagName(&quot;td&quot;)[0].offsetLeft===7;p.removeChild(y);q[l]=u;q[AE]=M;C=(o[w]===1);L=p[w]===0;q[l]=m;q.top=u;b=o[w]===1;q.top=m;q[l]=u;q[AE]=n[AE]=M;d=o[w]===0;n[AE]=&quot;absolute&quot;;q[AE]=AB;if(o.offsetParent===p){q[v]=AA;n.top=&quot;2px&quot;;g=o[w]===1;q[v]=m;n[AE]=M;t[r]=u;q[l]=m;T=o[w]===3;q[AE]=M;Y=o[w]===3;n[AE]=&quot;absolute&quot;;F=o[w]===3;t[r]=m;t[l]=u;A=o[w]===3}p.removeChild(o);q.cssText=AF||&quot;&quot;;t.cssText=AD||&quot;&quot;}function P(m,l){var o=J(m).y,n=J(l).y;return o+m.offsetHeight&lt;=n+l.offsetHeight&amp;&amp;o&gt;=n}function U(m,l){return(J(m).y&lt;=J(l).y)}function D(m,l){return(J(m).y+m.offsetHeight&gt;=J(l).y+l.offsetHeight)}})();
\ No newline at end of file</diff>
      <filename>build/dom/position-f-min.js</filename>
    </modified>
    <modified>
      <diff>@@ -441,7 +441,6 @@ APE.namespace(&quot;APE.dom&quot;);
 
         // xs.position = &quot;fixed&quot;;
         // FIXED_HAS_OFFSETPARENT = x.offsetParent != null;
-debugger;
         body.removeChild(x);
         s.cssText = bCssText||&quot;&quot;;
         ds.cssText = dCssText||&quot;&quot;;</diff>
      <filename>build/dom/position-f.js</filename>
    </modified>
    <modified>
      <diff>@@ -441,7 +441,6 @@ APE.namespace(&quot;APE.dom&quot;);
 
         // xs.position = &quot;fixed&quot;;
         // FIXED_HAS_OFFSETPARENT = x.offsetParent != null;
-debugger;
         body.removeChild(x);
         s.cssText = bCssText||&quot;&quot;;
         ds.cssText = dCssText||&quot;&quot;;</diff>
      <filename>src/dom/position-f.js</filename>
    </modified>
    <modified>
      <diff>@@ -163,8 +163,9 @@ onload = function(){
 	        // Update view for Safari 2.0.4 
 	        // (or other browsers that may exhibit bug).
 	        try {
-	            resizeBy(1,0);
-	            resizeBy(-1,0);
+		        // This breaks BlackBerry.
+	            //resizeBy(1,0);
+	            //resizeBy(-1,0);
 	        } catch(ex){}
 	    },
 	    </diff>
      <filename>test/tests/dom/position-f-test.html</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>8fe271ce490ac66707653a9e4b2a7ddd6c264555</id>
    </parent>
  </parents>
  <author>
    <name>GarrettS</name>
    <email>dhtmlkitchen@gmail.com</email>
  </author>
  <url>http://github.com/GarrettS/ape-javascript-library/commit/d59a26bc183f827e37d0ec0a9548b04968742cb8</url>
  <id>d59a26bc183f827e37d0ec0a9548b04968742cb8</id>
  <committed-date>2009-09-23T18:36:18-07:00</committed-date>
  <authored-date>2009-09-23T18:36:18-07:00</authored-date>
  <message>Remove &quot;debugger&quot; from position-f.js.
Remove &quot;resizeTo&quot;, which caused display to &quot;white out&quot; in BlackBerry.
Still mostly failing in BlackBerry.</message>
  <tree>92239d282f5f24a451e982fe7e0231c48ded33c3</tree>
  <committer>
    <name>GarrettS</name>
    <email>dhtmlkitchen@gmail.com</email>
  </committer>
</commit>
