

  



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}('E 1h={9v:\'1.6.0\',1Z:{4b:!!(1B.74&&!1B.99),57:!!1B.99,4Q:5c.5b.44(\'hE/\')>-1,7z:5c.5b.44(\'7z\')>-1&&5c.5b.44(\'cc\')==-1,d2:!!5c.5b.1e(/hD.*hC.*cd/)},3B:{64:!!1d.3e,6y:!!1B.6x,7q:1d.41(\'1Y\').4S&&1d.41(\'1Y\').4S!==1d.41(\'1v\').4S},7X:\'<4P[^>]*>([\\\\S\\\\s]*?)<\\/4P>\',cI:/^\\/\\*-hB-([\\s\\S]*)\\*\\/\\s*$/,4a:q(){},K:q(x){o x}};C(1h.1Z.d2)1h.3B.7q=1t;C(1h.1Z.4Q)1h.3B.64=1t;E 2c={2m:q(){E 2S=1l,4n=$A(1q);C(L.2u(4n[0]))2S=4n.5f();q 1M(){B.2F.3O(B,1q)}L.18(1M,2c.1a);1M.9R=2S;1M.d1=[];C(2S){E 9S=q(){};9S.1j=2S.1j;1M.1j=1s 9S;2S.d1.1g(1M)}14(E i=0;i<4n.M;i++)1M.5Z(4n[i]);C(!1M.1j.2F)1M.1j.2F=1h.4a;1M.1j.cZ=1M;o 1M}};2c.1a={5Z:q(24){E 31=B.9R&&B.9R.1j;E 4n=L.49(24);C(!L.49({2x:1p}).M)4n.1g("2x","d0");14(E i=0,M=4n.M;i<M;i++){E 1x=4n[i],G=24[1x];C(31&&L.2u(G)&&G.cX().3E()=="$4d"){E 1F=G,G=L.18((q(m){o q(){o 31[m].3O(B,1q)}})(1x).7H(1F),{d0:q(){o 1F},2x:q(){o 1F.2x()}})}B.1j[1x]=G}o B}};E 4W={};L.18=q(5G,24){14(E 1x 1P 24)5G[1x]=24[1x];o 5G};L.18(L,{2B:q(Y){1V{C(Y===1U)o\'1U\';C(Y===1l)o\'1l\';o Y.2B?Y.2B():Y.2x()}20(e){C(e cY hA)o\'...\';4r e}},3y:q(Y){E 1D=4f Y;5s(1D){2G\'1U\':2G\'q\':2G\'hz\':o;2G\'hy\':o Y.2x()}C(Y===1l)o\'1l\';C(Y.3y)o Y.3y();C(L.3K(Y))o;E O=[];14(E 1x 1P Y){E G=L.3y(Y[1x]);C(G!==1U)O.1g(1x.3y()+\': \'+G)}o\'{\'+O.2w(\', \')+\'}\'},4s:q(Y){o $H(Y).4s()},3J:q(Y){o Y&&Y.3J?Y.3J():29.5S(Y)},49:q(Y){E 49=[];14(E 1x 1P Y)49.1g(1x);o 49},1R:q(Y){E 1R=[];14(E 1x 1P Y)1R.1g(Y[1x]);o 1R},2y:q(Y){o L.18({},Y)},3K:q(Y){o Y&&Y.3n==1},4w:q(Y){o Y&&Y.cZ===2h},co:q(Y){o Y cY 3S},2u:q(Y){o 4f Y=="q"},2V:q(Y){o 4f Y=="3g"},7h:q(Y){o 4f Y=="4J"},8M:q(Y){o 4f Y=="1U"}});L.18(9P.1j,{cX:q(){E 3v=B.2x().1e(/^[\\s\\(]*q[^(]*\\((.*?)\\)/)[1].4L(",").7c("3R");o 3v.M==1&&!3v[0]?[]:3v},1E:q(){C(1q.M<2&&1q[0]===1U)o B;E 3k=B,21=$A(1q),Y=21.5f();o q(){o 3k.3O(Y,21.28($A(1q)))}},hx:q(){E 3k=B,21=$A(1q),Y=21.5f();o q(1b){o 3k.3O(Y,[1b||1B.1b].28(21))}},7J:q(){C(!1q.M)o B;E 3k=B,21=$A(1q);o q(){o 3k.3O(B,21.28($A(1q)))}},9f:q(){E 3k=B,21=$A(1q),cW=21.5f()*cU;o 1B.hw(q(){o 3k.3O(3k,21)},cW)},7H:q(1J){E 3k=B;o q(){o 1J.3O(B,[3k.1E(B)].28($A(1q)))}},4u:q(){C(B.9Q)o B.9Q;E 3k=B;o B.9Q=q(){o 3k.3O(1l,[B].28($A(1q)))}}});9P.1j.3T=9P.1j.9f.7J(0.hv);hu.1j.3y=q(){o\'"\'+B.ht()+\'-\'+(B.hs()+1).4I(2)+\'-\'+B.hr().4I(2)+\'T\'+B.hq().4I(2)+\':\'+B.hp().4I(2)+\':\'+B.ho().4I(2)+\'Z"\'};E cj={ci:q(){E 76;14(E i=0,M=1q.M;i<M;i++){E cV=1q[i];1V{76=cV();2e}20(e){}}o 76}};4k.1j.1e=4k.1j.2M;4k.bZ=q(7V){o 29(7V).1X(/([.*+?^=!:${}()|[\\]\\/\\\\])/g,\'\\\\$1\')};E av=2c.2m({2F:q(2U,4c){B.2U=2U;B.4c=4c;B.7Y=1t;B.6i()},6i:q(){B.3U=a7(B.6H.1E(B),B.4c*cU)},8n:q(){B.2U(B)},8j:q(){C(!B.3U)o;a8(B.3U);B.3U=1l},6H:q(){C(!B.7Y){1V{B.7Y=1p;B.8n()}hn{B.7Y=1t}}}});L.18(29,{5S:q(G){o G==1l?\'\':29(G)},cM:{\'\\b\':\'\\\\b\',\'\\t\':\'\\\\t\',\'\\n\':\'\\\\n\',\'\\f\':\'\\\\f\',\'\\r\':\'\\\\r\',\'\\\\\':\'\\\\\\\\\'}});L.18(29.1j,{3j:q(26,3A){E 1r=\'\',24=B,1e;3A=1q.5q.9K(3A);1O(24.M>0){C(1e=24.1e(26)){1r+=24.3w(0,1e.1f);1r+=29.5S(3A(1e));24=24.3w(1e.1f+1e[0].M)}1k{1r+=24,24=\'\'}}o 1r},cJ:q(26,3A,3r){3A=B.3j.9K(3A);3r=3r===1U?1:3r;o B.3j(26,q(1e){C(--3r<0)o 1e[0];o 3A(1e)})},aG:q(26,W){B.3j(26,W);o 29(B)},hm:q(M,5Y){M=M||30;5Y=5Y===1U?\'...\':5Y;o B.M>M?B.3w(0,M-5Y.M)+5Y:29(B)},3R:q(){o B.1X(/^\\s+/,\'\').1X(/\\s+$/,\'\')},cO:q(){o B.1X(/<\\/?[^>]+>/gi,\'\')},3I:q(){o B.1X(1s 4k(1h.7X,\'cT\'),\'\')},cP:q(){E cS=1s 4k(1h.7X,\'cT\');E cQ=1s 4k(1h.7X,\'hl\');o(B.1e(cS)||[]).2N(q(cR){o(cR.1e(cQ)||[\'\',\'\'])[1]})},4E:q(){o B.cP().2N(q(4P){o 7m(4P)})},7U:q(){E 5E=1q.5q;5E.3W.7f=B;o 5E.1Y.50},cF:q(){E 1Y=1s I(\'1Y\');1Y.50=B.cO();o 1Y.4h[0]?(1Y.4h.M>1?$A(1Y.4h).3V(\'\',q(3m,J){o 3m+J.4z}):1Y.4h[0].4z):\'\'},79:q(cN){E 1e=B.3R().1e(/([^?#]*)(#.*)?$/);C(!1e)o{};o 1e[1].4L(cN||\'&\').3V({},q(3q,1A){C((1A=1A.4L(\'=\'))[0]){E 1m=9j(1A.5f());E G=1A.M>1?1A.2w(\'=\'):1A[0];C(G!=1U)G=9j(G);C(1m 1P 3q){C(!L.4w(3q[1m]))3q[1m]=[3q[1m]];3q[1m].1g(G)}1k 3q[1m]=G}o 3q})},3z:q(){o B.4L(\'\')},9z:q(){o B.3w(0,B.M-1)+29.hk(B.cL(B.M-1)+1)},7w:q(3r){o 3r<1?\'\':1s 2h(3r+1).2w(B)},8Y:q(){E 4K=B.4L(\'-\'),9O=4K.M;C(9O==1)o 4K[0];E 9N=B.7W(0)==\'-\'?4K[0].7W(0).2Q()+4K[0].5C(1):4K[0];14(E i=1;i<9O;i++)9N+=4K[i].7W(0).2Q()+4K[i].5C(1);o 9N},7n:q(){o B.7W(0).2Q()+B.5C(1).2i()},hj:q(){o B.3j(/::/,\'/\').3j(/([A-Z]+)([A-Z][a-z])/,\'#{1}6N#{2}\').3j(/([a-z\\d])([A-Z])/,\'#{1}6N#{2}\').3j(/-/,\'6N\').2i()},hi:q(){o B.3j(/6N/,\'-\')},2B:q(cK){E 9L=B.3j(/[\\hh-\\hg\\\\]/,q(1e){E 9M=29.cM[1e[0]];o 9M?9M:\'\\\\hf\'+1e[0].cL().4I(2,16)});C(cK)o\'"\'+9L.1X(/"/g,\'\\\\"\')+\'"\';o"\'"+9L.1X(/\'/g,\'\\\\\\\'\')+"\'"},3y:q(){o B.2B(1p)},9q:q(2g){o B.cJ(2g||1h.cI,\'#{1}\')},cG:q(){E 7V=B.1X(/\\\\./g,\'@\').1X(/"[^"\\\\\\n\\r]*"/g,\'\');o(/^[,:{}\\[\\]0-9.\\-+he-u \\n\\r\\t]*$/).2M(7V)},5Q:q(cH){E 3P=B.9q();1V{C(!cH||3P.cG())o 7m(\'(\'+3P+\')\')}20(e){}4r 1s hd(\'hc hb c0 3g: \'+B.2B())},1L:q(26){o B.44(26)>-1},8y:q(26){o B.44(26)===0},aJ:q(26){E d=B.M-26.M;o d>=0&&B.9D(26)===d},6l:q(){o B==\'\'},62:q(){o/^\\s*$/.2M(B)},ha:q(Y,26){o 1s 3f(B,26).3e(Y)}});C(1h.1Z.4Q||1h.1Z.4b)L.18(29.1j,{7U:q(){o B.1X(/&/g,\'&cE;\').1X(/</g,\'&cD;\').1X(/>/g,\'&gt;\')},cF:q(){o B.1X(/&cE;/g,\'&\').1X(/&cD;/g,\'<\').1X(/&gt;/g,\'>\')}});29.1j.3j.9K=q(3A){C(L.2u(3A))o 3A;E 5X=1s 3f(3A);o q(1e){o 5X.3e(1e)}};29.1j.h9=29.1j.79;L.18(29.1j.7U,{1Y:1d.41(\'1Y\'),3W:1d.be(\'\')});aT(29.1j.7U)1Y.5J(3W);E 3f=2c.2m({2F:q(5X,26){B.5X=5X.2x();B.26=26||3f.cA},3e:q(Y){C(L.2u(Y.9A))Y=Y.9A();o B.5X.3j(B.26,q(1e){C(Y==1l)o\'\';E 4O=1e[1]||\'\';C(4O==\'\\\\\')o 1e[2];E 6Q=Y,6R=1e[3];E 26=/^([^.[]+|\\[((?:.*?[^\\\\])?)\\])(\\.|\\[|$)/,1e=26.cB(6R);C(1e==1l)o 4O;1O(1e!=1l){E cC=1e[1].8y(\'[\')?1e[2].3j(\'\\\\\\\\]\',\']\'):1e[1];6Q=6Q[cC];C(1l==6Q||\'\'==1e[3])2e;6R=6R.5C(\'[\'==1e[3]?1e[1].M:1e[0].M);1e=26.cB(6R)}o 4O+29.5S(6Q)}.1E(B))}});3f.cA=/(^|.|\\r|\\n)(#\\{(.*?)\\})/;E $2e={};E 2E={1y:q(W,1K){E 1f=0;W=W.1E(1K);1V{B.47(q(G){1V{W(G,1f++)}20(e){}})}20(e){C(e!=$2e)4r e}o B},cz:q(4J,W,1K){W=W?W.1E(1K):1h.K;E 1f=-4J,9J=[],2D=B.3z();1O((1f+=4J)<2D.M)9J.1g(2D.3w(1f,1f+4J));o 9J.9F(W,1K)},81:q(W,1K){W=W?W.1E(1K):1h.K;E 1r=1p;B.1y(q(G,1f){1r=1r&&!!W(G,1f);C(!1r)4r $2e});o 1r},cx:q(W,1K){W=W?W.1E(1K):1h.K;E 1r=1t;B.1y(q(G,1f){C(1r=!!W(G,1f))4r $2e});o 1r},9F:q(W,1K){W=W?W.1E(1K):1h.K;E O=[];B.1y(q(G,1f){O.1g(W(G,1f))});o O},7T:q(W,1K){W=W.1E(1K);E 1r;B.1y(q(G,1f){C(W(G,1f)){1r=G;4r $2e}});o 1r},5w:q(W,1K){W=W.1E(1K);E O=[];B.1y(q(G,1f){C(W(G,1f))O.1g(G)});o O},h8:q(2g,W,1K){W=W?W.1E(1K):1h.K;E O=[];C(L.2V(2g))2g=1s 4k(2g);B.1y(q(G,1f){C(2g.1e(G))O.1g(W(G,1f))});o O},1L:q(Y){C(L.2u(B.44))C(B.44(Y)!=-1)o 1p;E 9I=1t;B.1y(q(G){C(G==Y){9I=1p;4r $2e}});o 9I},h7:q(4J,6P){6P=6P===1U?1l:6P;o B.cz(4J,q(3w){1O(3w.M<4J)3w.1g(6P);o 3w})},3V:q(3m,W,1K){W=W.1E(1K);B.1y(q(G,1f){3m=W(3m,G,1f)});o 3m},7c:q(1F){E 21=$A(1q).3w(1);o B.2N(q(G){o G[1F].3O(G,21)})},h6:q(W,1K){W=W?W.1E(1K):1h.K;E 1r;B.1y(q(G,1f){G=W(G,1f);C(1r==1U||G>=1r)1r=G});o 1r},h5:q(W,1K){W=W?W.1E(1K):1h.K;E 1r;B.1y(q(G,1f){G=W(G,1f);C(1r==1U||G<1r)1r=G});o 1r},h4:q(W,1K){W=W?W.1E(1K):1h.K;E 9H=[],9G=[];B.1y(q(G,1f){(W(G,1f)?9H:9G).1g(G)});o[9H,9G]},5p:q(1x){E O=[];B.1y(q(G){O.1g(G[1x])});o O},h3:q(W,1K){W=W.1E(1K);E O=[];B.1y(q(G,1f){C(!W(G,1f))O.1g(G)});o O},aE:q(W,1K){W=W.1E(1K);o B.2N(q(G,1f){o{G:G,6v:W(G,1f)}}).h2(q(2I,7I){E a=2I.6v,b=7I.6v;o a<b?-1:a>b?1:0}).5p(\'G\')},3z:q(){o B.2N()},h1:q(){E W=1h.K,21=$A(1q);C(L.2u(21.2s()))W=21.h0();E cy=[B].28(21).2N($A);o B.2N(q(G,1f){o W(cy.5p(1f))})},cs:q(){o B.3z().M},2B:q(){o\'#<2E:\'+B.3z().2B()+\'>\'}};L.18(2E,{2N:2E.9F,8f:2E.7T,2L:2E.5w,2g:2E.5w,gZ:2E.1L,gY:2E.3z,gX:2E.81,gW:2E.cx});q $A(3a){C(!3a)o[];C(3a.3z)o 3a.3z();E M=3a.M,O=1s 2h(M);1O(M--)O[M]=3a[M];o O}C(1h.1Z.4Q){q $A(3a){C(!3a)o[];C(!(L.2u(3a)&&3a==\'[Y gV]\')&&3a.3z)o 3a.3z();E M=3a.M,O=1s 2h(M);1O(M--)O[M]=3a[M];o O}}2h.cl=$A;L.18(2h.1j,2E);C(!2h.1j.9E)2h.1j.9E=2h.1j.4g;L.18(2h.1j,{47:q(W){14(E i=0,M=B.M;i<M;i++)W(B[i])},aB:q(){B.M=0;o B},3E:q(){o B[0]},2s:q(){o B[B.M-1]},gU:q(){o B.2L(q(G){o G!=1l})},cw:q(){o B.3V([],q(2D,G){o 2D.28(L.4w(G)?G.cw():[G])})},60:q(){E 1R=$A(1q);o B.2L(q(G){o!1R.1L(G)})},4g:q(cv){o(cv!==1t?B:B.3z()).9E()},gT:q(){o B.M>1?B:B[0]},ct:q(cu){o B.3V([],q(2D,G,1f){C(0==1f||(cu?2D.2s()!=G:!2D.1L(G)))2D.1g(G);o 2D})},gS:q(2D){o B.ct().5w(q(5W){o 2D.7T(q(G){o 5W===G})})},2y:q(){o[].28(B)},cs:q(){o B.M},2B:q(){o\'[\'+B.2N(L.2B).2w(\', \')+\']\'},3y:q(){E O=[];B.1y(q(Y){E G=L.3y(Y);C(G!==1U)O.1g(G)});o\'[\'+O.2w(\', \')+\']\'}});C(L.2u(2h.1j.cr))2h.1j.47=2h.1j.cr;C(!2h.1j.44)2h.1j.44=q(5W,i){i||(i=0);E M=B.M;C(i<0)i=M+i;14(;i<M;i++)C(B[i]===5W)o i;o-1};C(!2h.1j.9D)2h.1j.9D=q(5W,i){i=gR(i)?B.M:(i<0?B.M+i:i)+1;E n=B.3w(0,i).4g().44(5W);o(n<0)?n:i-n-1};2h.1j.3z=2h.1j.2y;q $w(3g){C(!L.2V(3g))o[];3g=3g.3R();o 3g?3g.4L(/\\s+/):[]}C(1h.1Z.57){2h.1j.28=q(){E 2D=[];14(E i=0,M=B.M;i<M;i++)2D.1g(B[i]);14(E i=0,M=1q.M;i<M;i++){C(L.4w(1q[i])){14(E j=0,cq=1q[i].M;j<cq;j++)2D.1g(1q[i][j])}1k{2D.1g(1q[i])}}o 2D}}L.18(51.1j,{gQ:q(){o B.4I(2,16)},9z:q(){o B+1},7w:q(W){$R(0,B,1p).1y(W);o B},4I:q(M,cp){E 3g=B.2x(cp||10);o\'0\'.7w(M-3g.M)+3g},3y:q(){o gP(B)?B.2x():\'1l\'}});$w(\'gO gN gM gL\').1y(q(1F){51.1j[1F]=gK[1F].4u()});q $H(Y){o 1s 3S(Y)};E 3S=2c.2m(2E,(q(){C(q(){E i=0,9C=q(G){B.1m=G};9C.1j.1m=\'gJ\';14(E 1x 1P 1s 9C(\'gI\'))i++;o i>1}()){q 1y(W){E 2q=[];14(E 1m 1P B.43){E G=B.43[1m];C(2q.1L(1m))3c;2q.1g(1m);E 1A=[1m,G];1A.1m=1m;1A.G=G;W(1A)}}}1k{q 1y(W){14(E 1m 1P B.43){E G=B.43[1m],1A=[1m,G];1A.1m=1m;1A.G=G;W(1A)}}}q 9B(1m,G){C(L.8M(G))o 1m;o 1m+\'=\'+cm(29.5S(G))}o{2F:q(Y){B.43=L.co(Y)?Y.7S():L.2y(Y)},47:1y,61:q(1m,G){o B.43[1m]=G},9x:q(1m){o B.43[1m]},gH:q(1m){E G=B.43[1m];8K B.43[1m];o G},7S:q(){o L.2y(B.43)},49:q(){o B.5p(\'1m\')},1R:q(){o B.5p(\'G\')},1f:q(G){E 1e=B.7T(q(1A){o 1A.G===G});o 1e&&1e.1m},gG:q(Y){o B.2y().56(Y)},56:q(Y){o 1s 3S(Y).3V(B,q(1r,1A){1r.61(1A.1m,1A.G);o 1r})},4s:q(){o B.2N(q(1A){E 1m=cm(1A.1m),1R=1A.G;C(1R&&4f 1R==\'Y\'){C(L.4w(1R))o 1R.2N(9B.7J(1m)).2w(\'&\')}o 9B(1m,1R)}).2w(\'&\')},2B:q(){o\'#<3S:{\'+B.2N(q(1A){o 1A.2N(L.2B).2w(\': \')}).2w(\', \')+\'}>\'},3y:q(){o L.3y(B.7S())},2y:q(){o 1s 3S(B)}}})());3S.1j.9A=3S.1j.7S;3S.cl=$H;E ck=2c.2m(2E,{2F:q(4l,5k,5V){B.4l=4l;B.5k=5k;B.5V=5V},47:q(W){E G=B.4l;1O(B.1L(G)){W(G);G=G.9z()}},1L:q(G){C(G<B.4l)o 1t;C(B.5V)o G<B.5k;o G<=B.5k}});E $R=q(4l,5k,5V){o 1s ck(4l,5k,5V)};E 1Q={ce:q(){o cj.ci(q(){o 1s ca()},q(){o 1s ch(\'gF.cg\')},q(){o 1s ch(\'gE.cg\')})||1t},9y:0};1Q.5T={6O:[],47:q(W){B.6O.47(W)},cf:q(4m){C(!B.1L(4m))B.6O.1g(4m)},gD:q(4m){B.6O=B.6O.60(4m)},7P:q(2U,3d,1T,3P){B.1y(q(4m){C(L.2u(4m[2U])){1V{4m[2U].3O(4m,[3d,1T,3P])}20(e){}}})}};L.18(1Q.5T,2E);1Q.5T.cf({7R:q(){1Q.9y++},3i:q(){1Q.9y--}});1Q.9g=2c.2m({2F:q(U){B.U={1F:\'6M\',7Q:1p,6L:\'7N/x-gC-1v-gB\',9u:\'gA-8\',4e:\'\',5Q:1p,9r:1p};L.18(B.U,U||{});B.U.1F=B.U.1F.2i();C(L.2V(B.U.4e))B.U.4e=B.U.4e.79()}});1Q.4Y=2c.2m(1Q.9g,{9s:1t,2F:q($4d,32,U){$4d(U);B.1T=1Q.ce();B.3d(32)},3d:q(32){B.32=32;B.1F=B.U.1F;E 2W=L.2y(B.U.4e);C(![\'9x\',\'6M\'].1L(B.1F)){2W[\'gz\']=B.1F;B.1F=\'6M\'}B.4e=2W;C(2W=L.4s(2W)){C(B.1F==\'9x\')B.32+=(B.32.1L(\'?\')?\'&\':\'?\')+2W;1k C(/gy|cd|cc/.2M(5c.5b))2W+=\'&6N=\'}1V{E 2v=1s 1Q.9n(B);C(B.U.7R)B.U.7R(2v);1Q.5T.7P(\'7R\',B,2v);B.1T.gx(B.1F.2Q(),B.32,B.U.7Q);C(B.U.7Q)B.9t.1E(B).3T(1);B.1T.70=B.9w.1E(B);B.cb();B.2o=B.1F==\'6M\'?(B.U.gw||2W):1l;B.1T.gv(B.2o);C(!B.U.7Q&&B.1T.c9)B.9w()}20(e){B.5i(e)}},9w:q(){E 2O=B.1T.2O;C(2O>1&&!((2O==4)&&B.9s))B.9t(B.1T.2O)},cb:q(){E 5j={\'X-gu-gs\':\'ca\',\'X-1h-9v\':1h.9v,\'gr\':\'3W/gq, 3W/8S, 7N/6J, 3W/6J, */*\'};C(B.1F==\'6M\'){5j[\'9i-1D\']=B.U.6L+(B.U.9u?\'; gp=\'+B.U.9u:\'\');C(B.1T.c9&&(5c.5b.1e(/7z\\/(\\d{4})/)||[0,c8])[1]<c8)5j[\'go\']=\'gn\'}C(4f B.U.c7==\'Y\'){E 5U=B.U.c7;C(L.2u(5U.1g))14(E i=0,M=5U.M;i<M;i+=2)5j[5U[i]]=5U[i+1];1k $H(5U).1y(q(1A){5j[1A.1m]=1A.G})}14(E 1c 1P 5j)B.1T.gm(1c,5j[1c])},4G:q(){E 4H=B.6I();o!4H||(4H>=gl&&4H<gk)},6I:q(){1V{o B.1T.4H||0}20(e){o 0}},9t:q(2O){E 6K=1Q.4Y.c4[2O],2v=1s 1Q.9n(B);C(6K==\'9o\'){1V{B.9s=1p;(B.U[\'5o\'+2v.4H]||B.U[\'5o\'+(B.4G()?\'gj\':\'gh\')]||1h.4a)(2v,2v.7O)}20(e){B.5i(e)}E 6L=2v.5R(\'9i-1D\');C(B.U.9r==\'bX\'||(B.U.9r&&6L&&6L.1e(/^\\s*(3W|7N)\\/(x-)?(gg|gf)4P(;.*)?\\s*$/i)))B.c6()}1V{(B.U[\'5o\'+6K]||1h.4a)(2v,2v.7O);1Q.5T.7P(\'5o\'+6K,B,2v,2v.7O)}20(e){B.5i(e)}C(6K==\'9o\'){B.1T.70=1h.4a}},5R:q(1c){1V{o B.1T.9l(1c)}20(e){o 1l}},c6:q(){1V{o 7m((B.1T.3h||\'\').9q())}20(e){B.5i(e)}},5i:q(9p){(B.U.c5||1h.4a)(B,9p);1Q.5T.7P(\'c5\',B,9p)}});1Q.4Y.c4=[\'ge\',\'gd\',\'gc\',\'gb\',\'9o\'];1Q.9n=2c.2m({2F:q(3d){B.3d=3d;E 1T=B.1T=3d.1T,2O=B.2O=1T.2O;C((2O>2&&!1h.1Z.4b)||2O==4){B.4H=B.6I();B.9m=B.c2();B.3h=29.5S(1T.3h);B.7O=B.c1()}C(2O==4){E 6J=1T.c3;B.c3=6J===1U?1l:6J;B.ga=B.bY()}},4H:0,9m:\'\',6I:1Q.4Y.1j.6I,c2:q(){1V{o B.1T.9m||\'\'}20(e){o\'\'}},5R:1Q.4Y.1j.5R,g9:q(){1V{o B.9k()}20(e){o 1l}},9l:q(1c){o B.1T.9l(1c)},9k:q(){o B.1T.9k()},c1:q(){E 3P=B.5R(\'X-c0\');C(!3P)o 1l;3P=9j(bZ(3P));1V{o 3P.5Q(B.3d.U.bW)}20(e){B.3d.5i(e)}},bY:q(){E U=B.3d.U;C(!U.5Q||(U.5Q!=\'bX\'&&!(B.5R(\'9i-1D\')||\'\').1L(\'7N/3P\')))o 1l;1V{o B.1T.3h.5Q(U.bW)}20(e){B.3d.5i(e)}}});1Q.bR=2c.2m(1Q.4Y,{2F:q($4d,3x,32,U){B.3x={4G:(3x.4G||3x),9h:(3x.9h||(3x.4G?1l:3x))};U=U||{};E 3i=U.3i;U.3i=(q(2v,bV){B.bU(2v.3h);C(L.2u(3i))3i(2v,bV)}).1E(B);$4d(32,U)},bU:q(3h){E 5P=B.3x[B.4G()?\'4G\':\'9h\'],U=B.U;C(!U.4E)3h=3h.3I();C(5P=$(5P)){C(U.5h){C(L.2V(U.5h)){E 5h={};5h[U.5h]=3h;5P.2z(5h)}1k U.5h(5P,3h)}1k 5P.56(3h)}C(B.4G()){C(B.3i)B.3i.1E(B).3T()}}});1Q.g8=2c.2m(1Q.9g,{2F:q($4d,3x,32,U){$4d(U);B.3i=B.U.3i;B.4c=(B.U.4c||2);B.5g=(B.U.5g||1);B.9e={};B.3x=3x;B.32=32;B.4l()},4l:q(){B.U.3i=B.bT.1E(B);B.6H()},8j:q(){B.9e.U.3i=1U;g7(B.3U);(B.3i||1h.4a).3O(B,1q)},bT:q(2v){C(B.U.5g){B.5g=(2v.3h==B.bS?B.5g*B.U.5g:1);B.bS=2v.3h}B.3U=B.6H.1E(B).9f(B.5g*B.4c)},6H:q(){B.9e=1s 1Q.bR(B.3x,B.32,B.U)}});q $(k){C(1q.M>1){14(E i=0,22=[],M=1q.M;i<M;i++)22.1g($(1q[i]));o 22}C(L.2V(k))k=1d.g6(k);o I.18(k)}C(1h.3B.64){1d.83=q(1z,6U){E O=[];E 9d=1d.3e(1z,$(6U)||1d,1l,g5.g4,1l);14(E i=0,M=9d.g3;i<M;i++)O.1g(I.18(9d.g2(i)));o O}}C(!1B.6e)E 6e={};C(!6e.bQ){L.18(6e,{bQ:1,g1:2,an:3,g0:4,fZ:5,fY:6,fX:7,fW:8,fV:9,fU:10,fT:11,fS:12})}(q(){E k=B.I;B.I=q(15,2l){2l=2l||{};15=15.2i();E 2q=I.2q;C(1h.1Z.4b&&2l.1c){15=\'<\'+15+\' 1c="\'+2l.1c+\'">\';8K 2l.1c;o I.6E(1d.41(15),2l)}C(!2q[15])2q[15]=I.18(1d.41(15));o I.6E(2q[15].fR(1t),2l)};L.18(B.I,k||{})}).8g(1B);I.2q={};I.1a={bP:q(k){o $(k).17.3l!=\'7D\'},a2:q(k){k=$(k);I[I.bP(k)?\'bO\':\'bN\'](k);o k},bO:q(k){$(k).17.3l=\'7D\';o k},bN:q(k){$(k).17.3l=\'\';o k},9T:q(k){k=$(k);k.1N.6A(k);o k},56:q(k,V){k=$(k);C(V&&V.2P)V=V.2P();C(L.3K(V))o k.56().2z(V);V=L.3J(V);k.50=V.3I();V.4E.1E(V).3T();o k},1X:q(k,V){k=$(k);C(V&&V.2P)V=V.2P();1k C(!L.3K(V)){V=L.3J(V);E 2Z=k.bM.94();2Z.fQ(k);V.4E.1E(V).3T();V=2Z.bL(V.3I())}k.1N.8T(V,k);o k},2z:q(k,25){k=$(k);C(L.2V(25)||L.7h(25)||L.3K(25)||(25&&(25.2P||25.3J)))25={4N:25};E V,t,2Z;14(1u 1P 25){V=25[1u];1u=1u.2i();t=I.55[1u];C(V&&V.2P)V=V.2P();C(L.3K(V)){t.2z(k,V);3c}V=L.3J(V);2Z=k.bM.94();t.5H(k,2Z);t.2z(k,2Z.bL(V.3I()));V.4E.1E(V).3T()}o k},7H:q(k,1J,2l){k=$(k);C(L.3K(1J))$(1J).6E(2l||{});1k C(L.2V(1J))1J=1s I(1J,2l);1k 1J=1s I(\'1Y\',1J);C(k.1N)k.1N.8T(1J,k);1J.5J(k);o 1J},2B:q(k){k=$(k);E 1r=\'<\'+k.15.2i();$H({\'1o\':\'1o\',\'1i\':\'65\'}).1y(q(1A){E 1x=1A.3E(),1S=1A.2s();E G=(k[1x]||\'\').2x();C(G)1r+=\' \'+1S+\'=\'+G.2B(1p)});o 1r+\'>\'},7M:q(k,1x){k=$(k);E 22=[];1O(k=k[1x])C(k.3n==1)22.1g(I.18(k));o 22},6G:q(k){o $(k).7M(\'1N\')},6F:q(k){o $A($(k).3Q(\'*\')).1y(I.18)},bK:q(k){k=$(k).5z;1O(k&&k.3n!=1)k=k.3F;o $(k)},bl:q(k){C(!(k=$(k).5z))o[];1O(k&&k.3n!=1)k=k.3F;C(k)o[k].28($(k).4B());o[]},5O:q(k){o $(k).7M(\'aS\')},4B:q(k){o $(k).7M(\'3F\')},fP:q(k){k=$(k);o k.5O().4g().28(k.4B())},1e:q(k,3X){C(L.2V(3X))3X=1s 19(3X);o 3X.1e($(k))},am:q(k,1z,1f){k=$(k);C(1q.M==1)o $(k.1N);E 6G=k.6G();o 1z?19.5r(6G,1z,1f):6G[1f||0]},fO:q(k,1z,1f){k=$(k);C(1q.M==1)o k.bK();E 6F=k.6F();o 1z?19.5r(6F,1z,1f):6F[1f||0]},fN:q(k,1z,1f){k=$(k);C(1q.M==1)o $(19.2a.6p(k));E 5O=k.5O();o 1z?19.5r(5O,1z,1f):5O[1f||0]},6t:q(k,1z,1f){k=$(k);C(1q.M==1)o $(19.2a.6o(k));E 4B=k.4B();o 1z?19.5r(4B,1z,1f):4B[1f||0]},2L:q(){E 21=$A(1q),k=$(21.5f());o 19.7g(k,21)},52:q(){E 21=$A(1q),k=$(21.5f());o 19.7g(k.1N,21).60(k)},bn:q(k){k=$(k);E 1o=k.4Z(\'1o\'),5E=1q.5q;C(1o)o 1o;do{1o=\'fM\'+5E.bm++}1O($(1o));k.6E(\'1o\',1o);o 1o},4Z:q(k,1c){k=$(k);C(1h.1Z.4b){E t=I.3H.7A;C(t.1R[1c])o t.1R[1c](k,1c);C(t.3v[1c])1c=t.3v[1c];C(1c.1L(\':\')){o(!k.2l||!k.2l[1c])?1l:k.2l[1c].G}}o k.8V(1c)},6E:q(k,1c,G){k=$(k);E 2l={},t=I.3H.6c;C(4f 1c==\'Y\')2l=1c;1k 2l[1c]=G===1U?1p:G;14(E 2b 1P 2l){E 1c=t.3v[2b]||2b,G=2l[2b];C(t.1R[2b])1c=t.1R[2b](k,G);C(G===1t||G===1l)k.bi(1c);1k C(G===1p)k.bJ(1c,1c);1k k.bJ(1c,G)}o k},aX:q(k){o $(k).5D().3t},aY:q(k){o $(k).5D().2R},63:q(k){o 1s I.6S(k)},7k:q(k,1i){C(!(k=$(k)))o;E 7L=k.1i;o(7L.M>0&&(7L==1i||1s 4k("(^|\\\\s)"+1i+"(\\\\s|$)").2M(7L)))},bH:q(k,1i){C(!(k=$(k)))o;C(!k.7k(1i))k.1i+=(k.1i?\' \':\'\')+1i;o k},bI:q(k,1i){C(!(k=$(k)))o;k.1i=k.1i.1X(1s 4k("(^|\\\\s+)"+1i+"(\\\\s+|$)"),\' \').3R();o k},fL:q(k,1i){C(!(k=$(k)))o;o k[k.7k(1i)?\'bI\':\'bH\'](1i)},fK:q(k){k=$(k);E J=k.5z;1O(J){E bG=J.3F;C(J.3n==3&&!/\\S/.2M(J.4z))k.6A(J);J=bG}o k},6l:q(k){o $(k).50.62()},6Z:q(k,31){k=$(k),31=$(31);C(k.bF)o(k.bF(31)&8)===8;C(k.7K&&!1h.1Z.57){E e=k.7K,a=31.7K,6D=31.3F;C(!6D){do{31=31.1N}1O(!(6D=31.3F)&&31.1N)}C(6D)o(e>a&&e<6D.7K)}1O(k=k.1N)C(k==31)o 1p;o 1t},bE:q(k){k=$(k);E 3N=k.4M();1B.bE(3N[0],3N[1]);o k},2j:q(k,17){k=$(k);17=17==\'90\'?\'7F\':17.8Y();E G=k.17[17];C(!G){E 9c=1d.fJ.fI(k,1l);G=9c?9c[17]:1l}C(17==\'3L\')o G?5M(G):1.0;o G==\'7E\'?1l:G},fH:q(k){o $(k).2j(\'3L\')},91:q(k,4F){k=$(k);E 9b=k.17,1e;C(L.2V(4F)){k.17.8U+=\';\'+4F;o 4F.1L(\'3L\')?k.5L(4F.1e(/3L:\\s*(\\d?\\.?\\d*)/)[1]):k}14(E 1x 1P 4F)C(1x==\'3L\')k.5L(4F[1x]);1k 9b[(1x==\'90\'||1x==\'7F\')?(9b.8Z===1U?\'7F\':\'8Z\'):1x]=4F[1x];o k},5L:q(k,G){k=$(k);k.17.3L=(G==1||G===\'\')?\'\':(G<0.7y)?0:G;o k},5D:q(k){k=$(k);E 3l=$(k).2j(\'3l\');C(3l!=\'7D\'&&3l!=1l)o{2R:k.5l,3t:k.5m};E 42=k.17;E bB=42.9a;E bC=42.1u;E bD=42.3l;42.9a=\'7b\';42.1u=\'58\';42.3l=\'fG\';E bA=k.by;E bz=k.bx;42.3l=bD;42.1u=bC;42.9a=bB;o{2R:bA,3t:bz}},fF:q(k){k=$(k);E 3N=I.2j(k,\'1u\');C(3N==\'7G\'||!3N){k.98=1p;k.17.1u=\'6C\';C(1B.99){k.17.2p=0;k.17.2I=0}}o k},fE:q(k){k=$(k);C(k.98){k.98=1U;k.17.1u=k.17.2p=k.17.2I=k.17.4N=k.17.7I=\'\'}o k},fD:q(k){k=$(k);C(k.5e)o k;k.5e=I.2j(k,\'97\')||\'7E\';C(k.5e!==\'7b\')k.17.97=\'7b\';o k},fC:q(k){k=$(k);C(!k.5e)o k;k.17.97=k.5e==\'7E\'?\'\':k.5e;k.5e=1l;o k},4M:q(k){E 2J=0,2K=0;1V{do{2J+=k.5a||0;2K+=k.59||0;k=k.48}1O(k)}20(ex){}o I.54(2K,2J)},68:q(k){E 2J=0,2K=0;1V{do{2J+=k.5a||0;2K+=k.59||0;k=k.48;C(k){C(k.15==\'bs\')2e;E p=I.2j(k,\'1u\');C(p==\'6C\'||p==\'58\')2e}}1O(k)}20(ex){}o I.54(2K,2J)},89:q(k){k=$(k);C(k.2j(\'1u\')==\'58\')o;E 96=k.68();E 2p=96[1];E 2I=96[0];E 2R=k.by;E 3t=k.bx;k.bv=2I-5M(k.17.2I||0);k.bw=2p-5M(k.17.2p||0);k.bt=k.17.2R;k.bu=k.17.3t;k.17.1u=\'58\';k.17.2p=2p+\'3M\';k.17.2I=2I+\'3M\';k.17.2R=2R+\'3M\';k.17.3t=3t+\'3M\';o k},86:q(k){k=$(k);C(k.2j(\'1u\')==\'6C\')o;k.17.1u=\'6C\';E 2p=5M(k.17.2p||0)-(k.bw||0);E 2I=5M(k.17.2I||0)-(k.bv||0);k.17.2p=2p+\'3M\';k.17.2I=2I+\'3M\';k.17.3t=k.bu;k.17.2R=k.bt;o k},85:q(k){E 2J=0,2K=0;do{2J+=k.4o||0;2K+=k.4q||0;k=k.1N}1O(k);o I.54(2K,2J)},6W:q(k){1V{C(k.48)o $(k.48);C(k==1d.2o)o $(k);1O((k=k.1N)&&k!=1d.2o)C(I.2j(k,\'1u\')!=\'7G\')o $(k)}20(ex){}o $(1d.2o)},67:q(95){E 2J=0,2K=0;E k=95;1V{do{2J+=k.5a||0;2K+=k.59||0;C(k.48==1d.2o&&I.2j(k,\'1u\')==\'58\')2e}1O(k=k.48)}20(ex){}k=95;do{C(!1h.1Z.57||k.15==\'bs\'){2J-=k.4o||0;2K-=k.4q||0}}1O(k=k.1N);o I.54(2K,2J)},9V:q(k,24){E U=L.18({br:1p,bq:1p,bp:1p,bo:1p,5a:0,59:0},1q[2]||{});24=$(24);E p=24.67();k=$(k);E 5N=[0,0];E 2S=1l;C(I.2j(k,\'1u\')==\'58\'){2S=k.6W();5N=2S.67()}C(2S==1d.2o){5N[0]-=1d.2o.59;5N[1]-=1d.2o.5a}C(U.br)k.17.2I=(p[0]-5N[0]+U.59)+\'3M\';C(U.bq)k.17.2p=(p[1]-5N[1]+U.5a)+\'3M\';C(U.bp)k.17.2R=24.5l+\'3M\';C(U.bo)k.17.3t=24.5m+\'3M\';o k}};I.1a.bn.bm=1;L.18(I.1a,{fB:I.1a.2L,fA:I.1a.bl});I.3H={6c:{3v:{1i:\'65\',bg:\'14\'},1R:{}}};C(!1d.94||1h.1Z.57){I.1a.2z=q(k,25){k=$(k);C(L.2V(25)||L.7h(25)||L.3K(25)||(25&&(25.2P||25.3J)))25={4N:25};E t=I.55,V,1u,3N,15;14(1u 1P 25){V=25[1u];1u=1u.2i();3N=t[1u];C(V&&V.2P)V=V.2P();C(L.3K(V)){3N.2z(k,V);3c}V=L.3J(V);15=((1u==\'4O\'||1u==\'6Y\')?k.1N:k).15.2Q();C(t.4j[15]){E 5K=I.7x(15,V.3I());C(1u==\'2p\'||1u==\'6Y\')5K.4g();5K.1y(3N.2z.7J(k))}1k k.fz(3N.6z,V.3I());V.4E.1E(V).3T()}o k}}C(1h.1Z.57){I.1a.93=I.1a.2j;I.1a.2j=q(k,17){5s(17){2G\'2I\':2G\'2p\':2G\'7I\':2G\'4N\':C(I.93(k,\'1u\')==\'7G\')o 1l;6f:o I.93(k,17)}};I.1a.bk=I.1a.4Z;I.1a.4Z=q(k,1S){C(1S==\'7C\')o k.7C;o I.bk(k,1S)}}1k C(1h.1Z.4b){$w(\'68 6W 67\').1y(q(1F){I.1a[1F]=I.1a[1F].7H(q(92,k){k=$(k);E 1u=k.2j(\'1u\');C(1u!=\'7G\')o 92(k);k.91({1u:\'6C\'});E G=92(k);k.91({1u:1u});o G})});I.1a.2j=q(k,17){k=$(k);17=(17==\'90\'||17==\'7F\')?\'8Z\':17.8Y();E G=k.17[17];C(!G&&k.5d)G=k.5d[17];C(17==\'3L\'){C(G=(k.2j(\'2g\')||\'\').1e(/8W\\(3L=(.*)\\)/))C(G[1])o 5M(G[1])/bh;o 1.0}C(G==\'7E\'){C((17==\'2R\'||17==\'3t\')&&(k.2j(\'3l\')!=\'7D\'))o k[\'3b\'+17.7n()]+\'3M\';o 1l}o G};I.1a.5L=q(k,G){q 8X(2g){o 2g.1X(/8W\\([^\\)]*\\)/gi,\'\')}k=$(k);E 5d=k.5d;C((5d&&!5d.fy)||(!5d&&k.17.bj==\'fx\'))k.17.bj=1;E 2g=k.2j(\'2g\'),17=k.17;C(G==1||G===\'\'){(2g=8X(2g))?17.2g=2g:17.bi(\'2g\');o k}1k C(G<0.7y)G=0;17.2g=8X(2g)+\'8W(3L=\'+(G*bh)+\')\';o k};I.3H={7A:{3v:{\'65\':\'1i\',\'14\':\'bg\'},1R:{7B:q(k,1S){o k.8V(1S,2)},bf:q(k,1S){E J=k.bb(1S);o J?J.G:""},2k:q(k,1S){E 1S=k.8V(1S);o 1S?1S.2x().3w(23,-2):1l},6B:q(k,1S){o $(k).3C(1S)?1S:1l},17:q(k){o k.17.8U.2i()},7C:q(k){o k.7C}}}};I.3H.6c={3v:L.2y(I.3H.7A.3v),1R:{3D:q(k,G){k.3D=!!G},17:q(k,G){k.17.8U=G?G:\'\'}}};I.3H.8R={};$w(\'fw fv fu ft fs 7a \'+\'fr fq fp fo\').1y(q(2b){I.3H.6c.3v[2b.2i()]=2b;I.3H.8R[2b.2i()]=2b});(q(v){L.18(v,{aC:v.7B,a5:v.7B,1D:v.7B,5v:v.bf,3p:v.6B,3D:v.6B,fn:v.6B,fm:v.6B,fl:v.2k,ah:v.2k,fk:v.2k,fj:v.2k,fi:v.2k,fh:v.2k,fg:v.2k,ff:v.2k,fe:v.2k,fd:v.2k,fc:v.2k,fb:v.2k,fa:v.2k,f9:v.2k,f8:v.2k,f7:v.2k,f6:v.2k,f5:v.2k})})(I.3H.7A.1R)}1k C(1h.1Z.7z&&/f4:1\\.8\\.0/.2M(5c.5b)){I.1a.5L=q(k,G){k=$(k);k.17.3L=(G==1)?0.f3:(G===\'\')?\'\':(G<0.7y)?0:G;o k}}1k C(1h.1Z.4Q){I.1a.5L=q(k,G){k=$(k);k.17.3L=(G==1||G===\'\')?\'\':(G<0.7y)?0:G;C(G==1)C(k.15==\'b7\'&&k.2R){k.2R++;k.2R--}1k 1V{E n=1d.be(\' \');k.5J(n);k.6A(n)}20(e){}o k};I.1a.4M=q(k){E 2J=0,2K=0;1V{do{2J+=k.5a||0;2K+=k.59||0;C(k.48==1d.2o)C(I.2j(k,\'1u\')==\'58\')2e;k=k.48}1O(k)}20(ex){}o I.54(2K,2J)}}C(1h.1Z.4b||1h.1Z.57){I.1a.56=q(k,V){k=$(k);C(V&&V.2P)V=V.2P();C(L.3K(V))o k.56().2z(V);V=L.3J(V);E 15=k.15.2Q();C(15 1P I.55.4j){$A(k.4h).1y(q(J){k.6A(J)});I.7x(15,V.3I()).1y(q(J){k.5J(J)})}1k k.50=V.3I();V.4E.1E(V).3T();o k}}C(1d.41(\'1Y\').bd){I.1a.1X=q(k,V){k=$(k);C(V&&V.2P)V=V.2P();C(L.3K(V)){k.1N.8T(V,k);o k}V=L.3J(V);E 2S=k.1N,15=2S.15.2Q();C(I.55.4j[15]){E 3F=k.6t();E 5K=I.7x(15,V.3I());2S.6A(k);C(3F)5K.1y(q(J){2S.7v(J,3F)});1k 5K.1y(q(J){2S.5J(J)})}1k k.bd=V.3I();V.4E.1E(V).3T();o k}}I.54=q(l,t){E 1r=[l,t];1r.2I=l;1r.2p=t;o 1r};I.7x=q(15,8S){E 1Y=1s I(\'1Y\'),t=I.55.4j[15];1Y.50=t[0]+8S+t[1];t[2].7w(q(){1Y=1Y.5z});o $A(1Y.4h)};I.55={4O:{6z:\'f2\',2z:q(k,J){k.1N.7v(J,k)},5H:q(k,2Z){2Z.f1(k)}},2p:{6z:\'f0\',2z:q(k,J){k.7v(J,k.5z)},5H:q(k,2Z){2Z.eZ(k);2Z.eY(1p)}},4N:{6z:\'eX\',2z:q(k,J){k.5J(J)}},6Y:{6z:\'eW\',2z:q(k,J){k.1N.7v(J,k.3F)},5H:q(k,2Z){2Z.eV(k)}},4j:{eU:[\'<4D>\',\'</4D>\',1],7s:[\'<4D><5I>\',\'</5I></4D>\',2],b3:[\'<4D><5I><7u>\',\'</7u></5I></4D>\',3],8P:[\'<4D><5I><7u><bc>\',\'</bc></7u></5I></4D>\',4],ba:[\'<2L>\',\'</2L>\',1]}};(q(){B.4N.5H=B.2p.5H;L.18(B.4j,{b5:B.4j.7s,b4:B.4j.7s,b2:B.4j.8P})}).8g(I.55);I.1a.7r={3C:q(k,1S){1S=I.3H.8R[1S]||1S;E J=$(k).bb(1S);o J&&J.eT}};I.1a.3u={};L.18(I,I.1a);C(!1h.3B.6y&&1d.41(\'1Y\').4S){1B.6x={};1B.6x.1j=1d.41(\'1Y\').4S;1h.3B.6y=1p}I.18=(q(){C(1h.3B.7q)o 1h.K;E 1a={},3u=I.1a.3u;E 18=L.18(q(k){C(!k||k.75||k.3n!=1||k==1B)o k;E 2A=L.2y(1a),15=k.15,1x,G;C(3u[15])L.18(2A,3u[15]);14(1x 1P 2A){G=2A[1x];C(L.2u(G)&&!(1x 1P k))k[1x]=G.4u()}k.75=1h.4a;o k},{7o:q(){C(!1h.3B.6y){L.18(1a,I.1a);L.18(1a,I.1a.7r)}}});18.7o();o 18})();I.3C=q(k,1S){C(k.3C)o k.3C(1S);o I.1a.7r.3C(k,1S)};I.5Z=q(2A){E F=1h.3B,T=I.1a.3u;C(!2A){L.18(1C,1C.1a);L.18(1C.I,1C.I.1a);L.18(I.1a.3u,{"eS":L.2y(1C.1a),"eR":L.2y(1C.I.1a),"ba":L.2y(1C.I.1a),"b9":L.2y(1C.I.1a)})}C(1q.M==2){E 15=2A;2A=1q[1]}C(!15)L.18(I.1a,2A||{});1k{C(L.4w(15))15.1y(18);1k 18(15)}q 18(15){15=15.2Q();C(!I.1a.3u[15])I.1a.3u[15]={};L.18(I.1a.3u[15],2A)}q 7p(2A,5G,7t){7t=7t||1t;14(E 1x 1P 2A){E G=2A[1x];C(!L.2u(G))3c;C(!7t||!(1x 1P 5G))5G[1x]=G.4u()}}q b0(15){E 1M;E 8O={"eQ":"eP","b9":"eO","P":"eN","eM":"eL","eK":"eJ","eI":"eH","eG":"eF","eE":"eD","eC":"5F","eB":"5F","eA":"5F","ez":"5F","ey":"5F","ew":"5F","Q":"ev","eu":"b8","et":"b8","A":"es","b7":"er","eq":"ep","eo":"b6","em":"b6","b5":"8Q","b4":"8Q","7s":"8Q","b3":"el","b2":"b1","8P":"b1","ek":"ej","ei":"eh"};C(8O[15])1M=\'8N\'+8O[15]+\'I\';C(1B[1M])o 1B[1M];1M=\'8N\'+15+\'I\';C(1B[1M])o 1B[1M];1M=\'8N\'+15.7n()+\'I\';C(1B[1M])o 1B[1M];1B[1M]={};1B[1M].1j=1d.41(15).4S;o 1B[1M]}C(F.6y){7p(I.1a,6x.1j);7p(I.1a.7r,6x.1j,1p)}C(F.7q){14(E 8L 1P I.1a.3u){E 1M=b0(8L);C(L.8M(1M))3c;7p(T[8L],1M.1j)}}L.18(I,I.1a);8K I.3u;C(I.18.7o)I.18.7o();I.2q={}};1d.eg={5D:q(){E 8J={};$w(\'2R 3t\').1y(q(d){E D=d.7n();8J[d]=5E[\'ef\'+D]||(1d.4p[\'aZ\'+D]||1d.2o[\'aZ\'+D])});o 8J},aY:q(){o B.5D().2R},aX:q(){o B.5D().3t},ee:q(){o I.54(1B.a1||1d.4p.4q||1d.2o.4q,1B.a0||1d.4p.4o||1d.2o.4o)}};E 19=2c.2m({2F:q(1z){B.1z=1z.3R();B.aW()},aW:q(){C(1h.3B.64&&!(/(\\[[\\w-]*?:|:3D)/).2M(B.1z))o B.aV();E e=B.1z,4i=19.6u,h=19.2a,c=19.6v,3s,p,m;C(19.53[e]){B.3G=19.53[e];o}B.3G=["B.3G = q(1n) {","E r = 1n, h = 19.2a, c = 1t, n;"];1O(e&&3s!=e&&(/\\S/).2M(e)){3s=e;14(E i 1P 4i){p=4i[i];C(m=e.1e(p)){B.3G.1g(L.2u(c[i])?c[i](m):1s 3f(c[i]).3e(m));e=e.1X(m[0],\'\');2e}}}B.3G.1g("o h.8x(n);\\n}");7m(B.3G.2w(\'\\n\'));19.53[B.1z]=B.3G},aV:q(){E e=B.1z,4i=19.6u,x=19.2t,3s,m;C(19.53[e]){B.2t=19.53[e];o}B.3G=[\'.//*\'];1O(e&&3s!=e&&(/\\S/).2M(e)){3s=e;14(E i 1P 4i){C(m=e.1e(4i[i])){B.3G.1g(L.2u(x[i])?x[i](m):1s 3f(x[i]).3e(m));e=e.1X(m[0],\'\');2e}}}B.2t=B.3G.2w(\'\');19.53[B.1z]=B.2t},6j:q(1n){1n=1n||1d;C(B.2t)o 1d.83(B.2t,1n);o B.3G(1n)},1e:q(k){B.8I=[];E e=B.1z,4i=19.6u,as=19.8C;E 3s,p,m;1O(e&&3s!==e&&(/\\S/).2M(e)){3s=e;14(E i 1P 4i){p=4i[i];C(m=e.1e(p)){C(as[i]){B.8I.1g([i,L.2y(m)]);e=e.1X(m[0],\'\')}1k{o B.6j(1d).1L(k)}}}}E 1e=1p,1c,2r;14(E i=0,7l;7l=B.8I[i];i++){1c=7l[0],2r=7l[1];C(!19.8C[1c](k,2r)){1e=1t;2e}}o 1e},2x:q(){o B.1z},2B:q(){o"#<19:"+B.1z.2B()+">"}});L.18(19,{53:{},2t:{4A:"//*",1H:"/*",52:"/6w-4C::*[1]",6s:\'/6w-4C::*\',15:q(m){C(m[1]==\'*\')o\'\';o"[aU-1c()=\'"+m[1].2i()+"\' 8H aU-1c()=\'"+m[1].2Q()+"\']"},1i:"[66(28(\' \', @65, \' \'), \' #{1} \')]",1o:"[@1o=\'#{1}\']",5A:"[@#{1}]",2b:q(m){m[3]=m[5]||m[6];o 1s 3f(19.2t.6k[m[2]]).3e(m)},6q:q(m){E h=19.2t.2f[m[1]];C(!h)o\'\';C(L.2u(h))o h(m);o 1s 3f(19.2t.2f[m[1]]).3e(m)},6k:{\'=\':"[@#{1}=\'#{3}\']",\'!=\':"[@#{1}!=\'#{3}\']",\'^=\':"[ed-aT(@#{1}, \'#{3}\')]",\'$=\':"[5C(@#{1}, (3g-M(@#{1}) - 3g-M(\'#{3}\') + 1))=\'#{3}\']",\'*=\':"[66(@#{1}, \'#{3}\')]",\'~=\':"[66(28(\' \', @#{1}, \' \'), \' #{3} \')]",\'|=\':"[66(28(\'-\', @#{1}, \'-\'), \'-#{3}-\')]"},2f:{\'3E-1H\':\'[4y(8F-4C::*)]\',\'2s-1H\':\'[4y(6w-4C::*)]\',\'6n-1H\':\'[4y(8F-4C::* 8H 6w-4C::*)]\',\'6l\':"[3r(*) = 0 8E (3r(3W()) = 0 8H ec(3W(), \' \\t\\r\\n\', \'\') = \'\')]",\'3D\':"[@3D]",\'3p\':"[@3p]",\'aK\':"[4y(@3p)]",\'4y\':q(m){E e=m[6],p=19.6u,x=19.2t,3s,m,v;E 8G=[];1O(e&&3s!=e&&(/\\S/).2M(e)){3s=e;14(E i 1P p){C(m=e.1e(p[i])){v=L.2u(x[i])?x[i](m):1s 3f(x[i]).3e(m);8G.1g("("+v.5C(1,v.M-1)+")");e=e.1X(m[0],\'\');2e}}}o"[4y("+8G.2w(" 8E ")+")]"},\'1W-1H\':q(m){o 19.2t.2f.1W("(3r(./8F-4C::*) + 1) ",m)},\'1W-2s-1H\':q(m){o 19.2t.2f.1W("(3r(./6w-4C::*) + 1) ",m)},\'1W-2C-1D\':q(m){o 19.2t.2f.1W("1u() ",m)},\'1W-2s-2C-1D\':q(m){o 19.2t.2f.1W("(2s() + 1 - 1u()) ",m)},\'3E-2C-1D\':q(m){m[6]="1";o 19.2t.2f[\'1W-2C-1D\'](m)},\'2s-2C-1D\':q(m){m[6]="1";o 19.2t.2f[\'1W-2s-2C-1D\'](m)},\'6n-2C-1D\':q(m){E p=19.2t.2f;o p[\'3E-2C-1D\'](m)+p[\'2s-2C-1D\'](m)},1W:q(5B,m){E 3Z,1I=m[6],8D;C(1I==\'aN\')1I=\'2n+0\';C(1I==\'aM\')1I=\'2n+1\';C(3Z=1I.1e(/^(\\d+)$/))o\'[\'+5B+"= "+3Z[1]+\']\';C(3Z=1I.1e(/^(-?\\d*)?n(([+-])(\\d+))?/)){C(3Z[1]=="-")3Z[1]=-1;E a=3Z[1]?51(3Z[1]):1;E b=3Z[2]?51(3Z[2]):0;8D="[((#{5B} - #{b}) eb #{a} = 0) 8E "+"((#{5B} - #{b}) 1Y #{a} >= 0)]";o 1s 3f(8D).3e({5B:5B,a:a,b:b})}}}},6v:{15:\'n = h.15(n, r, "#{1}", c);   c = 1t;\',1i:\'n = h.1i(n, r, "#{1}", c); c = 1t;\',1o:\'n = h.1o(n, r, "#{1}", c);        c = 1t;\',5A:\'n = h.5A(n, r, "#{1}"); c = 1t;\',2b:q(m){m[3]=(m[5]||m[6]);o 1s 3f(\'n = h.2b(n, r, "#{1}", "#{3}", "#{2}"); c = 1t;\').3e(m)},6q:q(m){C(m[6])m[6]=m[6].1X(/"/g,\'\\\\"\');o 1s 3f(\'n = h.6q(n, "#{1}", "#{6}", r, c); c = 1t;\').3e(m)},4A:\'c = "4A";\',1H:\'c = "1H";\',52:\'c = "52";\',6s:\'c = "6s";\'},6u:{6s:/^\\s*~\\s*/,1H:/^\\s*>\\s*/,52:/^\\s*\\+\\s*/,4A:/^\\s/,15:/^\\s*(\\*|[\\w\\-]+)(\\b|$)?/,1o:/^#([\\w\\-\\*]+)(\\b|$)/,1i:/^\\.([\\w\\-\\*]+)(\\b|$)/,6q:/^:((3E|2s|1W|1W-2s|6n)(-1H|-2C-1D)|6l|3D|(en|ea)e9|4y)(\\((.*?)\\))?(\\b|$|(?=\\s)|(?=:))/,5A:/^\\[([\\w]+)\\]/,2b:/\\[((?:[\\w-]*:)?[\\w-]+)\\s*(?:([!^$*~|]?=)\\s*(([\'"])([^\\4]*?)\\4|([^\'"][^\\]]*?)))?\\]/},8C:{15:q(k,2r){o 2r[1].2Q()==k.15.2Q()},1i:q(k,2r){o I.7k(k,2r[1])},1o:q(k,2r){o k.1o===2r[1]},5A:q(k,2r){o I.3C(k,2r[1])},2b:q(k,2r){E 4z=I.4Z(k,2r[1]);o 19.6k[2r[2]](4z,2r[3])}},2a:{28:q(a,b){14(E i=0,J;J=b[i];i++)a.1g(J);o a},7i:q(N){14(E i=0,J;J=N[i];i++)J.3Y=1p;o N},5y:q(N){14(E i=0,J;J=N[i];i++)J.3Y=1U;o N},1f:q(1N,4g,6m){1N.3Y=1p;C(4g){14(E N=1N.4h,i=N.M-1,j=1;i>=0;i--){E J=N[i];C(J.3n==1&&(!6m||J.3Y))J.7j=j++}}1k{14(E i=0,j=1,N=1N.4h;J=N[i];i++)C(J.3n==1&&(!6m||J.3Y))J.7j=j++}},8x:q(N){C(N.M==0)o N;E O=[],n;14(E i=0,l=N.M;i<l;i++)C(!(n=N[i]).3Y){n.3Y=1p;O.1g(I.18(n))}o 19.2a.5y(O)},4A:q(N){E h=19.2a;14(E i=0,O=[],J;J=N[i];i++)h.28(O,J.3Q(\'*\'));o O},1H:q(N){E h=19.2a;14(E i=0,O=[],J;J=N[i];i++){14(E j=0,e8=[],1H;1H=J.4h[j];j++)C(1H.3n==1&&1H.15!=\'!\')O.1g(1H)}o O},52:q(N){14(E i=0,O=[],J;J=N[i];i++){E 6t=B.6o(J);C(6t)O.1g(6t)}o O},6s:q(N){E h=19.2a;14(E i=0,O=[],J;J=N[i];i++)h.28(O,I.4B(J));o O},6o:q(J){1O(J=J.3F)C(J.3n==1)o J;o 1l},6p:q(J){1O(J=J.aS)C(J.3n==1)o J;o 1l},15:q(N,1n,15,2H){15=15.2Q();E O=[],h=19.2a;C(N){C(2H){C(2H=="4A"){14(E i=0,J;J=N[i];i++)h.28(O,J.3Q(15));o O}1k N=B[2H](N);C(15=="*")o N}14(E i=0,J;J=N[i];i++)C(J.15.2Q()==15)O.1g(J);o O}1k o 1n.3Q(15)},1o:q(N,1n,1o,2H){E 2Y=$(1o),h=19.2a;C(!2Y)o[];C(!N&&1n==1d)o[2Y];C(N){C(2H){C(2H==\'1H\'){14(E i=0,J;J=N[i];i++)C(2Y.1N==J)o[2Y]}1k C(2H==\'4A\'){14(E i=0,J;J=N[i];i++)C(I.6Z(2Y,J))o[2Y]}1k C(2H==\'52\'){14(E i=0,J;J=N[i];i++)C(19.2a.6p(2Y)==J)o[2Y]}1k N=h[2H](N)}14(E i=0,J;J=N[i];i++)C(J==2Y)o[2Y];o[]}o(2Y&&I.6Z(2Y,1n))?[2Y]:[]},1i:q(N,1n,1i,2H){C(N&&2H)N=B[2H](N);o 19.2a.aR(N,1n,1i)},aR:q(N,1n,1i){C(!N)N=19.2a.4A([1n]);E aQ=\' \'+1i+\' \';14(E i=0,O=[],J,6r;J=N[i];i++){6r=J.1i;C(6r.M==0)3c;C(6r==1i||(\' \'+6r+\' \').1L(aQ))O.1g(J)}o O},5A:q(N,1n,2b){C(!N)N=1n.3Q("*");E O=[];14(E i=0,J;J=N[i];i++)C(I.3C(J,2b))O.1g(J);o O},2b:q(N,1n,2b,G,aP){C(!N)N=1n.3Q("*");E 2d=19.6k[aP],O=[];14(E i=0,J;J=N[i];i++){E 4z=I.4Z(J,2b);C(4z===1l)3c;C(2d(4z,G))O.1g(J)}o O},6q:q(N,1c,G,1n,2H){C(N&&2H)N=B[2H](N);C(!N)N=1n.3Q("*");o 19.2f[1c](N,G,1n)}},2f:{\'3E-1H\':q(N,G,1n){14(E i=0,O=[],J;J=N[i];i++){C(19.2a.6p(J))3c;O.1g(J)}o O},\'2s-1H\':q(N,G,1n){14(E i=0,O=[],J;J=N[i];i++){C(19.2a.6o(J))3c;O.1g(J)}o O},\'6n-1H\':q(N,G,1n){E h=19.2a;14(E i=0,O=[],J;J=N[i];i++)C(!h.6p(J)&&!h.6o(J))O.1g(J);o O},\'1W-1H\':q(N,1I,1n){o 19.2f.1W(N,1I,1n)},\'1W-2s-1H\':q(N,1I,1n){o 19.2f.1W(N,1I,1n,1p)},\'1W-2C-1D\':q(N,1I,1n){o 19.2f.1W(N,1I,1n,1t,1p)},\'1W-2s-2C-1D\':q(N,1I,1n){o 19.2f.1W(N,1I,1n,1p,1p)},\'3E-2C-1D\':q(N,1I,1n){o 19.2f.1W(N,"1",1n,1t,1p)},\'2s-2C-1D\':q(N,1I,1n){o 19.2f.1W(N,"1",1n,1p,1p)},\'6n-2C-1D\':q(N,1I,1n){E p=19.2f;o p[\'2s-2C-1D\'](p[\'3E-2C-1D\'](N,1I,1n),1I,1n)},aL:q(a,b,aO){C(a==0)o b>0?[b]:[];o $R(1,aO).3V([],q(3m,i){C(0==(i-b)%a&&(i-b)/a>=0)3m.1g(i);o 3m})},1W:q(N,1I,1n,4g,6m){C(N.M==0)o[];C(1I==\'aN\')1I=\'2n+0\';C(1I==\'aM\')1I=\'2n+1\';E h=19.2a,O=[],8A=[],m;h.7i(N);14(E i=0,J;J=N[i];i++){C(!J.1N.3Y){h.1f(J.1N,4g,6m);8A.1g(J.1N)}}C(1I.1e(/^\\d+$/)){1I=51(1I);14(E i=0,J;J=N[i];i++)C(J.7j==1I)O.1g(J)}1k C(m=1I.1e(/^(-?\\d*)?n(([+-])(\\d+))?/)){C(m[1]=="-")m[1]=-1;E a=m[1]?51(m[1]):1;E b=m[2]?51(m[2]):0;E 8B=19.2f.aL(a,b,N.M);14(E i=0,J,l=8B.M;J=N[i];i++){14(E j=0;j<l;j++)C(J.7j==8B[j])O.1g(J)}}h.5y(N);h.5y(8A);o O},\'6l\':q(N,G,1n){14(E i=0,O=[],J;J=N[i];i++){C(J.15==\'!\'||(J.5z&&!J.50.1e(/^\\s*$/)))3c;O.1g(J)}o O},\'4y\':q(N,3X,1n){E h=19.2a,e7,m;E 8z=1s 19(3X).6j(1n);h.7i(8z);14(E i=0,O=[],J;J=N[i];i++)C(!J.3Y)O.1g(J);h.5y(8z);o O},\'aK\':q(N,G,1n){14(E i=0,O=[],J;J=N[i];i++)C(!J.3p)O.1g(J);o O},\'3p\':q(N,G,1n){14(E i=0,O=[],J;J=N[i];i++)C(J.3p)O.1g(J);o O},\'3D\':q(N,G,1n){14(E i=0,O=[],J;J=N[i];i++)C(J.3D)O.1g(J);o O}},6k:{\'=\':q(2X,v){o 2X==v},\'!=\':q(2X,v){o 2X!=v},\'^=\':q(2X,v){o 2X.8y(v)},\'$=\':q(2X,v){o 2X.aJ(v)},\'*=\':q(2X,v){o 2X.1L(v)},\'~=\':q(2X,v){o(\' \'+2X+\' \').1L(\' \'+v+\' \')},\'|=\':q(2X,v){o(\'-\'+2X.2Q()+\'-\').1L(\'-\'+v.2Q()+\'-\')}},aI:q(22,1z){E 2r=1s 19(1z).6j(),h=19.2a;h.7i(2r);14(E i=0,O=[],k;k=22[i];i++)C(k.3Y)O.1g(k);h.5y(2r);o O},5r:q(22,1z,1f){C(L.7h(1z)){1f=1z;1z=1t}o 19.aI(22,1z||\'*\')[1f||0]},7g:q(k,5x){E aH=5x.2w(\',\'),5x=[];aH.aG(/(([\\w#:.~>+()\\s-]+|\\*|\\[.*?\\])+)\\s*(,|$)/,q(m){5x.1g(m[1].3R())});E O=[],h=19.2a;14(E i=0,l=5x.M,3X;i<l;i++){3X=1s 19(5x[i].3R());h.28(O,3X.6j(k))}o(l>1)?h.8x(O):O}});q $$(){o 19.7g(1d,$A(1q))}E 1C={8s:q(1v){$(1v).8s();o 1v},aF:q(22,U){C(4f U!=\'Y\')U={3q:!!U};1k C(U.3q===1U)U.3q=1p;E 1m,G,8w=1t,4X=U.4X;E 7f=22.3V({},q(1r,k){C(!k.3p&&k.1c){1m=k.1c;G=$(k).2T();C(G!=1l&&(k.1D!=\'4X\'||(!8w&&4X!==1t&&(!4X||1m==4X)&&(8w=1p)))){C(1m 1P 1r){C(!L.4w(1r[1m]))1r[1m]=[1r[1m]];1r[1m].1g(G)}1k 1r[1m]=G}}o 1r});o U.3q?7f:L.4s(7f)}};1C.1a={6g:q(1v,U){o 1C.aF(1C.5t(1v),U)},5t:q(1v){o $A($(1v).3Q(\'*\')).3V([],q(22,1H){C(1C.I.5u[1H.15.2i()])22.1g(I.18(1H));o 22})},e6:q(1v,7d,1c){1v=$(1v);E 7e=1v.3Q(\'4x\');C(!7d&&!1c)o $A(7e).2N(I.18);14(E i=0,8v=[],M=7e.M;i<M;i++){E 4x=7e[i];C((7d&&4x.1D!=7d)||(1c&&4x.1c!=1c))3c;8v.1g(I.18(4x))}o 8v},8r:q(1v){1v=$(1v);1C.5t(1v).7c(\'8r\');o 1v},8q:q(1v){1v=$(1v);1C.5t(1v).7c(\'8q\');o 1v},aD:q(1v){E 22=$(1v).5t().5w(q(k){o\'7b\'!=k.1D&&!k.3p});E 8u=22.5w(q(k){o k.3C(\'7a\')&&k.7a>=0}).aE(q(k){o k.7a}).3E();o 8u?8u:22.8f(q(k){o[\'4x\',\'2L\',\'8p\'].1L(k.15.2i())})},e5:q(1v){1v=$(1v);1v.aD().aA();o 1v},3d:q(1v,U){1v=$(1v),U=L.2y(U||{});E 2W=U.4e,5v=1v.4Z(\'5v\')||\'\';C(5v.62())5v=1B.e4.aC;U.4e=1v.6g(1p);C(2W){C(L.2V(2W))2W=2W.79();L.18(U.4e,2W)}C(1v.3C(\'1F\')&&!U.1F)U.1F=1v.1F;o 1s 1Q.4Y(5v,U)}};1C.I={8t:q(k){$(k).8t();o k},2L:q(k){$(k).2L();o k}};1C.I.1a={6g:q(k){k=$(k);C(!k.3p&&k.1c){E G=k.2T();C(G!=1U){E 1A={};1A[k.1c]=G;o L.4s(1A)}}o\'\'},2T:q(k){k=$(k);E 1F=k.15.2i();o 1C.I.5u[1F](k)},e3:q(k,G){k=$(k);E 1F=k.15.2i();1C.I.5u[1F](k,G);o k},aB:q(k){$(k).G=\'\';o k},e2:q(k){o $(k).G!=\'\'},aA:q(k){k=$(k);1V{k.8t();C(k.2L&&(k.15.2i()!=\'4x\'||![\'8k\',\'8s\',\'4X\'].1L(k.1D)))k.2L()}20(e){}o k},8r:q(k){k=$(k);k.e1();k.3p=1p;o k},8q:q(k){k=$(k);k.3p=1t;o k}};E e0=1C.I;E $F=1C.I.1a.2T;1C.I.5u={4x:q(k,G){5s(k.1D.2i()){2G\'ar\':2G\'aq\':o 1C.I.5u.az(k,G);6f:o 1C.I.5u.8p(k,G)}},az:q(k,G){C(G===1U)o k.3D?k.G:1l;1k k.3D=!!G},8p:q(k,G){C(G===1U)o k.G;1k k.G=G},2L:q(k,1f){C(1f===1U)o B[k.1D==\'2L-dZ\'?\'ax\':\'aw\'](k);1k{E 3o,G,ay=!L.4w(1f);14(E i=0,M=k.M;i<M;i++){3o=k.U[i];G=B.78(3o);C(ay){C(G==1f){3o.8o=1p;o}}1k 3o.8o=1f.1L(G)}}},ax:q(k){E 1f=k.dY;o 1f>=0?B.78(k.U[1f]):1l},aw:q(k){E 1R,M=k.M;C(!M)o 1l;14(E i=0,1R=[];i<M;i++){E 3o=k.U[i];C(3o.8o)1R.1g(B.78(3o))}o 1R},78:q(3o){o I.18(3o).3C(\'G\')?3o.G:3o.3W}};4W.8m=2c.2m(av,{2F:q($4d,k,4c,2U){$4d(2U,4c);B.k=$(k);B.4v=B.2T()},8n:q(){E G=B.2T();C(L.2V(B.4v)&&L.2V(G)?B.4v!=G:29(B.4v)!=29(G)){B.2U(B.k,G);B.4v=G}}});1C.I.au=2c.2m(4W.8m,{2T:q(){o 1C.I.2T(B.k)}});1C.au=2c.2m(4W.8m,{2T:q(){o 1C.6g(B.k)}});4W.6h=2c.2m({2F:q(k,2U){B.k=$(k);B.2U=2U;B.4v=B.2T();C(B.k.15.2i()==\'1v\')B.at();1k B.6i(B.k)},8l:q(){E G=B.2T();C(B.4v!=G){B.2U(B.k,G);B.4v=G}},at:q(){1C.5t(B.k).1y(B.6i,B)},6i:q(k){C(k.1D){5s(k.1D.2i()){2G\'ar\':2G\'aq\':1G.4t(k,\'dX\',B.8l.1E(B));2e;6f:1G.4t(k,\'dW\',B.8l.1E(B));2e}}}});1C.I.6h=2c.2m(4W.6h,{2T:q(){o 1C.I.2T(B.k)}});1C.6h=2c.2m(4W.6h,{2T:q(){o 1C.6g(B.k)}});C(!1B.1G)E 1G={};L.18(1G,{dV:8,dU:9,dT:13,dS:27,dR:37,dQ:38,dP:39,dO:40,dN:46,dM:36,dL:35,dK:33,dJ:34,dI:45,2q:{},8i:q(1b){E k;5s(1b.1D){2G\'dH\':k=1b.dG;2e;2G\'dF\':k=1b.2P;2e;6f:o 1l}o I.18(k)}});1G.1a=(q(){E 4U;C(1h.1Z.4b){E ap={0:1,1:4,2:2};4U=q(1b,4V){o 1b.8k==ap[4V]}}1k C(1h.1Z.4Q){4U=q(1b,4V){5s(4V){2G 0:o 1b.77==1&&!1b.ao;2G 1:o 1b.77==1&&1b.ao;6f:o 1t}}}1k{4U=q(1b,4V){o 1b.77?(1b.77===4V+1):(1b.8k===4V)}}o{dE:q(1b){o 4U(1b,0)},dD:q(1b){o 4U(1b,1)},dC:q(1b){o 4U(1b,2)},k:q(1b){E J=1G.18(1b).6V;o I.18(J.3n==6e.an?J.1N:J)},5r:q(1b,1z){E k=1G.k(1b);o k.1e(1z)?k:k.am(1z)},4T:q(1b){o{x:1b.aj||(1b.dB+(1d.4p.4q||1d.2o.4q)),y:1b.ai||(1b.dA+(1d.4p.4o||1d.2o.4o))}},dz:q(1b){o 1G.4T(1b).x},dy:q(1b){o 1G.4T(1b).y},8j:q(1b){1G.18(1b);1b.ak();1b.al();1b.dx=1p}}})();1G.18=(q(){E 2A=L.49(1G.1a).3V({},q(m,1c){m[1c]=1G.1a[1c].4u();o m});C(1h.1Z.4b){L.18(2A,{al:q(){B.dw=1p},ak:q(){B.76=1t},2B:q(){o"[Y 1G]"}});o q(1b){C(!1b)o 1t;C(1b.75)o 1b;1b.75=1h.4a;E 4T=1G.4T(1b);L.18(1b,{6V:1b.dv,8i:1G.8i(1b),aj:4T.x,ai:4T.y});o L.18(1b,2A)}}1k{1G.1j=1G.1j||1d.6d("ac").4S;L.18(1G.1j,2A);o 1h.K}})();L.18(1G,(q(){E 2q=1G.2q;q 8e(k){C(k.8h)o k.8h;1q.5q.1o=1q.5q.1o||1;o k.8h=++1q.5q.1o}q 8d(1w){C(1w&&1w.1L(\':\'))o"ab";o 1w}q 72(1o){o 2q[1o]=2q[1o]||{}}q 73(1o,1w){E c=72(1o);o c[1w]=c[1w]||[]}q af(k,1w,2d){E 1o=8e(k);E c=73(1o,1w);C(c.5p("2d").1L(2d))o 1t;E 1J=q(1b){C(!1G||!1G.18||(1b.1w&&1b.1w!=1w))o 1t;1G.18(1b);2d.8g(k,1b)};1J.2d=2d;c.1g(1J);o 1J}q 8c(1o,1w,2d){E c=73(1o,1w);o c.8f(q(1J){o 1J.2d==2d})}q ad(1o,1w,2d){E c=72(1o);C(!c[1w])o 1t;c[1w]=c[1w].60(8c(1o,1w,2d))}q ag(){14(E 1o 1P 2q)14(E 1w 1P 2q[1o])2q[1o][1w]=1l}C(1B.74){1B.74("ah",ag)}o{4t:q(k,1w,2d){k=$(k);E 1c=8d(1w);E 1J=af(k,1w,2d);C(!1J)o k;C(k.71){k.71(1c,1J,1t)}1k{k.74("5o"+1c,1J)}o k},4R:q(k,1w,2d){k=$(k);E 1o=8e(k),1c=8d(1w);C(!2d&&1w){73(1o,1w).1y(q(1J){k.4R(1w,1J.2d)});o k}1k C(!1w){L.49(72(1o)).1y(q(1w){k.4R(1w)});o k}E 1J=8c(1o,1w,2d);C(!1J)o k;C(k.ae){k.ae(1c,1J,1t)}1k{k.du("5o"+1c,1J)}ad(1o,1w,2d);o k},5n:q(k,1w,3m){k=$(k);C(k==1d&&1d.6d&&!k.aa)k=1d.4p;C(1d.6d){E 1b=1d.6d("ac");1b.dt("ab",1p,1p)}1k{E 1b=1d.ds();1b.a9="dr"}1b.1w=1w;1b.3m=3m||{};C(1d.6d){k.aa(1b)}1k{k.dq(1b.a9,1b)}o 1b}}})());L.18(1G,1G.1a);I.5Z({5n:1G.5n,4t:1G.4t,4R:1G.4R});L.18(1d,{5n:I.1a.5n.4u(),4t:I.1a.4t.4u(),4R:I.1a.4R.4u()});(q(){E 3U,8b=1t;q 6b(){C(8b)o;C(3U)1B.a8(3U);1d.5n("dp:a6");8b=1p}C(1d.71){C(1h.1Z.4Q){3U=1B.a7(q(){C(/a6|a3/.2M(1d.2O))6b()},0);1G.4t(1B,"dn",6b)}1k{1d.71("dm",6b,1t)}}1k{1d.6c("<4P 1o=a4 3T a5=//:><\\/4P>");$("a4").70=q(){C(B.2O=="a3"){B.70=1l;6b()}}}})();3S.4s=L.4s;E dl={3l:I.a2};I.1a.dk=I.1a.6Z;E dj={di:q(k,V){o I.2z(k,{4O:V})},dh:q(k,V){o I.2z(k,{2p:V})},dg:q(k,V){o I.2z(k,{4N:V})},df:q(k,V){o I.2z(k,{6Y:V})}};E $3c=1s de(\'"4r $3c" dd dc, db "o" da\');E 88={9Z:1t,87:q(){B.9X=1B.a1||1d.4p.4q||1d.2o.4q||0;B.9W=1B.a0||1d.4p.4o||1d.2o.4o||0},d9:q(k,x,y){C(B.9Z)o B.9Y(k,x,y);B.69=x;B.6a=y;B.3b=I.4M(k);o(y>=B.3b[1]&&y<B.3b[1]+k.5m&&x>=B.3b[0]&&x<B.3b[0]+k.5l)},9Y:q(k,x,y){E 8a=I.85(k);B.69=x+8a[0]-B.9X;B.6a=y+8a[1]-B.9W;B.3b=I.4M(k);o(B.6a>=B.3b[1]&&B.6a<B.3b[1]+k.5m&&B.69>=B.3b[0]&&B.69<B.3b[0]+k.5l)},d8:q(6X,k){C(!6X)o 0;C(6X==\'d7\')o((B.3b[1]+k.5m)-B.6a)/k.5m;C(6X==\'d6\')o((B.3b[0]+k.5l)-B.69)/k.5l},4M:I.1a.4M,68:I.1a.68,89:q(k){88.87();o I.89(k)},86:q(k){88.87();o I.86(k)},d5:I.1a.85,48:I.1a.6W,d4:I.1a.67,2y:q(24,6V,U){U=U||{};o I.9V(6V,24,U)}};C(!1d.6T)1d.6T=q(9U){q 84(1c){o 1c.62()?1l:"[66(28(\' \', @65, \' \'), \' "+1c+" \')]"}9U.6T=1h.3B.64?q(k,1i){1i=1i.2x().3R();E 82=/\\s/.2M(1i)?$w(1i).2N(84).2w(\'\'):84(1i);o 82?1d.83(\'.//*\'+82,k):[]}:q(k,1i){1i=1i.2x().3R();E 22=[],63=(/\\s/.2M(1i)?$w(1i):1l);C(!63&&!1i)o 22;E N=$(k).3Q(\'*\');1i=\' \'+1i+\' \';14(E i=0,1H,cn;1H=N[i];i++){C(1H.1i&&(cn=\' \'+1H.1i+\' \')&&(cn.1L(1i)||(63&&63.81(q(1c){o!1c.2x().62()&&cn.1L(\' \'+1c+\' \')}))))22.1g(I.18(1H))}o 22};o q(1i,6U){o $(6U||1d.2o).6T(1i)}}(I.1a);I.6S=2c.2m();I.6S.1j={2F:q(k){B.k=$(k)},47:q(W){B.k.1i.4L(/\\s+/).2L(q(1c){o 1c.M>0}).47(W)},61:q(1i){B.k.1i=1i},d3:q(80){C(B.1L(80))o;B.61($A(B).28(80).2w(\' \'))},9T:q(7Z){C(!B.1L(7Z))o;B.61($A(B).60(7Z).2w(\' \'))},2x:q(){o $A(B).2w(\' \')}};L.18(I.6S.1j,2E);I.5Z();',62,1095,'||||||||||||||||||||element||||return||function|||||||||||this|if||var||value||Element|node||Object|length|nodes|results||||||options|content|iterator||object||||||for|tagName||style|extend|Selector|Methods|event|name|document|match|index|push|Prototype|className|prototype|else|null|key|root|id|true|arguments|result|new|false|position|form|eventName|property|each|expression|pair|window|Form|type|bind|method|Event|child|formula|wrapper|context|include|klass|parentNode|while|in|Ajax|values|attribute|transport|undefined|try|nth|replace|div|Browser|catch|args|elements||source|insertions|pattern||concat|String|handlers|attr|Class|handler|break|pseudos|filter|Array|toLowerCase|getStyle|_getEv|attributes|create||body|top|cache|matches|last|xpath|isFunction|response|join|toString|clone|insert|methods|inspect|of|array|Enumerable|initialize|case|combinator|left|valueT|valueL|select|test|map|readyState|toElement|toUpperCase|width|parent|getValue|callback|isString|params|nv|targetNode|range||ancestor|url||||||||iterable|offset|continue|request|evaluate|Template|string|responseText|onComplete|gsub|__method|display|memo|nodeType|opt|disabled|hash|count|le|height|ByTag|names|slice|container|toJSON|toArray|replacement|BrowserFeatures|hasAttribute|checked|first|nextSibling|matcher|_attributeTranslations|stripScripts|toHTML|isElement|opacity|px|pos|apply|json|getElementsByTagName|strip|Hash|defer|timer|inject|text|selector|_counted|mm||createElement|els|_object|indexOf|||_each|offsetParent|keys|emptyFunction|IE|frequency|super|parameters|typeof|reverse|childNodes|ps|tags|RegExp|start|responder|properties|scrollTop|documentElement|scrollLeft|throw|toQueryString|observe|methodize|lastValue|isArray|input|not|nodeValue|descendant|nextSiblings|sibling|table|evalScripts|styles|success|status|toPaddedString|number|parts|split|cumulativeOffset|bottom|before|script|WebKit|stopObserving|__proto__|pointer|isButton|code|Abstract|submit|Request|readAttribute|innerHTML|Number|adjacent|_cache|_returnOffset|_insertionTranslations|update|Opera|absolute|offsetLeft|offsetTop|userAgent|navigator|currentStyle|_overflow|shift|decay|insertion|dispatchException|headers|end|offsetWidth|offsetHeight|fire|on|pluck|callee|findElement|switch|getElements|Serializers|action|findAll|expressions|unmark|firstChild|attrPresence|fragment|substring|getDimensions|self|Heading|destination|initializeRange|tbody|appendChild|fragments|setOpacity|parseFloat|delta|previousSiblings|receiver|evalJSON|getHeader|interpret|Responders|extras|exclusive|item|template|truncation|addMethods|without|set|blank|classNames|XPath|class|contains|viewportOffset|positionedOffset|xcomp|ycomp|fireContentLoadedEvent|write|createEvent|Node|default|serialize|EventObserver|registerCallback|findElements|operators|empty|ofType|only|nextElementSibling|previousElementSibling|pseudo|nodeClassName|laterSibling|next|patterns|criteria|following|HTMLElement|ElementExtensions|adjacency|removeChild|_flag|relative|nextAncestor|writeAttribute|descendants|ancestors|onTimerEvent|getStatus|xml|state|contentType|post|_|responders|fillWith|ctx|expr|ClassNames|getElementsByClassName|parentElement|target|getOffsetParent|mode|after|descendantOf|onreadystatechange|addEventListener|getCacheForID|getWrappersForEventName|attachEvent|_extendedByPrototype|returnValue|which|optionValue|toQueryParams|tabIndex|hidden|invoke|typeName|inputs|data|findChildElements|isNumber|mark|nodeIndex|hasClassName|token|eval|capitalize|refresh|copy|SpecificElementExtensions|Simulated|TBODY|onlyIfAbsent|tr|insertBefore|times|_getContentFromAnonymousElement|00001|Gecko|read|_getAttr|title|none|auto|cssFloat|static|wrap|right|curry|sourceIndex|elementClassName|recursivelyCollect|application|headerJSON|dispatch|asynchronous|onCreate|toObject|detect|escapeHTML|str|charAt|ScriptFragment|currentlyExecuting|classNameToRemove|classNameToAdd|all|cond|_getElementsByXPath|iter|cumulativeScrollOffset|relativize|prepare|Position|absolutize|offsetcache|fired|findWrapper|getDOMEventName|getEventID|find|call|_eventID|relatedTarget|stop|button|onElementEvent|TimedObserver|execute|selected|textarea|enable|disable|reset|focus|firstByIndex|matchingInputs|submitted|unique|startsWith|exclusions|indexed|indices|assertions|predicate|and|preceding|exclusion|or|tokens|dimensions|delete|tag|isUndefined|HTML|trans|TD|TableSection|has|html|replaceChild|cssText|getAttribute|alpha|stripAlpha|camelize|styleFloat|float|setStyle|proceed|_getStyle|createRange|forElement|offsets|overflow|_madePositioned|opera|visibility|elementStyle|css|query|updater|delay|Base|failure|Content|decodeURIComponent|getAllResponseHeaders|getResponseHeader|statusText|Response|Complete|exception|unfilterJSON|evalJS|_complete|respondToReadyState|encoding|Version|onStateChange|get|activeRequestCount|succ|toTemplateReplacements|toQueryPair|Test|lastIndexOf|_reverse|collect|falses|trues|found|slices|prepareReplacement|escapedString|character|camelized|len|Function|_methodized|superclass|subclass|remove|instanceMethods|clonePosition|deltaY|deltaX|withinIncludingScrolloffsets|includeScrollOffsets|pageYOffset|pageXOffset|toggle|complete|__onDOMContentLoaded|src|loaded|setInterval|clearInterval|eventType|dispatchEvent|dataavailable|HTMLEvents|destroyWrapper|removeEventListener|createWrapper|destroyCache|onunload|pageY|pageX|preventDefault|stopPropagation|up|TEXT_NODE|metaKey|buttonMap|radio|checkbox||registerFormCallbacks|Observer|PeriodicalExecuter|selectMany|selectOne|single|inputSelector|activate|clear|href|findFirstElement|sortBy|serializeElements|scan|exprs|matchElements|endsWith|enabled|getIndices|odd|even|total|operator|needle|byClassName|previousSibling|with|local|compileXPathMatcher|compileMatcher|getHeight|getWidth|client|findDOMClass|TableCell|TH|TR|TFOOT|THEAD|TableCol|IMG|Mod|TEXTAREA|SELECT|getAttributeNode|td|outerHTML|createTextNode|_getAttrNode|htmlFor|100|removeAttribute|zoom|_readAttribute|immediateDescendants|counter|identify|setHeight|setWidth|setTop|setLeft|BODY|_originalWidth|_originalHeight|_originalLeft|_originalTop|clientHeight|clientWidth|originalHeight|originalWidth|originalVisibility|originalPosition|originalDisplay|scrollTo|compareDocumentPosition|nextNode|addClassName|removeClassName|setAttribute|firstDescendant|createContextualFragment|ownerDocument|show|hide|visible|ELEMENT_NODE|Updater|lastText|updateComplete|updateContent|param|sanitizeJSON|force|_getResponseJSON|escape|JSON|_getHeaderJSON|getStatusText|responseXML|Events|onException|evalResponse|requestHeaders|2005|overrideMimeType|XMLHttpRequest|setRequestHeaders|KHTML|Safari|getTransport|register|XMLHTTP|ActiveXObject|these|Try|ObjectRange|from|encodeURIComponent||isHash|radix|arrayLength|forEach|size|uniq|sorted|inline|flatten|any|collections|eachSlice|Pattern|exec|comp|lt|amp|unescapeHTML|isJSON|sanitize|JSONFilter|sub|useDoubleQuotes|charCodeAt|specialChar|separator|stripTags|extractScripts|matchOne|scriptTag|matchAll|img|1000|lambda|timeout|argumentNames|instanceof|constructor|valueOf|subclasses|MobileSafari|add|page|realOffset|horizontal|vertical|overlap|within|instead|use|deprecated|is|Error|After|Bottom|Top|Before|Insertion|childOf|Toggle|DOMContentLoaded|load||dom|fireEvent|ondataavailable|createEventObject|initEvent|detachEvent|srcElement|cancelBubble|stopped|pointerY|pointerX|clientY|clientX|isRightClick|isMiddleClick|isLeftClick|mouseout|fromElement|mouseover|KEY_INSERT|KEY_PAGEDOWN|KEY_PAGEUP|KEY_END|KEY_HOME|KEY_DELETE|KEY_DOWN|KEY_RIGHT|KEY_UP|KEY_LEFT|KEY_ESC|KEY_RETURN|KEY_TAB|KEY_BACKSPACE|change|click|selectedIndex|one|Field|blur|present|setValue|location|focusFirstElement|getInputs|selectorType|children|abled|dis|mod|translate|starts|getScrollOffsets|inner|viewport|IFrame|IFRAME|FrameSet|FRAMESET|TableRow|COLGROUP||COL|TableCaption|CAPTION|Image|Anchor|DEL|INS|Quote|H6||H5|H4|H3|H2|H1|Directory|DIR|DList|DL|OList|OL|UList|UL|FieldSet|FIELDSET|Paragraph|TextArea|OptGroup|OPTGROUP|INPUT|FORM|specified|TABLE|setStartAfter|afterEnd|beforeEnd|collapse|selectNodeContents|afterBegin|setStartBefore|beforeBegin|999999|rv|onchange|onselect|onreset|onsubmit|onkeyup|onkeydown|onkeypress|onblur|onfocus|onmouseout|onmousemove|onmouseover|onmouseup|onmousedown|ondblclick|onclick|onload|multiple|readonly|longDesc|readOnly|maxLength|encType|accessKey|dateTime|vAlign|rowSpan|colSpan|normal|hasLayout|insertAdjacentHTML|childElements|getElementsBySelector|undoClipping|makeClipping|undoPositioned|makePositioned|block|getOpacity|getComputedStyle|defaultView|cleanWhitespace|toggleClassName|anonymous_element_|previous|down|siblings|selectNode|cloneNode|NOTATION_NODE|DOCUMENT_FRAGMENT_NODE|DOCUMENT_TYPE_NODE|DOCUMENT_NODE|COMMENT_NODE|PROCESSING_INSTRUCTION_NODE|ENTITY_NODE|ENTITY_REFERENCE_NODE|CDATA_SECTION_NODE|ATTRIBUTE_NODE|snapshotItem|snapshotLength|ORDERED_NODE_SNAPSHOT_TYPE|XPathResult|getElementById|clearTimeout|PeriodicalUpdater|getAllHeaders|responseJSON|Interactive|Loaded|Loading|Uninitialized|ecma|java|Failure||Success|300|200|setRequestHeader|close|Connection|charset|javascript|Accept|With||Requested|send|postBody|open|Konqueror|_method|UTF|urlencoded|www|unregister|Microsoft|Msxml2|merge|unset|bar|foo|Math|floor|ceil|round|abs|isFinite|toColorPart|isNaN|intersect|reduce|compact|NodeList|some|every|entries|member|pop|zip|sort|reject|partition|min|max|inGroupsOf|grep|parseQuery|interpolate|formed|Badly|SyntaxError|Eaeflnr|u00|x1f|x00|dasherize|underscore|fromCharCode|im|truncate|finally|getUTCSeconds|getUTCMinutes|getUTCHours|getUTCDate|getUTCMonth|getUTCFullYear|Date|01|setTimeout|bindAsEventListener|boolean|unknown|RangeError|secure|Mobile|Apple|AppleWebKit'.split('|'),0,{}))



String.prototype.parseColor=function(){var A="#";if(this.slice(0,4)=="rgb("){var _=this.slice(4,this.length-1).split(","),$=0;do A+=parseInt(_[$]).toColorPart();while(++$<3)}else if(this.slice(0,1)=="#"){if(this.length==4)for($=1;$<4;$++)A+=(this.charAt($)+this.charAt($)).toLowerCase();if(this.length==7)A=this.toLowerCase()}return(A.length==7?A:(arguments[0]||this))};Element.collectTextNodes=function(_){return $A($(_).childNodes).collect(function($){return($.nodeType==3?$.nodeValue:($.hasChildNodes()?Element.collectTextNodes($):""))}).flatten().join("")};Element.collectTextNodesIgnoreClass=function(_,A){return $A($(_).childNodes).collect(function($){return($.nodeType==3?$.nodeValue:(($.hasChildNodes()&&!Element.hasClassName($,A))?Element.collectTextNodesIgnoreClass($,A):""))}).flatten().join("")};Element.setContentZoom=function(_,A){_=$(_);_.setStyle({fontSize:(A/100)+"em"});if(Prototype.Browser.WebKit)window.scrollBy(0,0);return _};Element.getInlineOpacity=function(_){return $(_).style.opacity||""};Element.forceRerendering=function(_){try{_=$(_);var A=document.createTextNode(" ");_.appendChild(A);_.removeChild(A)}catch(B){}};Array.prototype.call=function(){var $=arguments;this.each(function(_){_.apply(this,$)})};var Effect={_elementDoesNotExistError:{name:"ElementDoesNotExistError",message:"The specified DOM element does not exist, but is required for this effect to operate"},tagifyText:function(_){if(typeof Builder=="undefined")throw("Effect.tagifyText requires including script.aculo.us' builder.js library");var A="position:relative";if(Prototype.Browser.IE)A+=";zoom:1";_=$(_);$A(_.childNodes).each(function($){if($.nodeType==3){$.nodeValue.toArray().each(function(B){_.insertBefore(Builder.node("span",{style:A},B==" "?String.fromCharCode(160):B),$)});Element.remove($)}})},multiple:function(_,B){var D;if(((typeof _=="object")||(typeof _=="function"))&&(_.length))D=_;else D=$(_).childNodes;var C=Object.extend({speed:0.1,delay:0},arguments[2]||{}),A=C.delay;$A(D).each(function(_,$){new B(_,Object.extend(C,{delay:$*C.speed+A}))})},PAIRS:{"slide":["SlideDown","SlideUp"],"blind":["BlindDown","BlindUp"],"appear":["Appear","Fade"]},toggle:function(_,A){_=$(_);A=(A||"appear").toLowerCase();var B=Object.extend({queue:{position:"end",scope:(_.id||"global"),limit:1}},arguments[2]||{});Effect[_.visible()?Effect.PAIRS[A][1]:Effect.PAIRS[A][0]](_,B)}},Effect2=Effect;Effect.Transitions={linear:Prototype.K,sinoidal:function($){return(-Math.cos($*Math.PI)/2)+0.5},reverse:function($){return 1-$},flicker:function($){var $=((-Math.cos($*Math.PI)/4)+0.75)+Math.random()/4;return($>1?1:$)},wobble:function($){return(-Math.cos($*Math.PI*(9*$))/2)+0.5},pulse:function($,_){_=_||5;return(Math.round(($%(1/_))*_)==0?(($*_*2)-Math.floor($*_*2)):1-(($*_*2)-Math.floor($*_*2)))},none:function($){return 0},full:function($){return 1}};Effect.ScopedQueue=Class.create();Object.extend(Object.extend(Effect.ScopedQueue.prototype,Enumerable),{initialize:function(){this.effects=[];this.interval=null},_each:function($){this.effects._each($)},add:function(_){var A=new Date().getTime(),$=(typeof _.options.queue=="string")?_.options.queue:_.options.queue.position;switch($){case"front":this.effects.findAll(function($){return $.state=="idle"}).each(function($){$.startOn+=_.finishOn;$.finishOn+=_.finishOn});break;case"with-last":A=this.effects.pluck("startOn").max()||A;break;case"end":A=this.effects.pluck("finishOn").max()||A;break}_.startOn+=A;_.finishOn+=A;if(!_.options.queue.limit||(this.effects.length<_.options.queue.limit))this.effects.push(_);if(!this.interval)this.interval=setInterval(this.loop.bind(this),15)},remove:function($){this.effects=this.effects.reject(function(_){return _==$});if(this.effects.length==0){clearInterval(this.interval);this.interval=null}},loop:function(){var A=new Date().getTime();for(var _=0,$=this.effects.length;_<$;_++)this.effects[_]&&this.effects[_].loop(A)}});Effect.Queues={instances:$H(),get:function($){if(typeof $!="string")return $;if(!this.instances[$])this.instances[$]=new Effect.ScopedQueue();return this.instances[$]}};Effect.Queue=Effect.Queues.get("global");Effect.DefaultOptions={transition:Effect.Transitions.sinoidal,duration:1,fps:100,sync:false,from:0,to:1,delay:0,queue:"parallel"};Effect.Base=function(){};Effect.Base.prototype={position:null,start:function(options){function codeForEvent(_,$){return((_[$+"Internal"]?"this.options."+$+"Internal(this);":"")+(_[$]?"this.options."+$+"(this);":""))}if(options.transition===false)options.transition=Effect.Transitions.linear;this.options=Object.extend(Object.extend({},Effect.DefaultOptions),options||{});this.currentFrame=0;this.state="idle";this.startOn=this.options.delay*1000;this.finishOn=this.startOn+(this.options.duration*1000);this.fromToDelta=this.options.to-this.options.from;this.totalTime=this.finishOn-this.startOn;this.totalFrames=this.options.fps*this.options.duration;eval("this.render = function(pos){ "+"if(this.state==\"idle\"){this.state=\"running\";"+codeForEvent(options,"beforeSetup")+(this.setup?"this.setup();":"")+codeForEvent(options,"afterSetup")+"};if(this.state==\"running\"){"+"pos=this.options.transition(pos)*"+this.fromToDelta+"+"+this.options.from+";"+"this.position=pos;"+codeForEvent(options,"beforeUpdate")+(this.update?"this.update(pos);":"")+codeForEvent(options,"afterUpdate")+"}}");this.event("beforeStart");if(!this.options.sync)Effect.Queues.get(typeof this.options.queue=="string"?"global":this.options.queue.scope).add(this)},loop:function(A){if(A>=this.startOn){if(A>=this.finishOn){this.render(1);this.cancel();this.event("beforeFinish");if(this.finish)this.finish();this.event("afterFinish");return}var _=(A-this.startOn)/this.totalTime,$=Math.round(_*this.totalFrames);if($>this.currentFrame){this.render(_);this.currentFrame=$}}},cancel:function(){if(!this.options.sync)Effect.Queues.get(typeof this.options.queue=="string"?"global":this.options.queue.scope).remove(this);this.state="finished"},event:function($){if(this.options[$+"Internal"])this.options[$+"Internal"](this);if(this.options[$])this.options[$](this)},inspect:function(){var $=$H();for(property in this)if(typeof this[property]!="function")$[property]=this[property];return"#<Effect:"+$.inspect()+",options:"+$H(this.options).inspect()+">"}};Effect.Parallel=Class.create();Object.extend(Object.extend(Effect.Parallel.prototype,Effect.Base.prototype),{initialize:function($){this.effects=$||[];this.start(arguments[1])},update:function($){this.effects.invoke("render",$)},finish:function($){this.effects.each(function(_){_.render(1);_.cancel();_.event("beforeFinish");if(_.finish)_.finish($);_.event("afterFinish")})}});Effect.Event=Class.create();Object.extend(Object.extend(Effect.Event.prototype,Effect.Base.prototype),{initialize:function(){var $=Object.extend({duration:0},arguments[0]||{});this.start($)},update:Prototype.emptyFunction});Effect.Opacity=Class.create();Object.extend(Object.extend(Effect.Opacity.prototype,Effect.Base.prototype),{initialize:function(_){this.element=$(_);if(!this.element)throw(Effect._elementDoesNotExistError);if(Prototype.Browser.IE&&(!this.element.currentStyle.hasLayout))this.element.setStyle({zoom:1});var A=Object.extend({from:this.element.getOpacity()||0,to:1},arguments[1]||{});this.start(A)},update:function($){this.element.setOpacity($)}});Effect.Move=Class.create();Object.extend(Object.extend(Effect.Move.prototype,Effect.Base.prototype),{initialize:function(_){this.element=$(_);if(!this.element)throw(Effect._elementDoesNotExistError);var A=Object.extend({x:0,y:0,mode:"relative"},arguments[1]||{});this.start(A)},setup:function(){this.element.makePositioned();this.originalLeft=parseFloat(this.element.getStyle("left")||"0");this.originalTop=parseFloat(this.element.getStyle("top")||"0");if(this.options.mode=="absolute"){this.options.x=this.options.x-this.originalLeft;this.options.y=this.options.y-this.originalTop}},update:function($){this.element.setStyle({left:Math.round(this.options.x*$+this.originalLeft)+"px",top:Math.round(this.options.y*$+this.originalTop)+"px"})}});Effect.MoveBy=function(_,A,$){return new Effect.Move(_,Object.extend({x:$,y:A},arguments[3]||{}))};Effect.Scale=Class.create();Object.extend(Object.extend(Effect.Scale.prototype,Effect.Base.prototype),{initialize:function(_,A){this.element=$(_);if(!this.element)throw(Effect._elementDoesNotExistError);var B=Object.extend({scaleX:true,scaleY:true,scaleContent:true,scaleFromCenter:false,scaleMode:"box",scaleFrom:100,scaleTo:A},arguments[2]||{});this.start(B)},setup:function(){this.restoreAfterFinish=this.options.restoreAfterFinish||false;this.elementPositioning=this.element.getStyle("position");this.originalStyle={};["top","left","width","height","fontSize"].each(function($){this.originalStyle[$]=this.element.style[$]}.bind(this));this.originalTop=this.element.offsetTop;this.originalLeft=this.element.offsetLeft;var $=this.element.getStyle("font-size")||"100%";["em","px","%","pt"].each(function(_){if($.indexOf(_)>0){this.fontSize=parseFloat($);this.fontSizeType=_}}.bind(this));this.factor=(this.options.scaleTo-this.options.scaleFrom)/100;this.dims=null;if(this.options.scaleMode=="box")this.dims=[this.element.offsetHeight,this.element.offsetWidth];if(/^content/.test(this.options.scaleMode))this.dims=[this.element.scrollHeight,this.element.scrollWidth];if(!this.dims)this.dims=[this.options.scaleMode.originalHeight,this.options.scaleMode.originalWidth]},update:function(_){var $=(this.options.scaleFrom/100)+(this.factor*_);if(this.options.scaleContent&&this.fontSize)this.element.setStyle({fontSize:this.fontSize*$+this.fontSizeType});this.setDimensions(this.dims[0]*$,this.dims[1]*$)},finish:function($){if(this.restoreAfterFinish)this.element.setStyle(this.originalStyle)},setDimensions:function(A,_){var $={};if(this.options.scaleX)$.width=Math.round(_)+"px";if(this.options.scaleY)$.height=Math.round(A)+"px";if(this.options.scaleFromCenter){var B=(A-this.dims[0])/2,C=(_-this.dims[1])/2;if(this.elementPositioning=="absolute"){if(this.options.scaleY)$.top=this.originalTop-B+"px";if(this.options.scaleX)$.left=this.originalLeft-C+"px"}else{if(this.options.scaleY)$.top=-B+"px";if(this.options.scaleX)$.left=-C+"px"}}this.element.setStyle($)}});Effect.Highlight=Class.create();Object.extend(Object.extend(Effect.Highlight.prototype,Effect.Base.prototype),{initialize:function(_){this.element=$(_);if(!this.element)throw(Effect._elementDoesNotExistError);var A=Object.extend({startcolor:"#ffff99"},arguments[1]||{});this.start(A)},setup:function(){if(this.element.getStyle("display")=="none"){this.cancel();return}this.oldStyle={};if(!this.options.keepBackgroundImage){this.oldStyle.backgroundImage=this.element.getStyle("background-image");this.element.setStyle({backgroundImage:"none"})}if(!this.options.endcolor)this.options.endcolor=this.element.getStyle("background-color").parseColor("#ffffff");if(!this.options.restorecolor)this.options.restorecolor=this.element.getStyle("background-color");this._base=$R(0,2).map(function($){return parseInt(this.options.startcolor.slice($*2+1,$*2+3),16)}.bind(this));this._delta=$R(0,2).map(function($){return parseInt(this.options.endcolor.slice($*2+1,$*2+3),16)-this._base[$]}.bind(this))},update:function($){this.element.setStyle({backgroundColor:$R(0,2).inject("#",function(A,B,_){return A+(Math.round(this._base[_]+(this._delta[_]*$)).toColorPart())}.bind(this))})},finish:function(){this.element.setStyle(Object.extend(this.oldStyle,{backgroundColor:this.options.restorecolor}))}});Effect.ScrollTo=Class.create();Object.extend(Object.extend(Effect.ScrollTo.prototype,Effect.Base.prototype),{initialize:function(_){this.element=$(_);this.start(arguments[1]||{})},setup:function(){Position.prepare();var $=Position.cumulativeOffset(this.element);if(this.options.offset)$[1]+=this.options.offset;var _=window.innerHeight?window.height-window.innerHeight:document.body.scrollHeight-(document.documentElement.clientHeight?document.documentElement.clientHeight:document.body.clientHeight);this.scrollStart=Position.deltaY;this.delta=($[1]>_?_:$[1])-this.scrollStart},update:function($){Position.prepare();window.scrollTo(Position.deltaX,this.scrollStart+($*this.delta))}});Effect.Fade=function(_){_=$(_);var A=_.getInlineOpacity(),B=Object.extend({from:_.getOpacity()||1,to:0,afterFinishInternal:function($){if($.options.to!=0)return;$.element.hide().setStyle({opacity:A})}},arguments[1]||{});return new Effect.Opacity(_,B)};Effect.Appear=function(_){_=$(_);var A=Object.extend({from:(_.getStyle("display")=="none"?0:_.getOpacity()||0),to:1,afterFinishInternal:function($){$.element.forceRerendering()},beforeSetup:function($){$.element.setOpacity($.options.from).show()}},arguments[1]||{});return new Effect.Opacity(_,A)};Effect.Puff=function(A){A=$(A);var _={opacity:A.getInlineOpacity(),position:A.getStyle("position"),top:A.style.top,left:A.style.left,width:A.style.width,height:A.style.height};return new Effect.Parallel([new Effect.Scale(A,200,{sync:true,scaleFromCenter:true,scaleContent:true,restoreAfterFinish:true}),new Effect.Opacity(A,{sync:true,to:0})],Object.extend({duration:1,beforeSetupInternal:function($){Position.absolutize($.effects[0].element)},afterFinishInternal:function($){$.effects[0].element.hide().setStyle(_)}},arguments[1]||{}))};Effect.BlindUp=function(_){_=$(_);_.makeClipping();return new Effect.Scale(_,0,Object.extend({scaleContent:false,scaleX:false,restoreAfterFinish:true,afterFinishInternal:function($){$.element.hide().undoClipping()}},arguments[1]||{}))};Effect.BlindDown=function(_){_=$(_);var A=_.getDimensions();return new Effect.Scale(_,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:A.height,originalWidth:A.width},restoreAfterFinish:true,afterSetup:function($){$.element.makeClipping().setStyle({height:"0px"}).show()},afterFinishInternal:function($){$.element.undoClipping()}},arguments[1]||{}))};Effect.SwitchOff=function(_){_=$(_);var A=_.getInlineOpacity();return new Effect.Appear(_,Object.extend({duration:0.4,from:0,transition:Effect.Transitions.flicker,afterFinishInternal:function($){new Effect.Scale($.element,1,{duration:0.3,scaleFromCenter:true,scaleX:false,scaleContent:false,restoreAfterFinish:true,beforeSetup:function($){$.element.makePositioned().makeClipping()},afterFinishInternal:function($){$.element.hide().undoClipping().undoPositioned().setStyle({opacity:A})}})}},arguments[1]||{}))};Effect.DropOut=function(A){A=$(A);var _={top:A.getStyle("top"),left:A.getStyle("left"),opacity:A.getInlineOpacity()};return new Effect.Parallel([new Effect.Move(A,{x:0,y:100,sync:true}),new Effect.Opacity(A,{sync:true,to:0})],Object.extend({duration:0.5,beforeSetup:function($){$.effects[0].element.makePositioned()},afterFinishInternal:function($){$.effects[0].element.hide().undoPositioned().setStyle(_)}},arguments[1]||{}))};Effect.Shake=function(A){A=$(A);var _={top:A.getStyle("top"),left:A.getStyle("left")};return new Effect.Move(A,{x:20,y:0,duration:0.05,afterFinishInternal:function($){new Effect.Move($.element,{x:-40,y:0,duration:0.1,afterFinishInternal:function($){new Effect.Move($.element,{x:40,y:0,duration:0.1,afterFinishInternal:function($){new Effect.Move($.element,{x:-40,y:0,duration:0.1,afterFinishInternal:function($){new Effect.Move($.element,{x:40,y:0,duration:0.1,afterFinishInternal:function($){new Effect.Move($.element,{x:-20,y:0,duration:0.05,afterFinishInternal:function($){$.element.undoPositioned().setStyle(_)}})}})}})}})}})}})};Effect.SlideDown=function(_){_=$(_).cleanWhitespace();var B=_.down().getStyle("bottom"),A=_.getDimensions();return new Effect.Scale(_,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:window.opera?0:1,scaleMode:{originalHeight:A.height,originalWidth:A.width},restoreAfterFinish:true,afterSetup:function($){$.element.makePositioned();$.element.down().makePositioned();if(window.opera)$.element.setStyle({top:""});$.element.makeClipping().setStyle({height:"0px"}).show()},afterUpdateInternal:function($){$.element.down().setStyle({bottom:($.dims[0]-$.element.clientHeight)+"px"})},afterFinishInternal:function($){$.element.undoClipping().undoPositioned();$.element.down().undoPositioned().setStyle({bottom:B})}},arguments[1]||{}))};Effect.SlideUp=function(_){_=$(_).cleanWhitespace();var A=_.down().getStyle("bottom");return new Effect.Scale(_,window.opera?0:1,Object.extend({scaleContent:false,scaleX:false,scaleMode:"box",scaleFrom:100,restoreAfterFinish:true,beforeStartInternal:function($){$.element.makePositioned();$.element.down().makePositioned();if(window.opera)$.element.setStyle({top:""});$.element.makeClipping().show()},afterUpdateInternal:function($){$.element.down().setStyle({bottom:($.dims[0]-$.element.clientHeight)+"px"})},afterFinishInternal:function($){$.element.hide().undoClipping().undoPositioned().setStyle({bottom:A});$.element.down().undoPositioned()}},arguments[1]||{}))};Effect.Squish=function($){return new Effect.Scale($,window.opera?1:0,{restoreAfterFinish:true,beforeSetup:function($){$.element.makeClipping()},afterFinishInternal:function($){$.element.hide().undoClipping()}})};Effect.Grow=function(A){A=$(A);var G=Object.extend({direction:"center",moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.full},arguments[1]||{}),_={top:A.style.top,left:A.style.left,height:A.style.height,width:A.style.width,opacity:A.getInlineOpacity()},E=A.getDimensions(),F,B,C,D;switch(G.direction){case"top-left":F=B=C=D=0;break;case"top-right":F=E.width;B=D=0;C=-E.width;break;case"bottom-left":F=C=0;B=E.height;D=-E.height;break;case"bottom-right":F=E.width;B=E.height;C=-E.width;D=-E.height;break;case"center":F=E.width/2;B=E.height/2;C=-E.width/2;D=-E.height/2;break}return new Effect.Move(A,{x:F,y:B,duration:0.01,beforeSetup:function($){$.element.hide().makeClipping().makePositioned()},afterFinishInternal:function($){new Effect.Parallel([new Effect.Opacity($.element,{sync:true,to:1,from:0,transition:G.opacityTransition}),new Effect.Move($.element,{x:C,y:D,sync:true,transition:G.moveTransition}),new Effect.Scale($.element,100,{scaleMode:{originalHeight:E.height,originalWidth:E.width},sync:true,scaleFrom:window.opera?1:0,transition:G.scaleTransition,restoreAfterFinish:true})],Object.extend({beforeSetup:function($){$.effects[0].element.setStyle({height:"0px"}).show()},afterFinishInternal:function($){$.effects[0].element.undoClipping().undoPositioned().setStyle(_)}},G))}})};Effect.Shrink=function(A){A=$(A);var E=Object.extend({direction:"center",moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.none},arguments[1]||{}),_={top:A.style.top,left:A.style.left,height:A.style.height,width:A.style.width,opacity:A.getInlineOpacity()},D=A.getDimensions(),B,C;switch(E.direction){case"top-left":B=C=0;break;case"top-right":B=D.width;C=0;break;case"bottom-left":B=0;C=D.height;break;case"bottom-right":B=D.width;C=D.height;break;case"center":B=D.width/2;C=D.height/2;break}return new Effect.Parallel([new Effect.Opacity(A,{sync:true,to:0,from:1,transition:E.opacityTransition}),new Effect.Scale(A,window.opera?1:0,{sync:true,transition:E.scaleTransition,restoreAfterFinish:true}),new Effect.Move(A,{x:B,y:C,sync:true,transition:E.moveTransition})],Object.extend({beforeStartInternal:function($){$.effects[0].element.makePositioned().makeClipping()},afterFinishInternal:function($){$.effects[0].element.hide().undoClipping().undoPositioned().setStyle(_)}},E))};Effect.Pulsate=function(_){_=$(_);var D=arguments[1]||{},A=_.getInlineOpacity(),B=D.transition||Effect.Transitions.sinoidal,C=function($){return B(1-Effect.Transitions.pulse($,D.pulses))};C.bind(B);return new Effect.Opacity(_,Object.extend(Object.extend({duration:2,from:0,afterFinishInternal:function($){$.element.setStyle({opacity:A})}},D),{transition:C}))};Effect.Fold=function(A){A=$(A);var _={top:A.style.top,left:A.style.left,width:A.style.width,height:A.style.height};A.makeClipping();return new Effect.Scale(A,5,Object.extend({scaleContent:false,scaleX:false,afterFinishInternal:function($){new Effect.Scale(A,1,{scaleContent:false,scaleY:false,afterFinishInternal:function($){$.element.hide().undoClipping().setStyle(_)}})}},arguments[1]||{}))};Effect.Morph=Class.create();Object.extend(Object.extend(Effect.Morph.prototype,Effect.Base.prototype),{initialize:function(_){this.element=$(_);if(!this.element)throw(Effect._elementDoesNotExistError);var C=Object.extend({style:{}},arguments[1]||{});if(typeof C.style=="string"){if(C.style.indexOf(":")==-1){var B="",A="."+C.style;$A(document.styleSheets).reverse().each(function($){if($.cssRules)cssRules=$.cssRules;else if($.rules)cssRules=$.rules;$A(cssRules).reverse().each(function($){if(A==$.selectorText){B=$.style.cssText;throw $break}});if(B)throw $break});this.style=B.parseStyle();C.afterFinishInternal=function($){$.element.addClassName($.options.style);$.transforms.each(function(_){if(_.style!="opacity")$.element.style[_.style]=""})}}else this.style=C.style.parseStyle()}else this.style=$H(C.style);this.start(C)},setup:function(){function $($){if(!$||["rgba(0, 0, 0, 0)","transparent"].include($))$="#ffffff";$=$.parseColor();return $R(0,2).map(function(_){return parseInt($.slice(_*2+1,_*2+3),16)})}this.transforms=this.style.map(function(C){var D=C[0],A=C[1],B=null;if(A.parseColor("#zzzzzz")!="#zzzzzz"){A=A.parseColor();B="color"}else if(D=="opacity"){A=parseFloat(A);if(Prototype.Browser.IE&&(!this.element.currentStyle.hasLayout))this.element.setStyle({zoom:1})}else if(Element.CSS_LENGTH.test(A)){var _=A.match(/^([\+\-]?[0-9\.]+)(.*)$/);A=parseFloat(_[1]);B=(_.length==3)?_[2]:null}var E=this.element.getStyle(D);return{style:D.camelize(),originalValue:B=="color"?$(E):parseFloat(E||0),targetValue:B=="color"?$(A):A,unit:B}}.bind(this)).reject(function($){return(($.originalValue==$.targetValue)||($.unit!="color"&&(isNaN($.originalValue)||isNaN($.targetValue))))})},update:function(A){var B={},_,$=this.transforms.length;while($--)B[(_=this.transforms[$]).style]=_.unit=="color"?"#"+(Math.round(_.originalValue[0]+(_.targetValue[0]-_.originalValue[0])*A)).toColorPart()+(Math.round(_.originalValue[1]+(_.targetValue[1]-_.originalValue[1])*A)).toColorPart()+(Math.round(_.originalValue[2]+(_.targetValue[2]-_.originalValue[2])*A)).toColorPart():_.originalValue+Math.round(((_.targetValue-_.originalValue)*A)*1000)/1000+_.unit;this.element.setStyle(B,true)}});Effect.Transform=Class.create();Object.extend(Effect.Transform.prototype,{initialize:function($){this.tracks=[];this.options=arguments[1]||{};this.addTracks($)},addTracks:function($){$.each(function($){var _=$H($).values().first();this.tracks.push($H({ids:$H($).keys().first(),effect:Effect.Morph,options:{style:_}}))}.bind(this));return this},play:function(){return new Effect.Parallel(this.tracks.map(function(_){var A=[$(_.ids)||$$(_.ids)].flatten();return A.map(function($){return new _.effect($,Object.extend({sync:true},_.options))})}).flatten(),this.options)}});Element.CSS_PROPERTIES=$w("backgroundColor backgroundPosition borderBottomColor borderBottomStyle "+"borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth "+"borderRightColor borderRightStyle borderRightWidth borderSpacing "+"borderTopColor borderTopStyle borderTopWidth bottom clip color "+"fontSize fontWeight height left letterSpacing lineHeight "+"marginBottom marginLeft marginRight marginTop markerOffset maxHeight "+"maxWidth minHeight minWidth opacity outlineColor outlineOffset "+"outlineWidth paddingBottom paddingLeft paddingRight paddingTop "+"right textIndent top width wordSpacing zIndex");Element.CSS_LENGTH=/^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|%))|0$/;String.prototype.parseStyle=function(){var $=document.createElement("div");$.innerHTML="<div style=\""+this+"\"></div>";var A=$.childNodes[0].style,_=$H();Element.CSS_PROPERTIES.each(function($){if(A[$])_[$]=A[$]});if(Prototype.Browser.IE&&this.indexOf("opacity")>-1)_.opacity=this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1];return _};Element.morph=function($,_){new Effect.Morph($,Object.extend({style:_},arguments[2]||{}));return $};["getInlineOpacity","forceRerendering","setContentZoom","collectTextNodes","collectTextNodesIgnoreClass","morph"].each(function($){Element.Methods[$]=Element[$]});Element.Methods.visualEffect=function(_,A,B){s=A.dasherize().camelize();effect_class=s.charAt(0).toUpperCase()+s.substring(1);new Effect[effect_class](_,B);return $(_)};Element.addMethods()

var Window=Class.create();
Window.keepMultiModalWindow=false;
Window.hasEffectLib=(typeof Effect!='undefined');
Window.resizeEffectDuration=0.4;
Window.prototype={
initialize:function(){
var id;
var optionIndex=0;
if(arguments.length>0){
if(typeof arguments[0]=="string"){
id=arguments[0];
optionIndex=1;}
else
id=arguments[0]?arguments[0].id:null;}
if(!id)
id="window_"+new Date().getTime();
if($(id))
alert("Window "+id+" is already registered in the DOM! Make sure you use setDestroyOnClose() or destroyOnClose: true in the constructor");
this.options=Object.extend({
className:"dialog",
blurClassName:null,
minWidth:100,
minHeight:20,
resizable:true,
closable:true,
minimizable:true,
maximizable:true,
draggable:true,
userData:null,
showEffect:(Window.hasEffectLib?Effect.Appear:Element.show),
hideEffect:(Window.hasEffectLib?Effect.Fade:Element.hide),
showEffectOptions:{},
hideEffectOptions:{},
effectOptions:null,
parent:document.body,
title:"&nbsp;",
url:null,
onload:Prototype.emptyFunction,
width:200,
height:300,
opacity:1,
recenterAuto:true,
wiredDrag:false,
closeCallback:null,
destroyOnClose:false,
gridX:1,
gridY:1},arguments[optionIndex]||{});
if(this.options.blurClassName)
this.options.focusClassName=this.options.className;
if(typeof this.options.top=="undefined"&&typeof this.options.bottom=="undefined")
this.options.top=this._round(Math.random()*500,this.options.gridY);
if(typeof this.options.left=="undefined"&&typeof this.options.right=="undefined")
this.options.left=this._round(Math.random()*500,this.options.gridX);
if(this.options.effectOptions){
Object.extend(this.options.hideEffectOptions,this.options.effectOptions);
Object.extend(this.options.showEffectOptions,this.options.effectOptions);
if(this.options.showEffect==Element.Appear)
this.options.showEffectOptions.to=this.options.opacity;}
if(Window.hasEffectLib){
if(this.options.showEffect==Effect.Appear)
this.options.showEffectOptions.to=this.options.opacity;
if(this.options.hideEffect==Effect.Fade)
this.options.hideEffectOptions.from=this.options.opacity;}
if(this.options.hideEffect==Element.hide)
this.options.hideEffect=function(){Element.hide(this.element);if(this.options.destroyOnClose)this.destroy();}.bind(this)
if(this.options.parent!=document.body)
this.options.parent=$(this.options.parent);
this.element=this._createWindow(id);
this.element.win=this;
this.eventMouseDown=this._initDrag.bindAsEventListener(this);
this.eventMouseUp=this._endDrag.bindAsEventListener(this);
this.eventMouseMove=this._updateDrag.bindAsEventListener(this);
this.eventOnLoad=this._getWindowBorderSize.bindAsEventListener(this);
this.eventMouseDownContent=this.toFront.bindAsEventListener(this);
this.eventResize=this._recenter.bindAsEventListener(this);
this.topbar=$(this.element.id+"_top");
this.bottombar=$(this.element.id+"_bottom");
this.content=$(this.element.id+"_content");
Event.observe(this.topbar,"mousedown",this.eventMouseDown);
Event.observe(this.bottombar,"mousedown",this.eventMouseDown);
Event.observe(this.content,"mousedown",this.eventMouseDownContent);
Event.observe(window,"load",this.eventOnLoad);
Event.observe(window,"resize",this.eventResize);
Event.observe(window,"scroll",this.eventResize);
Event.observe(this.options.parent,"scroll",this.eventResize);
if(this.options.draggable){
var that=this;[this.topbar,this.topbar.up().previous(),this.topbar.up().next()].each(function(element){
element.observe("mousedown",that.eventMouseDown);
element.addClassName("top_draggable");});[this.bottombar.up(),this.bottombar.up().previous(),this.bottombar.up().next()].each(function(element){
element.observe("mousedown",that.eventMouseDown);
element.addClassName("bottom_draggable");});}
if(this.options.resizable){
this.sizer=$(this.element.id+"_sizer");
Event.observe(this.sizer,"mousedown",this.eventMouseDown);}
this.useLeft=null;
this.useTop=null;
if(typeof this.options.left!="undefined"){
this.element.setStyle({left:parseFloat(this.options.left)+'px'});
this.useLeft=true;}
else{
this.element.setStyle({right:parseFloat(this.options.right)+'px'});
this.useLeft=false;}
if(typeof this.options.top!="undefined"){
this.element.setStyle({top:parseFloat(this.options.top)+'px'});
this.useTop=true;}
else{
this.element.setStyle({bottom:parseFloat(this.options.bottom)+'px'});
this.useTop=false;}
this.storedLocation=null;
this.setOpacity(this.options.opacity);
if(this.options.zIndex)
this.setZIndex(this.options.zIndex)
if(this.options.destroyOnClose)
this.setDestroyOnClose(true);
this._getWindowBorderSize();
this.width=this.options.width;
this.height=this.options.height;
this.visible=false;
this.constraint=false;
this.constraintPad={top:0,left:0,bottom:0,right:0};
if(this.width&&this.height)
this.setSize(this.options.width,this.options.height);
this.setTitle(this.options.title)
Windows.register(this);},
destroy:function(){
this._notify("onDestroy");
Event.stopObserving(this.topbar,"mousedown",this.eventMouseDown);
Event.stopObserving(this.bottombar,"mousedown",this.eventMouseDown);
Event.stopObserving(this.content,"mousedown",this.eventMouseDownContent);
Event.stopObserving(window,"load",this.eventOnLoad);
Event.stopObserving(window,"resize",this.eventResize);
Event.stopObserving(window,"scroll",this.eventResize);
Event.stopObserving(this.content,"load",this.options.onload);
if(this._oldParent){
var content=this.getContent();
var originalContent=null;
for(var i=0;i<content.childNodes.length;i++){
originalContent=content.childNodes[i];
if(originalContent.nodeType==1)
break;
originalContent=null;}
if(originalContent)
this._oldParent.appendChild(originalContent);
this._oldParent=null;}
if(this.sizer)
Event.stopObserving(this.sizer,"mousedown",this.eventMouseDown);
if(this.options.url)
this.content.src=null
if(this.iefix)
Element.remove(this.iefix);
Element.remove(this.element);
Windows.unregister(this);},
setCloseCallback:function(callback){
this.options.closeCallback=callback;},
getContent:function(){
return this.content;},
setContent:function(id,autoresize,autoposition){
var element=$(id);
if(null==element)throw "Unable to find element '"+id+"' in DOM";
this._oldParent=element.parentNode;
var d=null;
var p=null;
if(autoresize)
d=Element.getDimensions(element);
if(autoposition)
p=Position.cumulativeOffset(element);
var content=this.getContent();
this.setHTMLContent("");
content=this.getContent();
content.appendChild(element);
element.show();
if(autoresize)
this.setSize(d.width,d.height);
if(autoposition)
this.setLocation(p[1]-this.heightN,p[0]-this.widthW);},
setHTMLContent:function(html){
if(this.options.url){
this.content.src=null;
this.options.url=null;
var content="<div id=\"" + this.getId() + "_content\" class=\"" + this.options.className + "_content\"> </div>";
$(this.getId()+"_table_content").innerHTML=content;
this.content=$(this.element.id+"_content");}
this.getContent().innerHTML=html;},
setAjaxContent:function(url,options,showCentered,showModal){
this.showFunction=showCentered?"showCenter":"show";
this.showModal=showModal||false;
options=options||{};
this.setHTMLContent("");
this.onComplete=options.onComplete;
if(!this._onCompleteHandler)
this._onCompleteHandler=this._setAjaxContent.bind(this);
options.onComplete=this._onCompleteHandler;
new Ajax.Request(url,options);
options.onComplete=this.onComplete;},
_setAjaxContent:function(originalRequest){
Element.update(this.getContent(),originalRequest.responseText);
if(this.onComplete)
this.onComplete(originalRequest);
this.onComplete=null;
this[this.showFunction](this.showModal)},
setURL:function(url){
if(this.options.url)
this.content.src=null;
this.options.url=url;
var content="<iframe frameborder='0' name='"+this.getId()+"_content'  id='"+this.getId()+"_content' src='"+url+"' width='"+this.width+"' height='"+this.height+"'> </iframe>";
$(this.getId()+"_table_content").innerHTML=content;
this.content=$(this.element.id+"_content");},
getURL:function(){
return this.options.url?this.options.url:null;},
refresh:function(){
if(this.options.url)
$(this.element.getAttribute('id')+'_content').src=this.options.url;},
setCookie:function(name,expires,path,domain,secure){
name=name||this.element.id;
this.cookie=[name,expires,path,domain,secure];
var value=WindowUtilities.getCookie(name)
if(value){
var values=value.split(',');
var x=values[0].split(':');
var y=values[1].split(':');
var w=parseFloat(values[2]),h=parseFloat(values[3]);
var mini=values[4];
var maxi=values[5];
this.setSize(w,h);
if(mini=="true")
this.doMinimize=true;
else if(maxi=="true")
this.doMaximize=true;
this.useLeft=x[0]=="l";
this.useTop=y[0]=="t";
this.element.setStyle(this.useLeft?{left:x[1]}:{right:x[1]});
this.element.setStyle(this.useTop?{top:y[1]}:{bottom:y[1]});}},
getId:function(){
return this.element.id;},
setDestroyOnClose:function(){
this.options.destroyOnClose=true;},
setConstraint:function(bool,padding){
this.constraint=bool;
this.constraintPad=Object.extend(this.constraintPad,padding||{});
if(this.useTop&&this.useLeft)
this.setLocation(parseFloat(this.element.style.top),parseFloat(this.element.style.left));},
_initDrag:function(event){
if(Event.element(event)==this.sizer&&this.isMinimized())
return;
if(Event.element(event)!=this.sizer&&this.isMaximized())
return;
if(Prototype.Browser.IE&&this.heightN==0)
this._getWindowBorderSize();
this.pointer=[this._round(Event.pointerX(event),this.options.gridX),this._round(Event.pointerY(event),this.options.gridY)];
if(this.options.wiredDrag)
this.currentDrag=this._createWiredElement();
else
this.currentDrag=this.element;
if(Event.element(event)==this.sizer){
this.doResize=true;
this.widthOrg=this.width;
this.heightOrg=this.height;
this.bottomOrg=parseFloat(this.element.getStyle('bottom'));
this.rightOrg=parseFloat(this.element.getStyle('right'));
this._notify("onStartResize");}
else{
this.doResize=false;
var closeButton=$(this.getId()+'_close');
if(closeButton&&Position.within(closeButton,this.pointer[0],this.pointer[1])){
this.currentDrag=null;
return;}
this.toFront();
if(!this.options.draggable)
return;
this._notify("onStartMove");}
Event.observe(document,"mouseup",this.eventMouseUp,false);
Event.observe(document,"mousemove",this.eventMouseMove,false);
WindowUtilities.disableScreen('__invisible__','__invisible__',this.overlayOpacity);
document.body.ondrag=function(){return false;};
document.body.onselectstart=function(){return false;};
this.currentDrag.show();
Event.stop(event);},
_round:function(val,round){
return round==1?val:val=Math.floor(val/round)*round;},
_updateDrag:function(event){
var pointer=[this._round(Event.pointerX(event),this.options.gridX),this._round(Event.pointerY(event),this.options.gridY)];
var dx=pointer[0]-this.pointer[0];
var dy=pointer[1]-this.pointer[1];
if(this.doResize){
var w=this.widthOrg+dx;
var h=this.heightOrg+dy;
dx=this.width-this.widthOrg
dy=this.height-this.heightOrg
if(this.useLeft)
w=this._updateWidthConstraint(w)
else
this.currentDrag.setStyle({right:(this.rightOrg-dx)+'px'});
if(this.useTop)
h=this._updateHeightConstraint(h)
else
this.currentDrag.setStyle({bottom:(this.bottomOrg-dy)+'px'});
this.setSize(w,h);
this._notify("onResize");}
else{
this.pointer=pointer;
if(this.useLeft){
var left=parseFloat(this.currentDrag.getStyle('left'))+dx;
var newLeft=this._updateLeftConstraint(left);
this.pointer[0]+=newLeft-left;
this.currentDrag.setStyle({left:newLeft+'px'});}
else
this.currentDrag.setStyle({right:parseFloat(this.currentDrag.getStyle('right'))-dx+'px'});
if(this.useTop){
var top=parseFloat(this.currentDrag.getStyle('top'))+dy;
var newTop=this._updateTopConstraint(top);
this.pointer[1]+=newTop-top;
this.currentDrag.setStyle({top:newTop+'px'});}
else
this.currentDrag.setStyle({bottom:parseFloat(this.currentDrag.getStyle('bottom'))-dy+'px'});
this._notify("onMove");}
if(this.iefix)
this._fixIEOverlapping();
this._removeStoreLocation();
Event.stop(event);},
_endDrag:function(event){
WindowUtilities.enableScreen('__invisible__');
if(this.doResize)
this._notify("onEndResize");
else
this._notify("onEndMove");
Event.stopObserving(document,"mouseup",this.eventMouseUp,false);
Event.stopObserving(document,"mousemove",this.eventMouseMove,false);
Event.stop(event);
this._hideWiredElement();
this._saveCookie()
document.body.ondrag=null;
document.body.onselectstart=null;},
_updateLeftConstraint:function(left){
if(this.constraint&&this.useLeft&&this.useTop){
var width=this.options.parent==document.body?WindowUtilities.getPageSize().windowWidth:this.options.parent.getDimensions().width;
if(left<this.constraintPad.left)
left=this.constraintPad.left;
if(left+this.width+this.widthE+this.widthW>width-this.constraintPad.right)
left=width-this.constraintPad.right-this.width-this.widthE-this.widthW;}
return left;},
_updateTopConstraint:function(top){
if(this.constraint&&this.useLeft&&this.useTop){
var height=this.options.parent==document.body?WindowUtilities.getPageSize().windowHeight:this.options.parent.getDimensions().height;
var h=this.height+this.heightN+this.heightS;
if(top<this.constraintPad.top)
top=this.constraintPad.top;
if(top+h>height-this.constraintPad.bottom)
top=height-this.constraintPad.bottom-h;}
return top;},
_updateWidthConstraint:function(w){
if(this.constraint&&this.useLeft&&this.useTop){
var width=this.options.parent==document.body?WindowUtilities.getPageSize().windowWidth:this.options.parent.getDimensions().width;
var left=parseFloat(this.element.getStyle("left"));
if(left+w+this.widthE+this.widthW>width-this.constraintPad.right)
w=width-this.constraintPad.right-left-this.widthE-this.widthW;}
return w;},
_updateHeightConstraint:function(h){
if(this.constraint&&this.useLeft&&this.useTop){
var height=this.options.parent==document.body?WindowUtilities.getPageSize().windowHeight:this.options.parent.getDimensions().height;
var top=parseFloat(this.element.getStyle("top"));
if(top+h+this.heightN+this.heightS>height-this.constraintPad.bottom)
h=height-this.constraintPad.bottom-top-this.heightN-this.heightS;}
return h;},
_createWindow:function(id){
var className=this.options.className;
var win=document.createElement("div");
win.setAttribute('id',id);
win.className="dialog";
var content;
if(this.options.url)
content="<iframe frameborder=\"0\" name=\"" + id + "_content\"  id=\"" + id + "_content\" src=\"" + this.options.url + "\"> </iframe>";
else
content="<div id=\"" + id + "_content\" class=\"" +className + "_content\"> </div>";
var closeDiv=this.options.closable?"<div class='"+className+"_close' id='"+id+"_close' onclick='Windows.close(\""+ id +"\", event)'> </div>":"";
var minDiv=this.options.minimizable?"<div class='"+className+"_minimize' id='"+id+"_minimize' onclick='Windows.minimize(\""+ id +"\", event)'> </div>":"";
var maxDiv=this.options.maximizable?"<div class='"+className+"_maximize' id='"+id+"_maximize' onclick='Windows.maximize(\""+ id +"\", event)'> </div>":"";
var seAttributes=this.options.resizable?"class='"+className+"_sizer' id='"+id+"_sizer'":"class='"+className+"_se'";
var blank="../themes/default/blank.gif";
win.innerHTML=closeDiv+minDiv+maxDiv+"\<table id='"+id +"_row1' class=\"top table_window\">\<tr>\<td class='"+className +"_nw'></td>\<td class='"+className +"_n'><div id='"+id +"_top' class='"+className +"_title title_window'>"+this.options.title +"</div></td>\<td class='"+className +"_ne'></td>\</tr>\</table>\<table id='"+id +"_row2' class=\"mid table_window\">\<tr>\<td class='"+className +"_w'></td>\<td id='"+id +"_table_content' class='"+className +"_content' valign='top'>" +content +"</td>\<td class='"+className +"_e'></td>\</tr>\</table>\<table id='"+id +"_row3' class=\"bot table_window\">\<tr>\<td class='"+className +"_sw'></td>\<td class='"+className +"_s'><div id='"+id +"_bottom' class='status_bar'><span style='float:left; width:1px; height:1px'></span></div></td>\<td " +seAttributes +"></td>\</tr>\</table>\
";
Element.hide(win);
this.options.parent.insertBefore(win,this.options.parent.firstChild);
Event.observe($(id+"_content"),"load",this.options.onload);
return win;},
changeClassName:function(newClassName){
var className=this.options.className;
var id=this.getId();
$A(["_close","_minimize","_maximize","_sizer","_content"]).each(function(value){this._toggleClassName($(id+value),className+value,newClassName+value)}.bind(this));
this._toggleClassName($(id+"_top"),className+"_title",newClassName+"_title");
$$("#"+id+" td").each(function(td){td.className=td.className.sub(className,newClassName);});
this.options.className=newClassName;},
_toggleClassName:function(element,oldClassName,newClassName){
if(element){
element.removeClassName(oldClassName);
element.addClassName(newClassName);}},
setLocation:function(top,left){
top=this._updateTopConstraint(top);
left=this._updateLeftConstraint(left);
var e=this.currentDrag||this.element;
e.setStyle({top:top+'px'});
e.setStyle({left:left+'px'});
this.useLeft=true;
this.useTop=true;},
getLocation:function(){
var location={};
if(this.useTop)
location=Object.extend(location,{top:this.element.getStyle("top")});
else
location=Object.extend(location,{bottom:this.element.getStyle("bottom")});
if(this.useLeft)
location=Object.extend(location,{left:this.element.getStyle("left")});
else
location=Object.extend(location,{right:this.element.getStyle("right")});
return location;},
getSize:function(){
return{width:this.width,height:this.height};},
setSize:function(width,height,useEffect){
width=parseFloat(width);
height=parseFloat(height);
if(!this.minimized&&width<this.options.minWidth)
width=this.options.minWidth;
if(!this.minimized&&height<this.options.minHeight)
height=this.options.minHeight;
if(this.options. maxHeight&&height>this.options. maxHeight)
height=this.options. maxHeight;
if(this.options. maxWidth&&width>this.options. maxWidth)
width=this.options. maxWidth;
if(this.useTop&&this.useLeft&&Window.hasEffectLib&&Effect.ResizeWindow&&useEffect){
new Effect.ResizeWindow(this,null,null,width,height,{duration:Window.resizeEffectDuration});}else{
this.width=width;
this.height=height;
var e=this.currentDrag?this.currentDrag:this.element;
e.setStyle({width:width+this.widthW+this.widthE+"px"})
e.setStyle({height:height+this.heightN+this.heightS+"px"})
if(!this.currentDrag||this.currentDrag==this.element){
var content=$(this.element.id+'_content');
content.setStyle({height:height+'px'});
content.setStyle({width:width+'px'});}}},
updateHeight:function(){
this.setSize(this.width,this.content.scrollHeight,true);},
updateWidth:function(){
this.setSize(this.content.scrollWidth,this.height,true);},
toFront:function(){
if(this.element.style.zIndex<Windows.maxZIndex)
this.setZIndex(Windows.maxZIndex+1);
if(this.iefix)
this._fixIEOverlapping();},
getBounds:function(insideOnly){
if(!this.width||!this.height||!this.visible)
this.computeBounds();
var w=this.width;
var h=this.height;
if(!insideOnly){
w+=this.widthW+this.widthE;
h+=this.heightN+this.heightS;}
var bounds=Object.extend(this.getLocation(),{width:w+"px",height:h+"px"});
return bounds;},
computeBounds:function(){
if(!this.width||!this.height){
var size=WindowUtilities._computeSize(this.content.innerHTML,this.content.id,this.width,this.height,0,this.options.className)
if(this.height)
this.width=size+5
else
this.height=size+5}
this.setSize(this.width,this.height);
if(this.centered)
this._center(this.centerTop,this.centerLeft);},
show:function(modal){
this.visible=true;
if(modal){
if(typeof this.overlayOpacity=="undefined"){
var that=this;
setTimeout(function(){that.show(modal)},10);
return;}
Windows.addModalWindow(this);
this.modal=true;
this.setZIndex(Windows.maxZIndex+1);
Windows.unsetOverflow(this);}
else
if(!this.element.style.zIndex)
this.setZIndex(Windows.maxZIndex+1);
if(this.oldStyle)
this.getContent().setStyle({overflow:this.oldStyle});
this.computeBounds();
this._notify("onBeforeShow");
if(this.options.showEffect!=Element.show&&this.options.showEffectOptions)
this.options.showEffect(this.element,this.options.showEffectOptions);
else
this.options.showEffect(this.element);
this._checkIEOverlapping();
WindowUtilities.focusedWindow=this
this._notify("onShow");},
showCenter:function(modal,top,left){
this.centered=true;
this.centerTop=top;
this.centerLeft=left;
this.show(modal);},
isVisible:function(){
return this.visible;},
_center:function(top,left){
var windowScroll=WindowUtilities.getWindowScroll(this.options.parent);
var pageSize=WindowUtilities.getPageSize(this.options.parent);
if(typeof top=="undefined")
top=(pageSize.windowHeight-(this.height+this.heightN+this.heightS))/2;
top+=windowScroll.top
if(typeof left=="undefined")
left=(pageSize.windowWidth-(this.width+this.widthW+this.widthE))/2;
left+=windowScroll.left
this.setLocation(top,left);
this.toFront();},
_recenter:function(event){
if(this.centered){
var pageSize=WindowUtilities.getPageSize(this.options.parent);
var windowScroll=WindowUtilities.getWindowScroll(this.options.parent);
if(this.pageSize&&this.pageSize.windowWidth==pageSize.windowWidth&&this.pageSize.windowHeight==pageSize.windowHeight&&
this.windowScroll.left==windowScroll.left&&this.windowScroll.top==windowScroll.top)
return;
this.pageSize=pageSize;
this.windowScroll=windowScroll;
if($('overlay_modal'))
$('overlay_modal').setStyle({height:(pageSize.pageHeight+'px')});
if(this.options.recenterAuto)
this._center(this.centerTop,this.centerLeft);}},
hide:function(){
this.visible=false;
if(this.modal){
Windows.removeModalWindow(this);
Windows.resetOverflow();}
this.oldStyle=this.getContent().getStyle('overflow')||"auto"
this.getContent().setStyle({overflow:"hidden"});
this.options.hideEffect(this.element,this.options.hideEffectOptions);
if(this.iefix)
this.iefix.hide();
if(!this.doNotNotifyHide)
this._notify("onHide");},
close:function(){
if(this.visible){
if(this.options.closeCallback&&!this.options.closeCallback(this))
return;
if(this.options.destroyOnClose){
var destroyFunc=this.destroy.bind(this);
if(this.options.hideEffectOptions.afterFinish){
var func=this.options.hideEffectOptions.afterFinish;
this.options.hideEffectOptions.afterFinish=function(){func();destroyFunc()}}
else
this.options.hideEffectOptions.afterFinish=function(){destroyFunc()}}
Windows.updateFocusedWindow();
this.doNotNotifyHide=true;
this.hide();
this.doNotNotifyHide=false;
this._notify("onClose");}},
minimize:function(){
if(this.resizing)
return;
var r2=$(this.getId()+"_row2");
if(!this.minimized){
this.minimized=true;
var dh=r2.getDimensions().height;
this.r2Height=dh;
var h=this.element.getHeight()-dh;
if(this.useLeft&&this.useTop&&Window.hasEffectLib&&Effect.ResizeWindow){
new Effect.ResizeWindow(this,null,null,null,this.height-dh,{duration:Window.resizeEffectDuration});}else{
this.height-=dh;
this.element.setStyle({height:h+"px"});
r2.hide();}
if(!this.useTop){
var bottom=parseFloat(this.element.getStyle('bottom'));
this.element.setStyle({bottom:(bottom+dh)+'px'});}}
else{
this.minimized=false;
var dh=this.r2Height;
this.r2Height=null;
if(this.useLeft&&this.useTop&&Window.hasEffectLib&&Effect.ResizeWindow){
new Effect.ResizeWindow(this,null,null,null,this.height+dh,{duration:Window.resizeEffectDuration});}
else{
var h=this.element.getHeight()+dh;
this.height+=dh;
this.element.setStyle({height:h+"px"})
r2.show();}
if(!this.useTop){
var bottom=parseFloat(this.element.getStyle('bottom'));
this.element.setStyle({bottom:(bottom-dh)+'px'});}
this.toFront();}
this._notify("onMinimize");
this._saveCookie()},
maximize:function(){
if(this.isMinimized()||this.resizing)
return;
if(Prototype.Browser.IE&&this.heightN==0)
this._getWindowBorderSize();
if(this.storedLocation!=null){
this._restoreLocation();
if(this.iefix)
this.iefix.hide();}
else{
this._storeLocation();
Windows.unsetOverflow(this);
var windowScroll=WindowUtilities.getWindowScroll(this.options.parent);
var pageSize=WindowUtilities.getPageSize(this.options.parent);
var left=windowScroll.left;
var top=windowScroll.top;
if(this.options.parent!=document.body){
windowScroll={top:0,left:0,bottom:0,right:0};
var dim=this.options.parent.getDimensions();
pageSize.windowWidth=dim.width;
pageSize.windowHeight=dim.height;
top=0;
left=0;}
if(this.constraint){
pageSize.windowWidth-=Math.max(0,this.constraintPad.left)+Math.max(0,this.constraintPad.right);
pageSize.windowHeight-=Math.max(0,this.constraintPad.top)+Math.max(0,this.constraintPad.bottom);
left+=Math.max(0,this.constraintPad.left);
top+=Math.max(0,this.constraintPad.top);}
var width=pageSize.windowWidth-this.widthW-this.widthE;
var height=pageSize.windowHeight-this.heightN-this.heightS;
if(this.useLeft&&this.useTop&&Window.hasEffectLib&&Effect.ResizeWindow){
new Effect.ResizeWindow(this,top,left,width,height,{duration:Window.resizeEffectDuration});}
else{
this.setSize(width,height);
this.element.setStyle(this.useLeft?{left:left}:{right:left});
this.element.setStyle(this.useTop?{top:top}:{bottom:top});}
this.toFront();
if(this.iefix)
this._fixIEOverlapping();}
this._notify("onMaximize");
this._saveCookie()},
isMinimized:function(){
return this.minimized;},
isMaximized:function(){
return(this.storedLocation!=null);},
setOpacity:function(opacity){
if(Element.setOpacity)
Element.setOpacity(this.element,opacity);},
setZIndex:function(zindex){
this.element.setStyle({zIndex:zindex});
Windows.updateZindex(zindex,this);},
setTitle:function(newTitle){
if(!newTitle||newTitle=="")
newTitle="&nbsp;";
Element.update(this.element.id+'_top',newTitle);},
getTitle:function(){
return $(this.element.id+'_top').innerHTML;},
setStatusBar:function(element){
var statusBar=$(this.getId()+"_bottom");
if(typeof(element)=="object"){
if(this.bottombar.firstChild)
this.bottombar.replaceChild(element,this.bottombar.firstChild);
else
this.bottombar.appendChild(element);}
else
this.bottombar.innerHTML=element;},
_checkIEOverlapping:function(){
if(!this.iefix&&(navigator.appVersion.indexOf('MSIE')>0)&&(navigator.userAgent.indexOf('Opera')<0)&&(this.element.getStyle('position')=='absolute')){
new Insertion.After(this.element.id,'<iframe id="'+this.element.id+'_iefix" '+'style="display:none;position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);" '+'src="javascript:false;" frameborder="0" scrolling="no"></iframe>');
this.iefix=$(this.element.id+'_iefix');}
if(this.iefix)
setTimeout(this._fixIEOverlapping.bind(this),50);},
_fixIEOverlapping:function(){
Position.clone(this.element,this.iefix);
this.iefix.style.zIndex=this.element.style.zIndex-1;
this.iefix.show();},
_getWindowBorderSize:function(event){
var div=this._createHiddenDiv(this.options.className+"_n")
this.heightN=Element.getDimensions(div).height;
div.parentNode.removeChild(div)
var div=this._createHiddenDiv(this.options.className+"_s")
this.heightS=Element.getDimensions(div).height;
div.parentNode.removeChild(div)
var div=this._createHiddenDiv(this.options.className+"_e")
this.widthE=Element.getDimensions(div).width;
div.parentNode.removeChild(div)
var div=this._createHiddenDiv(this.options.className+"_w")
this.widthW=Element.getDimensions(div).width;
div.parentNode.removeChild(div);
var div=document.createElement("div");
div.className="overlay_"+this.options.className;
document.body.appendChild(div);
var that=this;
setTimeout(function(){that.overlayOpacity=($(div).getStyle("opacity"));div.parentNode.removeChild(div);},10);
if(Prototype.Browser.IE){
this.heightS=$(this.getId()+"_row3").getDimensions().height;
this.heightN=$(this.getId()+"_row1").getDimensions().height;}
if(Prototype.Browser.WebKit&&Prototype.Browser.WebKitVersion<420)
this.setSize(this.width,this.height);
if(this.doMaximize)
this.maximize();
if(this.doMinimize)
this.minimize();},
_createHiddenDiv:function(className){
var objBody=document.body;
var win=document.createElement("div");
win.setAttribute('id',this.element.id+"_tmp");
win.className=className;
win.style.display='none';
win.innerHTML='';
objBody.insertBefore(win,objBody.firstChild);
return win;},
_storeLocation:function(){
if(this.storedLocation==null){
this.storedLocation={useTop:this.useTop,useLeft:this.useLeft,
top:this.element.getStyle('top'),bottom:this.element.getStyle('bottom'),
left:this.element.getStyle('left'),right:this.element.getStyle('right'),
width:this.width,height:this.height};}},
_restoreLocation:function(){
if(this.storedLocation!=null){
this.useLeft=this.storedLocation.useLeft;
this.useTop=this.storedLocation.useTop;
if(this.useLeft&&this.useTop&&Window.hasEffectLib&&Effect.ResizeWindow)
new Effect.ResizeWindow(this,this.storedLocation.top,this.storedLocation.left,this.storedLocation.width,this.storedLocation.height,{duration:Window.resizeEffectDuration});
else{
this.element.setStyle(this.useLeft?{left:this.storedLocation.left}:{right:this.storedLocation.right});
this.element.setStyle(this.useTop?{top:this.storedLocation.top}:{bottom:this.storedLocation.bottom});
this.setSize(this.storedLocation.width,this.storedLocation.height);}
Windows.resetOverflow();
this._removeStoreLocation();}},
_removeStoreLocation:function(){
this.storedLocation=null;},
_saveCookie:function(){
if(this.cookie){
var value="";
if(this.useLeft)
value+="l:"+(this.storedLocation?this.storedLocation.left:this.element.getStyle('left'))
else
value+="r:"+(this.storedLocation?this.storedLocation.right:this.element.getStyle('right'))
if(this.useTop)
value+=",t:"+(this.storedLocation?this.storedLocation.top:this.element.getStyle('top'))
else
value+=",b:"+(this.storedLocation?this.storedLocation.bottom:this.element.getStyle('bottom'))
value+=","+(this.storedLocation?this.storedLocation.width:this.width);
value+=","+(this.storedLocation?this.storedLocation.height:this.height);
value+=","+this.isMinimized();
value+=","+this.isMaximized();
WindowUtilities.setCookie(value,this.cookie)}},
_createWiredElement:function(){
if(!this.wiredElement){
if(Prototype.Browser.IE)
this._getWindowBorderSize();
var div=document.createElement("div");
div.className="wired_frame "+this.options.className+"_wired_frame";
div.style.position='absolute';
this.options.parent.insertBefore(div,this.options.parent.firstChild);
this.wiredElement=$(div);}
if(this.useLeft)
this.wiredElement.setStyle({left:this.element.getStyle('left')});
else
this.wiredElement.setStyle({right:this.element.getStyle('right')});
if(this.useTop)
this.wiredElement.setStyle({top:this.element.getStyle('top')});
else
this.wiredElement.setStyle({bottom:this.element.getStyle('bottom')});
var dim=this.element.getDimensions();
this.wiredElement.setStyle({width:dim.width+"px",height:dim.height+"px"});
this.wiredElement.setStyle({zIndex:Windows.maxZIndex+30});
return this.wiredElement;},
_hideWiredElement:function(){
if(!this.wiredElement||!this.currentDrag)
return;
if(this.currentDrag==this.element)
this.currentDrag=null;
else{
if(this.useLeft)
this.element.setStyle({left:this.currentDrag.getStyle('left')});
else
this.element.setStyle({right:this.currentDrag.getStyle('right')});
if(this.useTop)
this.element.setStyle({top:this.currentDrag.getStyle('top')});
else
this.element.setStyle({bottom:this.currentDrag.getStyle('bottom')});
this.currentDrag.hide();
this.currentDrag=null;
if(this.doResize)
this.setSize(this.width,this.height);}},
_notify:function(eventName){
if(this.options[eventName])
this.options[eventName](this);
else
Windows.notify(eventName,this);}};
var Windows={
windows:[],
modalWindows:[],
observers:[],
focusedWindow:null,
maxZIndex:0,
overlayShowEffectOptions:{duration:0.5},
overlayHideEffectOptions:{duration:0.5},
addObserver:function(observer){
this.removeObserver(observer);
this.observers.push(observer);},
removeObserver:function(observer){
this.observers=this.observers.reject(function(o){return o==observer});},
notify:function(eventName,win){
this.observers.each(function(o){if(o[eventName])o[eventName](eventName,win);});},
getWindow:function(id){
return this.windows.detect(function(d){return d.getId()==id});},
getFocusedWindow:function(){
return this.focusedWindow;},
updateFocusedWindow:function(){
this.focusedWindow=this.windows.length>=2?this.windows[this.windows.length-2]:null;},
register:function(win){
this.windows.push(win);},
addModalWindow:function(win){
if(this.modalWindows.length==0){
WindowUtilities.disableScreen(win.options.className,'overlay_modal',win.overlayOpacity,win.getId(),win.options.parent);}
else{
if(Window.keepMultiModalWindow){
$('overlay_modal').style.zIndex=Windows.maxZIndex+1;
Windows.maxZIndex+=1;
WindowUtilities._hideSelect(this.modalWindows.last().getId());}
else
this.modalWindows.last().element.hide();
WindowUtilities._showSelect(win.getId());}
this.modalWindows.push(win);},
removeModalWindow:function(win){
this.modalWindows.pop();
if(this.modalWindows.length==0)
WindowUtilities.enableScreen();
else{
if(Window.keepMultiModalWindow){
this.modalWindows.last().toFront();
WindowUtilities._showSelect(this.modalWindows.last().getId());}
else
this.modalWindows.last().element.show();}},
register:function(win){
this.windows.push(win);},
unregister:function(win){
this.windows=this.windows.reject(function(d){return d==win});},
closeAll:function(){
this.windows.each(function(w){Windows.close(w.getId())});},
closeAllModalWindows:function(){
WindowUtilities.enableScreen();
this.modalWindows.each(function(win){if(win)win.close()});},
minimize:function(id,event){
var win=this.getWindow(id)
if(win&&win.visible)
win.minimize();
Event.stop(event);},
maximize:function(id,event){
var win=this.getWindow(id)
if(win&&win.visible)
win.maximize();
Event.stop(event);},
close:function(id,event){
var win=this.getWindow(id);
if(win)
win.close();
if(event)
Event.stop(event);},
blur:function(id){
var win=this.getWindow(id);
if(!win)
return;
if(win.options.blurClassName)
win.changeClassName(win.options.blurClassName);
if(this.focusedWindow==win)
this.focusedWindow=null;
win._notify("onBlur");},
focus:function(id){
var win=this.getWindow(id);
if(!win)
return;
if(this.focusedWindow)
this.blur(this.focusedWindow.getId())
if(win.options.focusClassName)
win.changeClassName(win.options.focusClassName);
this.focusedWindow=win;
win._notify("onFocus");},
unsetOverflow:function(except){
this.windows.each(function(d){d.oldOverflow=d.getContent().getStyle("overflow")||"auto";d.getContent().setStyle({overflow:"hidden"})});
if(except&&except.oldOverflow)
except.getContent().setStyle({overflow:except.oldOverflow});},
resetOverflow:function(){
this.windows.each(function(d){if(d.oldOverflow)d.getContent().setStyle({overflow:d.oldOverflow})});},
updateZindex:function(zindex,win){
if(zindex>this.maxZIndex){
this.maxZIndex=zindex;
if(this.focusedWindow)
this.blur(this.focusedWindow.getId())}
this.focusedWindow=win;
if(this.focusedWindow)
this.focus(this.focusedWindow.getId())}};
var Dialog={
dialogId:null,
onCompleteFunc:null,
callFunc:null,
parameters:null,
confirm:function(content,parameters){
if(content&&typeof content!="string"){
Dialog._runAjaxRequest(content,parameters,Dialog.confirm);
return}
content=content||"";
parameters=parameters||{};
var okLabel=parameters.okLabel?parameters.okLabel:"Ok";
var cancelLabel=parameters.cancelLabel?parameters.cancelLabel:"Cancel";
parameters=Object.extend(parameters,parameters.windowParameters||{});
parameters.windowParameters=parameters.windowParameters||{};
parameters.className=parameters.className||"alert";
var okButtonClass="class ='"+(parameters.buttonClass?parameters.buttonClass+" ":"")+" ok_button'"
var cancelButtonClass="class ='"+(parameters.buttonClass?parameters.buttonClass+" ":"")+" cancel_button'"
var content="\<div class='" +parameters.className +"_message'>" +content  +"</div>\<div class='" +parameters.className +"_buttons'>\<input type='button' value='" +okLabel +"' onclick='Dialog.okCallback()' " +okButtonClass +"/>\<input type='button' value='" +cancelLabel +"' onclick='Dialog.cancelCallback()' " +cancelButtonClass +"/>\</div>\
";
return this._openDialog(content,parameters)},
alert:function(content,parameters){
if(content&&typeof content!="string"){
Dialog._runAjaxRequest(content,parameters,Dialog.alert);
return}
content=content||"";
parameters=parameters||{};
var okLabel=parameters.okLabel?parameters.okLabel:"Ok";
parameters=Object.extend(parameters,parameters.windowParameters||{});
parameters.windowParameters=parameters.windowParameters||{};
parameters.className=parameters.className||"alert";
var okButtonClass="class ='"+(parameters.buttonClass?parameters.buttonClass+" ":"")+" ok_button'"
var content="\<div class='" +parameters.className +"_message'>" +content  +"</div>\<div class='" +parameters.className +"_buttons'>\<input type='button' value='" +okLabel +"' onclick='Dialog.okCallback()' " +okButtonClass +"/>\</div>";
return this._openDialog(content,parameters)},
info:function(content,parameters){
if(content&&typeof content!="string"){
Dialog._runAjaxRequest(content,parameters,Dialog.info);
return}
content=content||"";
parameters=parameters||{};
parameters=Object.extend(parameters,parameters.windowParameters||{});
parameters.windowParameters=parameters.windowParameters||{};
parameters.className=parameters.className||"alert";
var content="<div id='modal_dialog_message' class='"+parameters.className+"_message'>"+content+"</div>";
if(parameters.showProgress)
content+="<div id='modal_dialog_progress' class='"+parameters.className+"_progress'>  </div>";
parameters.ok=null;
parameters.cancel=null;
return this._openDialog(content,parameters)},
setInfoMessage:function(message){$('modal_dialog_message').update(message);},
closeInfo:function(){
Windows.close(this.dialogId);},
_openDialog:function(content,parameters){
var className=parameters.className;
if(!parameters.height&&!parameters.width){
parameters.width=WindowUtilities.getPageSize(parameters.options.parent||document.body).pageWidth/2;}
if(parameters.id)
this.dialogId=parameters.id;
else{
var t=new Date();
this.dialogId='modal_dialog_'+t.getTime();
parameters.id=this.dialogId;}
if(!parameters.height||!parameters.width){
var size=WindowUtilities._computeSize(content,this.dialogId,parameters.width,parameters.height,5,className)
if(parameters.height)
parameters.width=size+5
else
parameters.height=size+5}
parameters.effectOptions=parameters.effectOptions;
parameters.resizable=parameters.resizable||false;
parameters.minimizable=parameters.minimizable||false;
parameters.maximizable=parameters.maximizable||false;
parameters.draggable=parameters.draggable||false;
parameters.closable=parameters.closable||false;
var win=new Window(parameters);
win.getContent().innerHTML=content;
win.showCenter(true,parameters.top,parameters.left);
win.setDestroyOnClose();
win.cancelCallback=parameters.onCancel||parameters.cancel;
win.okCallback=parameters.onOk||parameters.ok;
return win;},
_getAjaxContent:function(originalRequest){
Dialog.callFunc(originalRequest.responseText,Dialog.parameters)},
_runAjaxRequest:function(message,parameters,callFunc){
if(message.options==null)
message.options={}
Dialog.onCompleteFunc=message.options.onComplete;
Dialog.parameters=parameters;
Dialog.callFunc=callFunc;
message.options.onComplete=Dialog._getAjaxContent;
new Ajax.Request(message.url,message.options);},
okCallback:function(){
var win=Windows.focusedWindow;
if(!win.okCallback||win.okCallback(win)){
$$("#"+win.getId()+" input").each(function(element){element.onclick=null;})
win.close();}},
cancelCallback:function(){
var win=Windows.focusedWindow;
$$("#"+win.getId()+" input").each(function(element){element.onclick=null})
win.close();
if(win.cancelCallback)
win.cancelCallback(win);}}/*
Based on Lightbox JS:Fullsize Image Overlays
by Lokesh Dhakar-http:
For more information on this script,visit:
http:
Licensed under the Creative Commons Attribution 2.5 License-http:(basically,do anything you want,just leave my name and link)*/
if(Prototype.Browser.WebKit){
var array=navigator.userAgent.match(new RegExp(/AppleWebKit\/([\d\.\+]*)/));
Prototype.Browser.WebKitVersion=parseFloat(array[1]);}
var WindowUtilities={
getWindowScroll:function(parent){
var T,L,W,H;
parent=parent||document.body;
if(parent!=document.body){
T=parent.scrollTop;
L=parent.scrollLeft;
W=parent.scrollWidth;
H=parent.scrollHeight;}
else{
var w=window;
with(w.document){
if(w.document.documentElement&&documentElement.scrollTop){
T=documentElement.scrollTop;
L=documentElement.scrollLeft;}else if(w.document.body){
T=body.scrollTop;
L=body.scrollLeft;}
if(w.innerWidth){
W=w.innerWidth;
H=w.innerHeight;}else if(w.document.documentElement&&documentElement.clientWidth){
W=documentElement.clientWidth;
H=documentElement.clientHeight;}else{
W=body.offsetWidth;
H=body.offsetHeight}}}
return{top:T,left:L,width:W,height:H};},
getPageSize:function(parent){
parent=parent||document.body;
var windowWidth,windowHeight;
var pageHeight,pageWidth;
if(parent!=document.body){
windowWidth=parent.getWidth();
windowHeight=parent.getHeight();
pageWidth=parent.scrollWidth;
pageHeight=parent.scrollHeight;}
else{
var xScroll,yScroll;
if(window.innerHeight&&window.scrollMaxY){
xScroll=document.body.scrollWidth;
yScroll=window.innerHeight+window.scrollMaxY;}else if(document.body.scrollHeight>document.body.offsetHeight){
xScroll=document.body.scrollWidth;
yScroll=document.body.scrollHeight;}else{
xScroll=document.body.offsetWidth;
yScroll=document.body.offsetHeight;}
if(self.innerHeight){
windowWidth=self.innerWidth;
windowHeight=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){
windowWidth=document.documentElement.clientWidth;
windowHeight=document.documentElement.clientHeight;}else if(document.body){
windowWidth=document.body.clientWidth;
windowHeight=document.body.clientHeight;}
if(yScroll<windowHeight){
pageHeight=windowHeight;}else{
pageHeight=yScroll;}
if(xScroll<windowWidth){
pageWidth=windowWidth;}else{
pageWidth=xScroll;}}
return{pageWidth:pageWidth,pageHeight:pageHeight,windowWidth:windowWidth,windowHeight:windowHeight};},
disableScreen:function(className,overlayId,overlayOpacity,contentId,parent){
WindowUtilities.initLightbox(overlayId,className,function(){this._disableScreen(className,overlayId,overlayOpacity,contentId)}.bind(this),parent||document.body);},
_disableScreen:function(className,overlayId,overlayOpacity,contentId){
var objOverlay=$(overlayId);
var pageSize=WindowUtilities.getPageSize(objOverlay.parentNode);
if(contentId&&Prototype.Browser.IE){
WindowUtilities._hideSelect();
WindowUtilities._showSelect(contentId);}
objOverlay.style.height=(pageSize.pageHeight+'px');
objOverlay.style.display='none';
if(overlayId=="overlay_modal"&&Window.hasEffectLib&&Windows.overlayShowEffectOptions){
objOverlay.overlayOpacity=overlayOpacity;
new Effect.Appear(objOverlay,Object.extend({from:0,to:overlayOpacity},Windows.overlayShowEffectOptions));}
else
objOverlay.style.display="block";},
enableScreen:function(id){
id=id||'overlay_modal';
var objOverlay=$(id);
if(objOverlay){
if(id=="overlay_modal"&&Window.hasEffectLib&&Windows.overlayHideEffectOptions)
new Effect.Fade(objOverlay,Object.extend({from:objOverlay.overlayOpacity,to:0},Windows.overlayHideEffectOptions));
else{
objOverlay.style.display='none';
objOverlay.parentNode.removeChild(objOverlay);}
if(id!="__invisible__")
WindowUtilities._showSelect();}},
_hideSelect:function(id){
if(Prototype.Browser.IE){
id=id==null?"":"#"+id+" ";
$$(id+'select').each(function(element){
if(!WindowUtilities.isDefined(element.oldVisibility)){
element.oldVisibility=element.style.visibility?element.style.visibility:"visible";
element.style.visibility="hidden";}});}},
_showSelect:function(id){
if(Prototype.Browser.IE){
id=id==null?"":"#"+id+" ";
$$(id+'select').each(function(element){
if(WindowUtilities.isDefined(element.oldVisibility)){
try{
element.style.visibility=element.oldVisibility;}catch(e){
element.style.visibility="visible";}
element.oldVisibility=null;}
else{
if(element.style.visibility)
element.style.visibility="visible";}});}},
isDefined:function(object){
return typeof(object)!="undefined"&&object!=null;},
initLightbox:function(id,className,doneHandler,parent){
if($(id)){
Element.setStyle(id,{zIndex:Windows.maxZIndex+1});
Windows.maxZIndex++;
doneHandler();}
else{
var objOverlay=document.createElement("div");
objOverlay.setAttribute('id',id);
objOverlay.className="overlay_"+className
objOverlay.style.display='none';
objOverlay.style.position='absolute';
objOverlay.style.top='0';
objOverlay.style.left='0';
objOverlay.style.zIndex=Windows.maxZIndex+1;
Windows.maxZIndex++;
objOverlay.style.width='100%';
parent.insertBefore(objOverlay,parent.firstChild);
if(Prototype.Browser.WebKit&&id=="overlay_modal"){
setTimeout(function(){doneHandler()},10);}
else
doneHandler();}},
setCookie:function(value,parameters){
document.cookie=parameters[0]+"="+escape(value)+((parameters[1])?"; expires="+parameters[1].toGMTString():"")+((parameters[2])?"; path="+parameters[2]:"")+((parameters[3])?"; domain="+parameters[3]:"")+((parameters[4])?"; secure":"");},
getCookie:function(name){
var dc=document.cookie;
var prefix=name+"=";
var begin=dc.indexOf("; "+prefix);
if(begin==-1){
begin=dc.indexOf(prefix);
if(begin!=0)return null;}else{
begin+=2;}
var end=document.cookie.indexOf(";",begin);
if(end==-1){
end=dc.length;}
return unescape(dc.substring(begin+prefix.length,end));},
_computeSize:function(content,id,width,height,margin,className){
var objBody=document.body;
var tmpObj=document.createElement("div");
tmpObj.setAttribute('id',id);
tmpObj.className=className+"_content";
if(height)
tmpObj.style.height=height+"px"
else
tmpObj.style.width=width+"px"
tmpObj.style.position='absolute';
tmpObj.style.top='0';
tmpObj.style.left='0';
tmpObj.style.display='none';
tmpObj.innerHTML=content;
objBody.insertBefore(tmpObj,objBody.firstChild);
var size;
if(height)
size=$(tmpObj).getDimensions().width+margin;
else
size=$(tmpObj).getDimensions().height+margin;
objBody.removeChild(tmpObj);
return size;}}


Effect.ResizeWindow = Class.create();
Object.extend(Object.extend(Effect.ResizeWindow.prototype, Effect.Base.prototype), {
  initialize: function(win, top, left, width, height) {
    this.window = win;
    this.window.resizing = true;
    
    var size = win.getSize();
    this.initWidth    = parseFloat(size.width);
    this.initHeight   = parseFloat(size.height);

    var location = win.getLocation();
    this.initTop    = parseFloat(location.top);
    this.initLeft   = parseFloat(location.left);

    this.width    = width != null  ? parseFloat(width)  : this.initWidth;
    this.height   = height != null ? parseFloat(height) : this.initHeight;
    this.top      = top != null    ? parseFloat(top)    : this.initTop;
    this.left     = left != null   ? parseFloat(left)   : this.initLeft;

    this.dx     = this.left   - this.initLeft;
    this.dy     = this.top    - this.initTop;
    this.dw     = this.width  - this.initWidth;
    this.dh     = this.height - this.initHeight;
    
    this.r2      = $(this.window.getId() + "_row2");
    this.content = $(this.window.getId() + "_content");
        
    this.contentOverflow = this.content.getStyle("overflow") || "auto";
    this.content.setStyle({overflow: "hidden"});
    
    // Wired mode
    if (this.window.options.wiredDrag) {
      this.window.currentDrag = win._createWiredElement();
      this.window.currentDrag.show();
      this.window.element.hide();
    }

    this.start(arguments[5]);
  },
  
  update: function(position) {
    var width  = Math.floor(this.initWidth  + this.dw * position);
    var height = Math.floor(this.initHeight + this.dh * position);
    var top    = Math.floor(this.initTop    + this.dy * position);
    var left   = Math.floor(this.initLeft   + this.dx * position);

    if (window.ie) {
      if (Math.floor(height) == 0)  
        this.r2.hide();
      else if (Math.floor(height) >1)  
        this.r2.show();
    }      
    this.r2.setStyle({height: height});
    this.window.setSize(width, height);
    this.window.setLocation(top, left);
  },
  
  finish: function(position) {
    // Wired mode
    if (this.window.options.wiredDrag) {
      this.window._hideWiredElement();
      this.window.element.show();
    }

    this.window.setSize(this.width, this.height);
    this.window.setLocation(this.top, this.left);
    this.r2.setStyle({height: null});
    
    this.content.setStyle({overflow: this.contentOverflow});
      
    this.window.resizing = false;
  }
});

Effect.ModalSlideDown = function(element) {
  var windowScroll = WindowUtilities.getWindowScroll();    
  var height = element.getStyle("height");  
  element.setStyle({top: - (parseFloat(height) - windowScroll.top) + "px"});
  
  element.show();
  return new Effect.Move(element, Object.extend({ x: 0, y: parseFloat(height) }, arguments[1] || {}));
};


Effect.ModalSlideUp = function(element) {
  var height = element.getStyle("height");
  return new Effect.Move(element, Object.extend({ x: 0, y: -parseFloat(height) }, arguments[1] || {}));
};

PopupEffect = Class.create();
PopupEffect.prototype = {    
  initialize: function(htmlElement) {
    this.html = $(htmlElement);      
    this.options = Object.extend({className: "popup_effect", duration: 0.4}, arguments[1] || {});
    
  },
  show: function(element, options) { 
    var position = Position.cumulativeOffset(this.html);      
    var size = this.html.getDimensions();
    var bounds = element.win.getBounds();
    this.window =  element.win;      
    // Create a div
    if (!this.div) {
      this.div = document.createElement("div");
      this.div.className = this.options.className;
      this.div.style.height = size.height + "px";
      this.div.style.width  = size.width  + "px";
      this.div.style.top    = position[1] + "px";
      this.div.style.left   = position[0] + "px";   
      this.div.style.position = "absolute"
      document.body.appendChild(this.div);
    }                                                   
    if (this.options.fromOpacity)
      this.div.setStyle({opacity: this.options.fromOpacity})
    this.div.show();          
    var style = "top:" + bounds.top + ";left:" +bounds.left + ";width:" + bounds.width +";height:" + bounds.height;
    if (this.options.toOpacity)
      style += ";opacity:" + this.options.toOpacity;
    
    new Effect.Morph(this.div ,{style: style, duration: this.options.duration, afterFinish: this._showWindow.bind(this)});    
  },

  hide: function(element, options) {     
    var position = Position.cumulativeOffset(this.html);      
    var size = this.html.getDimensions();    
    this.window.visible = true; 
    var bounds = this.window.getBounds();
    this.window.visible = false; 

    this.window.element.hide();

    this.div.style.height = bounds.height;
    this.div.style.width  = bounds.width;
    this.div.style.top    = bounds.top;
    this.div.style.left   = bounds.left;
    
    if (this.options.toOpacity)
      this.div.setStyle({opacity: this.options.toOpacity})

    this.div.show();                                 
    var style = "top:" + position[1] + "px;left:" + position[0] + "px;width:" + size.width +"px;height:" + size.height + "px";

    if (this.options.fromOpacity)
      style += ";opacity:" + this.options.fromOpacity;
    new Effect.Morph(this.div ,{style: style, duration: this.options.duration, afterFinish: this._hideDiv.bind(this)});    
  },
  
  _showWindow: function() {
    this.div.hide();
    this.window.element.show(); 
  },
  
  _hideDiv: function() {
    this.div.hide();
  }
}


TooltipManager = {
  options: {cssClassName: 'tooltip', delayOver: 200, delayOut: 1000, shiftX: 2, shiftY: 2,
            className: 'alphacube', width: 200, height: null, 
            draggable: false, minimizable: false, maximizable: false, showEffect: Element.show, hideEffect: Element.hide},
  ajaxInfo: null,
  elements: null,
  showTimer: null,
  hideTimer: null,

  init: function(cssClassName, ajaxInfo, tooltipOptions) {
    TooltipManager.options = Object.extend(TooltipManager.options, tooltipOptions || {});
    //dele by banq
    //cssClassName = TooltipManager.options.cssClassName || "tooltip";
    TooltipManager.ajaxInfo = ajaxInfo;
    TooltipManager.elements = $$("." + cssClassName);
    TooltipManager.elements.each(function(element) {
      element = $(element)
      var info = TooltipManager._getInfo(element);
      if (info.ajax) {
        element.ajaxId = info.id;
        element.ajaxInfo = ajaxInfo;
        element.frameWidth = tooltipOptions.width;
        element.frameHeight = tooltipOptions.height;;
      }
      else {
        element.tooltipElement = $(info.id);        
      }
      element.observe("mouseover", TooltipManager._mouseOver);
      element.observe("mouseout", TooltipManager._mouseOut);
    });
    Windows.addObserver(this);
  },
  
  addHTML: function(element, tooltipElement) {
    element = $(element);
    tooltipElement = $(tooltipElement);
    element.tooltipElement = tooltipElement;
    
    element.observe("mouseover", TooltipManager._mouseOver);
    element.observe("mouseout", TooltipManager._mouseOut);
  },
  
  addAjax: function(element, ajaxInfo) {
    element = $(element);
    element.ajaxInfo = ajaxInfo;
    element.observe("mouseover", TooltipManager._mouseOver);
    element.observe("mouseout", TooltipManager._mouseOut);    
  },
//add by banq    
  addAjax: function(element, ajaxInfo, width, height) {  	
  
    element = $(element);
    element.ajaxInfo = ajaxInfo;    
    element.frameWidth = width;
    element.frameHeight = height;
   
    element.observe("mouseover", TooltipManager._mouseOver);
    element.observe("mouseout", TooltipManager._mouseOut);

  },    
        
    
  addURL: function(element, url, width, height) {
    element = $(element);
    element.url = url;
    element.frameWidth = width;
    element.frameHeight = height;
    element.observe("mouseover", TooltipManager._mouseOver);
    element.observe("mouseout", TooltipManager._mouseOut);    
  },
    
  close: function() {
    if (TooltipManager.tooltipWindow)
      TooltipManager.tooltipWindow.hide();
  },
  
  preloadImages: function(path, images, extension) {
    if (!extension)
      extension = ".gif";
      
    //preload images
    $A(images).each(function(i) {
      var image = new Image(); 
      image.src= path + "/" + i + extension; 
    });
  },
  
  _showTooltip: function(element) {
    if (this.element == element)
      return;
    // Get original element
    while (element && (!element.tooltipElement && !element.ajaxInfo && !element.url)) 
      element = element.parentNode;
    this.element = element;
    
    TooltipManager.showTimer = null;
    if (TooltipManager.hideTimer)
      clearTimeout(TooltipManager.hideTimer);
    
    var position = Position.cumulativeOffset(element);
    var dimension = element.getDimensions();

    if (! this.tooltipWindow)
      this.tooltipWindow = new Window("__tooltip__", TooltipManager.options);
      
    this.tooltipWindow.hide();
    this.tooltipWindow.setLocation(position[1] + dimension.height + TooltipManager.options.shiftY, position[0] + TooltipManager.options.shiftX);

    Event.observe(this.tooltipWindow.element, "mouseover", function(event) {TooltipManager._tooltipOver(event, element)});
    Event.observe(this.tooltipWindow.element, "mouseout", function(event) {TooltipManager._tooltipOut(event, element)});
    
    
    // Reset width/height for computation
    this.tooltipWindow.height = TooltipManager.options.height;
    this.tooltipWindow.width = TooltipManager.options.width;

    // Ajax content
    if (element.ajaxInfo) {
      //add by banq
      if (element.frameWidth){    	 	  
    	    this.tooltipWindow.height = element.frameHeight;
            this.tooltipWindow.width = element.frameWidth;
      }
      
      var p = element.ajaxInfo.options.parameters;
      var saveParam = p;
      
      // Set by CSS
      if (element.ajaxId) {
        if (p)
          p += "&" + element.ajaxId;
        else
          p =   element.ajaxId;
      }
      element.ajaxInfo.options.parameters = p || "";
      this.tooltipWindow.setHTMLContent("");
      //this.tooltipWindow.setAjaxContent(element.ajaxInfo.url, element.ajaxInfo.options);
      //add by banq
      this.tooltipWindow.setAjaxContent(element.ajaxInfo.url, element.ajaxInfo.options, false, false);      
      element.ajaxInfo.options.parameters = saveParam;    
    } 
    // URL content
    else if (element.url) {
      this.tooltipWindow.setURL(element.url);
      this.tooltipWindow.setSize(element.frameWidth, element.frameHeight);

      // Set tooltip size
      this.tooltipWindow.height = element.frameHeight;
      this.tooltipWindow.width = element.frameWidth;
      //add by banq
      this.tooltipWindow.setLocation(element.offsetTop + TooltipManager.options.shiftY, element.offsetLeft + TooltipManager.options.shiftX);
 
    }
    // HTML content
    else
      this.tooltipWindow.setHTMLContent(element.tooltipElement.innerHTML);

    if (!element.ajaxInfo) {      
      this.tooltipWindow.show();
      this.tooltipWindow.toFront();
      this.tooltipWindow.updateHeight();
    }
  },
  
   _refreshheight: function(element) {
   alert("hello");
    if (this.tooltipWindow) {
      this.tooltipWindow.updateHeight();
  
    }
  },
  
  _hideTooltip: function(element) {
    if (this.tooltipWindow) {
      this.tooltipWindow.hide();
      this.element = null;
    }
  },
  
  _mouseOver: function (event) {
    var element = Event.element(event);
    if (TooltipManager.showTimer) 
      clearTimeout(TooltipManager.showTimer);
    
    TooltipManager.showTimer = setTimeout(function() {TooltipManager._showTooltip(element)}, TooltipManager.options.delayOver)
  },
  
  _mouseOut: function(event) {
    var element = Event.element(event);
    if (TooltipManager.showTimer) {
      clearTimeout(TooltipManager.showTimer);
      TooltipManager.showTimer = null;
      return;
    }
    if (TooltipManager.tooltipWindow)
      TooltipManager.hideTimer = setTimeout(function() {TooltipManager._hideTooltip(element)}, TooltipManager.options.delayOut)
  },
  
  _tooltipOver: function(event, element) {
    if (TooltipManager.hideTimer) {
      clearTimeout(TooltipManager.hideTimer);
      TooltipManager.hideTimer = null;
    }
  },
  
  _tooltipOut: function(event, element) {
    if (TooltipManager.hideTimer == null)
      TooltipManager.hideTimer = setTimeout(function() {TooltipManager._hideTooltip(element)}, TooltipManager.options.delayOut)
  },
  
  _getInfo: function(element) {
    // Find html_ for static content
    var id = element.className.split(' ').detect(function(name) {return name.indexOf("html_") == 0});
    var ajax = true;
    if (id)
      ajax = false;
    else 
      // Find ajax_ for ajax content
      id = element.className.split(' ').detect(function(name) {return name.indexOf("ajax_") == 0});
    
    id = id.substr(id.indexOf('_')+1, id.length)
    return id ? {ajax: ajax, id: id} : null;
  }
  
};


function overlay(curobj, subobjstr, opt_position){
if (document.getElementById){
var subobj=document.getElementById(subobjstr)
subobj.style.display=(subobj.style.display!="block")? "block" : "none"
var xpos=getposOffset(curobj, "left")+((typeof opt_position!="undefined" && opt_position.indexOf("right")!=-1)? -(subobj.offsetWidth-curobj.offsetWidth) : 0) 
var ypos=getposOffset(curobj, "top")+((typeof opt_position!="undefined" && opt_position.indexOf("bottom")!=-1)? curobj.offsetHeight : 0)
subobj.style.left=xpos+"px"
subobj.style.top=ypos+"px"
return false
}
else
return true
}


function leftRightgoPageREST(event)
{
   var page;
   event = event ? event : (window.event ? window.event : null);

   if (event.keyCode==39) 
      page = cstart + count               
   else if (event.keyCode==37) 
      page = cstart - count      

   alert("page=" + page);
   
   var path;
    if (page != 0)	    	
	   path = pageURL + "/" + page;
	else
	  path = pageURL ;
	document.location = path;
	
} 


function goToAnotherPageREST(contextPath, count)
{
	var page = document.getElementById("pageToGo").value * 1;
	var path;

	if (!isNaN(page) && page > 0) {	 
	    var ttt = (page-1) * count;
	    if (ttt != 0)	    	
		   path = contextPath + "/" + ttt;
	    else
	       path = contextPath ;
		document.location = path;
	}
	
} 

function goToAnotherPage(contextPath, count)
{
	var page = document.getElementById("pageToGo").value * 1;

	if (!isNaN(page) && page > 0) {
	    var mychar = "?";
	    if (contextPath.toLowerCase().indexOf("?") > -1)
	      mychar = "&";
		var path = contextPath + mychar + "count=" + count + "&start=" + ((page-1) * count) ;
		document.location = path;
	}
	
} 

var AutoComplete=Class.create();
AutoComplete.prototype={
Version:'1.3.0',
REQUIRED_PROTOTYPE:'1.6.0',
initialize:function(id,param){
this.PROTOTYPE_CHECK();
this.fld=$(id);
if(!this.fld){
throw("AutoComplete requires a field id to initialize");}
this.sInp="";
this.nInpC=0;
this.aSug=[];
this.iHigh=0;
this.options=param?param:{};
var k,def={
valueSep:null,
minchars:1,
meth:"get",
varname:"input",
className:"autocomplete",
timeout:3000,
delay:500,
offsety:-5,
shownoresults:true,
noresults:"No results were found.",
maxheight:250,
cache:true,
maxentries:25,
onAjaxError:null,
setWidth:false,
minWidth:100,
maxWidth:200,
useNotifier:true};
for(k in def){
if(typeof(this.options[k])!=typeof(def[k]))
this.options[k]=def[k];}
if(this.options.useNotifier){
this.fld.addClassName('ac_field');}
var p=this;
this.fld.onkeypress=function(ev){return p.onKeyPress(ev);};
this.fld.onkeyup=function(ev){return p.onKeyUp(ev);};
this.fld.onblur=function(ev){p.resetTimeout();return true;};
this.fld.setAttribute("AutoComplete","off");},
convertVersionString:function(versionString){
var r=versionString.split('.');
return parseInt(r[0])*100000+parseInt(r[1])*1000+parseInt(r[2]);},
PROTOTYPE_CHECK:function(){
if((typeof Prototype=='undefined')||(typeof Element=='undefined')||(typeof Element.Methods=='undefined')||(this.convertVersionString(Prototype.Version)<
this.convertVersionString(this.REQUIRED_PROTOTYPE)))
throw("AutoComplete requires the Prototype JavaScript framework >= "+
this.REQUIRED_PROTOTYPE);},
onKeyPress:function(e){
if(!e)e=window.event;
var key=e.keyCode||e.wich;
switch(key){
case Event.KEY_RETURN:
this.setHighlightedValue();
Event.stop(e);
break;
case Event.KEY_TAB:
this.setHighlightedValue();
break;
case Event.KEY_ESC:
this.clearSuggestions();
break;}
return true;},
onKeyUp:function(e){
if(!e)e=window.event;
var key=e.keyCode||e.wich;
if(key==Event.KEY_UP||key==Event.KEY_DOWN){
this.changeHighlight(key);
Event.stop(e);}
else this.getSuggestions(this.fld.value);
return true;},
getSuggestions:function(val){
if(val==this.sInp)return false;
if($(this.acID))$(this.acID).remove();
this.sInp=val;
if(val.length<this.options.minchars){
this.aSug=[];
this.nInpC=val.length;
return false;}
var ol=this.nInpC;
this.nInpC=val.length?val.length:0;
var l=this.aSug.length;
if(this.options.cache&&(this.nInpC>ol)&&l&&(l<this.options.maxentries)){
var arr=new Array();
for(var i=0;i<l;i++){
try{if (this.aSug[i].value.toLowerCase().indexOf(val.toLowerCase()) != -1)
        {
  				arr.push(this.aSug[i]);
        }}catch(e){}
}
this.aSug=arr;
this.createList(this.aSug);}else{
var p=this;
clearTimeout(this.ajID);
this.ajID=setTimeout(function(){p.doAjaxRequest(p.sInp)},this.options.delay);}
document.helper=this;
return false;},
getLastInput:function(str){
var ret=str;
if(undefined !=this.options.valueSep){
var idx=ret.lastIndexOf(this.options.valueSep);
ret=idx==-1?ret:ret.substring(idx+1,ret.length);}
return ret;},
doAjaxRequest:function(input){
if(input!=this.fld.value)
return false;
this.sInp=this.getLastInput(this.sInp);
if(typeof this.options.script=='function')
var url=this.options.script(encodeURIComponent(this.sInp));
else
var url=this.options.script+this.options.varname+'='+encodeURIComponent(this.sInp);
if(!url)return false;
var p=this;
var m=this.options.meth;
if(this.options.useNotifier){
this.fld.removeClassName('ac_field');
this.fld.addClassName('ac_field_busy');};
var options={
method:m,
onSuccess:function(req){
if(p.options.useNotifier){
p.fld.removeClassName('ac_field_busy');
p.fld.addClassName('ac_field');};
p.setSuggestions(req,input);},
onFailure:(typeof p.options.onAjaxError=='function')?function(status){
if(p.options.useNotifier){
p.fld.removeClassName('ac_field_busy');
p.fld.addClassName('ac_field');}
p.options.onAjaxError(status)}:
function(status){
if(p.options.useNotifier){
p.fld.removeClassName('ac_field_busy');
p.fld.addClassName('ac_field');}
alert("AJAX error: "+status);}}
new Ajax.Request(url,options);},
setSuggestions:function(req,input){
if(input!=this.fld.value)
return false;
this.aSug=[];
if(this.options.json){
var jsondata=eval('('+req.responseText+')');
this.aSug=jsondata.results;}else{
var results=req.responseXML.getElementsByTagName('results')[0].childNodes;
for(var i=0;i<results.length;i++){
if(results[i].hasChildNodes())
this.aSug.push({'id':results[i].getAttribute('id'),'value':results[i].childNodes[0].nodeValue,'info':results[i].getAttribute('info')});}}
this.acID='ac_'+this.fld.id;
this.createList(this.aSug);},
createDOMElement:function(type,attr,cont,html){
var ne=document.createElement(type);
if(!ne)
return 0;
for(var a in attr)
ne[a]=attr[a];
var t=typeof(cont);
if(t=="string"&&!html)
ne.appendChild(document.createTextNode(cont));
else if(t=="string"&&html)
ne.innerHTML=cont;
else if(t=="object")
ne.appendChild(cont);
return ne;},
createList:function(arr){
if($(this.acID))$(this.acID).remove();
this.killTimeout();
if(arr.length==0&&!this.options.shownoresults)return false;
var div=this.createDOMElement('div',{id:this.acID,className:this.options.className});
var hcorner=this.createDOMElement('div',{className:'ac_corner'});
var hbar=this.createDOMElement('div',{className:'ac_bar'});
var header=this.createDOMElement('div',{className:'ac_header'});
header.appendChild(hcorner);
header.appendChild(hbar);
div.appendChild(header);
var ul=this.createDOMElement('ul',{id:'ac_ul'});
var p=this;
if(arr.length==0&&this.options.shownoresults){
var li=this.createDOMElement('li',{className:'ac_warning'},this.options.noresults);
ul.appendChild(li);}else{
for(var i=0,l=arr.length;i<l;i++){
var val=arr[i].value;
var st=val.toLowerCase().indexOf(this.sInp.toLowerCase());
var output=val.substring(0,st)+'<em>'+val.substring(st,st+this.sInp.length)+'</em>'+val.substring(st+this.sInp.length);
var span=this.createDOMElement('span',{},output,true);
if(arr[i].info!=''){
var br=this.createDOMElement('br',{});
span.appendChild(br);
var small=this.createDOMElement('small',{},arr[i].info);
span.appendChild(small);}
var a=this.createDOMElement('a',{href:'#'});
var tl=this.createDOMElement('span',{className:'tl'},'&nbsp;',true);
var tr=this.createDOMElement('span',{className:'tr'},'&nbsp;',true);
a.appendChild(tl);
a.appendChild(tr);
a.appendChild(span);
a.name=i+1;
a.onclick=function(){
p.setHighlightedValue();
return false;};
a.onmouseover=function(){
p.setHighlight(this.name);};
var li=this.createDOMElement('li',{},a);
ul.appendChild(li);}}
div.appendChild(ul);
var fcorner=this.createDOMElement('div',{className:'ac_corner'});
var fbar=this.createDOMElement('div',{className:'ac_bar'});
var footer=this.createDOMElement('div',{className:'ac_footer'});
footer.appendChild(fcorner);
footer.appendChild(fbar);
div.appendChild(footer);
var pos=this.fld.cumulativeOffset();
div.style.left=pos[0]+"px";
div.style.top=pos[1]+this.fld.offsetHeight+"px";
var w=(
this.options.setWidth&&this.fld.offsetWidth<this.options.minWidth)?this.options.minWidth:(
this.options.setWidth&&this.fld.offsetWidth>this.options.maxWidth)?this.options.maxWidth:
this.fld.offsetWidth;
div.style.width=w+"px";
div.onmouseover=function(){p.killTimeout()};
div.onmouseout=function(){p.resetTimeout()};
document.getElementsByTagName("body")[0].appendChild(div);
this.iHigh=1;
this.setHighlight(1);
this.toID=setTimeout(
function(){
p.clearSuggestions()},this.options.timeout);},
changeHighlight:function(key){
var list=$("ac_ul");
if(!list)
return false;
var n;
n=(key==Event.KEY_DOWN||key==Event.KEY_TAB)?this.iHigh+1:this.iHigh-1;
n=(n>list.childNodes.length)?list.childNodes.length:((n<1)?1:n);
this.setHighlight(n);},
setHighlight:function(n){
var list=$('ac_ul');
if(!list)return false;
if(this.iHigh>0)this.clearHighlight();
this.iHigh=Number(n);
list.childNodes[this.iHigh-1].className='ac_highlight';
this.killTimeout();},
clearHighlight:function(){
var list=$('ac_ul');
if(!list)return false;
if(this.iHigh>0){
list.childNodes[this.iHigh-1].className='';
this.iHigh=0;}},
setHighlightedValue:function(){
if(this.iHigh){
if(!this.aSug[this.iHigh-1])return;
if(undefined !=this.options.valueSep){
var str=this.getLastInput(this.fld.value);
var idx=this.fld.value.lastIndexOf(str);
str=this.aSug[this.iHigh-1].value+this.options.valueSep;
this.sInp=this.fld.value=idx==-1?str:this.fld.value.substring(0,idx)+str;}else{
var str=this.getLastInput(this.fld.value);
var idx=this.fld.value.lastIndexOf(str);
str=this.aSug[this.iHigh-1].value;
this.sInp=this.fld.value=idx==-1?str:this.fld.value.substring(0,idx)+str;}
this.fld.focus();
if(this.fld.selectionStart)
this.fld.setSelectionRange(this.sInp.length,this.sInp.length);
this.clearSuggestions();
if(typeof this.options.callback=='function')
this.options.callback(this.aSug[this.iHigh-1]);}},
killTimeout:function(){
clearTimeout(this.toID);},
resetTimeout:function(){
this.killTimeout();
var p=this;
this.toID=setTimeout(
function(){
p.clearSuggestions();},p.options.timeout);},
clearSuggestions:function(){
this.killTimeout();
if($(this.acID)){
this.fadeOut(300,function(){
$(this.acID).remove();});}},
fadeOut:function(milliseconds,callback){
this._fadeFrom=1;
this._fadeTo=0;
this._afterUpdateInternal=callback;
this._fadeDuration=milliseconds;
this._fadeInterval=50;
this._fadeTime=0;
var p=this;
this._fadeIntervalID=setInterval(
function(){
p._changeOpacity()},this._fadeInterval);},
_changeOpacity:function(){
if(!$(this.acID)){
this._fadeIntervalID=clearInterval(this._fadeIntervalID);
return;}
this._fadeTime+=this._fadeInterval;
var ieop=Math.round((this._fadeFrom+((this._fadeTo-this._fadeFrom)*(this._fadeTime/this._fadeDuration)))*100)
var op=ieop/100;
var el=$(this.acID);
if(el.filters){
try{
el.filters.item("DXImageTransform.Microsoft.Alpha").opacity=ieop;}catch(e){
el.style.filter='progid:DXImageTransform.Microsoft.Alpha(opacity='+ieop+')';}}else{
el.style.opacity=op;}
if(this._fadeTime>=this._fadeDuration){
clearInterval(this._fadeIntervalID);
if(typeof this._afterUpdateInternal=='function')
this._afterUpdateInternal();}}}



function addfavorite( title) {
 var url = location.href;
 if (document.all) {
   window.external.addFavorite(url,title); 
 }else if (window.sidebar) {
   window.sidebar.addPanel(title, url, ""); 
 }else{
   alert('Press ctrl+D to bookmark ');
 }
}

var timeout = 1;
var startDiaglog = false;  
var scontent;

function openInfoDiag(content) {  
      scontent = content;       
      Dialog.info(scontent + "  计时：" +  timeout + " 秒   ",
               {width:260, height:150, showProgress: true});
      setTimeout(infoTimeOut, 1000);
      startDiaglog = true;   
}
   
function infoTimeOut() {  
      if (startDiaglog){
         if (timeout > 10)
            infoDiagClose();
         else
            timeout++;  
            Dialog.setInfoMessage(scontent + "  计时：" +  timeout + " 秒  ");
            setTimeout(infoTimeOut, 1000) ;
      }
}
   
function setDiagInfo(content){
      scontent = content;
}
   
function infoDiagClose(){
     if (startDiaglog){
        Dialog.closeInfo();
        startDiaglog = false;
        timeout = 1;
     }
}

var popupW;
function openPopUpWindow(wtitlename, url){
    if (popupW == null) {       
       popupW = new Window({className: "mac_os_x", width:600, height:380, title: wtitlename}); 
       popupW.setURL(url);
       popupW.showCenter();
	
	    
	   var myObserver = {
        onClose: function(eventName, myW) {    	  
          if (myW == popupW){        	        	
            popupW = null;   
            Windows.removeObserver(this);
          }
        }
       }
     Windows.addObserver(myObserver);
     } 
 }     

function copyToClipboard(obj){
     if (document.execCommand){
		var e=$(obj);
		e.select();
		document.execCommand("Copy");
	 }
}
