window.onload = function() {
  initSwitcher();
  fillup();
}

//MooTools, My Object Oriented Javascript Tools. Copyright (c) 2006 Valerio Proietti, <http://mad4milk.net>, MIT Style License.

eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('o bs={bt:\'1.11\'};h $67(U){k(U!=8B)};h $t(U){m(!$67(U))k L;m(U.4b)k\'B\';o t=5T U;m(t==\'2O\'&&U.br){1Y(U.7l){W 1:k\'B\';W 3:k(/\\S/).2b(U.94)?\'bq\':\'bo\'}}m(t==\'2O\'||t==\'h\'){1Y(U.8A){W 2h:k\'1m\';W 7E:k\'5g\';W 19:k\'4n\'}m(5T U.T==\'4Q\'){m(U.2Q)k\'bp\';m(U.8L)k\'15\'}}k t};h $3z(){o 4I={};F(o i=0;i<15.T;i++){F(o C 17 15[i]){o ap=15[i][C];o 5R=4I[C];m(5R&&$t(ap)==\'2O\'&&$t(5R)==\'2O\')4I[C]=$3z(5R,ap);V 4I[C]=ap}}k 4I};o $O=h(){o 1d=15;m(!1d[1])1d=[c,1d[0]];F(o C 17 1d[1])1d[0][C]=1d[1][C];k 1d[0]};o $4c=h(){F(o i=0,l=15.T;i<l;i++){15[i].O=h(1F){F(o 1D 17 1F){m(!c.1B[1D])c.1B[1D]=1F[1D];m(!c[1D])c[1D]=$4c.5I(1D)}}}};$4c.5I=h(1D){k h(P){k c.1B[1D].4q(P,2h.1B.8H.1Q(15,1))}};$4c(6A,2h,6v,8y);h $2I(U){k!!(U||U===0)};h $4t(U,8E){k $67(U)?U:8E};h $77(47,1Z){k 1f.bA(1f.77()*(1Z-47+1)+47)};h $3f(){k K bB().bz()};h $4a(1o){by(1o);bw(1o);k 1k};o 3X=h(U){U=U||{};U.O=$O;k U};o bx=K 3X(I);o bn=K 3X(M);M.8C=M.2A(\'8C\')[0];I.3u=!!(M.88);m(I.9J)I.2j=I[I.6f?\'bm\':\'8z\']=1a;V m(M.93&&!M.bc&&!bd.bb)I.3R=I[I.3u?\'ba\':\'5b\']=1a;V m(M.b8!=1k)I.74=1a;I.b9=I.3R;7n.O=$O;m(5T 4C==\'8B\'){o 4C=h(){};m(I.3R)M.8p("be");4C.1B=(I.3R)?I["[[bf.1B]]"]:{}}4C.1B.4b=h(){};m(I.8z)4l{M.bk("bl",L,1a)}4m(e){};o 19=h(2P){o 4E=h(){k(15[0]!==1k&&c.1h&&$t(c.1h)==\'h\')?c.1h.4q(c,15):c};$O(4E,c);4E.1B=2P;4E.8A=19;k 4E};19.1q=h(){};19.1B={O:h(2P){o 5Q=K c(1k);F(o C 17 2P){o 8F=5Q[C];5Q[C]=19.8G(8F,2P[C])}k K 19(5Q)},3K:h(){F(o i=0,l=15.T;i<l;i++)$O(c.1B,15[i])}};19.8G=h(2s,1X){m(2s&&2s!=1X){o t=$t(1X);m(t!=$t(2s))k 1X;1Y(t){W\'h\':o 7b=h(){c.1p=15.8L.1p;k 1X.4q(c,15)};7b.1p=2s;k 7b;W\'2O\':k $3z(2s,1X)}}k 1X};o 6D=K 19({bC:h(N){c.43=c.43||[];c.43.1g(N);k c},6p:h(){m(c.43&&c.43.T)c.43.8Z().1R(10,c)},bD:h(){c.43=[]}});o 26=K 19({1C:h(t,N){m(N!=19.1q){c.$Y=c.$Y||{};c.$Y[t]=c.$Y[t]||[];c.$Y[t].5a(N)}k c},1j:h(t,1d,1R){m(c.$Y&&c.$Y[t]){c.$Y[t].1t(h(N){N.2D({\'P\':c,\'1R\':1R,\'15\':1d})()},c)}k c},56:h(t,N){m(c.$Y&&c.$Y[t])c.$Y[t].3S(N);k c}});o 3L=K 19({2V:h(){c.q=$3z.4q(1k,[c.q].O(15));m(c.1C){F(o 3a 17 c.q){m($t(c.q[3a]==\'h\')&&(/^6R[A-Z]/).2b(3a))c.1C(3a,c.q[3a])}}k c}});2h.O({5V:h(N,P){F(o i=0,j=c.T;i<j;i++)N.1Q(P,c[i],i,c)},2U:h(N,P){o 4v=[];F(o i=0,j=c.T;i<j;i++){m(N.1Q(P,c[i],i,c))4v.1g(c[i])}k 4v},2E:h(N,P){o 4v=[];F(o i=0,j=c.T;i<j;i++)4v[i]=N.1Q(P,c[i],i,c);k 4v},5K:h(N,P){F(o i=0,j=c.T;i<j;i++){m(!N.1Q(P,c[i],i,c))k L}k 1a},bZ:h(N,P){F(o i=0,j=c.T;i<j;i++){m(N.1Q(P,c[i],i,c))k 1a}k L},3g:h(2Q,R){o 36=c.T;F(o i=(R<0)?1f.1Z(0,36+R):R||0;i<36;i++){m(c[i]===2Q)k i}k-1},8K:h(1e,T){1e=1e||0;m(1e<0)1e=c.T+1e;T=T||(c.T-1e);o 79=[];F(o i=0;i<T;i++)79[i]=c[1e++];k 79},3S:h(2Q){o i=0;o 36=c.T;5r(i<36){m(c[i]===2Q){c.6b(i,1);36--}V{i++}}k c},1c:h(2Q,R){k c.3g(2Q,R)!=-1},bW:h(1P){o U={},T=1f.47(c.T,1P.T);F(o i=0;i<T;i++)U[1P[i]]=c[i];k U},O:h(1m){F(o i=0,j=1m.T;i<j;i++)c.1g(1m[i]);k c},3z:h(1m){F(o i=0,l=1m.T;i<l;i++)c.5a(1m[i]);k c},5a:h(2Q){m(!c.1c(2Q))c.1g(2Q);k c},bV:h(){k c[$77(0,c.T-1)]||1k},95:h(){k c[c.T-1]||1k}});2h.1B.1t=2h.1B.5V;2h.1t=2h.5V;h $A(1m){k 2h.8K(1m)};h $1t(3v,N,P){m(3v&&5T 3v.T==\'4Q\'&&$t(3v)!=\'2O\'){2h.5V(3v,N,P)}V{F(o 1w 17 3v)N.1Q(P||3v,3v[1w],1w)}};2h.1B.2b=2h.1B.1c;6v.O({2b:h(5U,2t){k(($t(5U)==\'2T\')?K 7E(5U,2t):5U).2b(c)},3i:h(){k 4V(c,10)},8x:h(){k 4S(c)},6n:h(){k c.35(/-\\D/g,h(2y){k 2y.7d(1).7u()})},97:h(){k c.35(/\\w[A-Z]/g,h(2y){k(2y.7d(0)+\'-\'+2y.7d(1).4Z())})},7j:h(){k c.35(/\\b[a-z]/g,h(2y){k 2y.7u()})},5i:h(){k c.35(/^\\s+|\\s+$/g,\'\')},7S:h(){k c.35(/\\s{2,}/g,\' \').5i()},5N:h(1m){o 2p=c.2y(/\\d{1,3}/g);k(2p)?2p.5N(1m):L},5B:h(1m){o 3P=c.2y(/^#?(\\w{1,2})(\\w{1,2})(\\w{1,2})$/);k(3P)?3P.8H(1).5B(1m):L},1c:h(2T,s){k(s)?(s+c+s).3g(s+2T+s)>-1:c.3g(2T)>-1},c2:h(){k c.35(/([.*+?^${}()|[\\]\\/\\\\])/g,\'\\\\$1\')}});2h.O({5N:h(1m){m(c.T<3)k L;m(c.T==4&&c[3]==0&&!1m)k\'c3\';o 3P=[];F(o i=0;i<3;i++){o 4f=(c[i]-0).bT(16);3P.1g((4f.T==1)?\'0\'+4f:4f)}k 1m?3P:\'#\'+3P.1V(\'\')},5B:h(1m){m(c.T!=3)k L;o 2p=[];F(o i=0;i<3;i++){2p.1g(4V((c[i].T==1)?c[i]+c[i]:c[i],16))}k 1m?2p:\'2p(\'+2p.1V(\',\')+\')\'}});6A.O({2D:h(q){o N=c;q=$3z({\'P\':N,\'u\':L,\'15\':1k,\'1R\':L,\'3y\':L,\'5P\':L},q);m($2I(q.15)&&$t(q.15)!=\'1m\')q.15=[q.15];k h(u){o 1d;m(q.u){u=u||I.u;1d=[(q.u===1a)?u:K q.u(u)];m(q.15)1d.O(q.15)}V 1d=q.15||15;o 3e=h(){k N.4q($4t(q.P,N),1d)};m(q.1R)k 7V(3e,q.1R);m(q.3y)k bI(3e,q.3y);m(q.5P)4l{k 3e()}4m(bJ){k L};k 3e()}},bH:h(1d,P){k c.2D({\'15\':1d,\'P\':P})},5P:h(1d,P){k c.2D({\'15\':1d,\'P\':P,\'5P\':1a})()},P:h(P,1d){k c.2D({\'P\':P,\'15\':1d})},bE:h(P,1d){k c.2D({\'P\':P,\'u\':1a,\'15\':1d})},1R:h(1R,P,1d){k c.2D({\'1R\':1R,\'P\':P,\'15\':1d})()},3y:h(8I,P,1d){k c.2D({\'3y\':8I,\'P\':P,\'15\':1d})()}});8y.O({3i:h(){k 4V(c)},8x:h(){k 4S(c)},1x:h(47,1Z){k 1f.47(1Z,1f.1Z(47,c))},3q:h(4P){4P=1f.3p(10,4P||0);k 1f.3q(c*4P)/4P},bP:h(N){F(o i=0;i<c;i++)N(i)}});o H=K 19({1h:h(r,1F){m($t(r)==\'2T\'){m(I.2j&&1F&&(1F.1w||1F.t)){o 1w=(1F.1w)?\' 1w="\'+1F.1w+\'"\':\'\';o t=(1F.t)?\' t="\'+1F.t+\'"\':\'\';73 1F.1w;73 1F.t;r=\'<\'+r+1w+t+\'>\'}r=M.8p(r)}r=$(r);k(!1F||!r)?r:r.2F(1F)}});o 1L=K 19({1h:h(J){k(J)?$O(J,c):c}});1L.O=h(1F){F(o 1D 17 1F){c.1B[1D]=1F[1D];c[1D]=$4c.5I(1D)}};h $(r){m(!r)k 1k;m(r.4b)k 2e.4w(r);m([I,M].1c(r))k r;o t=$t(r);m(t==\'2T\'){r=M.5j(r);t=(r)?\'B\':L}m(t!=\'B\')k 1k;m(r.4b)k 2e.4w(r);m([\'2O\',\'b7\'].1c(r.5s.4Z()))k r;$O(r,H.1B);r.4b=h(){};k 2e.4w(r)};M.5o=M.2A;h $$(){o J=[];F(o i=0,j=15.T;i<j;i++){o 1z=15[i];1Y($t(1z)){W\'B\':J.1g(1z);W\'bN\':1r;W L:1r;W\'2T\':1z=M.5o(1z,1a);5C:J.O(1z)}}k $$.4O(J)};$$.4O=h(1m){o J=[];F(o i=0,l=1m.T;i<l;i++){m(1m[i].$5O)5z;o B=$(1m[i]);m(B&&!B.$5O){B.$5O=1a;J.1g(B)}}F(o n=0,d=J.T;n<d;n++)J[n].$5O=1k;k K 1L(J)};1L.5F=h(C){k h(){o 1d=15;o 1i=[];o J=1a;F(o i=0,j=c.T,3e;i<j;i++){3e=c[i][C].4q(c[i],1d);m($t(3e)!=\'B\')J=L;1i.1g(3e)};k(J)?$$.4O(1i):1i}};H.O=h(2P){F(o C 17 2P){4C.1B[C]=2P[C];H.1B[C]=2P[C];H[C]=$4c.5I(C);o 8m=(2h.1B[C])?C+\'1L\':C;1L.1B[8m]=1L.5F(C)}};H.O({2F:h(1F){F(o 1D 17 1F){o 42=1F[1D];1Y(1D){W\'6q\':c.59(42);1r;W\'Y\':m(c.6I)c.6I(42);1r;W\'2P\':c.99(42);1r;5C:c.5X(1D,42)}}k c},2a:h(r,8l){r=$(r);1Y(8l){W\'8q\':r.2N.7z(c,r);1r;W\'8r\':o 4R=r.96();m(!4R)r.2N.7F(c);V r.2N.7z(c,4R);1r;W\'1O\':o 7y=r.6o;m(7y){r.7z(c,7y);1r}5C:r.7F(c)}k c},a1:h(r){k c.2a(r,\'8q\')},7k:h(r){k c.2a(r,\'8r\')},at:h(r){k c.2a(r,\'4A\')},au:h(r){k c.2a(r,\'1O\')},9S:h(){o J=[];$1t(15,h(3O){J=J.7r(3O)});$$(J).2a(c);k c},3S:h(){k c.2N.9a(c)},az:h(8w){o r=$(c.aA(8w!==L));m(!r.$Y)k r;r.$Y={};F(o t 17 c.$Y)r.$Y[t]={\'1P\':$A(c.$Y[t].1P),\'1G\':$A(c.$Y[t].1G)};k r.5n()},ax:h(r){r=$(r);c.2N.av(r,c);k r},9f:h(1A){c.7F(M.aB(1A));k c},7G:h(1l){k c.1l.1c(1l,\' \')},8u:h(1l){m(!c.7G(1l))c.1l=(c.1l+\' \'+1l).7S();k c},8v:h(1l){c.1l=c.1l.35(K 7E(\'(^|\\\\s)\'+1l+\'(?:\\\\s|$)\'),\'$1\').7S();k c},ab:h(1l){k c.7G(1l)?c.8v(1l):c.8u(1l)},1M:h(C,G){1Y(C){W\'1U\':k c.8s(4S(G));W\'aj\':C=(I.2j)?\'ad\':\'ah\'}C=C.6n();1Y($t(G)){W\'4Q\':m(![\'ag\',\'8t\'].1c(C))G+=\'4e\';1r;W\'1m\':G=\'2p(\'+G.1V(\',\')+\')\'}c.1v[C]=G;k c},59:h(2B){1Y($t(2B)){W\'2O\':H.5E(c,\'1M\',2B);1r;W\'2T\':c.1v.6G=2B}k c},8s:h(1U){m(1U==0){m(c.1v.3M!="44")c.1v.3M="44"}V{m(c.1v.3M!="6Z")c.1v.3M="6Z"}m(!c.5L||!c.5L.af)c.1v.8t=1;m(I.2j)c.1v.2U=(1U==1)?\'\':"b6(1U="+1U*65+")";c.1v.1U=c.$1E.1U=1U;k c},2k:h(C){C=C.6n();o 1s=c.1v[C];m(!$2I(1s)){m(C==\'1U\')k c.$1E.1U;1s=[];F(o 1v 17 H.3t){m(C==1v){H.3t[1v].1t(h(s){o 1v=c.2k(s);1s.1g(4V(1v)?1v:\'91\')},c);m(C==\'2v\'){o 5K=1s.5K(h(4f){k(4f==1s[0])});k(5K)?1s[0]:L}k 1s.1V(\' \')}}m(C.1c(\'2v\')){m(H.3t.2v.1c(C)){k[\'92\',\'6M\',\'6P\'].2E(h(p){k c.2k(C+p)},c).1V(\' \')}V m(H.8O.1c(C)){k[\'8S\',\'8T\',\'8j\',\'8R\'].2E(h(p){k c.2k(\'2v\'+p+C.35(\'2v\',\'\'))},c).1V(\' \')}}m(M.8N)1s=M.8N.aW(c,1k).aV(C.97());V m(c.5L)1s=c.5L[C]}m(I.2j)1s=H.9c(C,1s,c);m(1s&&C.2b(/5D/i)&&1s.1c(\'2p\')){k 1s.5f(\'2p\').6b(1,4).2E(h(5D){k 5D.5N()}).1V(\' \')}k 1s},9T:h(){k H.6J(c,\'2k\',15)},4U:h(5M,1e){5M+=\'b0\';o r=(1e)?c[1e]:c[5M];5r(r&&$t(r)!=\'B\')r=r[5M];k $(r)},b4:h(){k c.4U(\'2s\')},96:h(){k c.4U(\'4R\')},b3:h(){k c.4U(\'4R\',\'6o\')},95:h(){k c.4U(\'2s\',\'b1\')},b2:h(){k $(c.2N)},aS:h(){k $$(c.93)},71:h(r){k!!$A(c.2A(\'*\')).1c(r)},5h:h(C){o 1H=H.68[C];m(1H)k c[1H];o 6B=H.8P[C]||0;m(!I.2j||6B)k c.aH(C,6B);o 6l=c.aG[C];k(6l)?6l.94:1k},aD:h(C){o 1H=H.68[C];m(1H)c[1H]=\'\';V c.9M(C);k c},c8:h(){k H.6J(c,\'5h\',15)},5X:h(C,G){o 1H=H.68[C];m(1H)c[1H]=G;V c.aJ(C,G);k c},99:h(2B){k H.5E(c,\'5X\',2B)},52:h(){c.9d=$A(15).1V(\'\');k c},aP:h(1A){o 2R=c.3N();m([\'1v\',\'2o\'].1c(2R)){m(I.2j){m(2R==\'1v\')c.9e.6G=1A;V m(2R==\'2o\')c.5X(\'1A\',1A);k c}V{c.9a(c.6o);k c.9f(1A)}}c[$67(c.6W)?\'6W\':\'9b\']=1A;k c},aM:h(){o 2R=c.3N();m([\'1v\',\'2o\'].1c(2R)){m(I.2j){m(2R==\'1v\')k c.9e.6G;V m(2R==\'2o\')k c.5h(\'1A\')}V{k c.9d}}k($4t(c.6W,c.9b))},3N:h(){k c.5s.4Z()},1q:h(){2e.4Y(c.2A(\'*\'));k c.52(\'\')}});H.9c=h(C,1s,B){m($2I(4V(1s)))k 1s;m([\'3o\',\'2G\'].1c(C)){o 1G=(C==\'2G\')?[\'1T\',\'51\']:[\'1O\',\'4A\'];o 2W=0;1G.1t(h(G){2W+=B.2k(\'2v-\'+G+\'-2G\').3i()+B.2k(\'45-\'+G).3i()});k B[\'1u\'+C.7j()]-2W+\'4e\'}V m(C.2b(/2v(.+)92|2J|45/)){k\'91\'}k 1s};H.3t={\'2v\':[],\'45\':[],\'2J\':[]};[\'8S\',\'8T\',\'8j\',\'8R\'].1t(h(8Q){F(o 1v 17 H.3t)H.3t[1v].1g(1v+8Q)});H.8O=[\'d3\',\'d2\',\'d0\'];H.6J=h(r,1W,1P){o 1s={};$1t(1P,h(2w){1s[2w]=r[1W](2w)});k 1s};H.5E=h(r,1W,6H){F(o 2w 17 6H)r[1W](2w,6H[2w]);k r};H.68=K 3X({\'4n\':\'1l\',\'F\':\'d7\',\'dp\':\'du\',\'dI\':\'dH\',\'dG\':\'dK\',\'dJ\':\'dM\',\'dN\':\'dF\',\'dD\':\'dv\',\'dE\':\'dt\',\'G\':\'G\',\'7A\':\'7A\',\'7P\':\'7P\',\'7K\':\'7K\',\'7M\':\'7M\'});H.8P={\'4r\':2,\'5q\':2};H.2K={69:{2x:h(t,N){m(c.6L)c.6L(t,N,L);V c.ds(\'6R\'+t,N);k c},3T:h(t,N){m(c.8U)c.8U(t,N,L);V c.dx(\'6R\'+t,N);k c}}};I.O(H.2K.69);M.O(H.2K.69);H.O(H.2K.69);o 2e={J:[],4w:h(r){m(!r.$1E){2e.J.1g(r);r.$1E={\'1U\':1}}k r},4Y:h(J){F(o i=0,j=J.T,r;i<j;i++){m(!(r=J[i])||!r.$1E)5z;m(r.$Y)r.1j(\'4Y\').5n();F(o p 17 r.$1E)r.$1E[p]=1k;F(o d 17 H.1B)r[d]=1k;2e.J[2e.J.3g(r)]=1k;r.4b=r.$1E=r=1k}2e.J.3S(1k)},1q:h(){2e.4w(I);2e.4w(M);2e.4Y(2e.J)}};I.2x(\'8d\',h(){I.2x(\'6h\',2e.1q);m(I.2j)I.2x(\'6h\',da)});o 2r=K 19({1h:h(u){m(u&&u.$90)k u;c.$90=1a;u=u||I.u;c.u=u;c.t=u.t;c.3b=u.3b||u.cr;m(c.3b.7l==3)c.3b=c.3b.2N;c.8Z=u.cp;c.cn=u.co;c.cs=u.ct;c.cx=u.cw;m([\'6U\',\'49\'].1c(c.t)){c.cv=(u.8Y)?u.8Y/cm:-(u.c9||0)/3}V m(c.t.1c(\'2w\')){c.5Z=u.9g||u.ce;F(o 1w 17 2r.1P){m(2r.1P[1w]==c.5Z){c.2w=1w;1r}}m(c.t==\'89\'){o 64=c.5Z-ck;m(64>0&&64<13)c.2w=\'f\'+64}c.2w=c.2w||6v.ch(c.5Z).4Z()}V m(c.t.2b(/(5p|3n|cz)/)){c.21={\'x\':u.76||u.8W+M.2q.54,\'y\':u.7B||u.8X+M.2q.57};c.9p={\'x\':u.76?u.76-I.9y:u.8W,\'y\':u.7B?u.7B-I.9z:u.8X};c.cO=(u.9g==3)||(u.cS==2);1Y(c.t){W\'6X\':c.23=u.23||u.cT;1r;W\'75\':c.23=u.23||u.6E}c.7U()}k c},1I:h(){k c.5Y().60()},5Y:h(){m(c.u.5Y)c.u.5Y();V c.u.cW=1a;k c},60:h(){m(c.u.60)c.u.60();V c.u.cM=L;k c}});2r.61={23:h(){m(c.23&&c.23.7l==3)c.23=c.23.2N},7T:h(){4l{2r.61.23.1Q(c)}4m(e){c.23=c.3b}}};2r.1B.7U=(I.74)?2r.61.7T:2r.61.23;2r.1P=K 3X({\'cG\':13,\'cJ\':38,\'cI\':40,\'1T\':37,\'51\':39,\'cq\':27,\'cH\':32,\'cK\':8,\'cC\':9,\'73\':46});H.2K.26={1C:h(t,N){c.$Y=c.$Y||{};c.$Y[t]=c.$Y[t]||{\'1P\':[],\'1G\':[]};m(c.$Y[t].1P.1c(N))k c;c.$Y[t].1P.1g(N);o 63=t;o 29=H.26[t];m(29){m(29.6i)29.6i.1Q(c,N);m(29.2E)N=29.2E;m(29.t)63=29.t}m(!c.6L)N=N.2D({\'P\':c,\'u\':1a});c.$Y[t].1G.1g(N);k(H.6V.1c(63))?c.2x(63,N):c},56:h(t,N){m(!c.$Y||!c.$Y[t])k c;o 1b=c.$Y[t].1P.3g(N);m(1b==-1)k c;o 2w=c.$Y[t].1P.6b(1b,1)[0];o G=c.$Y[t].1G.6b(1b,1)[0];o 29=H.26[t];m(29){m(29.3S)29.3S.1Q(c,N);m(29.t)t=29.t}k(H.6V.1c(t))?c.3T(t,G):c},6I:h(2B){k H.5E(c,\'1C\',2B)},5n:h(t){m(!c.$Y)k c;m(!t){F(o 5u 17 c.$Y)c.5n(5u);c.$Y=1k}V m(c.$Y[t]){c.$Y[t].1P.1t(h(N){c.56(t,N)},c);c.$Y[t]=1k}k c},1j:h(t,1d,1R){m(c.$Y&&c.$Y[t]){c.$Y[t].1P.1t(h(N){N.2D({\'P\':c,\'1R\':1R,\'15\':1d})()},c)}k c},8c:h(R,t){m(!R.$Y)k c;m(!t){F(o 5u 17 R.$Y)c.8c(R,5u)}V m(R.$Y[t]){R.$Y[t].1P.1t(h(N){c.1C(t,N)},c)}k c}};I.O(H.2K.26);M.O(H.2K.26);H.O(H.2K.26);H.26=K 3X({\'6w\':{t:\'6X\',2E:h(u){u=K 2r(u);m(u.23!=c&&!c.71(u.23))c.1j(\'6w\',u)}},\'7R\':{t:\'75\',2E:h(u){u=K 2r(u);m(u.23!=c&&!c.71(u.23))c.1j(\'7R\',u)}},\'49\':{t:(I.74)?\'6U\':\'49\'}});H.6V=[\'5p\',\'d9\',\'7m\',\'5v\',\'49\',\'6U\',\'6X\',\'75\',\'3j\',\'89\',\'dc\',\'dm\',\'9x\',\'6h\',\'8d\',\'dg\',\'aE\',\'dC\',\'cY\',\'2X\',\'cU\',\'cF\',\'3s\',\'cB\',\'7W\',\'cL\',\'2c\'];6A.O({3H:h(P,1d){k c.2D({\'P\':P,\'15\':1d,\'u\':2r})}});1L.O({cy:h(2R){k K 1L(c.2U(h(r){k(H.3N(r)==2R)}))},81:h(1l,2d){o J=c.2U(h(r){k(r.1l&&r.1l.1c(1l,\' \'))});k(2d)?J:K 1L(J)},87:h(3Q,2d){o J=c.2U(h(r){k(r.3Q==3Q)});k(2d)?J:K 1L(J)},80:h(1w,6x,G,2d){o J=c.2U(h(r){o 1X=H.5h(r,1w);m(!1X)k L;m(!6x)k 1a;1Y(6x){W\'=\':k(1X==G);W\'*=\':k(1X.1c(G));W\'^=\':k(1X.62(0,G.T)==G);W\'$=\':k(1X.62(1X.T-G.T)==G);W\'!=\':k(1X!=G);W\'~=\':k 1X.1c(G,\' \')}k L});k(2d)?J:K 1L(J)}});h $E(1z,2U){k($(2U)||M).9r(1z)};h $d1(1z,2U){k($(2U)||M).5o(1z)};$$.3m={\'5g\':/^(\\w*|\\*)(?:#([\\w-]+)|\\.([\\w-]+))?(?:\\[(\\w+)(?:([!*^$]?=)["\']?([^"\'\\]]*)["\']?)?])?$/,\'3u\':{7s:h(1i,2C,12,i){o 22=[2C.dk?\'7v:\':\'\',12[1]];m(12[2])22.1g(\'[@3Q="\',12[2],\'"]\');m(12[3])22.1g(\'[1c(7r(" ", @4n, " "), " \',12[3],\' ")]\');m(12[4]){m(12[5]&&12[6]){1Y(12[5]){W\'*=\':22.1g(\'[1c(@\',12[4],\', "\',12[6],\'")]\');1r;W\'^=\':22.1g(\'[di-de(@\',12[4],\', "\',12[6],\'")]\');1r;W\'$=\':22.1g(\'[df(@\',12[4],\', 2T-T(@\',12[4],\') - \',12[6].T,\' + 1) = "\',12[6],\'"]\');1r;W\'=\':22.1g(\'[@\',12[4],\'="\',12[6],\'"]\');1r;W\'!=\':22.1g(\'[@\',12[4],\'!="\',12[6],\'"]\')}}V{22.1g(\'[@\',12[4],\']\')}}1i.1g(22.1V(\'\'));k 1i},7o:h(1i,2C,2d){o J=[];o 3u=M.88(\'.//\'+1i.1V(\'//\'),2C,$$.3m.7Z,aO.aK,1k);F(o i=0,j=3u.aF;i<j;i++)J.1g(3u.aR(i));k(2d)?J:K 1L(J.2E($))}},\'86\':{7s:h(1i,2C,12,i){m(i==0){m(12[2]){o r=2C.5j(12[2]);m(!r||((12[1]!=\'*\')&&(H.3N(r)!=12[1])))k L;1i=[r]}V{1i=$A(2C.2A(12[1]))}}V{1i=$$.3m.2A(1i,12[1]);m(12[2])1i=1L.87(1i,12[2],1a)}m(12[3])1i=1L.81(1i,12[3],1a);m(12[4])1i=1L.80(1i,12[4],12[5],12[6],1a);k 1i},7o:h(1i,2C,2d){k(2d)?1i:$$.4O(1i)}},7Z:h(7Y){k(7Y==\'7v\')?\'9Y://9X.aY.bG/c4/7v\':L},2A:h(2C,5s){o 7c=[];F(o i=0,j=2C.T;i<j;i++)7c.O(2C[i].2A(5s));k 7c}};$$.3m.1W=(I.3u)?\'3u\':\'86\';H.2K.7w={5l:h(1z,2d){o 1i=[];1z=1z.5i().5f(\' \');F(o i=0,j=1z.T;i<j;i++){o 85=1z[i];o 12=85.2y($$.3m.5g);m(!12)1r;12[1]=12[1]||\'*\';o 22=$$.3m[$$.3m.1W].7s(1i,c,12,i);m(!22)1r;1i=22}k $$.3m[$$.3m.1W].7o(1i,c,2d)},9r:h(1z){k $(c.5l(1z,1a)[0]||L)},5o:h(1z,2d){o J=[];1z=1z.5f(\',\');F(o i=0,j=1z.T;i<j;i++)J=J.7r(c.5l(1z[i],1a));k(2d)?J:$$.4O(J)}};H.O({5j:h(3Q){o r=M.5j(3Q);m(!r)k L;F(o 1p=r.2N;1p!=c;1p=1p.2N){m(!1p)k L}k r},bY:h(1l){k c.5l(\'.\'+1l)}});M.O(H.2K.7w);H.O(H.2K.7w);H.O({3B:h(){1Y(c.3N()){W\'3s\':o 1G=[];$1t(c.q,h(3a){m(3a.7M)1G.1g($4t(3a.G,3a.1A))});k(c.7K)?1G:1G[0];W\'a6\':m(!(c.7P&&[\'al\',\'a9\'].1c(c.t))&&![\'44\',\'1A\',\'aX\'].1c(c.t))1r;W\'a3\':k c.G}k L},a2:h(){k $$(c.2A(\'a6\'),c.2A(\'3s\'),c.2A(\'a3\'))},5c:h(){o 4h=[];c.a2().1t(h(r){o 1w=r.1w;o G=r.3B();m(G===L||!1w||r.7A)k;o 6F=h(42){4h.1g(1w+\'=\'+7p(42))};m($t(G)==\'1m\')G.1t(6F);V 6F(G)});k 4h.1V(\'&\')}});H.O({34:h(x,y){c.54=x;c.57=y},5w:h(){k{\'2c\':{\'x\':c.54,\'y\':c.57},\'2W\':{\'x\':c.3C,\'y\':c.3E},\'5A\':{\'x\':c.5G,\'y\':c.4D}}},3h:h(2l){2l=2l||[];o r=c,1T=0,1O=0;do{1T+=r.dz||0;1O+=r.cZ||0;r=r.cN}5r(r);2l.1t(h(B){1T-=B.54||0;1O-=B.57||0});k{\'x\':1T,\'y\':1O}},cV:h(2l){k c.3h(2l).y},dd:h(2l){k c.3h(2l).x},dj:h(2l){o 2f=c.3h(2l);o U={\'2G\':c.3C,\'3o\':c.3E,\'1T\':2f.x,\'1O\':2f.y};U.51=U.1T+U.2G;U.4A=U.1O+U.3o;k U}});H.26.6N={6i:h(N){m(I.5m){N.1Q(c);k}o 4F=h(){m(I.5m)k;I.5m=1a;I.1o=$4a(I.1o);c.1j(\'6N\')}.P(c);m(M.4z&&I.3R){I.1o=h(){m([\'5m\',\'9Z\'].1c(M.4z))4F()}.3y(50)}V m(M.4z&&I.2j){m(!$(\'72\')){o 5q=(I.4y.db==\'d4:\')?\'://0\':\'98:d6(0)\';M.dq(\'<2o 3Q="72" dL 5q="\'+5q+\'"><\\/2o>\');$(\'72\').6g=h(){m(c.4z==\'9Z\')4F()}}}V{I.2x("9x",4F);M.2x("cd",4F)}}};I.ca=h(N){k c.1C(\'6N\',N)};I.O({6z:h(){m(c.5b)k c.cX;m(c.9v)k M.4u.9w;k M.2q.9w},6t:h(){m(c.5b)k c.cE;m(c.9v)k M.4u.9u;k M.2q.9u},9C:h(){m(c.2j)k 1f.1Z(M.2q.3C,M.2q.5G);m(c.3R)k M.4u.5G;k M.2q.5G},9B:h(){m(c.2j)k 1f.1Z(M.2q.3E,M.2q.4D);m(c.3R)k M.4u.4D;k M.2q.4D},6s:h(){k c.9y||M.2q.54},6r:h(){k c.9z||M.2q.57},5w:h(){k{\'2W\':{\'x\':c.6z(),\'y\':c.6t()},\'5A\':{\'x\':c.9C(),\'y\':c.9B()},\'2c\':{\'x\':c.6s(),\'y\':c.6r()}}},3h:h(){k{\'x\':0,\'y\':0}}});o 18={};18.2H=K 19({q:{4g:19.1q,28:19.1q,6y:19.1q,1K:h(p){k-(1f.9P(1f.7J*p)-1)/2},7C:cP,25:\'4e\',33:1a,9t:50},1h:h(q){c.B=c.B||1k;c.2V(q);m(c.q.1h)c.q.1h.1Q(c)},1S:h(){o 3f=$3f();m(3f<c.3f+c.q.7C){c.9A=c.q.1K((3f-c.3f)/c.q.7C);c.3Z();c.3Y()}V{c.1I(1a);c.2F(c.Q);c.1j(\'28\',c.B,10);c.6p()}},2F:h(Q){c.14=Q;c.3Y();k c},3Z:h(){c.14=c.41(c.R,c.Q)},41:h(R,Q){k(Q-R)*c.9A+R},1e:h(R,Q){m(!c.q.33)c.1I();V m(c.1o)k c;c.R=R;c.Q=Q;c.2X=c.Q-c.R;c.3f=$3f();c.1o=c.1S.3y(1f.3q(cR/c.q.9t),c);c.1j(\'4g\',c.B);k c},1I:h(2n){m(!c.1o)k c;c.1o=$4a(c.1o);m(!2n)c.1j(\'6y\',c.B);k c},29:h(R,Q){k c.1e(R,Q)},cg:h(2n){k c.1I(2n)}});18.2H.3K(K 6D,K 26,K 3L);18.2L={3s:h(C,Q){m(C.2b(/5D/i))k c.6P;o t=$t(Q);m((t==\'1m\')||(t==\'2T\'&&Q.1c(\' \')))k c.5F;k c.9s},2u:h(r,C,4s){m(!4s.1g)4s=[4s];o R=4s[0],Q=4s[1];m(!$2I(Q)){Q=R;R=r.2k(C)}o 1n=c.3s(C,Q);k{\'R\':1n.2u(R),\'Q\':1n.2u(Q),\'1n\':1n}}};18.2L.9s={2u:h(G){k 4S(G)},4x:h(R,Q,2i){k 2i.41(R,Q)},3B:h(G,25,C){m(25==\'4e\'&&C!=\'1U\')G=1f.3q(G);k G+25}};18.2L.5F={2u:h(G){k G.1g?G:G.5f(\' \').2E(h(v){k 4S(v)})},4x:h(R,Q,2i){o 14=[];F(o i=0;i<R.T;i++)14[i]=2i.41(R[i],Q[i]);k 14},3B:h(G,25,C){m(25==\'4e\'&&C!=\'1U\')G=G.2E(1f.3q);k G.1V(25+\' \')+25}};18.2L.6P={2u:h(G){k G.1g?G:G.5B(1a)},4x:h(R,Q,2i){o 14=[];F(o i=0;i<R.T;i++)14[i]=1f.3q(2i.41(R[i],Q[i]));k 14},3B:h(G){k\'2p(\'+G.1V(\',\')+\')\'}};18.6M=18.2H.O({1h:h(r,C,q){c.B=$(r);c.C=C;c.1p(q)},3J:h(){k c.2F(0)},3Z:h(){c.14=c.1n.4x(c.R,c.Q,c)},2F:h(Q){c.1n=18.2L.3s(c.C,Q);k c.1p(c.1n.2u(Q))},1e:h(R,Q){m(c.1o&&c.q.33)k c;o 1N=18.2L.2u(c.B,c.C,[R,Q]);c.1n=1N.1n;k c.1p(1N.R,1N.Q)},3Y:h(){c.B.1M(c.C,c.1n.3B(c.14,c.q.25,c.C))}});H.O({dw:h(C,q){k K 18.6M(c,C,q)}});18.3t=18.2H.O({1h:h(r,q){c.B=$(r);c.1p(q)},3Z:h(){F(o p 17 c.R)c.14[p]=c.1n[p].4x(c.R[p],c.Q[p],c)},2F:h(Q){o 1N={};c.1n={};F(o p 17 Q){c.1n[p]=18.2L.3s(p,Q[p]);1N[p]=c.1n[p].2u(Q[p])}k c.1p(1N)},1e:h(U){m(c.1o&&c.q.33)k c;c.14={};c.1n={};o R={},Q={};F(o p 17 U){o 1N=18.2L.2u(c.B,p,U[p]);R[p]=1N.R;Q[p]=1N.Q;c.1n[p]=1N.1n}k c.1p(R,Q)},3Y:h(){F(o p 17 c.14)c.B.1M(p,c.1n[p].3B(c.14[p],c.q.25,p))}});H.O({3c:h(q){k K 18.3t(c,q)}});18.1L=18.2H.O({1h:h(J,q){c.J=$$(J);c.1p(q)},3Z:h(){F(o i 17 c.R){o 53=c.R[i],3r=c.Q[i],3d=c.1n[i],4X=c.14[i]={};F(o p 17 53)4X[p]=3d[p].4x(53[p],3r[p],c)}},2F:h(Q){o 1N={};c.1n={};F(o i 17 Q){o 3r=Q[i],3d=c.1n[i]={},9m=1N[i]={};F(o p 17 3r){3d[p]=18.2L.3s(p,3r[p]);9m[p]=3d[p].2u(3r[p])}}k c.1p(1N)},1e:h(U){m(c.1o&&c.q.33)k c;c.14={};c.1n={};o R={},Q={};F(o i 17 U){o 6S=U[i],53=R[i]={},3r=Q[i]={},3d=c.1n[i]={};F(o p 17 6S){o 1N=18.2L.2u(c.J[i],p,6S[p]);53[p]=1N.R;3r[p]=1N.Q;3d[p]=1N.1n}}k c.1p(R,Q)},3Y:h(){F(o i 17 c.14){o 4X=c.14[i],3d=c.1n[i];F(o p 17 4X)c.J[i].1M(p,3d[p].3B(4X[p],c.q.25,p))}}});18.8D=18.2H.O({q:{2l:[],1u:{\'x\':0,\'y\':0},9o:1a},1h:h(B,q){c.14=[];c.B=$(B);c.2m={\'1I\':c.1I.P(c,L)};c.1p(q);m(c.q.9o){c.1C(\'4g\',h(){M.1C(\'49\',c.2m.1I)}.P(c));c.1C(\'28\',h(){M.56(\'49\',c.2m.1I)}.P(c))}},3Z:h(){F(o i=0;i<2;i++)c.14[i]=c.41(c.R[i],c.Q[i])},34:h(x,y){m(c.1o&&c.q.33)k c;o r=c.B.5w();o 1G={\'x\':x,\'y\':y};F(o z 17 r.2W){o 1Z=r.5A[z]-r.2W[z];m($2I(1G[z]))1G[z]=($t(1G[z])==\'4Q\')?1G[z].1x(0,1Z):1Z;V 1G[z]=r.2c[z];1G[z]+=c.q.1u[z]}k c.1e([r.2c.x,r.2c.y],[1G.x,1G.y])},dh:h(){k c.34(L,0)},cj:h(){k c.34(L,\'9E\')},bM:h(){k c.34(0,L)},aN:h(){k c.34(\'9E\',L)},6E:h(r){o 1p=c.B.3h(c.q.2l);o 3b=$(r).3h(c.q.2l);k c.34(3b.x-1p.x,3b.y-1p.y)},3Y:h(){c.B.34(c.14[0],c.14[1])}});18.aQ=18.2H.O({q:{1J:\'7x\'},1h:h(r,q){c.B=$(r);c.2z=K H(\'4N\',{\'6q\':$O(c.B.9T(\'2J\'),{\'8e\':\'44\'})}).7k(c.B).9S(c.B);c.B.1M(\'2J\',0);c.2V(q);c.14=[];c.1p(c.q);c.4i=1a;c.1C(\'28\',h(){c.4i=(c.14[0]===0)});m(I.5b)c.1C(\'28\',h(){m(c.4i)c.B.3S().2a(c.2z)})},3Z:h(){F(o i=0;i<2;i++)c.14[i]=c.41(c.R[i],c.Q[i])},7x:h(){c.2J=\'2J-1O\';c.4T=\'3o\';c.1u=c.B.3E},6C:h(){c.2J=\'2J-1T\';c.4T=\'2G\';c.1u=c.B.3C},9R:h(1J){c[1J||c.q.1J]();k c.1e([c.B.2k(c.2J).3i(),c.2z.2k(c.4T).3i()],[0,c.1u])},9Q:h(1J){c[1J||c.q.1J]();k c.1e([c.B.2k(c.2J).3i(),c.2z.2k(c.4T).3i()],[-c.1u,0])},3J:h(1J){c[1J||c.q.1J]();c.4i=L;k c.2F([-c.1u,0])},3D:h(1J){c[1J||c.q.1J]();c.4i=1a;k c.2F([0,c.1u])},aI:h(1J){m(c.2z.3E==0||c.2z.3C==0)k c.9R(1J);k c.9Q(1J)},3Y:h(){c.B.1M(c.2J,c.14[0]+c.q.25);c.2z.1M(c.4T,c.14[1]+c.q.25)}});18.7e=h(1K,2t){2t=2t||[];m($t(2t)!=\'1m\')2t=[2t];k $O(1K,{aZ:h(1b){k 1K(1b,2t)},aT:h(1b){k 1-1K(1-1b,2t)},aC:h(1b){k(1b<=0.5)?1K(2*1b,2t)/2:(2-1K(2*(1-1b),2t))/2}})};18.2S=K 3X({aw:h(p){k p}});18.2S.O=h(6Y){F(o 1K 17 6Y){18.2S[1K]=K 18.7e(6Y[1K]);18.2S.7f(1K)}};18.2S.7f=h(1K){[\'ae\',\'ac\',\'a8\'].1t(h(7D){18.2S[1K.4Z()+7D]=18.2S[1K][\'aa\'+7D]})};18.2S.O({ai:h(p,x){k 1f.3p(p,x[0]||6)},ak:h(p){k 1f.3p(2,8*(p-1))},ay:h(p){k 1-1f.9W(1f.an(p))},am:h(p){k 1-1f.9W((1-p)*1f.7J/2)},ao:h(p,x){x=x[0]||1.aq;k 1f.3p(p,2)*((x+1)*p-x)},as:h(p){o G;F(o a=0,b=1;1;a+=b,b/=2){m(p>=(7-4*a)/11){G=-1f.3p((11-6*a-11*p)/4,2)+b*b;1r}}k G},ar:h(p,x){k 1f.3p(2,10*--p)*1f.9P(20*p*1f.7J*(x[0]||1)/3)}});[\'bO\',\'bQ\',\'bL\',\'bK\'].1t(h(1K,i){18.2S[1K]=K 18.7e(h(p){k 1f.3p(p,[i+2])});18.2S.7f(1K)});o 5e={};5e.2H=K 19({q:{58:L,25:\'4e\',4g:19.1q,9G:19.1q,28:19.1q,9N:19.1q,6T:19.1q,1x:L,2Z:{x:\'1T\',y:\'1O\'},3U:L,7i:6},1h:h(r,q){c.2V(q);c.B=$(r);c.58=$(c.q.58)||c.B;c.3n={\'14\':{},\'1b\':{}};c.G={\'1e\':{},\'14\':{}};c.2m={\'1e\':c.1e.3H(c),\'4o\':c.4o.3H(c),\'3A\':c.3A.3H(c),\'1I\':c.1I.P(c)};c.9I();m(c.q.1h)c.q.1h.1Q(c)},9I:h(){c.58.1C(\'5v\',c.2m.1e);k c},c1:h(){c.58.56(\'5v\',c.2m.1e);k c},1e:h(u){c.1j(\'9G\',c.B);c.3n.1e=u.21;o 1x=c.q.1x;c.1x={\'x\':[],\'y\':[]};F(o z 17 c.q.2Z){m(!c.q.2Z[z])5z;c.G.14[z]=c.B.2k(c.q.2Z[z]).3i();c.3n.1b[z]=u.21[z]-c.G.14[z];m(1x&&1x[z]){F(o i=0;i<2;i++){m($2I(1x[z][i]))c.1x[z][i]=($t(1x[z][i])==\'h\')?1x[z][i]():1x[z][i]}}}m($t(c.q.3U)==\'4Q\')c.q.3U={\'x\':c.q.3U,\'y\':c.q.3U};M.2x(\'3j\',c.2m.4o);M.2x(\'7m\',c.2m.1I);c.1j(\'4g\',c.B);u.1I()},4o:h(u){o 9K=1f.3q(1f.bi(1f.3p(u.21.x-c.3n.1e.x,2)+1f.3p(u.21.y-c.3n.1e.y,2)));m(9K>c.q.7i){M.3T(\'3j\',c.2m.4o);M.2x(\'3j\',c.2m.3A);c.3A(u);c.1j(\'9N\',c.B)}u.1I()},3A:h(u){c.7q=L;c.3n.14=u.21;F(o z 17 c.q.2Z){m(!c.q.2Z[z])5z;c.G.14[z]=c.3n.14[z]-c.3n.1b[z];m(c.1x[z]){m($2I(c.1x[z][1])&&(c.G.14[z]>c.1x[z][1])){c.G.14[z]=c.1x[z][1];c.7q=1a}V m($2I(c.1x[z][0])&&(c.G.14[z]<c.1x[z][0])){c.G.14[z]=c.1x[z][0];c.7q=1a}}m(c.q.3U[z])c.G.14[z]-=(c.G.14[z]%c.q.3U[z]);c.B.1M(c.q.2Z[z],c.G.14[z]+c.q.25)}c.1j(\'6T\',c.B);u.1I()},1I:h(){M.3T(\'3j\',c.2m.4o);M.3T(\'3j\',c.2m.3A);M.3T(\'7m\',c.2m.1I);c.1j(\'28\',c.B)}});5e.2H.3K(K 26,K 3L);H.O({bv:h(q){k K 5e.2H(c,$3z({2Z:{x:\'2G\',y:\'3o\'}},q))}});o 6Q=K 19({q:{1W:\'4d\',84:1a,9h:19.1q,4M:19.1q,6e:19.1q,9H:1a,4B:\'cf-8\',a4:L,3W:{}},7h:h(){c.24=(I.6f)?K 6f():(I.2j?K 9J(\'bg.bh\'):L);k c},1h:h(q){c.7h().2V(q);c.q.4G=c.q.4G||c.4G;c.3W={};m(c.q.9H&&c.q.1W==\'4d\'){o 4B=(c.q.4B)?\'; bS=\'+c.q.4B:\'\';c.4L(\'8J-t\',\'8M/x-9X-dn-dl\'+4B)}m(c.q.1h)c.q.1h.1Q(c)},82:h(){m(c.24.4z!=4||!c.4k)k;c.4k=L;o 3V=0;4l{3V=c.24.3V}4m(e){};m(c.q.4G.1Q(c,3V))c.4M();V c.6e();c.24.6g=19.1q},4G:h(3V){k((3V>=ci)&&(3V<cA))},4M:h(){c.3w={\'1A\':c.24.cb,\'4J\':c.24.dr};c.1j(\'4M\',[c.3w.1A,c.3w.4J]);c.6p()},6e:h(){c.1j(\'6e\',c.24)},4L:h(1w,G){c.3W[1w]=G;k c},5x:h(3l,1y){m(c.q.a4)c.8i();V m(c.4k)k c;c.4k=1a;m(1y&&c.q.1W==\'78\'){3l=3l+(3l.1c(\'?\')?\'&\':\'?\')+1y;1y=1k}c.24.4i(c.q.1W.7u(),3l,c.q.84);c.24.6g=c.82.P(c);m((c.q.1W==\'4d\')&&c.24.cQ)c.4L(\'dA\',\'cl\');$O(c.3W,c.q.3W);F(o t 17 c.3W)4l{c.24.cc(t,c.3W[t])}4m(e){};c.1j(\'9h\');c.24.5x($4t(1y,1k));k c},8i:h(){m(!c.4k)k c;c.4k=L;c.24.7W();c.24.6g=19.1q;c.7h();c.1j(\'6y\');k c}});6Q.3K(K 6D,K 26,K 3L);o 9F=6Q.O({q:{1y:1k,7Q:1k,28:19.1q,6d:L,7g:L},1h:h(3l,q){c.1C(\'4M\',c.28);c.2V(q);c.q.1y=c.q.1y||c.q.dB;m(![\'4d\',\'78\'].1c(c.q.1W)){c.4K=\'4K=\'+c.q.1W;c.q.1W=\'4d\'}c.1p();c.4L(\'X-d5-aL\',\'6f\');c.4L(\'b5\',\'1A/98, 1A/aU, 8M/4J, 1A/4J, */*\');c.3l=3l},28:h(){m(c.q.7Q)$(c.q.7Q).1q().52(c.3w.1A);m(c.q.6d||c.q.7g)c.6d();c.1j(\'28\',[c.3w.1A,c.3w.4J],20)},9U:h(1y){1y=1y||c.q.1y;1Y($t(1y)){W\'B\':1y=$(1y).5c();1r;W\'2O\':1y=7n.5c(1y)}m(c.4K)1y=(1y)?[c.4K,1y].1V(\'&\'):c.4K;k c.5x(c.3l,1y)},6d:h(){o 2o,3k;m(c.q.7g||(/(c5|c6)2o/).2b(c.a5(\'8J-t\')))3k=c.3w.1A;V{3k=[];o 5g=/<2o[^>]*>([\\s\\S]*?)<\\/2o>/bu;5r((2o=5g.c7(c.3w.1A)))3k.1g(2o[1]);3k=3k.1V(\'\\n\')}m(3k)(I.8V)?I.8V(3k):I.7V(3k,0)},a5:h(1w){4l{k c.24.cu(1w)}4m(e){};k 1k}});7n.5c=h(2B){o 4h=[];F(o C 17 2B)4h.1g(7p(C)+\'=\'+7p(2B[C]));k 4h.1V(\'&\')};H.O({5x:h(q){k K 9F(c.5h(\'c0\'),$3z({1y:c.5c()},q,{1W:\'4d\'})).9U()}});o 9l=K 19({q:{5d:20,6O:1,5J:h(x,y){c.B.34(x,y)}},1h:h(B,q){c.2V(q);c.B=$(B);c.6k=([I,M].1c(B))?$(M.4u):c.B},1e:h(){c.6j=c.9D.3H(c);c.6k.2x(\'3j\',c.6j)},1I:h(){c.6k.3T(\'3j\',c.6j);c.1o=$4a(c.1o)},9D:h(u){c.21=(c.B==I)?u.9p:u.21;m(!c.1o)c.1o=c.2c.3y(50,c)},2c:h(){o r=c.B.5w();o 1b=c.B.3h();o 2X={\'x\':0,\'y\':0};F(o z 17 c.21){m(c.21[z]<(c.q.5d+1b[z])&&r.2c[z]!=0)2X[z]=(c.21[z]-c.q.5d-1b[z])*c.q.6O;V m(c.21[z]+c.q.5d>(r.2W[z]+1b[z])&&r.2c[z]+r.2W[z]!=r.5A[z])2X[z]=(c.21[z]-r.2W[z]+c.q.5d-1b[z])*c.q.6O}m(2X.y||2X.x)c.1j(\'5J\',[r.2c.x+2X.x,r.2c.y+2X.y])}});9l.3K(K 26,K 3L);o 7a=K 19({q:{5J:19.1q,28:19.1q,7H:h(1b){c.3x.1M(c.p,1b)},1J:\'6C\',5S:65,1u:0},1h:h(r,3x,q){c.B=$(r);c.3x=$(3x);c.2V(q);c.6m=-1;c.7O=-1;c.1S=-1;c.B.1C(\'5v\',c.8f.3H(c));o 5k,1u;1Y(c.q.1J){W\'6C\':c.z=\'x\';c.p=\'1T\';5k={\'x\':\'1T\',\'y\':L};1u=\'3C\';1r;W\'7x\':c.z=\'y\';c.p=\'1O\';5k={\'x\':L,\'y\':\'1O\'};1u=\'3E\'}c.1Z=c.B[1u]-c.3x[1u]+(c.q.1u*2);c.8h=c.3x[1u]/2;c.8g=c.B[\'78\'+c.p.7j()].P(c.B);c.3x.1M(\'2f\',\'cD\').1M(c.p,-c.q.1u);o 7L={};7L[c.z]=[-c.q.1u,c.1Z-c.q.1u];c.3A=K 5e.2H(c.3x,{1x:7L,2Z:5k,7i:0,4g:h(){c.6a()}.P(c),6T:h(){c.6a()}.P(c),28:h(){c.6a();c.2n()}.P(c)});m(c.q.1h)c.q.1h.1Q(c)},2F:h(1S){c.1S=1S.1x(0,c.q.5S);c.5W();c.2n();c.1j(\'7H\',c.8o(c.1S));k c},8f:h(u){o 2f=u.21[c.z]-c.8g()-c.8h;2f=2f.1x(-c.q.1u,c.1Z-c.q.1u);c.1S=c.7N(2f);c.5W();c.2n();c.1j(\'7H\',2f)},6a:h(){c.1S=c.7N(c.3A.G.14[c.z]);c.5W()},5W:h(){m(c.6m!=c.1S){c.6m=c.1S;c.1j(\'5J\',c.1S)}},2n:h(){m(c.7O!==c.1S){c.7O=c.1S;c.1j(\'28\',c.1S+\'\')}},7N:h(2f){k 1f.3q((2f+c.q.1u)/c.1Z*c.q.5S)},8o:h(1S){k c.1Z*1S/c.q.5S}});7a.3K(K 26);7a.3K(K 3L);o bj=18.8D.O({1h:h(q){c.1p(I,q);c.4H=(c.q.4H)?$$(c.q.4H):$$(M.4H);o 4y=I.4y.4r.2y(/^[^#]*/)[0]+\'#\';c.4H.1t(h(4j){m(4j.4r.3g(4y)!=0)k;o 2Y=4j.4r.62(4y.T);m(2Y&&$(2Y))c.8n(4j,2Y)},c);m(!I.5b)c.1C(\'28\',h(){I.4y.bR=c.2Y})},8n:h(4j,2Y){4j.1C(\'5p\',h(u){c.2Y=2Y;c.6E(2Y);u.1I()}.3H(c))}});o 9k=K 19({q:{9n:h(3G){3G.1M(\'3M\',\'6Z\')},9i:h(3G){3G.1M(\'3M\',\'44\')},7t:30,9O:65,9V:65,1l:\'bX\',4W:{\'x\':16,\'y\':16},6K:L},1h:h(J,q){c.2V(q);c.3F=K H(\'4N\',{\'4n\':c.q.1l+\'-3G\',\'6q\':{\'2f\':\'d8\',\'1O\':\'0\',\'1T\':\'0\',\'3M\':\'44\'}}).2a(M.4u);c.2z=K H(\'4N\').2a(c.3F);$$(J).1t(c.9j,c);m(c.q.1h)c.q.1h.1Q(c)},9j:h(r){r.$1E.3I=(r.4r&&r.3N()==\'a\')?r.4r.35(\'9Y://\',\'\'):(r.bF||L);m(r.4p){o 5y=r.4p.5f(\'::\');m(5y.T>1){r.$1E.3I=5y[0].5i();r.$1E.55=5y[1].5i()}V{r.$1E.55=r.4p}r.9M(\'4p\')}V{r.$1E.55=L}m(r.$1E.3I&&r.$1E.3I.T>c.q.7t)r.$1E.3I=r.$1E.3I.62(0,c.q.7t-1)+"&dy;";r.1C(\'6w\',h(u){c.1e(r);m(!c.q.6K)c.6u(u);V c.2f(r)}.P(c));m(!c.q.6K)r.1C(\'3j\',c.6u.3H(c));o 2n=c.2n.P(c);r.1C(\'7R\',2n);r.1C(\'4Y\',2n)},1e:h(r){c.2z.1q();m(r.$1E.3I){c.4p=K H(\'9L\').2a(K H(\'4N\',{\'4n\':c.q.1l+\'-4p\'}).2a(c.2z)).52(r.$1E.3I)}m(r.$1E.55){c.1A=K H(\'9L\').2a(K H(\'4N\',{\'4n\':c.q.1l+\'-1A\'}).2a(c.2z)).52(r.$1E.55)}$4a(c.1o);c.1o=c.3D.1R(c.q.9O,c)},2n:h(u){$4a(c.1o);c.1o=c.3J.1R(c.q.9V,c)},2f:h(B){o 1b=B.3h();c.3F.59({\'1T\':1b.x+c.q.4W.x,\'1O\':1b.y+c.q.4W.y})},6u:h(u){o 9q={\'x\':I.6z(),\'y\':I.6t()};o 2c={\'x\':I.6s(),\'y\':I.6r()};o 3G={\'x\':c.3F.3C,\'y\':c.3F.3E};o 1D={\'x\':\'1T\',\'y\':\'1O\'};F(o z 17 1D){o 1b=u.21[z]+c.q.4W[z];m((1b+3G[z]-2c[z])>9q[z])1b=u.21[z]-c.q.4W[z]-3G[z];c.3F.1M(1D[z],1b)}},3D:h(){m(c.q.a0)c.1o=c.3J.1R(c.q.a0,c);c.1j(\'9n\',[c.3F])},3J:h(){c.1j(\'9i\',[c.3F])}});9k.3K(K 26,K 3L);o 70=18.1L.O({q:{7I:19.1q,8k:19.1q,31:0,3D:L,3o:1a,2G:L,1U:1a,5H:L,5t:L,33:L,66:L},1h:h(){o q,2g,J,48;$1t(15,h(3O,i){1Y($t(3O)){W\'2O\':q=3O;1r;W\'B\':48=$(3O);1r;5C:o 22=$$(3O);m(!2g)2g=22;V J=22}});c.2g=2g||[];c.J=J||[];c.48=$(48);c.2V(q);c.2s=-1;m(c.q.66)c.q.33=1a;m($2I(c.q.3D)){c.q.31=L;c.2s=c.q.3D}m(c.q.1e){c.q.31=L;c.q.3D=L}c.3c={};m(c.q.1U)c.3c.1U=\'7X\';m(c.q.2G)c.3c.2G=c.q.5t?\'8a\':\'3C\';m(c.q.3o)c.3c.3o=c.q.5H?\'8b\':\'4D\';F(o i=0,l=c.2g.T;i<l;i++)c.a7(c.2g[i],c.J[i]);c.J.1t(h(r,i){m(c.q.3D===i){c.1j(\'7I\',[c.2g[i],r])}V{F(o 2i 17 c.3c)r.1M(2i,0)}},c);c.1p(c.J);m($2I(c.q.31))c.31(c.q.31)},a7:h(2M,B,1b){2M=$(2M);B=$(B);o 2b=c.2g.1c(2M);o 36=c.2g.T;c.2g.5a(2M);c.J.5a(B);m(36&&(!2b||1b)){1b=$4t(1b,36-1);2M.a1(c.2g[1b]);B.7k(2M)}V m(c.48&&!2b){2M.2a(c.48);B.2a(c.48)}o 83=c.2g.3g(2M);2M.1C(\'5p\',c.31.P(c,83));m(c.q.3o)B.59({\'45-1O\':0,\'2v-1O\':\'6c\',\'45-4A\':0,\'2v-4A\':\'6c\'});m(c.q.2G)B.59({\'45-1T\':0,\'2v-1T\':\'6c\',\'45-51\':0,\'2v-51\':\'6c\'});B.7X=1;m(c.q.5t)B.8a=c.q.5t;m(c.q.5H)B.8b=c.q.5H;B.1M(\'8e\',\'44\');m(!2b){F(o 2i 17 c.3c)B.1M(2i,0)}k c},31:h(1H){1H=($t(1H)==\'B\')?c.J.3g(1H):1H;m((c.1o&&c.q.33)||(1H===c.2s&&!c.q.66))k c;c.2s=1H;o U={};c.J.1t(h(r,i){U[i]={};o 3J=(i!=1H)||(c.q.66&&(r.3E>0));c.1j(3J?\'8k\':\'7I\',[c.2g[i],r]);F(o 2i 17 c.3c)U[i][2i]=3J?0:r[c.3c[2i]]},c);k c.1e(U)},bU:h(1H){k c.31(1H)}});18.70=70;',62,856,'||||||||||||this|||||function|||return||if||var||options|el||type|event|||||||element|property|||for|value|Element|window|elements|new|false|document|fn|extend|bind|to|from||length|obj|else|case||events||||param||now|arguments||in|Fx|Class|true|pos|contains|args|start|Math|push|initialize|items|fireEvent|null|className|array|css|timer|parent|empty|break|result|each|offset|style|name|limit|data|selector|text|prototype|addEvent|prop|tmp|props|values|index|stop|mode|transition|Elements|setStyle|parsed|top|keys|call|delay|step|left|opacity|join|method|current|switch|max||page|temp|relatedTarget|transport|unit|Events||onComplete|custom|inject|test|scroll|nocash|Garbage|position|togglers|Array|fx|ie|getStyle|overflown|bound|end|script|rgb|documentElement|Event|previous|params|parse|border|key|addListener|match|wrapper|getElementsByTagName|source|context|create|map|set|width|Base|chk|margin|Methods|CSS|toggler|parentNode|object|properties|item|tag|Transitions|string|filter|setOptions|size|change|anchor|modifiers||display||wait|scrollTo|replace|len||||option|target|effects|iCss|returns|time|indexOf|getPosition|toInt|mousemove|scripts|url|shared|mouse|height|pow|round|iTo|select|Styles|xpath|iterable|response|knob|periodical|merge|drag|getValue|offsetWidth|show|offsetHeight|toolTip|tip|bindWithEvent|myTitle|hide|implement|Options|visibility|getTag|argument|hex|id|webkit|remove|removeListener|grid|status|headers|Abstract|increase|setNow||compute|val|chains|hidden|padding||min|container|mousewheel|clear|htmlElement|native|post|px|bit|onStart|queryString|open|link|running|try|catch|class|check|title|apply|href|fromTo|pick|body|results|collect|getNow|location|readyState|bottom|encoding|HTMLElement|scrollHeight|klass|domReady|isSuccess|links|mix|xml|_method|setHeader|onSuccess|div|unique|precision|number|next|parseFloat|layout|walk|parseInt|offsets|iNow|trash|toLowerCase||right|setHTML|iFrom|scrollLeft|myText|removeEvent|scrollTop|handle|setStyles|include|webkit419|toQueryString|area|Drag|split|regexp|getProperty|trim|getElementById|mod|getElements|loaded|removeEvents|getElementsBySelector|click|src|while|tagName|fixedWidth|evType|mousedown|getSize|send|dual|continue|scrollSize|hexToRgb|default|color|setMany|Multi|scrollWidth|fixedHeight|generic|onChange|every|currentStyle|brother|rgbToHex|included|attempt|proto|mp|steps|typeof|regex|forEach|checkStep|setProperty|stopPropagation|code|preventDefault|fix|substr|realType|fKey|100|alwaysHide|defined|Properties|Listeners|draggedKnob|splice|none|evalScripts|onFailure|XMLHttpRequest|onreadystatechange|unload|add|coord|mousemover|node|previousChange|camelCase|firstChild|callChain|styles|getScrollTop|getScrollLeft|getHeight|locate|String|mouseenter|operator|onCancel|getWidth|Function|flag|horizontal|Chain|toElement|qs|cssText|pairs|addEvents|getMany|fixed|addEventListener|Style|domready|velocity|Color|XHR|on|iProps|onDrag|DOMMouseScroll|NativeEvents|innerText|mouseover|transitions|visible|Accordion|hasChild|ie_ready|delete|gecko|mouseout|pageX|random|get|newArray|Slider|merged|found|charAt|Transition|compat|evalResponse|setTransport|snap|capitalize|injectAfter|nodeType|mouseup|Object|getItems|encodeURIComponent|out|concat|getParam|maxTitleChars|toUpperCase|xhtml|Dom|vertical|first|insertBefore|disabled|pageY|duration|easeType|RegExp|appendChild|hasClass|onTick|onActive|PI|multiple|lim|selected|toStep|previousEnd|checked|update|mouseleave|clean|relatedTargetGecko|fixRelatedTarget|setTimeout|abort|fullOpacity|prefix|resolver|filterByAttribute|filterByClass|onStateChange|idx|async|sel|normal|filterById|evaluate|keydown|fullWidth|fullHeight|cloneEvents|beforeunload|overflow|clickedElement|getPos|half|cancel|Bottom|onBackground|where|elementsProperty|useLink|toPosition|createElement|before|after|setOpacity|zoom|addClass|removeClass|contents|toFloat|Number|ie6|constructor|undefined|head|Scroll|picked|pp|Merge|slice|interval|Content|copy|callee|application|defaultView|borderShort|PropertiesIFlag|direction|Left|Top|Right|removeEventListener|execScript|clientX|clientY|wheelDelta|shift|extended|0px|Width|childNodes|nodeValue|getLast|getNext|hyphenate|javascript|setProperties|removeChild|textContent|fixStyle|innerHTML|styleSheet|appendText|which|onRequest|onHide|build|Tips|Scroller|iParsed|onShow|wheelStops|client|win|getElement|Single|fps|clientHeight|opera|clientWidth|load|pageXOffset|pageYOffset|delta|getScrollHeight|getScrollWidth|getCoords|full|Ajax|onBeforeStart|urlEncoded|attach|ActiveXObject|distance|span|removeAttribute|onSnap|showDelay|cos|slideOut|slideIn|adopt|getStyles|request|hideDelay|sin|www|http|complete|timeout|injectBefore|getFormElements|textarea|autoCancel|getHeader|input|addSection|InOut|radio|ease|toggleClass|Out|styleFloat|In|hasLayout|zIndex|cssFloat|Pow|float|Expo|checkbox|Sine|acos|Back||618|Elastic|Bounce|injectInside|injectTop|replaceChild|linear|replaceWith|Circ|clone|cloneNode|createTextNode|easeInOut|removeProperty|move|snapshotLength|attributes|getAttribute|toggle|setAttribute|UNORDERED_NODE_SNAPSHOT_TYPE|With|getText|toRight|XPathResult|setText|Slide|snapshotItem|getChildren|easeOut|html|getPropertyValue|getComputedStyle|password|w3|easeIn|Sibling|lastChild|getParent|getFirst|getPrevious|Accept|alpha|embed|getBoxObjectFor|khtml|webkit420|taintEnabled|all|navigator|iframe|DOMElement|Microsoft|XMLHTTP|sqrt|SmoothScroll|execCommand|BackgroundImageCache|ie7|Document|whitespace|collection|textnode|nodeName|MooTools|version|gi|makeResizable|clearInterval|Window|clearTimeout|getTime|floor|Date|chain|clearChain|bindAsEventListener|rel|org|pass|setInterval|err|Quint|Quart|toLeft|boolean|Quad|times|Cubic|hash|charset|toString|showThisHideOpen|getRandom|associate|tool|getElementsByClassName|some|action|detach|escapeRegExp|transparent|1999|ecma|java|exec|getProperties|detail|onDomReady|responseText|setRequestHeader|DOMContentLoaded|keyCode|utf|clearTimer|fromCharCode|200|toBottom|111|close|120|control|ctrlKey|shiftKey|esc|srcElement|alt|altKey|getResponseHeader|wheel|metaKey|meta|filterByTag|menu|300|error|tab|relative|innerHeight|reset|enter|space|down|up|backspace|contextmenu|returnValue|offsetParent|rightClick|500|overrideMimeType|1000|button|fromElement|submit|getTop|cancelBubble|innerWidth|blur|offsetTop|borderColor|ES|borderStyle|borderWidth|https|Requested|void|htmlFor|absolute|dblclick|CollectGarbage|protocol|keypress|getLeft|with|substring|resize|toTop|starts|getCoordinates|namespaceURI|urlencoded|keyup|form||colspan|write|responseXML|attachEvent|frameBorder|colSpan|readOnly|effect|detachEvent|hellip|offsetLeft|Connection|postBody|focus|readonly|frameborder|maxLength|accesskey|rowSpan|rowspan|tabindex|accessKey|defer|tabIndex|maxlength'.split('|'),0,{}))


//build effect
function buildEffectsObject(sections, oldselected, selectedsection) {
	var effectsobject = new Object();
	sections.each(function(section, i) {
		if(section == selectedsection) {
			effectsobject[i] = new Object();
			effectsobject[i]["width"] = selectedwidth;
		}
		else {
			effectsobject[i] = new Object();
			effectsobject[i]["width"] = normalwidth;
		}
	});
	return effectsobject;
}

function hideContents() {
	//signal previous effect instance
	effect_is_running = true;
}

function revealContents(selectedsection) {
	//remove previous effect instance
	effect_is_running = false;
}


//define var as false at load time
effect_is_running = false;

//process selection, run effect
function setSelected(selectedsection) {
	//kill it if another section switch effect is already in place
	if(effect_is_running)
		switcher_effect.stop();
	var oldselected = $$(".selected")[0];
	oldselected.removeClass("selected");
	var sections = $$(".section");
	switcher_effect = new Fx.Elements(sections, {duration: 1000, transition: Fx.Transitions.expoOut, onStart: function() { hideContents(selectedsection);}, onComplete: function() { revealContents(selectedsection)} });
	var effectsobject = buildEffectsObject(sections, oldselected, selectedsection);
	switcher_effect.start(effectsobject);
	selectedsection.addClass("selected");
}

//add button handlers, replace active class with selected, set widths manually
function initSwitcher() {
	var activesection = $$(".active")[0];
	$$(".section").each(function(section, i) {
		//set widths manually
		var width = section.getCoordinates().width - section.getStyle("padding-left").toInt()*2 - section.getStyle("border-left-width").toInt()*2;
		section.setStyle("width", width);
		if(section == activesection) {
			//global for original width to set
			selectedwidth = width;
			section.removeClass("active");
			section.addClass("selected");
			section.setStyle("width", width+"px");
		}
		else
			normalwidth = width;
		
		//obtain button reference
		var head = section.getElementsByTagName("h2")[0];
		var button = head.getElementsByTagName("a")[0];
		
		//handler using closure
		button.onclick = function() {
			setSelected(section);
			return false;
		}
	});
}



/***********************************************
* CMotion Image Gallery- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* Visit http://www.dynamicDrive.com for source code
* This copyright notice must stay intact for legal use
* Modified for autowidth and optional starting positions in
* http://www.dynamicdrive.com/forums/showthread.php?t=11839 by jschuer1 8/5/06
***********************************************/

 //1) Set width of the "neutral" area in the center of the gallery.
var restarea=6;
 //2) Set top scroll speed in pixels. Script auto creates a range from 0 to top speed.
var maxspeed=7;
 //3) Set to maximum width for gallery - must be less than the actual length of the image train.
var maxwidth=1000;
 //4) Set to 1 for left start, 0 for right, 2 for center.
var startpos=2;
 //5) Set message to show at end of gallery. Enter "" to disable message.
var endofgallerymsg='<span style="font-size: 11px;"></span>';

function enlargeimage(path, optWidth, optHeight){ //function to enlarge image. Change as desired.
var actualWidth=typeof optWidth!="undefined" ? optWidth : "600px" //set 600px to default width
var actualHeight=typeof optHeight!="undefined" ? optHeight : "500px" //set 500px to  default height
var winattributes="width="+actualWidth+",height="+actualHeight+",resizable=yes"
window.open(path,"", winattributes)
}

////NO NEED TO EDIT BELOW THIS LINE////////////

var iedom=document.all||document.getElementById, scrollspeed=0, movestate='', actualwidth='', cross_scroll, ns_scroll, statusdiv, loadedyes=0, lefttime, righttime;

function ietruebody(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body;
}

function creatediv(){
statusdiv=document.createElement("div")
statusdiv.setAttribute("id","statusdiv")
document.body.appendChild(statusdiv)
statusdiv=document.getElementById("statusdiv")
statusdiv.innerHTML=endofgallerymsg
}

function positiondiv(){
var mainobjoffset=getposOffset(crossmain, "left"),
menuheight=parseInt(crossmain.offsetHeight),
mainobjoffsetH=getposOffset(crossmain, "top");
statusdiv.style.left=mainobjoffset+(menuwidth/2)-(statusdiv.offsetWidth/2)+"px";
statusdiv.style.top=menuheight+mainobjoffsetH+"px";
}

function showhidediv(what){
if (endofgallerymsg!="") {
positiondiv();
statusdiv.style.visibility=what;
}
}

function getposOffset(what, offsettype){
var totaloffset=(offsettype=="left")? what.offsetLeft: what.offsetTop;
var parentEl=what.offsetParent;
while (parentEl!=null){
totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
}


function moveleft(){
if (loadedyes){
movestate="left";
if (iedom&&parseInt(cross_scroll.style.left)>(menuwidth-actualwidth)){
cross_scroll.style.left=parseInt(cross_scroll.style.left)-scrollspeed+"px";
showhidediv("hidden");
}
else
showhidediv("visible");
}
lefttime=setTimeout("moveleft()",10);
}

function moveright(){
if (loadedyes){
movestate="right";
if (iedom&&parseInt(cross_scroll.style.left)<0){
cross_scroll.style.left=parseInt(cross_scroll.style.left)+scrollspeed+"px";
showhidediv("hidden");
}
else
showhidediv("visible");
}
righttime=setTimeout("moveright()",10);
}

function motionengine(e){
var mainobjoffset=getposOffset(crossmain, "left"),
dsocx=(window.pageXOffset)? pageXOffset: ietruebody().scrollLeft,
dsocy=(window.pageYOffset)? pageYOffset : ietruebody().scrollTop,
curposy=window.event? event.clientX : e.clientX? e.clientX: "";
curposy-=mainobjoffset-dsocx;
var leftbound=(menuwidth-restarea)/2;
var rightbound=(menuwidth+restarea)/2;
if (curposy>rightbound){
scrollspeed=(curposy-rightbound)/((menuwidth-restarea)/2) * maxspeed;
clearTimeout(righttime);
if (movestate!="left") moveleft();
}
else if (curposy<leftbound){
scrollspeed=(leftbound-curposy)/((menuwidth-restarea)/2) * maxspeed;
clearTimeout(lefttime);
if (movestate!="right") moveright();
}
else
scrollspeed=0;
}

function contains_ns6(a, b) {
if (b!==null)
while (b.parentNode)
if ((b = b.parentNode) == a)
return true;
return false;
}

function stopmotion(e){
if (!window.opera||(window.opera&&e.relatedTarget!==null))
if ((window.event&&!crossmain.contains(event.toElement)) || (e && e.currentTarget && e.currentTarget!= e.relatedTarget && !contains_ns6(e.currentTarget, e.relatedTarget))){
clearTimeout(lefttime);
clearTimeout(righttime);
movestate="";
}
}

function fillup(){
if (iedom){
crossmain=document.getElementById? document.getElementById("motioncontainer") : document.all.motioncontainer;
if(typeof crossmain.style.maxWidth!=='undefined')
crossmain.style.maxWidth=maxwidth+'px';
menuwidth=crossmain.offsetWidth;
cross_scroll=document.getElementById? document.getElementById("motiongallery") : document.all.motiongallery;
actualwidth=document.getElementById? document.getElementById("trueContainer").offsetWidth : document.all['trueContainer'].offsetWidth;
if (startpos)
cross_scroll.style.left=(menuwidth-actualwidth)/startpos+'px';
crossmain.onmousemove=function(e){
motionengine(e);
}

crossmain.onmouseout=function(e){
stopmotion(e);
showhidediv("hidden");
}
}
loadedyes=1
if (endofgallerymsg!=""){
creatediv();
positiondiv();
}
if (document.body.filters)
onresize()
}

onresize=function(){
if (typeof motioncontainer!=='undefined'&&motioncontainer.filters){
motioncontainer.style.width="0";
motioncontainer.style.width="";
motioncontainer.style.width=Math.min(motioncontainer.offsetWidth, maxwidth)+'px';
}
menuwidth=crossmain.offsetWidth;
cross_scroll.style.left=startpos? (menuwidth-actualwidth)/startpos+'px' : 0;
}


/* END OF MOTION GALLERY */

if (!("console" in window) || !("firebug" in console)) {
(function()
{
    window.console = 
    {
        log: function()
        {
            logFormatted(arguments, "");
        },
        
        debug: function()
        {
            logFormatted(arguments, "debug");
        },
        
        info: function()
        {
            logFormatted(arguments, "info");
        },
        
        warn: function()
        {
            logFormatted(arguments, "warning");
        },
        
        error: function()
        {
            logFormatted(arguments, "error");
        },
        
        assert: function(truth, message)
        {
            if (!truth)
            {
                var args = [];
                for (var i = 1; i < arguments.length; ++i)
                    args.push(arguments[i]);
                
                logFormatted(args.length ? args : ["Assertion Failure"], "error");
                throw message ? message : "Assertion Failure";
            }
        },
        
        dir: function(object)
        {
            var html = [];
                        
            var pairs = [];
            for (var name in object)
            {
                try
                {
                    pairs.push([name, object[name]]);
                }
                catch (exc)
                {
                }
            }
            
            pairs.sort(function(a, b) { return a[0] < b[0] ? -1 : 1; });
            
            html.push('<table>');
            for (var i = 0; i < pairs.length; ++i)
            {
                var name = pairs[i][0], value = pairs[i][1];
                
                html.push('<tr>', 
                '<td class="propertyNameCell"><span class="propertyName">',
                    escapeHTML(name), '</span></td>', '<td><span class="propertyValue">');
                appendObject(value, html);
                html.push('</span></td></tr>');
            }
            html.push('</table>');
            
            logRow(html, "dir");
        },
        
        dirxml: function(node)
        {
            var html = [];
            
            appendNode(node, html);
            logRow(html, "dirxml");
        },
        
        group: function()
        {
            logRow(arguments, "group", pushGroup);
        },
        
        groupEnd: function()
        {
            logRow(arguments, "", popGroup);
        },
        
        time: function(name)
        {
            timeMap[name] = (new Date()).getTime();
        },
        
        timeEnd: function(name)
        {
            if (name in timeMap)
            {
                var delta = (new Date()).getTime() - timeMap[name];
                logFormatted([name+ ":", delta+"ms"]);
                delete timeMap[name];
            }
        },
        
        count: function()
        {
            this.warn(["count() not supported."]);
        },
        
        trace: function()
        {
            this.warn(["trace() not supported."]);
        },
        
        profile: function()
        {
            this.warn(["profile() not supported."]);
        },
        
        profileEnd: function()
        {
        },
        
        clear: function()
        {
            consoleBody.innerHTML = "";
        },

        open: function()
        {
            toggleConsole(true);
        },
        
        close: function()
        {
            if (frameVisible)
                toggleConsole();
        }
    };
 
    // ********************************************************************************************
       
    var consoleFrame = null;
    var consoleBody = null;
    var commandLine = null;
    
    var frameVisible = false;
    var messageQueue = [];
    var groupStack = [];
    var timeMap = {};
    
    var clPrefix = ">>> ";
    
    var isFirefox = navigator.userAgent.indexOf("Firefox") != -1;
    var isIE = navigator.userAgent.indexOf("MSIE") != -1;
    var isOpera = navigator.userAgent.indexOf("Opera") != -1;
    var isSafari = navigator.userAgent.indexOf("AppleWebKit") != -1;

    // ********************************************************************************************

    function toggleConsole(forceOpen)
    {
        frameVisible = forceOpen || !frameVisible;
        if (consoleFrame)
            consoleFrame.style.visibility = frameVisible ? "visible" : "hidden";
        else
            waitForBody();
    }

    function focusCommandLine()
    {
        toggleConsole(true);
        if (commandLine)
            commandLine.focus();
    }

    function waitForBody()
    {
        if (document.body)
            createFrame();
        else
            setTimeout(waitForBody, 200);
    }    

    function createFrame()
    {
        if (consoleFrame)
            return;
        
        window.onFirebugReady = function(doc)
        {
            window.onFirebugReady = null;

            var toolbar = doc.getElementById("toolbar");
            toolbar.onmousedown = onSplitterMouseDown;

            commandLine = doc.getElementById("commandLine");
            addEvent(commandLine, "keydown", onCommandLineKeyDown);

            addEvent(doc, isIE || isSafari ? "keydown" : "keypress", onKeyDown);
            
            consoleBody = doc.getElementById("log");
            layout();
            flush();
        }

        var baseURL = getFirebugURL();

        consoleFrame = document.createElement("iframe");
        consoleFrame.setAttribute("src", baseURL+"/firebug.html");
        consoleFrame.setAttribute("frameBorder", "0");
        consoleFrame.style.visibility = (frameVisible ? "visible" : "hidden");    
        consoleFrame.style.zIndex = "2147483647";
        consoleFrame.style.position = "fixed";
        consoleFrame.style.width = "100%";
        consoleFrame.style.left = "0";
        consoleFrame.style.bottom = "0";
        consoleFrame.style.height = "200px";
        document.body.appendChild(consoleFrame);
    }
    
    function getFirebugURL()
    {
        var scripts = document.getElementsByTagName("script");
        for (var i = 0; i < scripts.length; ++i)
        {
            if (scripts[i].src.indexOf("firebug.js") != -1)
            {
                var lastSlash = scripts[i].src.lastIndexOf("/");
                return scripts[i].src.substr(0, lastSlash);
            }
        }
    }
    
    function evalCommandLine()
    {
        var text = commandLine.value;
        commandLine.value = "";

        logRow([clPrefix, text], "command");
        
        var value;
        try
        {
            value = eval(text);
        }
        catch (exc)
        {
        }

        console.log(value);
    }
    
    function layout()
    {
        var toolbar = consoleBody.ownerDocument.getElementById("toolbar");
        var height = consoleFrame.offsetHeight - (toolbar.offsetHeight + commandLine.offsetHeight);
        consoleBody.style.top = toolbar.offsetHeight + "px";
        consoleBody.style.height = height + "px";
        
        commandLine.style.top = (consoleFrame.offsetHeight - commandLine.offsetHeight) + "px";
    }
    
    function logRow(message, className, handler)
    {
        if (consoleBody)
            writeMessage(message, className, handler);
        else
        {
            messageQueue.push([message, className, handler]);
            waitForBody();
        }
    }
    
    function flush()
    {
        var queue = messageQueue;
        messageQueue = [];
        
        for (var i = 0; i < queue.length; ++i)
            writeMessage(queue[i][0], queue[i][1], queue[i][2]);
    }

    function writeMessage(message, className, handler)
    {
        var isScrolledToBottom =
            consoleBody.scrollTop + consoleBody.offsetHeight >= consoleBody.scrollHeight;

        if (!handler)
            handler = writeRow;
        
        handler(message, className);
        
        if (isScrolledToBottom)
            consoleBody.scrollTop = consoleBody.scrollHeight - consoleBody.offsetHeight;
    }
    
    function appendRow(row)
    {
        var container = groupStack.length ? groupStack[groupStack.length-1] : consoleBody;
        container.appendChild(row);
    }

    function writeRow(message, className)
    {
        var row = consoleBody.ownerDocument.createElement("div");
        row.className = "logRow" + (className ? " logRow-"+className : "");
        row.innerHTML = message.join("");
        appendRow(row);
    }

    function pushGroup(message, className)
    {
        logFormatted(message, className);

        var groupRow = consoleBody.ownerDocument.createElement("div");
        groupRow.className = "logGroup";
        var groupRowBox = consoleBody.ownerDocument.createElement("div");
        groupRowBox.className = "logGroupBox";
        groupRow.appendChild(groupRowBox);
        appendRow(groupRowBox);
        groupStack.push(groupRowBox);
    }

    function popGroup()
    {
        groupStack.pop();
    }
    
    // ********************************************************************************************

    function logFormatted(objects, className)
    {
        var html = [];

        var format = objects[0];
        var objIndex = 0;

        if (typeof(format) != "string")
        {
            format = "";
            objIndex = -1;
        }

        var parts = parseFormat(format);
        for (var i = 0; i < parts.length; ++i)
        {
            var part = parts[i];
            if (part && typeof(part) == "object")
            {
                var object = objects[++objIndex];
                part.appender(object, html);
            }
            else
                appendText(part, html);
        }

        for (var i = objIndex+1; i < objects.length; ++i)
        {
            appendText(" ", html);
            
            var object = objects[i];
            if (typeof(object) == "string")
                appendText(object, html);
            else
                appendObject(object, html);
        }
        
        logRow(html, className);
    }

    function parseFormat(format)
    {
        var parts = [];

        var reg = /((^%|[^\\]%)(\d+)?(\.)([a-zA-Z]))|((^%|[^\\]%)([a-zA-Z]))/;    
        var appenderMap = {s: appendText, d: appendInteger, i: appendInteger, f: appendFloat};

        for (var m = reg.exec(format); m; m = reg.exec(format))
        {
            var type = m[8] ? m[8] : m[5];
            var appender = type in appenderMap ? appenderMap[type] : appendObject;
            var precision = m[3] ? parseInt(m[3]) : (m[4] == "." ? -1 : 0);

            parts.push(format.substr(0, m[0][0] == "%" ? m.index : m.index+1));
            parts.push({appender: appender, precision: precision});

            format = format.substr(m.index+m[0].length);
        }

        parts.push(format);

        return parts;
    }

    function escapeHTML(value)
    {
        function replaceChars(ch)
        {
            switch (ch)
            {
                case "<":
                    return "&lt;";
                case ">":
                    return "&gt;";
                case "&":
                    return "&amp;";
                case "'":
                    return "&#39;";
                case '"':
                    return "&quot;";
            }
            return "?";
        };
        return String(value).replace(/[<>&"']/g, replaceChars);
    }

    function objectToString(object)
    {
        try
        {
            return object+"";
        }
        catch (exc)
        {
            return null;
        }
    }

    // ********************************************************************************************

    function appendText(object, html)
    {
        html.push(escapeHTML(objectToString(object)));
    }

    function appendNull(object, html)
    {
        html.push('<span class="objectBox-null">', escapeHTML(objectToString(object)), '</span>');
    }

    function appendString(object, html)
    {
        html.push('<span class="objectBox-string">&quot;', escapeHTML(objectToString(object)),
            '&quot;</span>');
    }

    function appendInteger(object, html)
    {
        html.push('<span class="objectBox-number">', escapeHTML(objectToString(object)), '</span>');
    }

    function appendFloat(object, html)
    {
        html.push('<span class="objectBox-number">', escapeHTML(objectToString(object)), '</span>');
    }

    function appendFunction(object, html)
    {
        var reName = /function ?(.*?)\(/;
        var m = reName.exec(objectToString(object));
        var name = m ? m[1] : "function";
        html.push('<span class="objectBox-function">', escapeHTML(name), '()</span>');
    }
    
    function appendObject(object, html)
    {
        try
        {
            if (object == undefined)
                appendNull("undefined", html);
            else if (object == null)
                appendNull("null", html);
            else if (typeof object == "string")
                appendString(object, html);
            else if (typeof object == "number")
                appendInteger(object, html);
            else if (typeof object == "function")
                appendFunction(object, html);
            else if (object.nodeType == 1)
                appendSelector(object, html);
            else if (typeof object == "object")
                appendObjectFormatted(object, html);
            else
                appendText(object, html);
        }
        catch (exc)
        {
        }
    }
        
    function appendObjectFormatted(object, html)
    {
        var text = objectToString(object);
        var reObject = /\[object (.*?)\]/;

        var m = reObject.exec(text);
        html.push('<span class="objectBox-object">', m ? m[1] : text, '</span>')
    }
    
    function appendSelector(object, html)
    {
        html.push('<span class="objectBox-selector">');

        html.push('<span class="selectorTag">', escapeHTML(object.nodeName.toLowerCase()), '</span>');
        if (object.id)
            html.push('<span class="selectorId">#', escapeHTML(object.id), '</span>');
        if (object.className)
            html.push('<span class="selectorClass">.', escapeHTML(object.className), '</span>');

        html.push('</span>');
    }

    function appendNode(node, html)
    {
        if (node.nodeType == 1)
        {
            html.push(
                '<div class="objectBox-element">',
                    '&lt;<span class="nodeTag">', node.nodeName.toLowerCase(), '</span>');

            for (var i = 0; i < node.attributes.length; ++i)
            {
                var attr = node.attributes[i];
                if (!attr.specified)
                    continue;
                
                html.push('&nbsp;<span class="nodeName">', attr.nodeName.toLowerCase(),
                    '</span>=&quot;<span class="nodeValue">', escapeHTML(attr.nodeValue),
                    '</span>&quot;')
            }

            if (node.firstChild)
            {
                html.push('&gt;</div><div class="nodeChildren">');

                for (var child = node.firstChild; child; child = child.nextSibling)
                    appendNode(child, html);
                    
                html.push('</div><div class="objectBox-element">&lt;/<span class="nodeTag">', 
                    node.nodeName.toLowerCase(), '&gt;</span></div>');
            }
            else
                html.push('/&gt;</div>');
        }
        else if (node.nodeType == 3)
        {
            html.push('<div class="nodeText">', escapeHTML(node.nodeValue),
                '</div>');
        }
    }

    // ********************************************************************************************
    
    function addEvent(object, name, handler)
    {
        if (document.all)
            object.attachEvent("on"+name, handler);
        else
            object.addEventListener(name, handler, false);
    }
    
    function removeEvent(object, name, handler)
    {
        if (document.all)
            object.detachEvent("on"+name, handler);
        else
            object.removeEventListener(name, handler, false);
    }
    
    function cancelEvent(event)
    {
        if (document.all)
            event.cancelBubble = true;
        else
            event.stopPropagation();        
    }

    function onError(msg, href, lineNo)
    {
        var html = [];
        
        var lastSlash = href.lastIndexOf("/");
        var fileName = lastSlash == -1 ? href : href.substr(lastSlash+1);
        
        html.push(
            '<span class="errorMessage">', msg, '</span>', 
            '<div class="objectBox-sourceLink">', fileName, ' (line ', lineNo, ')</div>'
        );
        
        logRow(html, "error");
    };

    function onKeyDown(event)
    {
        if (event.keyCode == 123)
            toggleConsole();
        else if ((event.keyCode == 108 || event.keyCode == 76) && event.shiftKey
                 && (event.metaKey || event.ctrlKey))
            focusCommandLine();
        else
            return;
        
        cancelEvent(event);
    }

    function onSplitterMouseDown(event)
    {
        if (isSafari || isOpera)
            return;
        
        addEvent(document, "mousemove", onSplitterMouseMove);
        addEvent(document, "mouseup", onSplitterMouseUp);

        for (var i = 0; i < frames.length; ++i)
        {
            addEvent(frames[i].document, "mousemove", onSplitterMouseMove);
            addEvent(frames[i].document, "mouseup", onSplitterMouseUp);
        }
    }
    
    function onSplitterMouseMove(event)
    {
        var win = document.all
            ? event.srcElement.ownerDocument.parentWindow
            : event.target.ownerDocument.defaultView;

        var clientY = event.clientY;
        if (win != win.parent)
            clientY += win.frameElement ? win.frameElement.offsetTop : 0;
        
        var height = consoleFrame.offsetTop + consoleFrame.clientHeight;
        var y = height - clientY;
        
        consoleFrame.style.height = y + "px";
        layout();
    }
    
    function onSplitterMouseUp(event)
    {
        removeEvent(document, "mousemove", onSplitterMouseMove);
        removeEvent(document, "mouseup", onSplitterMouseUp);

        for (var i = 0; i < frames.length; ++i)
        {
            removeEvent(frames[i].document, "mousemove", onSplitterMouseMove);
            removeEvent(frames[i].document, "mouseup", onSplitterMouseUp);
        }
    }
    
    function onCommandLineKeyDown(event)
    {
        if (event.keyCode == 13)
            evalCommandLine();
        else if (event.keyCode == 27)
            commandLine.value = "";
    }
    
    window.onerror = onError;
    addEvent(document, isIE || isSafari ? "keydown" : "keypress", onKeyDown);
    
    if (document.documentElement.getAttribute("debug") == "true")
        toggleConsole(true);
})();
}


