//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 9E={99:\'1.11\'};k $4I(U){h(U!=82)};k $t(U){m(!$4I(U))h O;m(U.3N)h\'u\';o t=4L U;m(t==\'2N\'&&U.9S){23(U.5D){Y 1:h\'u\';Y 3:h(/\\S/).24(U.7l)?\'8J\':\'8H\'}}m(t==\'2N\'||t==\'k\'){23(U.87){Y 1Y:h\'1g\';Y 66:h\'6c\';Y 1h:h\'5W\'}m(4L U.Q==\'4u\'){m(U.2G)h\'93\';m(U.7J)h\'12\'}}h t};k $3n(){o 4p={};F(o i=0;i<12.Q;i++){F(o C 17 12[i]){o ap=12[i][C];o 4N=4p[C];m(4N&&$t(ap)==\'2N\'&&$t(4N)==\'2N\')4p[C]=$3n(4N,ap);X 4p[C]=ap}}h 4p};o $M=k(){o 19=12;m(!19[1])19=[c,19[0]];F(o C 17 19[1])19[0][C]=19[1][C];h 19[0]};o $3U=k(){F(o i=0,l=12.Q;i<l;i++){12[i].M=k(1t){F(o 1E 17 1t){m(!c.1q[1E])c.1q[1E]=1t[1E];m(!c[1E])c[1E]=$3U.4K(1E)}}}};$3U.4K=k(1E){h k(R){h c.1q[1E].3G(R,1Y.1q.8v.26(12,1))}};$3U(5Y,1Y,6z,8s);k $1U(U){h!!(U||U===0)};k $49(U,8k){h $4I(U)?U:8k};k $63(3g,2q){h 1b.8S(1b.63()*(2q-3g+1)+3g)};k $2O(){h 15 8T().8U()};k $6h(1O){8R(1O);92(1O);h 1k};o 3e=k(U){U=U||{};U.M=$M;h U};o 8Z=15 3e(P);o 8N=15 3e(J);J.7V=J.2w(\'7V\')[0];P.34=!!(J.8r);m(P.8L)P.2h=P[P.8V?\'9X\':\'89\']=1a;X m(J.79&&!J.9I&&!9D.9C)P.3l=P[P.34?\'9y\':\'5l\']=1a;X m(J.9x!=1k)P.5S=1a;P.9z=P.3l;9A.M=$M;m(4L 4j==\'82\'){o 4j=k(){};m(P.3l)J.77("94");4j.1q=(P.3l)?P["[[9T.1q]]"]:{}}4j.1q.3N=k(){};m(P.89)5B{J.9U("9V",O,1a)}5C(e){};o 1h=k(2H){o 4o=k(){h(12[0]!==1k&&c.1z&&$t(c.1z)==\'k\')?c.1z.3G(c,12):c};$M(4o,c);4o.1q=2H;4o.87=1h;h 4o};1h.1S=k(){};1h.1q={M:k(2H){o 4M=15 c(1k);F(o C 17 2H){o 86=4M[C];4M[C]=1h.7I(86,2H[C])}h 15 1h(4M)},6l:k(){F(o i=0,l=12.Q;i<l;i++)$M(c.1q,12[i])}};1h.7I=k(2j,1L){m(2j&&2j!=1L){o t=$t(1L);m(t!=$t(2j))h 1L;23(t){Y\'k\':o 5p=k(){c.1f=12.7J.1f;h 1L.3G(c,12)};5p.1f=2j;h 5p;Y\'2N\':h $3n(2j,1L)}}h 1L};o 8D=15 1h({9P:k(K){c.3C=c.3C||[];c.3C.1d(K);h c},8h:k(){m(c.3C&&c.3C.Q)c.3C.7w().1X(10,c)},9w:k(){c.3C=[]}});o 2p=15 1h({1V:k(t,K){m(K!=1h.1S){c.$V=c.$V||{};c.$V[t]=c.$V[t]||[];c.$V[t].4a(K)}h c},1x:k(t,19,1X){m(c.$V&&c.$V[t]){c.$V[t].1u(k(K){K.2s({\'R\':c,\'1X\':1X,\'12\':19})()},c)}h c},4r:k(t,K){m(c.$V&&c.$V[t])c.$V[t].3r(K);h c}});o 6D=15 1h({3K:k(){c.r=$3n.3G(1k,[c.r].M(12));m(c.1V){F(o 2R 17 c.r){m($t(c.r[2R]==\'k\')&&(/^6t[A-Z]/).24(2R))c.1V(2R,c.r[2R])}}h c}});1Y.M({4O:k(K,R){F(o i=0,j=c.Q;i<j;i++)K.26(R,c[i],i,c)},2m:k(K,R){o 3R=[];F(o i=0,j=c.Q;i<j;i++){m(K.26(R,c[i],i,c))3R.1d(c[i])}h 3R},2u:k(K,R){o 3R=[];F(o i=0,j=c.Q;i<j;i++)3R[i]=K.26(R,c[i],i,c);h 3R},4D:k(K,R){F(o i=0,j=c.Q;i<j;i++){m(!K.26(R,c[i],i,c))h O}h 1a},9v:k(K,R){F(o i=0,j=c.Q;i<j;i++){m(K.26(R,c[i],i,c))h 1a}h O},33:k(2G,N){o 2S=c.Q;F(o i=(N<0)?1b.2q(0,2S+N):N||0;i<2S;i++){m(c[i]===2G)h i}h-1},7Q:k(1c,Q){1c=1c||0;m(1c<0)1c=c.Q+1c;Q=Q||(c.Q-1c);o 5u=[];F(o i=0;i<Q;i++)5u[i]=c[1c++];h 5u},3r:k(2G){o i=0;o 2S=c.Q;5E(i<2S){m(c[i]===2G){c.58(i,1);2S--}X{i++}}h c},18:k(2G,N){h c.33(2G,N)!=-1},9d:k(1G){o U={},Q=1b.3g(c.Q,1G.Q);F(o i=0;i<Q;i++)U[1G[i]]=c[i];h U},M:k(1g){F(o i=0,j=1g.Q;i<j;i++)c.1d(1g[i]);h c},3n:k(1g){F(o i=0,l=1g.Q;i<l;i++)c.4a(1g[i]);h c},4a:k(2G){m(!c.18(2G))c.1d(2G);h c},9e:k(){h c[$63(0,c.Q-1)]||1k},5z:k(){h c[c.Q-1]||1k}});1Y.1q.1u=1Y.1q.4O;1Y.1u=1Y.4O;k $A(1g){h 1Y.7Q(1g)};k $1u(3b,K,R){m(3b&&4L 3b.Q==\'4u\'&&$t(3b)!=\'2N\'){1Y.4O(3b,K,R)}X{F(o 1A 17 3b)K.26(R||3b,3b[1A],1A)}};1Y.1q.24=1Y.1q.18;6z.M({24:k(4P,2g){h(($t(4P)==\'2E\')?15 66(4P,2g):4P).24(c)},2v:k(){h 4m(c,10)},8m:k(){h 4f(c)},5A:k(){h c.3c(/-\\D/g,k(2z){h 2z.6a(1).8C()})},7g:k(){h c.3c(/\\w[A-Z]/g,k(2z){h(2z.6a(0)+\'-\'+2z.6a(1).4s())})},6J:k(){h c.3c(/\\b[a-z]/g,k(2z){h 2z.8C()})},6b:k(){h c.3c(/^\\s+|\\s+$/g,\'\')},67:k(){h c.3c(/\\s{2,}/g,\' \').6b()},4B:k(1g){o 2f=c.2z(/\\d{1,3}/g);h(2f)?2f.4B(1g):O},4y:k(1g){o 3p=c.2z(/^#?(\\w{1,2})(\\w{1,2})(\\w{1,2})$/);h(3p)?3p.8v(1).4y(1g):O},18:k(2E,s){h(s)?(s+c+s).33(s+2E+s)>-1:c.33(2E)>-1},96:k(){h c.3c(/([.*+?^${}()|[\\]\\/\\\\])/g,\'\\\\$1\')}});1Y.M({4B:k(1g){m(c.Q<3)h O;m(c.Q==4&&c[3]==0&&!1g)h\'95\';o 3p=[];F(o i=0;i<3;i++){o 3Z=(c[i]-0).97(16);3p.1d((3Z.Q==1)?\'0\'+3Z:3Z)}h 1g?3p:\'#\'+3p.25(\'\')},4y:k(1g){m(c.Q!=3)h O;o 2f=[];F(o i=0;i<3;i++){2f.1d(4m((c[i].Q==1)?c[i]+c[i]:c[i],16))}h 1g?2f:\'2f(\'+2f.25(\',\')+\')\'}});5Y.M({2s:k(r){o K=c;r=$3n({\'R\':K,\'B\':O,\'12\':1k,\'1X\':O,\'3B\':O,\'4R\':O},r);m($1U(r.12)&&$t(r.12)!=\'1g\')r.12=[r.12];h k(B){o 19;m(r.B){B=B||P.B;19=[(r.B===1a)?B:15 r.B(B)];m(r.12)19.M(r.12)}X 19=r.12||12;o 2W=k(){h K.3G($49(r.R,K),19)};m(r.1X)h 9h(2W,r.1X);m(r.3B)h 9q(2W,r.3B);m(r.4R)5B{h 2W()}5C(9s){h O};h 2W()}},9t:k(19,R){h c.2s({\'12\':19,\'R\':R})},4R:k(19,R){h c.2s({\'12\':19,\'R\':R,\'4R\':1a})()},R:k(R,19){h c.2s({\'R\':R,\'12\':19})},9o:k(R,19){h c.2s({\'R\':R,\'B\':1a,\'12\':19})},1X:k(1X,R,19){h c.2s({\'1X\':1X,\'R\':R,\'12\':19})()},3B:k(8p,R,19){h c.2s({\'3B\':8p,\'R\':R,\'12\':19})()}});8s.M({2v:k(){h 4m(c)},8m:k(){h 4f(c)},1p:k(3g,2q){h 1b.3g(2q,1b.2q(3g,c))},3q:k(4h){4h=1b.2P(10,4h||0);h 1b.3q(c*4h)/4h},9K:k(K){F(o i=0;i<c;i++)K(i)}});o H=15 1h({1z:k(q,1t){m($t(q)==\'2E\'){m(P.2h&&1t&&(1t.1A||1t.t)){o 1A=(1t.1A)?\' 1A="\'+1t.1A+\'"\':\'\';o t=(1t.t)?\' t="\'+1t.t+\'"\':\'\';5x 1t.1A;5x 1t.t;q=\'<\'+q+1A+t+\'>\'}q=J.77(q)}q=$(q);h(!1t||!q)?q:q.2F(1t)}});o 1D=15 1h({1z:k(I){h(I)?$M(I,c):c}});1D.M=k(1t){F(o 1E 17 1t){c.1q[1E]=1t[1E];c[1E]=$3U.4K(1E)}};k $(q){m(!q)h 1k;m(q.3N)h 1Z.3L(q);m([P,J].18(q))h q;o t=$t(q);m(t==\'2E\'){q=J.4V(q);t=(q)?\'u\':O}m(t!=\'u\')h 1k;m(q.3N)h 1Z.3L(q);m([\'2N\',\'9n\'].18(q.5c.4s()))h q;$M(q,H.1q);q.3N=k(){};h 1Z.3L(q)};J.4W=J.2w;k $$(){o I=[];F(o i=0,j=12.Q;i<j;i++){o 1s=12[i];23($t(1s)){Y\'u\':I.1d(1s);Y\'9m\':1r;Y O:1r;Y\'2E\':1s=J.4W(1s,1a);5d:I.M(1s)}}h $$.4t(I)};$$.4t=k(1g){o I=[];F(o i=0,l=1g.Q;i<l;i++){m(1g[i].$4Q)5i;o u=$(1g[i]);m(u&&!u.$4Q){u.$4Q=1a;I.1d(u)}}F(o n=0,d=I.Q;n<d;n++)I[n].$4Q=1k;h 15 1D(I)};1D.4w=k(C){h k(){o 19=12;o 1e=[];o I=1a;F(o i=0,j=c.Q,2W;i<j;i++){2W=c[i][C].3G(c[i],19);m($t(2W)!=\'u\')I=O;1e.1d(2W)};h(I)?$$.4t(1e):1e}};H.M=k(2H){F(o C 17 2H){4j.1q[C]=2H[C];H.1q[C]=2H[C];H[C]=$3U.4K(C);o 71=(1Y.1q[C])?C+\'1D\':C;1D.1q[71]=1D.4w(C)}};H.M({2F:k(1t){F(o 1E 17 1t){o 3f=1t[1E];23(1E){Y\'7E\':c.42(3f);1r;Y\'V\':m(c.65)c.65(3f);1r;Y\'2H\':c.7A(3f);1r;5d:c.4F(1E,3f)}}h c},2X:k(q,6S){q=$(q);23(6S){Y\'6V\':q.2D.5Z(c,q);1r;Y\'6T\':o 4b=q.7c();m(!4b)q.2D.68(c);X q.2D.5Z(c,4b);1r;Y\'1j\':o 60=q.6s;m(60){q.5Z(c,60);1r}5d:q.68(c)}h c},7T:k(q){h c.2X(q,\'6V\')},5J:k(q){h c.2X(q,\'6T\')},9r:k(q){h c.2X(q,\'3k\')},9i:k(q){h c.2X(q,\'1j\')},7G:k(){o I=[];$1u(12,k(3m){I=I.5O(3m)});$$(I).2X(c);h c},3r:k(){h c.2D.7o(c)},98:k(6O){o q=$(c.9a(6O!==O));m(!q.$V)h q;q.$V={};F(o t 17 c.$V)q.$V[t]={\'1G\':$A(c.$V[t].1G),\'1v\':$A(c.$V[t].1v)};h q.59()},9b:k(q){q=$(q);c.2D.9g(q,c);h q},74:k(2x){c.68(J.9f(2x));h c},5w:k(1o){h c.1o.18(1o,\' \')},7x:k(1o){m(!c.5w(1o))c.1o=(c.1o+\' \'+1o).67();h c},7u:k(1o){c.1o=c.1o.3c(15 66(\'(^|\\\\s)\'+1o+\'(?:\\\\s|$)\'),\'$1\').67();h c},9c:k(1o){h c.5w(1o)?c.7u(1o):c.7x(1o)},2b:k(C,G){23(C){Y\'1J\':h c.7k(4f(G));Y\'9O\':C=(P.2h)?\'9N\':\'9L\'}C=C.5A();23($t(G)){Y\'4u\':m(![\'9M\',\'7b\'].18(C))G+=\'3Y\';1r;Y\'1g\':G=\'2f(\'+G.25(\',\')+\')\'}c.1n[C]=G;h c},42:k(35){23($t(35)){Y\'2N\':H.5a(c,\'2b\',35);1r;Y\'2E\':c.1n.6r=35}h c},7k:k(1J){m(1J==0){m(c.1n.4J!="4i")c.1n.4J="4i"}X{m(c.1n.4J!="7a")c.1n.4J="7a"}m(!c.4C||!c.4C.9Q)c.1n.7b=1;m(P.2h)c.1n.2m=(1J==1)?\'\':"9R(1J="+1J*9W+")";c.1n.1J=c.$36.1J=1J;h c},1K:k(C){C=C.5A();o 1m=c.1n[C];m(!$1U(1m)){m(C==\'1J\')h c.$36.1J;1m=[];F(o 1n 17 H.30){m(C==1n){H.30[1n].1u(k(s){o 1n=c.1K(s);1m.1d(4m(1n)?1n:\'6N\')},c);m(C==\'2e\'){o 4D=1m.4D(k(3Z){h(3Z==1m[0])});h(4D)?1m[0]:O}h 1m.25(\' \')}}m(C.18(\'2e\')){m(H.30.2e.18(C)){h[\'6K\',\'6v\',\'5I\'].2u(k(p){h c.1K(C+p)},c).25(\' \')}X m(H.6Y.18(C)){h[\'6G\',\'73\',\'6W\',\'6U\'].2u(k(p){h c.1K(\'2e\'+p+C.3c(\'2e\',\'\'))},c).25(\' \')}}m(J.7i)1m=J.7i.9J(c,1k).9B(C.7g());X m(c.4C)1m=c.4C[C]}m(P.2h)1m=H.6X(C,1m,c);m(1m&&C.24(/4z/i)&&1m.18(\'2f\')){h 1m.4x(\'2f\').58(1,4).2u(k(4z){h 4z.4B()}).25(\' \')}h 1m},7D:k(){h H.6j(c,\'1K\',12)},4c:k(4E,1c){4E+=\'9H\';o q=(1c)?c[1c]:c[4E];5E(q&&$t(q)!=\'u\')q=q[4E];h $(q)},9F:k(){h c.4c(\'2j\')},7c:k(){h c.4c(\'4b\')},8K:k(){h c.4c(\'4b\',\'6s\')},5z:k(){h c.4c(\'2j\',\'8M\')},8O:k(){h $(c.2D)},8P:k(){h $$(c.79)},61:k(q){h!!$A(c.2w(\'*\')).18(q)},52:k(C){o 1y=H.4H[C];m(1y)h c[1y];o 6m=H.7n[C]||0;m(!P.2h||6m)h c.8I(C,6m);o 6k=c.8G[C];h(6k)?6k.7l:1k},8Y:k(C){o 1y=H.4H[C];m(1y)c[1y]=\'\';X c.90(C);h c},8Q:k(){h H.6j(c,\'52\',12)},4F:k(C,G){o 1y=H.4H[C];m(1y)c[1y]=G;X c.8X(C,G);h c},7A:k(35){h H.5a(c,\'4F\',35)},7B:k(){c.7s=$A(12).25(\'\');h c},8W:k(2x){o 2A=c.3I();m([\'1n\',\'3M\'].18(2A)){m(P.2h){m(2A==\'1n\')c.7q.6r=2x;X m(2A==\'3M\')c.4F(\'2x\',2x);h c}X{c.7o(c.6s);h c.74(2x)}}c[$4I(c.6p)?\'6p\':\'7r\']=2x;h c},91:k(){o 2A=c.3I();m([\'1n\',\'3M\'].18(2A)){m(P.2h){m(2A==\'1n\')h c.7q.6r;X m(2A==\'3M\')h c.52(\'2x\')}X{h c.7s}}h($49(c.6p,c.7r))},3I:k(){h c.5c.4s()},1S:k(){1Z.4A(c.2w(\'*\'));h c.7B(\'\')}});H.6X=k(C,1m,u){m($1U(4m(1m)))h 1m;m([\'2a\',\'1W\'].18(C)){o 1v=(C==\'1W\')?[\'1l\',\'3u\']:[\'1j\',\'3k\'];o 3j=0;1v.1u(k(G){3j+=u.1K(\'2e-\'+G+\'-1W\').2v()+u.1K(\'3E-\'+G).2v()});h u[\'2U\'+C.6J()]-3j+\'3Y\'}X m(C.24(/2e(.+)6K|2n|3E/)){h\'6N\'}h 1m};H.30={\'2e\':[],\'3E\':[],\'2n\':[]};[\'6G\',\'73\',\'6W\',\'6U\'].1u(k(8i){F(o 1n 17 H.30)H.30[1n].1d(1n+8i)});H.6Y=[\'a5\',\'bv\',\'bw\'];H.6j=k(q,3z,1G){o 1m={};$1u(1G,k(2c){1m[2c]=q[3z](2c)});h 1m};H.5a=k(q,3z,6n){F(o 2c 17 6n)q[3z](2c,6n[2c]);h q};H.4H=15 3e({\'5W\':\'1o\',\'F\':\'bu\',\'bt\':\'bq\',\'br\':\'bs\',\'bx\':\'by\',\'bD\':\'bE\',\'bC\':\'bB\',\'bz\':\'bA\',\'bp\':\'bo\',\'G\':\'G\',\'5L\':\'5L\',\'5r\':\'5r\',\'5q\':\'5q\',\'5n\':\'5n\'});H.7n={\'be\':2,\'4Y\':2};H.2l={4G:{2B:k(t,K){m(c.5N)c.5N(t,K,O);X c.bf(\'6t\'+t,K);h c},3Q:k(t,K){m(c.7t)c.7t(t,K,O);X c.bd(\'6t\'+t,K);h c}}};P.M(H.2l.4G);J.M(H.2l.4G);H.M(H.2l.4G);o 1Z={I:[],3L:k(q){m(!q.$36){1Z.I.1d(q);q.$36={\'1J\':1}}h q},4A:k(I){F(o i=0,j=I.Q,q;i<j;i++){m(!(q=I[i])||!q.$36)5i;m(q.$V)q.1x(\'4A\').59();F(o p 17 q.$36)q.$36[p]=1k;F(o d 17 H.1q)q[d]=1k;1Z.I[1Z.I.33(q)]=1k;q.3N=q.$36=q=1k}1Z.I.3r(1k)},1S:k(){1Z.3L(P);1Z.3L(J);1Z.4A(1Z.I)}};P.2B(\'6R\',k(){P.2B(\'5V\',1Z.1S);m(P.2h)P.2B(\'5V\',bb)});o 2i=15 1h({1z:k(B){m(B&&B.$7v)h B;c.$7v=1a;B=B||P.B;c.B=B;c.t=B.t;c.2V=B.2V||B.bg;m(c.2V.5D==3)c.2V=c.2V.2D;c.7w=B.bh;c.bm=B.bn;c.bl=B.bk;c.bi=B.bj;m([\'5P\',\'3S\'].18(c.t)){c.bG=(B.78)?B.78/bM:-(B.c3||0)/3}X m(c.t.18(\'2c\')){c.4T=B.7f||B.c4;F(o 1A 17 2i.1G){m(2i.1G[1A]==c.4T){c.2c=1A;1r}}m(c.t==\'72\'){o 4S=c.4T-c2;m(4S>0&&4S<13)c.2c=\'f\'+4S}c.2c=c.2c||6z.9Y(c.4T).4s()}X m(c.t.24(/(6o|2J|bY)/)){c.3O={\'x\':B.6y||B.7j+J.2k.4d,\'y\':B.6C||B.7h+J.2k.4l};c.bZ={\'x\':B.6y?B.6y-P.7K:B.7j,\'y\':B.6C?B.6C-P.8c:B.7h};c.c0=(B.7f==3)||(B.c6==2);23(c.t){Y\'5Q\':c.1N=B.1N||B.ca;1r;Y\'5U\':c.1N=B.1N||B.7S}c.76()}h c},1C:k(){h c.56().55()},56:k(){m(c.B.56)c.B.56();X c.B.c9=1a;h c},55:k(){m(c.B.55)c.B.55();X c.B.c7=O;h c}});2i.54={1N:k(){m(c.1N&&c.1N.5D==3)c.1N=c.1N.2D},75:k(){5B{2i.54.1N.26(c)}5C(e){c.1N=c.2V}}};2i.1q.76=(P.5S)?2i.54.75:2i.54.1N;2i.1G=15 3e({\'bX\':13,\'bL\':38,\'bH\':40,\'1l\':37,\'3u\':39,\'bO\':27,\'bU\':32,\'bT\':8,\'bS\':9,\'5x\':46});H.2l.2p={1V:k(t,K){c.$V=c.$V||{};c.$V[t]=c.$V[t]||{\'1G\':[],\'1v\':[]};m(c.$V[t].1G.18(K))h c;c.$V[t].1G.1d(K);o 57=t;o 1Q=H.2p[t];m(1Q){m(1Q.5F)1Q.5F.26(c,K);m(1Q.2u)K=1Q.2u;m(1Q.t)57=1Q.t}m(!c.5N)K=K.2s({\'R\':c,\'B\':1a});c.$V[t].1v.1d(K);h(H.5R.18(57))?c.2B(57,K):c},4r:k(t,K){m(!c.$V||!c.$V[t])h c;o 1w=c.$V[t].1G.33(K);m(1w==-1)h c;o 2c=c.$V[t].1G.58(1w,1)[0];o G=c.$V[t].1v.58(1w,1)[0];o 1Q=H.2p[t];m(1Q){m(1Q.3r)1Q.3r.26(c,K);m(1Q.t)t=1Q.t}h(H.5R.18(t))?c.3Q(t,G):c},65:k(35){h H.5a(c,\'1V\',35)},59:k(t){m(!c.$V)h c;m(!t){F(o 53 17 c.$V)c.59(53);c.$V=1k}X m(c.$V[t]){c.$V[t].1G.1u(k(K){c.4r(t,K)},c);c.$V[t]=1k}h c},1x:k(t,19,1X){m(c.$V&&c.$V[t]){c.$V[t].1G.1u(k(K){K.2s({\'R\':c,\'1X\':1X,\'12\':19})()},c)}h c},6L:k(N,t){m(!N.$V)h c;m(!t){F(o 53 17 N.$V)c.6L(N,53)}X m(N.$V[t]){N.$V[t].1G.1u(k(K){c.1V(t,K)},c)}h c}};P.M(H.2l.2p);J.M(H.2l.2p);H.M(H.2l.2p);H.2p=15 3e({\'6F\':{t:\'5Q\',2u:k(B){B=15 2i(B);m(B.1N!=c&&!c.61(B.1N))c.1x(\'6F\',B)}},\'6P\':{t:\'5U\',2u:k(B){B=15 2i(B);m(B.1N!=c&&!c.61(B.1N))c.1x(\'6P\',B)}},\'3S\':{t:(P.5S)?\'5P\':\'3S\'}});H.5R=[\'6o\',\'ao\',\'6u\',\'6i\',\'3S\',\'5P\',\'5Q\',\'5U\',\'41\',\'72\',\'aq\',\'aw\',\'7Y\',\'5V\',\'6R\',\'ax\',\'av\',\'au\',\'ar\',\'8j\',\'as\',\'at\',\'2Y\',\'ag\',\'af\',\'a4\',\'3W\'];5Y.M({5j:k(R,19){h c.2s({\'R\':R,\'12\':19,\'B\':2i})}});1D.M({a1:k(2A){h 15 1D(c.2m(k(q){h(H.3I(q)==2A)}))},8f:k(1o,21){o I=c.2m(k(q){h(q.1o&&q.1o.18(1o,\' \'))});h(21)?I:15 1D(I)},8d:k(3w,21){o I=c.2m(k(q){h(q.3w==3w)});h(21)?I:15 1D(I)},8g:k(1A,5X,G,21){o I=c.2m(k(q){o 1L=H.52(q,1A);m(!1L)h O;m(!5X)h 1a;23(5X){Y\'=\':h(1L==G);Y\'*=\':h(1L.18(G));Y\'^=\':h(1L.7C(0,G.Q)==G);Y\'$=\':h(1L.7C(1L.Q-G.Q)==G);Y\'!=\':h(1L!=G);Y\'~=\':h 1L.18(G,\' \')}h O});h(21)?I:15 1D(I)}});k $E(1s,2m){h($(2m)||J).7R(1s)};k $ab(1s,2m){h($(2m)||J).4W(1s)};$$.2M={\'6c\':/^(\\w*|\\*)(?:#([\\w-]+)|\\.([\\w-]+))?(?:\\[(\\w+)(?:([!*^$]?=)["\']?([^"\'\\]]*)["\']?)?])?$/,\'34\':{6d:k(1e,2t,W,i){o 1P=[2t.a9?\'5T:\':\'\',W[1]];m(W[2])1P.1d(\'[@3w="\',W[2],\'"]\');m(W[3])1P.1d(\'[18(5O(" ", @5W, " "), " \',W[3],\' ")]\');m(W[4]){m(W[5]&&W[6]){23(W[5]){Y\'*=\':1P.1d(\'[18(@\',W[4],\', "\',W[6],\'")]\');1r;Y\'^=\':1P.1d(\'[aa-ay(@\',W[4],\', "\',W[6],\'")]\');1r;Y\'$=\':1P.1d(\'[az(@\',W[4],\', 2E-Q(@\',W[4],\') - \',W[6].Q,\' + 1) = "\',W[6],\'"]\');1r;Y\'=\':1P.1d(\'[@\',W[4],\'="\',W[6],\'"]\');1r;Y\'!=\':1P.1d(\'[@\',W[4],\'!="\',W[6],\'"]\')}}X{1P.1d(\'[@\',W[4],\']\')}}1e.1d(1P.25(\'\'));h 1e},64:k(1e,2t,21){o I=[];o 34=J.8r(\'.//\'+1e.25(\'//\'),2t,$$.2M.8y,aX.aY,1k);F(o i=0,j=34.aW;i<j;i++)I.1d(34.aV(i));h(21)?I:15 1D(I.2u($))}},\'7O\':{6d:k(1e,2t,W,i){m(i==0){m(W[2]){o q=2t.4V(W[2]);m(!q||((W[1]!=\'*\')&&(H.3I(q)!=W[1])))h O;1e=[q]}X{1e=$A(2t.2w(W[1]))}}X{1e=$$.2M.2w(1e,W[1]);m(W[2])1e=1D.8d(1e,W[2],1a)}m(W[3])1e=1D.8f(1e,W[3],1a);m(W[4])1e=1D.8g(1e,W[4],W[5],W[6],1a);h 1e},64:k(1e,2t,21){h(21)?1e:$$.4t(1e)}},8y:k(8B){h(8B==\'5T\')?\'aT://aZ.b0.b5/b4/5T\':O},2w:k(2t,5c){o 62=[];F(o i=0,j=2t.Q;i<j;i++)62.M(2t[i].2w(5c));h 62}};$$.2M.3z=(P.34)?\'34\':\'7O\';H.2l.5o={4U:k(1s,21){o 1e=[];1s=1s.6b().4x(\' \');F(o i=0,j=1s.Q;i<j;i++){o 7N=1s[i];o W=7N.2z($$.2M.6c);m(!W)1r;W[1]=W[1]||\'*\';o 1P=$$.2M[$$.2M.3z].6d(1e,c,W,i);m(!1P)1r;1e=1P}h $$.2M[$$.2M.3z].64(1e,c,21)},7R:k(1s){h $(c.4U(1s,1a)[0]||O)},4W:k(1s,21){o I=[];1s=1s.4x(\',\');F(o i=0,j=1s.Q;i<j;i++)I=I.5O(c.4U(1s[i],1a));h(21)?I:$$.4t(I)}};H.M({4V:k(3w){o q=J.4V(3w);m(!q)h O;F(o 1f=q.2D;1f!=c;1f=1f.2D){m(!1f)h O}h q},aM:k(1o){h c.4U(\'.\'+1o)}});J.M(H.2l.5o);H.M(H.2l.5o);H.M({3a:k(){23(c.3I()){Y\'2Y\':o 1v=[];$1u(c.r,k(2R){m(2R.5n)1v.1d($49(2R.G,2R.2x))});h(c.5q)?1v:1v[0];Y\'85\':m(!(c.5r&&[\'bF\',\'aL\'].18(c.t))&&![\'4i\',\'2x\',\'aB\'].18(c.t))1r;Y\'84\':h c.G}h O},88:k(){h $$(c.2w(\'85\'),c.2w(\'2Y\'),c.2w(\'84\'))},aD:k(){o 5G=[];c.88().1u(k(q){o 1A=q.1A;o G=q.3a();m(G===O||!1A||q.5L)h;o 5H=k(3f){5G.1d(1A+\'=\'+aQ(3f))};m($t(G)==\'1g\')G.1u(5H);X 5H(G)});h 5G.25(\'&\')}});H.M({2Z:k(x,y){c.4d=x;c.4l=y},6B:k(){h{\'3W\':{\'x\':c.4d,\'y\':c.4l},\'3j\':{\'x\':c.3H,\'y\':c.3V},\'6x\':{\'x\':c.4Z,\'y\':c.4g}}},3t:k(1I){1I=1I||[];o q=c,1l=0,1j=0;aR{1l+=q.b6||0;1j+=q.aU||0;q=q.aS}5E(q);1I.1u(k(u){1l-=u.4d||0;1j-=u.4l||0});h{\'x\':1l,\'y\':1j}},7m:k(1I){h c.3t(1I).y},7e:k(1I){h c.3t(1I).x},5h:k(1I){o 1R=c.3t(1I);o U={\'1W\':c.3H,\'2a\':c.3V,\'1l\':1R.x,\'1j\':1R.y};U.3u=U.1l+U.1W;U.3k=U.1j+U.2a;h U}});H.2p.6w={5F:k(K){m(P.4X){K.26(c);h}o 43=k(){m(P.4X)h;P.4X=1a;P.1O=$6h(P.1O);c.1x(\'6w\')}.R(c);m(J.51&&P.3l){P.1O=k(){m([\'4X\',\'81\'].18(J.51))43()}.3B(50)}X m(J.51&&P.2h){m(!$(\'6A\')){o 4Y=(P.a8.ac==\'ad:\')?\'://0\':\'a7:a6(0)\';J.a0(\'<3M 3w="6A" 9Z 4Y="\'+4Y+\'"><\\/3M>\');$(\'6A\').ai=k(){m(c.51==\'81\')43()}}}X{P.2B("7Y",43);J.2B("ak",43)}}};P.al=k(K){h c.1V(\'6w\',K)};P.M({8F:k(){m(c.5l)h c.bR;m(c.7U)h J.5b.8a;h J.2k.8a},8x:k(){m(c.5l)h c.bQ;m(c.7U)h J.5b.7H;h J.2k.7H},8w:k(){m(c.2h)h 1b.2q(J.2k.3H,J.2k.4Z);m(c.3l)h J.5b.4Z;h J.2k.4Z},8t:k(){m(c.2h)h 1b.2q(J.2k.3V,J.2k.4g);m(c.3l)h J.5b.4g;h J.2k.4g},8u:k(){h c.7K||J.2k.4d},8z:k(){h c.8c||J.2k.4l},6B:k(){h{\'3j\':{\'x\':c.8F(),\'y\':c.8x()},\'6x\':{\'x\':c.8w(),\'y\':c.8t()},\'3W\':{\'x\':c.8u(),\'y\':c.8z()}}},3t:k(){h{\'x\':0,\'y\':0}}});o 14={};14.2o=15 1h({r:{48:1h.1S,3i:1h.1S,8E:1h.1S,1F:k(p){h-(1b.6H(1b.69*p)-1)/2},6q:bJ,1T:\'3Y\',2Q:1a,8l:50},1z:k(r){c.u=c.u||1k;c.3K(r);m(c.r.1z)c.r.1z.26(c)},8o:k(){o 2O=$2O();m(2O<c.2O+c.r.6q){c.8e=c.r.1F((2O-c.2O)/c.r.6q);c.3x();c.3y()}X{c.1C(1a);c.2F(c.L);c.1x(\'3i\',c.u,10);c.8h()}},2F:k(L){c.T=L;c.3y();h c},3x:k(){c.T=c.3s(c.N,c.L)},3s:k(N,L){h(L-N)*c.8e+N},1c:k(N,L){m(!c.r.2Q)c.1C();X m(c.1O)h c;c.N=N;c.L=L;c.8j=c.L-c.N;c.2O=$2O();c.1O=c.8o.3B(1b.3q(bN/c.r.8l),c);c.1x(\'48\',c.u);h c},1C:k(4v){m(!c.1O)h c;c.1O=$6h(c.1O);m(!4v)c.1x(\'8E\',c.u);h c},1Q:k(N,L){h c.1c(N,L)},c5:k(4v){h c.1C(4v)}});14.2o.6l(15 8D,15 2p,15 6D);14.2I={2Y:k(C,L){m(C.24(/4z/i))h c.5I;o t=$t(L);m((t==\'1g\')||(t==\'2E\'&&L.18(\' \')))h c.4w;h c.7W},2d:k(q,C,3J){m(!3J.1d)3J=[3J];o N=3J[0],L=3J[1];m(!$1U(L)){L=N;N=q.1K(C)}o 1i=c.2Y(C,L);h{\'N\':1i.2d(N),\'L\':1i.2d(L),\'1i\':1i}}};14.2I.7W={2d:k(G){h 4f(G)},3F:k(N,L,29){h 29.3s(N,L)},3a:k(G,1T,C){m(1T==\'3Y\'&&C!=\'1J\')G=1b.3q(G);h G+1T}};14.2I.4w={2d:k(G){h G.1d?G:G.4x(\' \').2u(k(v){h 4f(v)})},3F:k(N,L,29){o T=[];F(o i=0;i<N.Q;i++)T[i]=29.3s(N[i],L[i]);h T},3a:k(G,1T,C){m(1T==\'3Y\'&&C!=\'1J\')G=G.2u(1b.3q);h G.25(1T+\' \')+1T}};14.2I.5I={2d:k(G){h G.1d?G:G.4y(1a)},3F:k(N,L,29){o T=[];F(o i=0;i<N.Q;i++)T[i]=1b.3q(29.3s(N[i],L[i]));h T},3a:k(G){h\'2f(\'+G.25(\',\')+\')\'}};14.6v=14.2o.M({1z:k(q,C,r){c.u=$(q);c.C=C;c.1f(r)},45:k(){h c.2F(0)},3x:k(){c.T=c.1i.3F(c.N,c.L,c)},2F:k(L){c.1i=14.2I.2Y(c.C,L);h c.1f(c.1i.2d(L))},1c:k(N,L){m(c.1O&&c.r.2Q)h c;o 1B=14.2I.2d(c.u,c.C,[N,L]);c.1i=1B.1i;h c.1f(1B.N,1B.L)},3y:k(){c.u.2b(c.C,c.1i.3a(c.T,c.r.1T,c.C))}});H.M({c1:k(C,r){h 15 14.6v(c,C,r)}});14.30=14.2o.M({1z:k(q,r){c.u=$(q);c.1f(r)},3x:k(){F(o p 17 c.N)c.T[p]=c.1i[p].3F(c.N[p],c.L[p],c)},2F:k(L){o 1B={};c.1i={};F(o p 17 L){c.1i[p]=14.2I.2Y(p,L[p]);1B[p]=c.1i[p].2d(L[p])}h c.1f(1B)},1c:k(U){m(c.1O&&c.r.2Q)h c;c.T={};c.1i={};o N={},L={};F(o p 17 U){o 1B=14.2I.2d(c.u,p,U[p]);N[p]=1B.N;L[p]=1B.L;c.1i[p]=1B.1i}h c.1f(N,L)},3y:k(){F(o p 17 c.T)c.u.2b(p,c.1i[p].3a(c.T[p],c.r.1T,p))}});H.M({2T:k(r){h 15 14.30(c,r)}});14.1D=14.2o.M({1z:k(I,r){c.I=$$(I);c.1f(r)},3x:k(){F(o i 17 c.N){o 4e=c.N[i],31=c.L[i],2K=c.1i[i],4n=c.T[i]={};F(o p 17 4e)4n[p]=2K[p].3F(4e[p],31[p],c)}},2F:k(L){o 1B={};c.1i={};F(o i 17 L){o 31=L[i],2K=c.1i[i]={},6M=1B[i]={};F(o p 17 31){2K[p]=14.2I.2Y(p,31[p]);6M[p]=2K[p].2d(31[p])}}h c.1f(1B)},1c:k(U){m(c.1O&&c.r.2Q)h c;c.T={};c.1i={};o N={},L={};F(o i 17 U){o 6e=U[i],4e=N[i]={},31=L[i]={},2K=c.1i[i]={};F(o p 17 6e){o 1B=14.2I.2d(c.I[i],p,6e[p]);4e[p]=1B.N;31[p]=1B.L;2K[p]=1B.1i}}h c.1f(N,L)},3y:k(){F(o i 17 c.T){o 4n=c.T[i],2K=c.1i[i];F(o p 17 4n)c.I[i].2b(p,2K[p].3a(4n[p],c.r.1T,p))}}});14.bc=14.2o.M({r:{1I:[],2U:{\'x\':0,\'y\':0},6I:1a},1z:k(u,r){c.T=[];c.u=$(u);c.28={\'1C\':c.1C.R(c,O)};c.1f(r);m(c.r.6I){c.1V(\'48\',k(){J.1V(\'3S\',c.28.1C)}.R(c));c.1V(\'3i\',k(){J.4r(\'3S\',c.28.1C)}.R(c))}},3x:k(){F(o i=0;i<2;i++)c.T[i]=c.3s(c.N[i],c.L[i])},2Z:k(x,y){m(c.1O&&c.r.2Q)h c;o q=c.u.6B();o 1v={\'x\':x,\'y\':y};F(o z 17 q.3j){o 2q=q.6x[z]-q.3j[z];m($1U(1v[z]))1v[z]=($t(1v[z])==\'4u\')?1v[z].1p(0,2q):2q;X 1v[z]=q.3W[z];1v[z]+=c.r.2U[z]}h c.1c([q.3W.x,q.3W.y],[1v.x,1v.y])},c8:k(){h c.2Z(O,0)},bW:k(){h c.2Z(O,\'7M\')},bK:k(){h c.2Z(0,O)},bI:k(){h c.2Z(\'7M\',O)},7S:k(q){o 1f=c.u.3t(c.r.1I);o 2V=$(q).3t(c.r.1I);h c.2Z(2V.x-1f.x,2V.y-1f.y)},3y:k(){c.u.2Z(c.T[0],c.T[1])}});14.bP=14.2o.M({r:{1M:\'80\'},1z:k(q,r){c.u=$(q);c.3o=15 H(\'bV\',{\'7E\':$M(c.u.7D(\'2n\'),{\'8A\':\'4i\'})}).5J(c.u).7G(c.u);c.u.2b(\'2n\',0);c.3K(r);c.T=[];c.1f(c.r);c.47=1a;c.1V(\'3i\',k(){c.47=(c.T[0]===0)});m(P.5l)c.1V(\'3i\',k(){m(c.47)c.u.3r().2X(c.3o)})},3x:k(){F(o i=0;i<2;i++)c.T[i]=c.3s(c.N[i],c.L[i])},80:k(){c.2n=\'2n-1j\';c.44=\'2a\';c.2U=c.u.3V},a3:k(){c.2n=\'2n-1l\';c.44=\'1W\';c.2U=c.u.3H},7Z:k(1M){c[1M||c.r.1M]();h c.1c([c.u.1K(c.2n).2v(),c.3o.1K(c.44).2v()],[0,c.2U])},7X:k(1M){c[1M||c.r.1M]();h c.1c([c.u.1K(c.2n).2v(),c.3o.1K(c.44).2v()],[-c.2U,0])},45:k(1M){c[1M||c.r.1M]();c.47=O;h c.2F([-c.2U,0])},3X:k(1M){c[1M||c.r.1M]();c.47=1a;h c.2F([0,c.2U])},a2:k(1M){m(c.3o.3V==0||c.3o.3H==0)h c.7Z(1M);h c.7X(1M)},3y:k(){c.u.2b(c.2n,c.T[0]+c.r.1T);c.3o.2b(c.44,c.T[1]+c.r.1T)}});14.5K=k(1F,2g){2g=2g||[];m($t(2g)!=\'1g\')2g=[2g];h $M(1F,{aE:k(1w){h 1F(1w,2g)},aA:k(1w){h 1-1F(1-1w,2g)},aH:k(1w){h(1w<=0.5)?1F(2*1w,2g)/2:(2-1F(2*(1-1w),2g))/2}})};14.2y=15 3e({aK:k(p){h p}});14.2y.M=k(5s){F(o 1F 17 5s){14.2y[1F]=15 14.5K(5s[1F]);14.2y.6f(1F)}};14.2y.6f=k(1F){[\'aJ\',\'aN\',\'aP\'].1u(k(5v){14.2y[1F.4s()+5v]=14.2y[1F][\'aO\'+5v]})};14.2y.M({aI:k(p,x){h 1b.2P(p,x[0]||6)},aC:k(p){h 1b.2P(2,8*(p-1))},aG:k(p){h 1-1b.8b(1b.aF(p))},b2:k(p){h 1-1b.8b((1-p)*1b.69/2)},b1:k(p,x){x=x[0]||1.b3;h 1b.2P(p,2)*((x+1)*p-x)},ae:k(p){o G;F(o a=0,b=1;1;a+=b,b/=2){m(p>=(7-4*a)/11){G=-1b.2P((11-6*a-11*p)/4,2)+b*b;1r}}h G},aj:k(p,x){h 1b.2P(2,10*--p)*1b.6H(20*p*1b.69*(x[0]||1)/3)}});[\'an\',\'am\',\'b7\',\'b8\'].1u(k(1F,i){14.2y[1F]=15 14.5K(k(p){h 1b.2P(p,[i+2])});14.2y.6f(1F)});o 3h={};3h.2o=15 1h({r:{4q:O,1T:\'3Y\',48:1h.1S,7y:1h.1S,3i:1h.1S,70:1h.1S,7p:1h.1S,1p:O,3d:{x:\'1l\',y:\'1j\'},3v:O,6Z:6},1z:k(q,r){c.3K(r);c.u=$(q);c.4q=$(c.r.4q)||c.u;c.2J={\'T\':{},\'1w\':{}};c.G={\'1c\':{},\'T\':{}};c.28={\'1c\':c.1c.5j(c),\'3P\':c.3P.5j(c),\'3A\':c.3A.5j(c),\'1C\':c.1C.R(c)};c.7d();m(c.r.1z)c.r.1z.26(c)},7d:k(){c.4q.1V(\'6i\',c.28.1c);h c},ba:k(){c.4q.4r(\'6i\',c.28.1c);h c},1c:k(B){c.1x(\'7y\',c.u);c.2J.1c=B.3O;o 1p=c.r.1p;c.1p={\'x\':[],\'y\':[]};F(o z 17 c.r.3d){m(!c.r.3d[z])5i;c.G.T[z]=c.u.1K(c.r.3d[z]).2v();c.2J.1w[z]=B.3O[z]-c.G.T[z];m(1p&&1p[z]){F(o i=0;i<2;i++){m($1U(1p[z][i]))c.1p[z][i]=($t(1p[z][i])==\'k\')?1p[z][i]():1p[z][i]}}}m($t(c.r.3v)==\'4u\')c.r.3v={\'x\':c.r.3v,\'y\':c.r.3v};J.2B(\'41\',c.28.3P);J.2B(\'6u\',c.28.1C);c.1x(\'48\',c.u);B.1C()},3P:k(B){o 7z=1b.3q(1b.b9(1b.2P(B.3O.x-c.2J.1c.x,2)+1b.2P(B.3O.y-c.2J.1c.y,2)));m(7z>c.r.6Z){J.3Q(\'41\',c.28.3P);J.2B(\'41\',c.28.3A);c.3A(B);c.1x(\'70\',c.u)}B.1C()},3A:k(B){c.4k=O;c.2J.T=B.3O;F(o z 17 c.r.3d){m(!c.r.3d[z])5i;c.G.T[z]=c.2J.T[z]-c.2J.1w[z];m(c.1p[z]){m($1U(c.1p[z][1])&&(c.G.T[z]>c.1p[z][1])){c.G.T[z]=c.1p[z][1];c.4k=1a}X m($1U(c.1p[z][0])&&(c.G.T[z]<c.1p[z][0])){c.G.T[z]=c.1p[z][0];c.4k=1a}}m(c.r.3v[z])c.G.T[z]-=(c.G.T[z]%c.r.3v[z]);c.u.2b(c.r.3d[z],c.G.T[z]+c.r.1T)}c.1x(\'7p\',c.u);B.1C()},1C:k(){J.3Q(\'41\',c.28.3P);J.3Q(\'41\',c.28.3A);J.3Q(\'6u\',c.28.1C);c.1x(\'3i\',c.u)}});3h.2o.6l(15 2p,15 6D);H.M({9G:k(r){h 15 3h.2o(c,$3n({3d:{x:\'1W\',y:\'2a\'}},r))}});3h.6E=3h.2o.M({r:{5k:[],1H:O,1I:[]},1z:k(q,r){c.3K(r);c.u=$(q);c.5k=$$(c.r.5k);c.1H=$(c.r.1H);c.1R={\'u\':c.u.1K(\'1R\'),\'1H\':O};m(c.1H)c.1R.1H=c.1H.1K(\'1R\');m(![\'6g\',\'3T\',\'5M\'].18(c.1R.u))c.1R.u=\'3T\';o 1j=c.u.1K(\'1j\').2v();o 1l=c.u.1K(\'1l\').2v();m(c.1R.u==\'3T\'&&![\'6g\',\'3T\',\'5M\'].18(c.1R.1H)){1j=$1U(1j)?1j:c.u.7m(c.r.1I);1l=$1U(1l)?1l:c.u.7e(c.r.1I)}X{1j=$1U(1j)?1j:0;1l=$1U(1l)?1l:0}c.u.42({\'1j\':1j,\'1l\':1l,\'1R\':c.1R.u});c.1f(c.u)},1c:k(B){c.2r=1k;m(c.1H){o 3D=c.1H.5h();o q=c.u.5h();m(c.1R.u==\'3T\'&&![\'6g\',\'3T\',\'5M\'].18(c.1R.1H)){c.r.1p={\'x\':[3D.1l,3D.3u-q.1W],\'y\':[3D.1j,3D.3k-q.2a]}}X{c.r.1p={\'y\':[0,3D.2a-q.2a],\'x\':[0,3D.1W-q.1W]}}}c.1f(B)},3A:k(B){c.1f(B);o 2r=c.4k?O:c.5k.2m(c.6Q,c).5z();m(c.2r!=2r){m(c.2r)c.2r.1x(\'9u\',[c.u,c]);c.2r=2r?2r.1x(\'9p\',[c.u,c]):1k}h c},6Q:k(q){q=q.5h(c.r.1I);o T=c.2J.T;h(T.x>q.1l&&T.x<q.3u&&T.y<q.3k&&T.y>q.1j)},1C:k(){m(c.2r&&!c.4k)c.2r.1x(\'9k\',[c.u,c]);X c.u.1x(\'9j\',c);c.1f();h c}});H.M({9l:k(r){h 15 3h.6E(c,r)}});o 5t=14.1D.M({r:{5y:1h.1S,83:1h.1S,2L:0,3X:O,2a:1a,1W:O,1J:1a,5m:O,5g:O,2Q:O,5f:O},1z:k(){o r,22,I,1H;$1u(12,k(3m,i){23($t(3m)){Y\'2N\':r=3m;1r;Y\'u\':1H=$(3m);1r;5d:o 1P=$$(3m);m(!22)22=1P;X I=1P}});c.22=22||[];c.I=I||[];c.1H=$(1H);c.3K(r);c.2j=-1;m(c.r.5f)c.r.2Q=1a;m($1U(c.r.3X)){c.r.2L=O;c.2j=c.r.3X}m(c.r.1c){c.r.2L=O;c.r.3X=O}c.2T={};m(c.r.1J)c.2T.1J=\'7L\';m(c.r.1W)c.2T.1W=c.r.5g?\'7P\':\'3H\';m(c.r.2a)c.2T.2a=c.r.5m?\'8q\':\'4g\';F(o i=0,l=c.22.Q;i<l;i++)c.7F(c.22[i],c.I[i]);c.I.1u(k(q,i){m(c.r.3X===i){c.1x(\'5y\',[c.22[i],q])}X{F(o 29 17 c.2T)q.2b(29,0)}},c);c.1f(c.I);m($1U(c.r.2L))c.2L(c.r.2L)},7F:k(2C,u,1w){2C=$(2C);u=$(u);o 24=c.22.18(2C);o 2S=c.22.Q;c.22.4a(2C);c.I.4a(u);m(2S&&(!24||1w)){1w=$49(1w,2S-1);2C.7T(c.22[1w]);u.5J(2C)}X m(c.1H&&!24){2C.2X(c.1H);u.2X(c.1H)}o 8n=c.22.33(2C);2C.1V(\'6o\',c.2L.R(c,8n));m(c.r.2a)u.42({\'3E-1j\':0,\'2e-1j\':\'5e\',\'3E-3k\':0,\'2e-3k\':\'5e\'});m(c.r.1W)u.42({\'3E-1l\':0,\'2e-1l\':\'5e\',\'3E-3u\':0,\'2e-3u\':\'5e\'});u.7L=1;m(c.r.5g)u.7P=c.r.5g;m(c.r.5m)u.8q=c.r.5m;u.2b(\'8A\',\'4i\');m(!24){F(o 29 17 c.2T)u.2b(29,0)}h c},2L:k(1y){1y=($t(1y)==\'u\')?c.I.33(1y):1y;m((c.1O&&c.r.2Q)||(1y===c.2j&&!c.r.5f))h c;c.2j=1y;o U={};c.I.1u(k(q,i){U[i]={};o 45=(i!=1y)||(c.r.5f&&(q.3V>0));c.1x(45?\'83\':\'5y\',[c.22[i],q]);F(o 29 17 c.2T)U[i][29]=45?0:q[c.2T[29]]},c);h c.1c(U)},ah:k(1y){h c.2L(1y)}});14.5t=5t;',62,755,'||||||||||||this|||||return|||function||if||var||el|options||type|element|||||||event|property|||for|value|Element|elements|document|fn|to|extend|from|false|window|length|bind||now|obj|events|param|else|case||||arguments||Fx|new||in|contains|args|true|Math|start|push|items|parent|array|Class|css|top|null|left|result|style|className|limit|prototype|break|selector|props|each|values|pos|fireEvent|index|initialize|name|parsed|stop|Elements|prop|transition|keys|container|overflown|opacity|getStyle|current|mode|relatedTarget|timer|temp|custom|position|empty|unit|chk|addEvent|width|delay|Array|Garbage||nocash|togglers|switch|test|join|call||bound|fx|height|setStyle|key|parse|border|rgb|params|ie|Event|previous|documentElement|Methods|filter|margin|Base|Events|max|overed|create|context|map|toInt|getElementsByTagName|text|Transitions|match|tag|addListener|toggler|parentNode|string|set|item|properties|CSS|mouse|iCss|display|shared|object|time|pow|wait|option|len|effects|offset|target|returns|inject|select|scrollTo|Styles|iTo||indexOf|xpath|source|tmp||||getValue|iterable|replace|modifiers|Abstract|val|min|Drag|onComplete|size|bottom|webkit|argument|merge|wrapper|hex|round|remove|compute|getPosition|right|grid|id|setNow|increase|method|drag|periodical|chains|cont|padding|getNow|apply|offsetWidth|getTag|fromTo|setOptions|collect|script|htmlElement|page|check|removeListener|results|mousewheel|absolute|native|offsetHeight|scroll|show|px|bit||mousemove|setStyles|domReady|layout|hide||open|onStart|pick|include|next|walk|scrollLeft|iFrom|parseFloat|scrollHeight|precision|hidden|HTMLElement|out|scrollTop|parseInt|iNow|klass|mix|handle|removeEvent|toLowerCase|unique|number|end|Multi|split|hexToRgb|color|trash|rgbToHex|currentStyle|every|brother|setProperty|Listeners|Properties|defined|visibility|generic|typeof|proto|mp|forEach|regex|included|attempt|fKey|code|getElements|getElementById|getElementsBySelector|loaded|src|scrollWidth||readyState|getProperty|evType|fix|preventDefault|stopPropagation|realType|splice|removeEvents|setMany|body|tagName|default|none|alwaysHide|fixedWidth|getCoordinates|continue|bindWithEvent|droppables|webkit419|fixedHeight|selected|Dom|merged|multiple|checked|transitions|Accordion|newArray|easeType|hasClass|delete|onActive|getLast|camelCase|try|catch|nodeType|while|add|queryString|qs|Color|injectAfter|Transition|disabled|fixed|addEventListener|concat|DOMMouseScroll|mouseover|NativeEvents|gecko|xhtml|mouseout|unload|class|operator|Function|insertBefore|first|hasChild|found|random|getItems|addEvents|RegExp|clean|appendChild|PI|charAt|trim|regexp|getParam|iProps|compat|relative|clear|mousedown|getMany|node|implement|flag|pairs|click|innerText|duration|cssText|firstChild|on|mouseup|Style|domready|scrollSize|pageX|String|ie_ready|getSize|pageY|Options|Move|mouseenter|Top|cos|wheelStops|capitalize|Width|cloneEvents|iParsed|0px|contents|mouseleave|checkAgainst|beforeunload|where|after|Left|before|Bottom|fixStyle|borderShort|snap|onSnap|elementsProperty|keydown|Right|appendText|relatedTargetGecko|fixRelatedTarget|createElement|wheelDelta|childNodes|visible|zoom|getNext|attach|getLeft|which|hyphenate|clientY|defaultView|clientX|setOpacity|nodeValue|getTop|PropertiesIFlag|removeChild|onDrag|styleSheet|textContent|innerHTML|removeEventListener|removeClass|extended|shift|addClass|onBeforeStart|distance|setProperties|setHTML|substr|getStyles|styles|addSection|adopt|clientHeight|Merge|callee|pageXOffset|fullOpacity|full|sel|normal|fullWidth|copy|getElement|toElement|injectBefore|opera|head|Single|slideOut|load|slideIn|vertical|complete|undefined|onBackground|textarea|input|pp|constructor|getFormElements|ie6|clientWidth|sin|pageYOffset|filterById|delta|filterByClass|filterByAttribute|callChain|direction|change|picked|fps|toFloat|idx|step|interval|fullHeight|evaluate|Number|getScrollHeight|getScrollLeft|slice|getScrollWidth|getHeight|resolver|getScrollTop|overflow|prefix|toUpperCase|Chain|onCancel|getWidth|attributes|whitespace|getAttribute|textnode|getFirst|ActiveXObject|lastChild|Document|getParent|getChildren|getProperties|clearTimeout|floor|Date|getTime|XMLHttpRequest|setText|setAttribute|removeProperty|Window|removeAttribute|getText|clearInterval|collection|iframe|transparent|escapeRegExp|toString|clone|version|cloneNode|replaceWith|toggleClass|associate|getRandom|createTextNode|replaceChild|setTimeout|injectTop|emptydrop|drop|makeDraggable|boolean|embed|bindAsEventListener|over|setInterval|injectInside|err|pass|leave|some|clearChain|getBoxObjectFor|webkit420|khtml|Object|getPropertyValue|taintEnabled|navigator|MooTools|getPrevious|makeResizable|Sibling|all|getComputedStyle|times|cssFloat|zIndex|styleFloat|float|chain|hasLayout|alpha|nodeName|DOMElement|execCommand|BackgroundImageCache|100|ie7|fromCharCode|defer|write|filterByTag|toggle|horizontal|contextmenu|borderWidth|void|javascript|location|namespaceURI|starts|ES|protocol|https|Bounce|abort|error|showThisHideOpen|onreadystatechange|Elastic|DOMContentLoaded|onDomReady|Cubic|Quad|dblclick||keypress|blur|submit|reset|focus|move|keyup|resize|with|substring|easeOut|password|Expo|toQueryString|easeIn|acos|Circ|easeInOut|Pow|In|linear|radio|getElementsByClassName|Out|ease|InOut|encodeURIComponent|do|offsetParent|http|offsetTop|snapshotItem|snapshotLength|XPathResult|UNORDERED_NODE_SNAPSHOT_TYPE|www|w3|Back|Sine|618|1999|org|offsetLeft|Quart|Quint|sqrt|detach|CollectGarbage|Scroll|detachEvent|href|attachEvent|srcElement|shiftKey|meta|metaKey|altKey|alt|control|ctrlKey|frameBorder|frameborder|colSpan|rowspan|rowSpan|colspan|htmlFor|borderStyle|borderColor|accesskey|accessKey|readonly|readOnly|maxLength|maxlength|tabindex|tabIndex|checkbox|wheel|down|toRight|500|toLeft|up|120|1000|esc|Slide|innerHeight|innerWidth|tab|backspace|space|div|toBottom|enter|menu|client|rightClick|effect|111|detail|keyCode|clearTimer|button|returnValue|toTop|cancelBubble|fromElement'.split('|'),0,{}))


function  print_r(obj,depth){
	if($type(obj)!="object")return obj;
	if(!$defined(depth))depht=0;
	if(depth>10)return "to deep";
	var base='';for(var a=0;a<depht;a++)base+='	';
	var str=base+'Object {';var v=0;
	for(k in obj){ v=obj[k];
		str+="\n"+base+'	['+k+'] => '+print_r(v,depth+1)+',';
	};str+="\n"+base+"}";return str;
}

var dp_locate={
	months:['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'],
	days:[ 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi','Dimanche'],
	date_format:'dd/mm/yyyy'	
};


function $v(a,b){ if(b!=undefined)$(a).value=b;else return $(a).value;} 
function $n(a,b){var tmp=new Element(a);if(b){if($type(b)!='object')b={id:b};tmp.set(b);};return tmp;}

function $N(a){return $E('*[name="'+a+'"]');}

doc=$;docv=$v;docn=$n;

function getmicrotime(){ var tmp=new Date(); return tmp.getTime(); }
function chr(a){ return String.fromCharCode(a); }
function jsx_eval(a){ return a?eval('('+a+')'):{}; }
function display(a,b){ $(a).style.display=b; }
function seti(a,b){ $(a).innerHTML=b; }
function reloc(a){ window.location.href=a;}
function autoq(elem,base){ if(elem.value==base)elem.value=''; }
function between(a,d,u){return a>=d && a<=u;}
function str_areplace(a,tmp){
	for(var k in a) tmp=tmp.replace(new RegExp(k,"g"),a[k]);
	return tmp;
}


function open_popup(url,params){
	if(!$defined(params))params={};
	var defs={
		width:800,
		height:600,
		status:'no',
		menubar:'no',
		scrollbars:'no'
	}; params=$merge(defs,params);
	var str=[];for(var k in params)str.push(k+'='+params[k]);
	window.open(url,'_blank',str.join(','));
	
}


function parse_url(url){
  var ret={};
  var tmp=url.split('://',2);	ret.protocol=tmp[0];
  tmp=tmp[1].split('/',2);	ret.domain=tmp[0];
  tmp=tmp[1].split('?',2);	ret.args=tmp[1];

  var query='/'+tmp[0];	tmp=query.lastIndexOf('/');

	ret.path=query.substr(0,tmp);
	ret.file=query.substr(tmp+1);
	ret.site_url=ret.protocol+'://'+ret.domain;
  return ret;
}


function jsx_format(key,value){
	var kspcr="&ks"+"pc;";var a=["%",kspcr,"&","\\+"];var b=[kspcr,"%25","%26","%2B"];
	return "&"+key+"="+str_replace(a,b,''+value);
}

function str_replace(a,b,tmp){
	if($type(a)=="string"){a=[a];b=[b]};
	for(var i=0,l=a.length;i<l;i++){
		var reg=new RegExp(a[i],"g");
		tmp=tmp.replace(reg,b[i]);
	}return tmp;
}



function serial_post(array,pref){
	var re="";if(!pref)pref='';
	for(key in array){ value=array[key];
		preff=pref?(pref+"["+key+"]"):key;
		if(typeof(value)!="object")re+=jsx_format(preff,value);
		else re+="&"+serial_post(value,preff);
	} return re.substr(1);
}


function input_format(elem){elem=$(elem);
	if(elem.multiple){
		options=$ES('option',elem);re='';
		for(key in options){
			if(!options[key].selected) continue
			re+="&"+jsx_format(elem.name,options[key].value);
		}return re.substr(1);
	}
	checkable=(elem.type=="checkbox" || elem.type=="radio");
	if(checkable && !elem.checked)return '';
	return jsx_format(elem.name,elem.value);
}
Object.extend = function(destination, source) {
  for (var property in source) {
    destination[property] = source[property];
  }
  return destination;
}


Object.extend(String.prototype,{
  trim:function(flag){
	if(!$defined(flag))flag="\\s";
	return this.replace(new RegExp('^['+flag+']*(.*?)['+flag+']*$'),"$1");
  },
  'old_split':String.prototype.split,
  'split':function(separator,limit){
	var tmp=this.old_split(separator);
	if(limit==undefined)return tmp;limit--;
	res=tmp.slice(0,limit);
	res[limit]=tmp.slice(limit).join(separator);
	return res;
  }
});

function http_lnk(method,url,params,async_func,is_async){
	var lnk;is_async=!$defined(is_async) || is_async;
	lnk=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");
	if(!lnk) alert("Votre navigateur est dépassée, veuillez installer Firefox"); 
	post=(method=='post');
	if(typeof(params)=="object")params=serial_post(params);
	if(params && !post)url+='?'+params;
	jsx_state.start();lnk.open(method,url,is_async);

	state_change=function(){
		if(lnk.readyState!=4 || lnk.status!=200) return false;
		async_func(lnk.responseText,lnk.responseXML);jsx_state.end();
	};lnk.onreadystatechange = state_change;

	if(post){
		lnk.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		lnk.send(params);
	} else lnk.send(null);
	if(!is_async && lnk.readyState==4)state_change();
}
function xslt(xsl_lnk,prefix){
	
	this.xsl=check_imports(xsl_lnk,prefix);
	this.xsl.resolveExternals = true;
	this.proc=false;
	this.out=function (xml_file){
		if(window.XSLTProcessor){
			if(!this.proc){
				this.proc = new XSLTProcessor();
				this.proc.importStylesheet(this.xsl);
			}
			return new XMLSerializer().serializeToString(this.proc.transformToDocument(xml_file));
		} else return xml_file.transformNode(this.xsl);
	}

	function check_imports(elem,prefix){
		if(prefix==undefined)prefix='';

		liste=elem.getElementsByTagName("import");
		if(!liste.length) liste=elem.getElementsByTagName("xsl:import");
		for(var a=0,len=liste.length;a<len;a++){
			var href_tmp=prefix+liste.item(a).getAttribute("href");
			liste.item(a).setAttribute("href",href_tmp);
		}return elem;
	}
}
function dom_load_string(str){
  if (window.ActiveXObject){
		var doc=new ActiveXObject("Microsoft.XMLDOM");
		doc.async="false";doc.loadXML(str);
  } else {
	var parser=new DOMParser();
	var doc=parser.parseFromString(str,"text/xml");
  } return doc;
}

	//this was inspired by tgay
function evalscript(content){
	var script, scripts = [], regexp = /<script[^>]*>([\s\S]*?)<\/script>/gi;
	while ((script = regexp.exec(content))) scripts.push(script[1]);
	scripts = scripts.join('\n');
	if (scripts) (window.execScript) ? window.execScript(scripts) : window.setTimeout(scripts, 0);
}
	/* KSE Powered - Exupery style */
	/* by 131 - 20/03/2007 */

function ks_valid(ret){ var tmp;
	if(ret.ok) rbx_msg('ok',ret.ok); 
	if(ret.error) rbx_msg('error',ret.error); 
	if(ret.alert) alert(ret.alert);
	if(ret.eval) ret['eval']();
	if(ret.set) ret.set.each(function(v,k){eval(k+'="'+v+'"')});
	if(ret.go && (tmp=(''+ret['go']).trim())) reloc(tmp=='parent'?href_ks:tmp);

} function ks_jsx_valid(txt){ ks_valid(jsx_eval(txt)); }



function jsx_submit_multiple(dest){$ES('form',dest).each(function(item,key){jsx_submit_form(item)})}

function jsx_confirm_action(){
	args=args_to_array(arguments);
	if(!window.confirm(args[0]+' ?'))return false;
	return jsx_post_action(args.slice(1));
}

function jsx_post_action(){
	args=args_to_array(arguments);
	if(typeof(args[0])=="object")args=args[0];

	target=args[0];params='jsx=1&ks_action='+args[1];data=args.slice(2);
	$A(data).each(function(v,k){params+=jsx_format('sub'+k,v)});
	http_lnk("post",target,params,ks_jsx_valid,false);
	return false;
}

function jsx_submit_form(formu){ new Form($(formu));$(formu).fireEvent("submit");return false;}



function args_to_array(args){
	tmp=new Array(); len=args.length;
	for(var a=0;a<len;a++) tmp[a]=args[a];
	return tmp;
}


function post_action(){
	args=args_to_array(arguments);
	tmp=new Post_form(args[0]);
	if(args.length>1)tmp.load( typeof(args[1])=="object"?args[1]:args.slice(1));
	tmp.submit();
}


function confirm_action(){
	args=args_to_array(arguments);
	if(!window.confirm(args[0]+' ?'))return false;
	return post_action(args[1],args.slice(2));
}
	/* KSE Powered - Exupery style */
	/* by 131 - 20/03/2007 */




function jsx_seti(dest,url,start_elem){
  if(start_elem==undefined)start_elem='table';
  http_lnk("get",url,'',function(tmp,content){
  http_lnk('get',xsl_path,'',function(txt,xml_body){
	ks_xsltProc=new xslt(xml_body,site_xsl);
	content=ks_xsltProc.out(content);
	seti(dest,get_inner(content,start_elem));
  })});
}


jsx_state= {
	timeout:0,
	dest:'rbx_state',
	end:function(){this.timeout=window.setTimeout('jsx_state.clean();',300);},
	clean:function(){if($(this.dest))$(this.dest).removeClass('jsx_on'); this.dest='rbx_state';},
	start:function(){
		window.clearTimeout(this.timeout);
		if($(this.dest))$(this.dest).addClass('jsx_on');}
}

function upload_walk(url,upload_flag){
	if(upload_done[upload_flag] ||!$('progress')) return;
	jsx_state.dest='popup_state';
	http_lnk("get",url+'//'+upload_flag,'',function(txt){ res=jsx_eval(txt);
		rate=Math.floor(100*res['current']/res['total']);
		$('progress').style.width=rate+'%';
		window.setTimeout("upload_walk('"+url+"','"+upload_flag+"');",200);
	});
}upload_done={};

function upload_start(url,upload_flag){
	display('upload_bar','block');
	window.setTimeout("upload_walk('"+url+"','"+upload_flag+"');",200);
}

function upload_end(data){
	var upload=data['upload'];
	if(upload){
		$(upload['src']).value=upload['upload_flag']+'.'+upload['ext'];
		$("user_"+upload['src']).value=upload['name'];
		upload['size'] = Math.round(upload['size']/1024);
		var disp=upload['name'].substr(0,20)+' ('+upload['size']+' ko)';
		seti('text_'+upload['src'],disp);
		upload_done[upload['upload_flag']]=true;
	}
	ks_valid(data);
	close_popup();
}
function $EP(type,elem){ while(elem && elem.getTag()!=type)elem=$(elem.parentNode); return elem; }

function get_inner(content,start_elem){
	var start=content.indexOf('<'+start_elem);
	var end=content.lastIndexOf('</'+start_elem)+start_elem.length+3;
	return content.substring(start,end);
}

function get_inner_height(elem){ var height=0;
	$A(elem.childNodes).each(function(elem,k){
		if(!(elem=$(elem)))return;
		height+=elem.getSize().scrollSize.y
			+elem.getStyle('margin-top').toInt()
			+elem.getStyle('margin-bottom').toInt();
	}); return height;
}


function load_type(type){
  page=href_fold+'/type_'+type+'-body//'+elem_id;
  http_lnk("get",page,'',function(tmp,content){
  http_lnk('get',xsl_path,'',function(txt,xml_body){
	ks_xsltProc=new xslt(xml_body,site_xsl);
	content=ks_xsltProc.out(content);
	content=content.substr(content.indexOf("<table"));
	seti('dynamic_type',content);
  })});
}


function load_dd(dest,params){
	if($(dest).getTag()!="select")return;
	http_lnk("post",href_ks,$extend(load_dd.base_fields,params),function(txt){
		dd_fill(dest,jsx_eval(txt))
	},false);
}load_dd['base_fields']={'jsx':1};


function dd_fill(dd,vals,no_empty){
	var n; dd=$(dd);;
	if(no_empty==undefined)dd.innerHTML='';
	for(key in vals){
		val=vals[key];
		if(typeof(val)=="object"){
			n=docn("option");n.innerHTML=key;
			n.className="disabled";
			n.value=0; //n.disabled='disabled';
			dd.appendChild(n);
			dd_fill(dd,val,true);
		}else if(typeof(val)=="string"){
			n=docn("option");n.innerHTML=val;
			n.value=key;n.title=val; dd.appendChild(n);
		}
	}
}


function set_select(a,vals){
	selecteds={};
	if(!vals)selecteds={'-1':false};
	else if(typeof(vals)!="object")selecteds=[vals]=true;
	else selecteds=vals;

	$v(a,0);list=$ES('option',a);
	for(key in list) list[key].selected=selecteds[list[key].value];
}

function popup_fill(content){
	maxh=Math.max($E("body").offsetHeight,$('container').offsetHeight);
	$($n('div','shadow')).injectTop($E("body"));
	$('shadow').style.height=maxh+'px';
	$('container').className="no_print";
	shad=$n("div","shadow_body");

	shad.innerHTML=get_inner(content,"table");
	if(window.ie)evalscript(shad.innerHTML);
	$E("body").insertBefore(shad,$("shadow"));

	popup_top=document.documentElement.scrollTop+$E("body").scrollTop;
		

	popup_top+=($E("body").clientHeight-$("shadow_content").offsetHeight)/2-100;
	popup_top=Math.max(popup_top,0);
	popup_top=200;window.scrollTo(0,0);

	$('shadow').effect("opacity").start(0,0.5).chain(function(){
		$("shadow_content").effect('margin-top',
			{transition:Fx.Transitions.Expo.easeOut,duration:400}
		).start(-popup_top,popup_top).chain(function(){
			var drag=$E('.pop_move',$('shadow'));
			//new Drag.Move('shadow_content', {'handle':drag });
		});
	});
	window.fireEvent('domready');
} 

function show_popup(contents){

	close_popup();popup_open=true;


	popup_fill(contents);

	return; //cross browser shitty stuff

	contents=dom_load_string(contents);

	http_lnk('get',xsl_path,'',function(txt,xml_body){
		ks_xsltProc=new xslt(xml_body,site_xsl);
		contents=ks_xsltProc.out(contents);
		popup_fill(contents);
	});
}var popup_top=0;var popup_open=false;


function target_popup(url){ http_lnk('get',url,'',show_popup); return false; }
function inframe_popup(url){ show_popup("<iframe src='"+url+"' style='height:580px'></iframe>");}


function close_popup(){
	$("container").className="";
	if(!popup_open)return; popup_open=false;
	//disp_select("visible");

	$("shadow_content").offsetHeight

	$("shadow_content").effect('margin-top',
		{transition:Fx.Transitions.Expo.easeOut}
	).start(popup_top,-$("shadow_content").offsetHeight).chain(function(){
		$('shadow').effect("opacity").start(0.5,0).chain(function(){
			$('shadow').remove();
			$('shadow_body').remove();
		});
	});
}var XHTML = "http://www.w3.org/1999/xhtml";


var url=parse_url(document.location.href);
var site_url=url.site_url;
var site_xsl=site_url+'/xsl/';
var xsl_path=site_xsl+"/main.xsl";

var blank_frame="/?/Kse/Wysiwyg/blank";
/**
* DatePicker - Exupery style / by 131.php @ cloudyks.org
* A date picker element
* require  mootools v1.11 / UTF-8 / XHTML Strict 
* Thanks to Rick Hopkins, Micah Nolte and Martin Vašina
* MIT-style License.

Parameters might be set in a dp_locate object

var dp_locate={
	months:['Janv.','Fév.','Mars','Avril','Mai','Juin','Juil.','Août','Sept.','Oct.','Nov.','Déc.'],
	days:['Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi','Dimanche'],
	date_format:'dd/mm/yyyy'
};

Start it up by doing this in your domready:

	$$('input.dater').each( function(el){ new DatePicker(el) });

*/

function between(a,d,u){return a>=d && a<=u;}
function str_areplace(a,tmp){
	for(var k in a) tmp=tmp.replace(new RegExp(k,"g"),a[k]);
	return tmp;
}

var dp_locate;
var DatePicker = new Class({
	
  initialize: function(dp){ dp=$(dp);
	if(dp.$picker) return;

	dp.$picker=1;
	var options={
		months:['January', 'February','March','April','May','June','July','August','September','October','November','December'],
		days:['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday'],
		date_format:'dd/mm/yyyy',
		year_range:10,
		start_day:1
	}; if($defined(dp_locate)) $extend(options,dp_locate);

	dp.options=options;
	dp.today=this.day(new Date());
	dp.setProperties({'id':dp.getProperty('name')});

	
	dp.container = false;
	dp.calendar = false;
	dp.interval = null;
	dp.active = false;
	dp.onclick = dp.onfocus = this.create.pass(dp, this);

	return false;
  },

  day:function(tmp){return  tmp.getFullYear()*365+tmp.getMonth()*31+tmp.getDate();},
	
  format_in: function(dp){
	if(!dp.value) return new Date();
	var vals=[];var keys=['full'];
	var mask_keys=new RegExp("([a-z]+)",'g');
	while(out=mask_keys.exec(dp.options.date_format)) keys.push(out[0]);
	mask_vals=new RegExp(dp.options.date_format.replace(mask_keys,"([0-9]+)"));
	vals=dp.value.match(mask_vals);if(!vals)return new Date(); var e=vals.associate(keys);
	if(!between(e['mm'],1,12) || !between(e['dd'],1,31) || !e['yyyy'] ) return new Date();
	return new Date(e['mm']+'/'+e['dd']+'/'+e['yyyy']);
  },
	
  format_out: function(dp){
	return str_areplace({
		dd:('0'+dp.user.getDate()).slice(-2),
		mm:('0'+(dp.user.getMonth()+1)).slice(-2),
		yyyy:dp.user.getFullYear()
	},dp.options.date_format);
  },
	
  remove: function(dp){
	$clear(dp.interval);
	dp.active = false;
	if (dp.container) dp.container.remove();
	dp.calendar = false;
	dp.container = false;
  },
	
  create: function(dp){
	var tmp;
	if (dp.calendar) return false;

	if(dp.value_old!=dp.value){
			dp.value_old=dp.value;	
			dp.user=this.format_in(dp);
			dp.value_day=this.day(dp.user);
	};


	dp.container = new Element('div', {'class':'dp_container'}).injectBefore(dp);

	dp.calendar= new Element('table',{'class':'dp_cal'}).inject(dp.container);
	var head = new Element('th', {'colspan':'7'}
		).inject(new Element('tr'
			).inject(new Element('thead'
				).inject(dp.calendar)));


	tmp=new Element('span').appendText('[x]').inject(head);
	tmp.onclick=this.close.pass(dp,this);


	var months = new Element('select', {'id':dp.id + '_months'}).inject(head);tmp=dp.user.getMonth();
	for (var m = 0; m < 12; m++)
		var option=new Element('option',{'value':m,'selected':tmp==m}
				).appendText(dp.options.months[m]
					).inject(months)

	var years = new Element('select', {'class':'years'}).inject(head);tmp=dp.user.getFullYear();
	var range=Math.floor(dp.options.year_range/2);
	for (var y = tmp-range; y <= tmp+range; y++)
		var option=new Element('option',{'value':y,'selected':y==tmp}
				).appendText(y).inject(years)

	tmp=new Date(dp.user);tmp.setDate(31);
	var month_days={31:31,1:30,2:29,3:28}[tmp.getDate()];
	tmp=new Date(dp.user);tmp.setDate(1);
	var month_start=(tmp.getDay()-dp.options.start_day+7)%7;
	var month_first=this.day(tmp)-1;
			
	tbody=new Element('tbody').inject(dp.calendar);
	var line=new Element('tr').inject(tbody);
	for(var d=0;d<7;d++) new Element('th').appendText(dp.options.days[d].substr(0,1)).inject(line);

	var patch_ns=[];
	for(var d=-month_start;d<month_days;d++){
		if(!((d+month_start)%7))line=new Element('tr').inject(tbody);tmp=d>=0?d+1:0;
		var _class=tmp?'day':'';
		if(tmp&& month_first+tmp==dp.today)_class+=' today';
		if(tmp&&month_first+tmp==dp.value_day)_class+=' current';
		td=new Element('td',{title:tmp,'class':_class}).appendText(tmp?tmp:'').inject(line);
		if(tmp)patch_ns.push(td);
	}for(var d=0;d<(7-(month_days+month_start)%7)%7;d++)new Element('td').inject(line);


	//show
	if(!dp.active)this.open(dp);

	//events
	dp.container.onmouseover = dp.onmouseover =  function(){ $clear(dp.interval);};
	
	dp.container.onmouseout = dp.onmouseout = function(){
		dp.interval = setInterval(function(){
			if (!dp.active) this.close(dp);
		}.bind(this), 500);
	}.bind(this);

	months.onfocus = function(){ dp.active = true; };
	months.onchange = function(){
		dp.user.setMonth(months.value);
		this.remove(dp);
		this.create(dp);
	}.bind(this);
	
	years.onfocus = function(){ dp.active = true; };
	years.onchange = function(){
		dp.user.setFullYear(years.value);
		this.remove(dp);
		this.create(dp);
	}.bind(this);

	$ES('td.day',dp.calendar).each(function(el){
		el.onclick = function(){
			dp.user.setDate(el.title);
			dp.value=this.format_out(dp);
			this.close(dp);
		}.bind(this);
	}.bind(this));

  },

  open:function(dp){
	dp.active = true;
	return dp.container.effect('height',{duration:190}).start(0,dp.calendar.offsetHeight);
  },
  close:function(dp){
	if(!dp.container)return this.remove(dp);
	dp.container.effect('height',{duration:190}
		).start(dp.calendar.offsetHeight,0
			).chain(function(){this.remove(dp)}.bind(this));
  }

});





var blank_frame;

var Wyzzie = new Class({
  focus: function() { (this.designed ?  this.win : this.area).focus(); },

  initialize: function(area) {
	if(area.wyzzie)return false;
	if(!blank_frame)blank_frame="/blank.htm";

	area.wyzzie=this;
	
	this.area=area;
	this.form=$(this.area.form);
	this.designed=false;

	var box_size=this.area.getSize().size;
	// var box_size={x:this.area.style.width.trim(' px')*1,y:this.area.style.height.trim(' px')*1};
	var container_size={'width':box_size.x,'height':box_size.y};


	this.container = new Element('div',{'class':'rte_container',styles:container_size}).injectBefore(this.area);

	var frame_size={width:box_size.x,height:box_size.y-40};

	this.form.addEvent("submit", function(){this.sync()}.bind(this));

	this.area.setStyles($merge(frame_size,{'display':'none'}) );
	this.area.inject(this.container);

	this.toolbar=new Element('div',{'class':'rte_toolbar'}).inject(this.container,'top');
	for(var key in this.actions){ var item=this.actions[key];
		item.div=new Element('div',{'class':key,'unselectable':'on'});
		item.div.injectInside(this.toolbar);
		if(item.action) item.div.onclick=this.action.pass(item.action,this);
		if(item.onclick)item.div.onclick=item.onclick.bind(this);
	}

	this.frame=new Element('iframe', {'src':blank_frame,styles:frame_size} 
	).inject(this.container);
	this.win = this.frame.contentWindow || this.frame;

	this.frame.addEvent("load",function(){

		this.doc=this.win.document;
		this.doc.designMode = 'On';

		this.doc=this.win.document; // IE acces grant

		$clear(this.loading);//IE shift recursive declaration
		this.loading=window.setInterval(function(){
			if(!(this.doc && this.doc.body && this.doc.body.innerHTML)) return;
			$clear(this.loading);this.toggle(true);
		}.bind(this),10);
	  }.bind(this));

	//this.frame.fireEvent("load");

  },
	
  toggle: function(designed) {
	if($defined(designed))this.designed =designed;
	else this.designed = !this.designed*1;

	if (this.designed) this.doc.body.innerHTML = this.area.value;
	else this.area.value = this.doc.body.innerHTML;

	var el = ['area', 'frame'];
	this[el[this.designed*1 ]].setStyle('display', 'block');
	this[el[!this.designed*1]].setStyle('display', 'none');
	this.focus();
  },

  sync:function(){ if (this.designed) this.area.value = this.doc.body.innerHTML; },
	
  action: function(cmd, html) {
	var action=window.ie?this.doc.selection.createRange():this.doc;
	if ($type(cmd) != 'array') cmd = [cmd];
	if (this.designed) try { action.execCommand(cmd[0],false,cmd[1]) } catch(e) {}
	this.focus();
 },

  actions:{
	'italic':{'key':'i','action':["italic", "<em>$</em>"]},
	'bold':{'key':'b','action':["bold", "<strong>$</strong>"]},
	'underline':{'key':'u','action':["underline", "<u>$</u>"]},
	'left':{'key':'l','action':["justifyleft", "#<div class='align_left'>#$#</div>#"]},
	'right':{'key':'r','action':["justifyright", "#<div class='align_right'>#$#</div>#"]},
	'center':{'key':'c','action':["justifycenter", "#<div class='center'>#$#</div>#"]},
	'toggle':{'key':'t','onclick':function(){this.toggle()} } 
  }
});

var Form=new Class({
	initialize:function(el){
		if(el.$jsx) return false;el.$jsx=true; this.form=el;
		this.form.addEvent("submit",this.jsx_submit.bind(this));
		this.rbx=new Rbx(this.form);
	},

	jsx_submit:function(event){
		if($defined(event) && event){event=new Event(event);event.stop();}		
		var target=this.form.getAttribute("action",2) || href_ks;
		http_lnk("post",target,this.query(),this.jsx_valid.bind(this),false);
		return false;
	},

	query:function(){
		var tmp='jsx=1';
		$A(this.form.elements).each(function(elem){ elem=$(elem);
			tmp+=input_format(elem);
			if($defined(elem.$old_bg)) elem.style.backgroundColor=elem.$old_bg;
			if($defined(elem.$old_color)) elem.style.color=elem.$old_color;
		});
		return tmp;
	},

	jsx_valid:function(str){ var ret=str?jsx_eval(str):{}; var tmp;

		if(ret.ok) this.rbx.msg('ok',ret.ok); 
		if(ret.error) this.rbx.msg('error',ret.error); 
		if(ret.alert) alert(ret.alert);
		if(ret.eval) ret['eval']();
		if(ret.set) ret.set.each(function(v,k){eval(k+'="'+v+'"')});
		if(ret.go && (tmp=(''+ret['go']).trim())) reloc(tmp=='parent'?href_ks:tmp);

		if(ret.warn && (tmp=$E("form.jsx_form *[name='"+(ret['warn'].trim())+"']")) ){
			tmp.focus();window.scrollBy(0,-60);
			if(!$defined(tmp.$old_bg)) tmp.$old_bg=tmp.getStyle('background-color');
			if(!$defined(tmp.$old_color)) tmp.$old_color=tmp.getStyle('color');
			tmp.style.backgroundColor='#FF0000';
			tmp.style.color='#FFFFFF';
		}
	}

});


Form=Form.extend ({
	jsx_submit:function(event){
		$ES('.wyzzie',this.form).each(function(el){ if(el.wyzzie)el.wyzzie.sync();} );
		this.parent.pass(event,this)();
	}
});




var Post_form=new Class({
  add_elem:function(k,v){ $n('input',{name:k,type:'hidden',value:v}).inject(this.formu);},
  load:function(data){ data.each(function(v,k){this.add_elem('sub'+k,v)}.bind(this));},
  submit:function(){ this.formu.submit(); },
  initialize:function(action){
	if($type(action)=='string') action={ks_action:action};
	$extend(action,{method:'post'});
	this.formu=$n('form',action).inject(document.body);
	this.add_elem("ks_action",action.ks_action);
  }
});
//spa encore ca
var ZipPicker = new Class({
  initialize: function(el) {
	if(el.$zip)return false; el.$zip=true; if(!(this.el=$(el))) return;
	this.el.addEvent("keyup",this.load_code.bind(this));
	this.select=$E('select',this.el.getParent());
	this.sel_id=this.select?this.select.id:$('addr_city').id;
	if(this.select)this.load_code();
  },
  load_code:function(){
	if(this.el.value.length!=5)return; 
	http_lnk("post",href_ks,{action:'get_city', cp:this.el.value,jsx:1},function(txt){
		var res=jsx_eval(txt);
		if($type(res)!="object" && !res.length) sw_ccc('',this.sel_id);
		else { sw_ccc("FRA",this.sel_id);dd_fill(this.sel_id,res);}
	}.bind(this),false);
  }
});



// SWitch Country Code to City O_o
function sw_ccc(country_code,dest){
	var tmp=" name='"+dest+"' id='"+dest+"'";
	$(dest).parentNode.innerHTML=(country_code=='FRA')?"<select"+tmp+"> <option value=''> </option></select>":"<input type='text' "+tmp+"/>";

}
 

function rbx_msg(zone,msg){
	if(!$defined(rbx_msg.rbx)) rbx_msg.rbx=new Rbx();
	rbx_msg.rbx.msg(zone,msg);
}


var Rbx=new Class({
	initialize:function(anchor){
		if(!$defined(anchor)) anchor=$('rbx') || $("container") || $E("body");
		if(anchor.$rbx)return false; anchor.$rbx=true;
		this.anchor=anchor;var sizes=this.anchor.getSize().size;
		this.box=$n('div',{'class':'rbx','styles':{width:sizes.x}}).injectTop(this.anchor);
	},
	msg:function(zone,msg){
		var from=get_inner_height(this.box);this.box.empty();
		var tmp=$n('div',{'class':'rbx_'+zone}).inject(this.box); tmp.innerHTML=msg;
		var src='/css/Kse/imgs/close_popup.png';
		var picto=$n('img',{src:src,'class':'float_right'}).injectTop(tmp);
		picto.addEvent("click",this.close.bind(this));this.$closed=false;

		var to=get_inner_height(this.box);
		this.box.effect('height').start(from,to);
	},
	close:function(){
		var from=get_inner_height(this.box);
		this.box.effect('height').start(from,0
			).chain(function(){ this.box.empty()}.bind(this));
	}
});
var XHTML = "http://www.w3.org/1999/xhtml";


Element.implement({
	initialize: function(el, props){
		if ($type(el) == 'string'){
			if (window.ie && props && (props.name || props.type)){
				var name = (props.name) ? ' name="' + props.name + '"' : '';
				var type = (props.type) ? ' type="' + props.type + '"' : '';
				delete props.name;
				delete props.type;
				el = '<' + el + name + type + '>';
			}

		el=document.createElementNS
			?document.createElementNS(XHTML,el)
			:document.createElement(el);

		}
		el = $(el);
		return (!props || !el) ? el : el.set(props);
	}

});




