/*  Prototype JavaScript framework, version 1.6.0.3
 *  (c) 2005-2008 Sam Stephenson
 *
 *  Prototype is freely distributable under the terms of an MIT-style license.
 *  For details, see the Prototype web site: http://www.prototypejs.org/
 *
 *--------------------------------------------------------------------------*/

// Copyright (c) 2005-2007 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)
// 
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
// 
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// For details, see the script.aculo.us web site: http://script.aculo.us/
eval(function(p,a,c,k,e,r){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--)r[e(c)]=k[c]||e(c);k=[function(e){return r[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 1b={6e:\'1.6.0.3\',1C:{2G:!!(1o.7n&&3Z.41.2U(\'42\')===-1),42:3Z.41.2U(\'42\')>-1,3p:3Z.41.2U(\'eP/\')>-1,7o:3Z.41.2U(\'7o\')>-1&&3Z.41.2U(\'bg\')===-1,bh:!!3Z.41.1t(/eQ.*eR.*bi/)},3q:{7p:!!18.2A,bj:!!18.bk,6f:!!1o.6g,7q:18.2H(\'26\')[\'4T\']&&18.2H(\'26\')[\'4T\']!==18.2H(\'8P\')[\'4T\']},7r:\'<43[^>]*>([\\\\S\\\\s]*?)<\\/43>\',bl:/^\\/\\*-eS-([\\s\\S]*)\\*\\/\\s*$/,2I:q(){},K:q(x){C x}};if(1b.1C.bh)1b.3q.7q=1g;E 1D={1E:q(){E a=1f,6h=$A(17);if(J.21(6h[0]))a=6h.4U();q 2J(){o.1J.2V(o,17)}J.V(2J,1D.1c);2J.8Q=a;2J.bm=[];if(a){E b=q(){};b.1j=a.1j;2J.1j=14 b;a.bm.1h(2J)}19(E i=0;i<6h.W;i++)2J.5A(6h[i]);if(!2J.1j.1J)2J.1j.1J=1b.2I;2J.1j.eT=2J;C 2J}};1D.1c={5A:q(a){E b=o.8Q&&o.8Q.1j;E c=J.4V(a);if(!J.4V({2p:1d}).W)c.1h("2p","8R");19(E i=0,W=c.W;i<W;i++){E d=c[i],1l=a[d];if(b&&J.21(1l)&&1l.bn().2W()=="$44"){E e=1l;1l=(q(m){C q(){C b[m].2V(o,17)}})(d).4o(e);1l.8R=e.8R.1G(e);1l.2p=e.2p.1G(e)}o.1j[d]=1l}C o}};E 4W={};J.V=q(a,b){19(E c in b)a[c]=b[c];C a};J.V(J,{28:q(a){1O{if(J.2q(a))C\'3r\';if(a===1f)C\'1f\';C a.28?a.28():1F(a)}1Q(e){if(e 8S eU)C\'...\';2K e;}},32:q(a){E b=1X a;3I(b){1w\'3r\':1w\'q\':1w\'eV\':C;1w\'eW\':C a.2p()}if(a===1f)C\'1f\';if(a.32)C a.32();if(J.47(a))C;E c=[];19(E d in a){E e=J.32(a[d]);if(!J.2q(e))c.1h(d.32()+\': \'+e)}C\'{\'+c.29(\', \')+\'}\'},4p:q(a){C $H(a).4p()},48:q(a){C a&&a.48?a.48():1F.5B(a)},4V:q(a){E b=[];19(E c in a)b.1h(c);C b},2r:q(a){E b=[];19(E c in a)b.1h(a[c]);C b},2s:q(a){C J.V({},a)},47:q(a){C!!(a&&a.2B==1)},4q:q(a){C a!=1f&&1X a=="2C"&&\'eX\'in a&&\'29\'in a},8T:q(a){C a 8S 3J},21:q(a){C 1X a=="q"},2d:q(a){C 1X a=="6i"},4X:q(a){C 1X a=="8U"},2q:q(a){C 1X a=="3r"}});J.V(eY.1j,{bn:q(){E a=o.2p().1t(/^[\\s\\(]*q[^(]*\\(([^\\)]*)\\)/)[1].1K(/\\s+/g,\'\').2X(\',\');C a.W==1&&!a[0]?[]:a},1G:q(){if(17.W<2&&J.2q(17[0]))C o;E a=o,2D=$A(17),2C=2D.4U();C q(){C a.2V(2C,2D.1L($A(17)))}},eZ:q(){E b=o,2D=$A(17),2C=2D.4U();C q(a){C b.2V(2C,[a||1o.4Y].1L(2D))}},8V:q(){if(!17.W)C o;E a=o,2D=$A(17);C q(){C a.2V(o,2D.1L($A(17)))}},4r:q(){E a=o,2D=$A(17),bo=2D.4U()*6j;C 1o.f0(q(){C a.2V(a,2D)},bo)},4s:q(){E a=[0.bp].1L($A(17));C o.4r.2V(o,a)},4o:q(a){E b=o;C q(){C a.2V(o,[b.1G(o)].1L($A(17)))}},4t:q(){if(o.8W)C o.8W;E a=o;C o.8W=q(){C a.2V(1f,[o].1L($A(17)))}}});8X.1j.32=q(){C\'"\'+o.f1()+\'-\'+(o.f2()+1).4u(2)+\'-\'+o.f3().4u(2)+\'T\'+o.f4().4u(2)+\':\'+o.f5().4u(2)+\':\'+o.f6().4u(2)+\'Z"\'};E bq={br:q(){E a;19(E i=0,W=17.W;i<W;i++){E b=17[i];1O{a=b();1x}1Q(e){}}C a}};49.1j.1t=49.1j.2t;49.bs=q(a){C 1F(a).1K(/([.*+?^=!:${}()|[\\]\\/\\\\])/g,\'\\\\$1\')};E bt=1D.1E({1J:q(a,b){o.6k=a;o.6l=b;o.7s=1g;o.6m()},6m:q(){o.5C=8Y(o.6n.1G(o),o.6l*6j)},8Z:q(){o.6k(o)},90:q(){if(!o.5C)C;91(o.5C);o.5C=1f},6n:q(){if(!o.7s){1O{o.7s=1d;o.8Z()}f7{o.7s=1g}}}});J.V(1F,{5B:q(a){C a==1f?\'\':1F(a)},bu:{\'\\b\':\'\\\\b\',\'\\t\':\'\\\\t\',\'\\n\':\'\\\\n\',\'\\f\':\'\\\\f\',\'\\r\':\'\\\\r\',\'\\\\\':\'\\\\\\\\\'}});J.V(1F.1j,{2L:q(a,b){E c=\'\',4v=o,1t;b=17.5D.92(b);1H(4v.W>0){if(1t=4v.1t(a)){c+=4v.2M(0,1t.6o);c+=1F.5B(b(1t));4v=4v.2M(1t.6o+1t[0].W)}1e{c+=4v,4v=\'\'}}C c},bv:q(b,c,d){c=o.2L.92(c);d=J.2q(d)?1:d;C o.2L(b,q(a){if(--d<0)C a[0];C c(a)})},bw:q(a,b){o.2L(a,b);C 1F(o)},f8:q(a,b){a=a||30;b=J.2q(b)?\'...\':b;C o.W>a?o.2M(0,a-b.W)+b:1F(o)},3K:q(){C o.1K(/^\\s+/,\'\').1K(/\\s+$/,\'\')},93:q(){C o.1K(/<\\/?[^>]+>/gi,\'\')},4a:q(){C o.1K(14 49(1b.7r,\'bx\'),\'\')},by:q(){E b=14 49(1b.7r,\'bx\');E c=14 49(1b.7r,\'im\');C(o.1t(b)||[]).1Y(q(a){C(a.1t(c)||[\'\',\'\'])[1]})},4Z:q(){C o.by().1Y(q(a){C 6p(a)})},5E:q(){E a=17.5D;a.3L.f9=o;C a.26.3M},bz:q(){E c=14 G(\'26\');c.3M=o.93();C c.2i[0]?(c.2i.W>1?$A(c.2i).2E(\'\',q(a,b){C a+b.5F}):c.2i[0].5F):\'\'},7t:q(e){E f=o.3K().1t(/([^?#]*)(#.*)?$/);if(!f)C{};C f[1].2X(e||\'&\').2E({},q(a,b){if((b=b.2X(\'=\'))[0]){E c=94(b.4U());E d=b.W>1?b.29(\'=\'):b[0];if(d!=3r)d=94(d);if(c in a){if(!J.4q(a[c]))a[c]=[a[c]];a[c].1h(d)}1e a[c]=d}C a})},2Y:q(){C o.2X(\'\')},95:q(){C o.2M(0,o.W-1)+1F.bA(o.bB(o.W-1)+1)},7u:q(a){C a<1?\'\':14 2a(a+1).29(o)},6q:q(){E a=o.2X(\'-\'),6r=a.W;if(6r==1)C a[0];E b=o.4w(0)==\'-\'?a[0].4w(0).1R()+a[0].4x(1):a[0];19(E i=1;i<6r;i++)b+=a[i].4w(0).1R()+a[i].4x(1);C b},6s:q(){C o.4w(0).1R()+o.4x(1).1S()},fa:q(){C o.2L(/::/,\'/\').2L(/([A-Z]+)([A-Z][a-z])/,\'#{1}5G#{2}\').2L(/([a-z\\d])([A-Z])/,\'#{1}5G#{2}\').2L(/-/,\'5G\').1S()},bC:q(){C o.2L(/5G/,\'-\')},28:q(c){E d=o.2L(/[\\fb-\\fc\\\\]/,q(a){E b=1F.bu[a[0]];C b?b:\'\\\\fd\'+a[0].bB().4u(2,16)});if(c)C\'"\'+d.1K(/"/g,\'\\\\"\')+\'"\';C"\'"+d.1K(/\'/g,\'\\\\\\\'\')+"\'"},32:q(){C o.28(1d)},96:q(a){C o.bv(a||1b.bl,\'#{1}\')},bD:q(){E a=o;if(a.50())C 1g;a=o.1K(/\\\\./g,\'@\').1K(/"[^"\\\\\\n\\r]*"/g,\'\');C(/^[,:{}\\[\\]0-9.\\-+fe-u \\n\\r\\t]*$/).2t(a)},5H:q(a){E b=o.96();1O{if(!a||b.bD())C 6p(\'(\'+b+\')\')}1Q(e){}2K 14 ff(\'fg fh bE 6i: \'+o.28());},1y:q(a){C o.2U(a)>-1},97:q(a){C o.2U(a)===0},98:q(a){E d=o.W-a.W;C d>=0&&o.99(a)===d},5I:q(){C o==\'\'},50:q(){C/^\\s*$/.2t(o)},bF:q(a,b){C 14 2N(o,b).2A(a)}});if(1b.1C.3p||1b.1C.2G)J.V(1F.1j,{5E:q(){C o.1K(/&/g,\'&bG;\').1K(/</g,\'&lt;\').1K(/>/g,\'&gt;\')},bz:q(){C o.93().1K(/&bG;/g,\'&\').1K(/&lt;/g,\'<\').1K(/&gt;/g,\'>\')}});1F.1j.2L.92=q(b){if(J.21(b))C b;E c=14 2N(b);C q(a){C c.2A(a)}};1F.1j.fi=1F.1j.7t;J.V(1F.1j.5E,{26:18.2H(\'26\'),3L:18.7v(\'\')});1F.1j.5E.26.3s(1F.1j.5E.3L);E 2N=1D.1E({1J:q(a,b){o.bH=a.2p();o.bI=b||2N.bJ},2A:q(f){if(J.21(f.9a))f=f.9a();C o.bH.2L(o.bI,q(a){if(f==1f)C\'\';E b=a[1]||\'\';if(b==\'\\\\\')C a[2];E c=f,6t=a[3];E d=/^([^.[]+|\\[((?:.*?[^\\\\])?)\\])(\\.|\\[|$)/;a=d.bK(6t);if(a==1f)C b;1H(a!=1f){E e=a[1].97(\'[\')?a[2].2L(\'\\\\\\\\]\',\']\'):a[1];c=c[e];if(1f==c||\'\'==a[3])1x;6t=6t.4x(\'[\'==a[3]?a[1].W:a[0].W);a=d.bK(6t)}C b+1F.5B(c)})}});2N.bJ=/(^|.|\\r|\\n)(#\\{(.*?)\\})/;E $1x={};E 2u={1k:q(b,c){E d=0;1O{o.3t(q(a){b.2x(c,a,d++)})}1Q(e){if(e!=$1x)2K e;}C o},bL:q(a,b,c){E d=-a,9b=[],7w=o.2Y();if(a<1)C 7w;1H((d+=a)<7w.W)9b.1h(7w.2M(d,d+a));C 9b.6u(b,c)},9c:q(c,d){c=c||1b.K;E e=1d;o.1k(q(a,b){e=e&&!!c.2x(d,a,b);if(!e)2K $1x;});C e},bM:q(c,d){c=c||1b.K;E e=1g;o.1k(q(a,b){if(e=!!c.2x(d,a,b))2K $1x;});C e},6u:q(c,d){c=c||1b.K;E e=[];o.1k(q(a,b){e.1h(c.2x(d,a,b))});C e},7x:q(c,d){E e;o.1k(q(a,b){if(c.2x(d,a,b)){e=a;2K $1x;}});C e},4y:q(c,d){E e=[];o.1k(q(a,b){if(c.2x(d,a,b))e.1h(a)});C e},fj:q(c,d,e){d=d||1b.K;E f=[];if(J.2d(c))c=14 49(c);o.1k(q(a,b){if(c.1t(a))f.1h(d.2x(e,a,b))});C f},1y:q(b){if(J.21(o.2U))if(o.2U(b)!=-1)C 1d;E c=1g;o.1k(q(a){if(a==b){c=1d;2K $1x;}});C c},fk:q(b,c){c=J.2q(c)?1f:c;C o.bL(b,q(a){1H(a.W<b)a.1h(c);C a})},2E:q(c,d,e){o.1k(q(a,b){c=d.2x(e,c,a,b)});C c},7y:q(b){E c=$A(17).2M(1);C o.1Y(q(a){C a[b].2V(a,c)})},5J:q(c,d){c=c||1b.K;E e;o.1k(q(a,b){a=c.2x(d,a,b);if(e==1f||a>=e)e=a});C e},fl:q(c,d){c=c||1b.K;E e;o.1k(q(a,b){a=c.2x(d,a,b);if(e==1f||a<e)e=a});C e},fm:q(c,d){c=c||1b.K;E e=[],9d=[];o.1k(q(a,b){(c.2x(d,a,b)?e:9d).1h(a)});C[e,9d]},4z:q(b){E c=[];o.1k(q(a){c.1h(a[b])});C c},7z:q(c,d){E e=[];o.1k(q(a,b){if(!c.2x(d,a,b))e.1h(a)});C e},bN:q(e,f){C o.1Y(q(a,b){C{1l:a,6v:e.2x(f,a,b)}}).fn(q(c,d){E a=c.6v,b=d.6v;C a<b?-1:a>b?1:0}).4z(\'1l\')},2Y:q(){C o.1Y()},fo:q(){E c=1b.K,2D=$A(17);if(J.21(2D.2b()))c=2D.fp();E d=[o].1L(2D).1Y($A);C o.1Y(q(a,b){C c(d.4z(b))})},9e:q(){C o.2Y().W},28:q(){C\'#<2u:\'+o.2Y().28()+\'>\'}};J.V(2u,{1Y:2u.6u,9f:2u.7x,2e:2u.4y,5K:2u.4y,fq:2u.1y,fr:2u.2Y,fs:2u.9c,ft:2u.bM});q $A(a){if(!a)C[];if(a.2Y)C a.2Y();E b=a.W||0,1i=14 2a(b);1H(b--)1i[b]=a[b];C 1i}if(1b.1C.3p){$A=q(a){if(!a)C[];if(!(1X a===\'q\'&&1X a.W===\'8U\'&&1X a.fu===\'q\')&&a.2Y)C a.2Y();E b=a.W||0,1i=14 2a(b);1H(b--)1i[b]=a[b];C 1i}}2a.2O=$A;J.V(2a.1j,2u);if(!2a.1j.9g)2a.1j.9g=2a.1j.5L;J.V(2a.1j,{3t:q(a){19(E i=0,W=o.W;i<W;i++)a(o[i])},bO:q(){o.W=0;C o},2W:q(){C o[0]},2b:q(){C o[o.W-1]},fv:q(){C o.2e(q(a){C a!=1f})},51:q(){C o.2E([],q(a,b){C a.1L(J.4q(b)?b.51():[b])})},5M:q(){E b=$A(17);C o.2e(q(a){C!b.1y(a)})},5L:q(a){C(a!==1g?o:o.2Y()).9g()},fw:q(){C o.W>1?o:o[0]},bP:q(d){C o.2E([],q(a,b,c){if(0==c||(d?a.2b()!=b:!a.1y(b)))a.1h(b);C a})},fx:q(c){C o.bP().4y(q(b){C c.7x(q(a){C b===a})})},2s:q(){C[].1L(o)},9e:q(){C o.W},28:q(){C\'[\'+o.1Y(J.28).29(\', \')+\']\'},32:q(){E c=[];o.1k(q(a){E b=J.32(a);if(!J.2q(b))c.1h(b)});C\'[\'+c.29(\', \')+\']\'}});if(J.21(2a.1j.bQ))2a.1j.3t=2a.1j.bQ;if(!2a.1j.2U)2a.1j.2U=q(a,i){i||(i=0);E b=o.W;if(i<0)i=b+i;19(;i<b;i++)if(o[i]===a)C i;C-1};if(!2a.1j.99)2a.1j.99=q(a,i){i=9h(i)?o.W:(i<0?o.W+i:i)+1;E n=o.2M(0,i).5L().2U(a);C(n<0)?n:i-n-1};2a.1j.2Y=2a.1j.2s;q $w(a){if(!J.2d(a))C[];a=a.3K();C a?a.2X(/\\s+/):[]}if(1b.1C.42){2a.1j.1L=q(){E a=[];19(E i=0,W=o.W;i<W;i++)a.1h(o[i]);19(E i=0,W=17.W;i<W;i++){if(J.4q(17[i])){19(E j=0,bR=17[i].W;j<bR;j++)a.1h(17[i][j])}1e{a.1h(17[i])}}C a}}J.V(52.1j,{5N:q(){C o.4u(2,16)},95:q(){C o+1},7u:q(a,b){$R(0,o,1d).1k(a,b);C o},4u:q(a,b){E c=o.2p(b||10);C\'0\'.7u(a-c.W)+c},32:q(){C fy(o)?o.2p():\'1f\'}});$w(\'fz 3a fA 9i\').1k(q(a){52.1j[a]=2P[a].4t()});q $H(a){C 14 3J(a)};E 3J=1D.1E(2u,(q(){q 9j(a,b){if(J.2q(b))C a;C a+\'=\'+bS(1F.5B(b))}C{1J:q(a){o.4b=J.8T(a)?a.6w():J.2s(a)},3t:q(a){19(E b in o.4b){E c=o.4b[b],7A=[b,c];7A.53=b;7A.1l=c;a(7A)}},4c:q(a,b){C o.4b[a]=b},3u:q(a){if(o.4b[a]!==J.1j[a])C o.4b[a]},fB:q(a){E b=o.4b[a];9k o.4b[a];C b},6w:q(){C J.2s(o.4b)},4V:q(){C o.4z(\'53\')},2r:q(){C o.4z(\'1l\')},6o:q(b){E c=o.7x(q(a){C a.1l===b});C c&&c.53},fC:q(a){C o.2s().2f(a)},2f:q(c){C 14 3J(c).2E(o,q(a,b){a.4c(b.53,b.1l);C a})},4p:q(){C o.2E([],q(a,b){E c=bS(b.53),2r=b.1l;if(2r&&1X 2r==\'2C\'){if(J.4q(2r))C a.1L(2r.1Y(9j.8V(c)))}1e a.1h(9j(c,2r));C a}).29(\'&\')},28:q(){C\'#<3J:{\'+o.1Y(q(a){C a.1Y(J.28).29(\': \')}).29(\', \')+\'}>\'},32:q(){C J.32(o.6w())},2s:q(){C 14 3J(o)}}})());3J.1j.9a=3J.1j.6w;3J.2O=$H;E bT=1D.1E(2u,{1J:q(a,b,c){o.2Q=a;o.6x=b;o.bU=c},3t:q(a){E b=o.2Q;1H(o.1y(b)){a(b);b=b.95()}},1y:q(a){if(a<o.2Q)C 1g;if(o.bU)C a<o.6x;C a<=o.6x}});E $R=q(a,b,c){C 14 bT(a,b,c)};E 1M={bV:q(){C bq.br(q(){C 14 bW()},q(){C 14 bX(\'fD.bY\')},q(){C 14 bX(\'fE.bY\')})||1g},9l:0};1M.5O={6y:[],3t:q(a){o.6y.3t(a)},bZ:q(a){if(!o.1y(a))o.6y.1h(a)},fF:q(a){o.6y=o.6y.5M(a)},7B:q(b,c,d,f){o.1k(q(a){if(J.21(a[b])){1O{a[b].2V(a,[c,d,f])}1Q(e){}}})}};J.V(1M.5O,2u);1M.5O.bZ({7C:q(){1M.9l++},4A:q(){1M.9l--}});1M.3b=1D.1E({1J:q(a){o.L={1T:\'6z\',7D:1d,c0:\'7E/x-fG-8P-fH\',9m:\'fI-8\',3c:\'\',5H:1d,9n:1d};J.V(o.L,a||{});o.L.1T=o.L.1T.1S();if(J.2d(o.L.3c))o.L.3c=o.L.3c.7t();1e if(J.8T(o.L.3c))o.L.3c=o.L.3c.6w()}});1M.54=1D.1E(1M.3b,{9o:1g,1J:q($44,a,b){$44(b);o.2j=1M.bV();o.3N(a)},3N:q(a){o.55=a;o.1T=o.L.1T;E b=J.2s(o.L.3c);if(![\'3u\',\'6z\'].1y(o.1T)){b[\'fJ\']=o.1T;o.1T=\'6z\'}o.3c=b;if(b=J.4p(b)){if(o.1T==\'3u\')o.55+=(o.55.1y(\'?\')?\'&\':\'?\')+b;1e if(/fK|bi|bg/.2t(3Z.41))b+=\'&5G=\'}1O{E c=14 1M.9p(o);if(o.L.7C)o.L.7C(c);1M.5O.7B(\'7C\',o,c);o.2j.fL(o.1T.1R(),o.55,o.L.7D);if(o.L.7D)o.9q.1G(o).4s(1);o.2j.7F=o.9r.1G(o);o.c1();o.22=o.1T==\'6z\'?(o.L.fM||b):1f;o.2j.fN(o.22);if(!o.L.7D&&o.2j.c2)o.9r()}1Q(e){o.56(e)}},9r:q(){E a=o.2j.3O;if(a>1&&!((a==4)&&o.9o))o.9q(o.2j.3O)},c1:q(){E b={\'X-fO-fP\':\'bW\',\'X-1b-6e\':1b.6e,\'fQ\':\'3L/c3, 3L/fR, 7E/c4, 3L/c4, */*\'};if(o.1T==\'6z\'){b[\'9s-1m\']=o.L.c0+(o.L.9m?\'; fS=\'+o.L.9m:\'\');if(o.2j.c2&&(3Z.41.1t(/7o\\/(\\d{4})/)||[0,c5])[1]<c5)b[\'fT\']=\'fU\'}if(1X o.L.c6==\'2C\'){E c=o.L.c6;if(J.21(c.1h))19(E i=0,W=c.W;i<W;i+=2)b[c[i]]=c[i+1];1e $H(c).1k(q(a){b[a.53]=a.1l})}19(E d in b)o.2j.fV(d,b[d])},57:q(){E a=o.6A();C!a||(a>=c7&&a<fW)},6A:q(){1O{C o.2j.7G||0}1Q(e){C 0}},9q:q(a){E b=1M.54.c8[a],4d=14 1M.9p(o);if(b==\'9t\'){1O{o.9o=1d;(o.L[\'5P\'+4d.7G]||o.L[\'5P\'+(o.57()?\'fX\':\'fY\')]||1b.2I)(4d,4d.7H)}1Q(e){o.56(e)}E c=4d.5Q(\'9s-1m\');if(o.L.9n==\'c9\'||(o.L.9n&&o.7I()&&c&&c.1t(/^\\s*(3L|7E)\\/(x-)?(fZ|g0)43(;.*)?\\s*$/i)))o.ca()}1O{(o.L[\'5P\'+b]||1b.2I)(4d,4d.7H);1M.5O.7B(\'5P\'+b,o,4d,4d.7H)}1Q(e){o.56(e)}if(b==\'9t\'){o.2j.7F=1b.2I}},7I:q(){E m=o.55.1t(/^\\s*g1?:\\/\\/[^\\/]*/);C!m||(m[0]==\'#{9u}//#{9v}#{7J}\'.bF({9u:7K.9u,9v:18.9v,7J:7K.7J?\':\'+7K.7J:\'\'}))},5Q:q(a){1O{C o.2j.9w(a)||1f}1Q(e){C 1f}},ca:q(){1O{C 6p((o.2j.4B||\'\').96())}1Q(e){o.56(e)}},56:q(a){(o.L.cb||1b.2I)(o,a);1M.5O.7B(\'cb\',o,a)}});1M.54.c8=[\'g2\',\'g3\',\'g4\',\'g5\',\'9t\'];1M.9p=1D.1E({1J:q(a){o.3N=a;E b=o.2j=a.2j,3O=o.3O=b.3O;if((3O>2&&!1b.1C.2G)||3O==4){o.7G=o.6A();o.9x=o.cc();o.4B=1F.5B(b.4B);o.7H=o.cd()}if(3O==4){E c=b.ce;o.ce=J.2q(c)?1f:c;o.g6=o.cf()}},7G:0,9x:\'\',6A:1M.54.1j.6A,cc:q(){1O{C o.2j.9x||\'\'}1Q(e){C\'\'}},5Q:1M.54.1j.5Q,g7:q(){1O{C o.9y()}1Q(e){C 1f}},9w:q(a){C o.2j.9w(a)},9y:q(){C o.2j.9y()},cd:q(){E a=o.5Q(\'X-bE\');if(!a)C 1f;a=94(bs(a));1O{C a.5H(o.3N.L.cg||!o.3N.7I())}1Q(e){o.3N.56(e)}},cf:q(){E a=o.3N.L;if(!a.5H||(a.5H!=\'c9\'&&!(o.5Q(\'9s-1m\')||\'\').1y(\'7E/g8\'))||o.4B.50())C 1f;1O{C o.4B.5H(a.cg||!o.3N.7I())}1Q(e){o.3N.56(e)}}});1M.ch=1D.1E(1M.54,{1J:q($44,c,d,e){o.7L={57:(c.57||c),9z:(c.9z||(c.57?1f:c))};e=J.2s(e);E f=e.4A;e.4A=(q(a,b){o.ci(a.4B);if(J.21(f))f(a,b)}).1G(o);$44(d,e)},ci:q(a){E b=o.7L[o.57()?\'57\':\'9z\'],L=o.L;if(!L.4Z)a=a.4a();if(b=$(b)){if(L.7M){if(J.2d(L.7M)){E c={};c[L.7M]=a;b.3d(c)}1e L.7M(b,a)}1e b.2f(a)}}});1M.g9=1D.1E(1M.3b,{1J:q($44,a,b,c){$44(c);o.4A=o.L.4A;o.6l=(o.L.6l||2);o.58=(o.L.58||1);o.9A={};o.7L=a;o.55=b;o.2Q()},2Q:q(){o.L.4A=o.cj.1G(o);o.6n()},90:q(){o.9A.L.4A=3r;ga(o.5C);(o.4A||1b.2I).2V(o,17)},cj:q(a){if(o.L.58){o.58=(a.4B==o.ck?o.58*o.L.58:1);o.ck=a.4B}o.5C=o.6n.1G(o).4r(o.58*o.6l)},6n:q(){o.9A=14 1M.ch(o.7L,o.55,o.L)}});q $(a){if(17.W>1){19(E i=0,9B=[],W=17.W;i<W;i++)9B.1h($(17[i]));C 9B}if(J.2d(a))a=18.gb(a);C G.V(a)}if(1b.3q.7p){18.9C=q(a,b){E c=[];E d=18.2A(a,$(b)||18,1f,gc.gd,1f);19(E i=0,W=d.ge;i<W;i++)c.1h(G.V(d.gf(i)));C c}}if(!1o.6B)E 6B={};if(!6B.cl){J.V(6B,{cl:1,gg:2,co:3,gh:4,gj:5,gk:6,gl:7,gm:8,gn:9,go:10,gp:11,gq:12})}(q(){E d=o.G;o.G=q(a,b){b=b||{};a=a.1S();E c=G.6C;if(1b.1C.2G&&b.2k){a=\'<\'+a+\' 2k="\'+b.2k+\'">\';9k b.2k;C G.6D(18.2H(a),b)}if(!c[a])c[a]=G.V(18.2H(a));C G.6D(c[a].gr(1g),b)};J.V(o.G,d||{});if(d)o.G.1j=d.1j}).2x(1o);G.6C={};G.1c={7N:q(a){C $(a).Y.3v!=\'4e\'},9D:q(a){a=$(a);G[G.7N(a)?\'3e\':\'59\'](a);C a},3e:q(a){a=$(a);a.Y.3v=\'4e\';C a},59:q(a){a=$(a);a.Y.3v=\'\';C a},6E:q(a){a=$(a);a.24.5R(a);C a},2f:q(a,b){a=$(a);if(b&&b.3f)b=b.3f();if(J.47(b))C a.2f().3d(b);b=J.48(b);a.3M=b.4a();b.4Z.1G(b).4s();C a},1K:q(a,b){a=$(a);if(b&&b.3f)b=b.3f();1e if(!J.47(b)){b=J.48(b);E c=a.gs.gu();c.gv(a);b.4Z.1G(b).4s();b=c.gw(b.4a())}a.24.9E(b,a);C a},3d:q(a,b){a=$(a);if(J.2d(b)||J.4X(b)||J.47(b)||(b&&(b.3f||b.48)))b={2l:b};E c,3d,1p,2i;19(E d in b){c=b[d];d=d.1S();3d=G.5S[d];if(c&&c.3f)c=c.3f();if(J.47(c)){3d(a,c);3w}c=J.48(c);1p=((d==\'9F\'||d==\'7O\')?a.24:a).1p.1R();2i=G.7P(1p,c.4a());if(d==\'1q\'||d==\'7O\')2i.5L();2i.1k(3d.8V(a));c.4Z.1G(c).4s()}C a},4o:q(a,b,c){a=$(a);if(J.47(b))$(b).6D(c||{});1e if(J.2d(b))b=14 G(b,c);1e b=14 G(\'26\',b);if(a.24)a.24.9E(b,a);b.3s(a);C b},28:q(d){d=$(d);E e=\'<\'+d.1p.1S();$H({\'id\':\'id\',\'25\':\'5a\'}).1k(q(a){E b=a.2W(),5b=a.2b();E c=(d[b]||\'\').2p();if(c)e+=\' \'+5b+\'=\'+c.28(1d)});C e+\'>\'},7Q:q(a,b){a=$(a);E c=[];1H(a=a[b])if(a.2B==1)c.1h(G.V(a));C c},9G:q(a){C $(a).7Q(\'24\')},cp:q(a){C $(a).2e("*")},cq:q(a){a=$(a).4C;1H(a&&a.2B!=1)a=a.5T;C $(a)},cr:q(a){if(!(a=$(a).4C))C[];1H(a&&a.2B!=1)a=a.5T;if(a)C[a].1L($(a).6F());C[]},9H:q(a){C $(a).7Q(\'cs\')},6F:q(a){C $(a).7Q(\'5T\')},gx:q(a){a=$(a);C a.9H().5L().1L(a.6F())},1t:q(a,b){if(J.2d(b))b=14 1a(b);C b.1t($(a))},gy:q(a,b,c){a=$(a);if(17.W==1)C $(a.24);E d=a.9G();C J.4X(b)?d[b]:1a.5U(d,b,c)},3P:q(a,b,c){a=$(a);if(17.W==1)C a.cq();C J.4X(b)?a.cp()[b]:G.2e(a,b)[c||0]},gz:q(a,b,c){a=$(a);if(17.W==1)C $(1a.1Z.6G(a));E d=a.9H();C J.4X(b)?d[b]:1a.5U(d,b,c)},ct:q(a,b,c){a=$(a);if(17.W==1)C $(1a.1Z.6H(a));E d=a.6F();C J.4X(b)?d[b]:1a.5U(d,b,c)},2e:q(){E a=$A(17),M=$(a.4U());C 1a.7R(M,a)},5c:q(){E a=$A(17),M=$(a.4U());C 1a.7R(M.24,a).5M(M)},9I:q(a){a=$(a);E b=a.5d(\'id\'),9J=17.5D;if(b)C b;do{b=\'gA\'+9J.cu++}1H($(b));a.6D(\'id\',b);C b},5d:q(a,b){a=$(a);if(1b.1C.2G){E t=G.3x.7S;if(t.2r[b])C t.2r[b](a,b);if(t.4D[b])b=t.4D[b];if(b.1y(\':\')){C(!a.9K||!a.9K[b])?1f:a.9K[b].1l}}C a.9L(b)},6D:q(a,b,c){a=$(a);E d={},t=G.3x.5V;if(1X b==\'2C\')d=b;1e d[b]=J.2q(c)?1d:c;19(E e in d){b=t.4D[e]||e;c=d[e];if(t.2r[e])b=t.2r[e](a,c);if(c===1g||c===1f)a.9M(b);1e if(c===1d)a.cv(b,b);1e a.cv(b,c)}C a},9N:q(a){C $(a).3y().1r},cw:q(a){C $(a).3y().1n},6I:q(a){C 14 G.7T(a)},6J:q(a,b){if(!(a=$(a)))C;E c=a.25;C(c.W>0&&(c==b||14 49("(^|\\\\s)"+b+"(\\\\s|$)").2t(c)))},7U:q(a,b){if(!(a=$(a)))C;if(!a.6J(b))a.25+=(a.25?\' \':\'\')+b;C a},9O:q(a,b){if(!(a=$(a)))C;a.25=a.25.1K(14 49("(^|\\\\s+)"+b+"(\\\\s+|$)"),\' \').3K();C a},gB:q(a,b){if(!(a=$(a)))C;C a[a.6J(b)?\'9O\':\'7U\'](b)},9P:q(a){a=$(a);E b=a.4C;1H(b){E c=b.5T;if(b.2B==3&&!/\\S/.2t(b.5F))a.5R(b);b=c}C a},5I:q(a){C $(a).3M.50()},7V:q(a,b){a=$(a),b=$(b);if(a.cx)C(a.cx(b)&8)===8;if(b.5e)C b.5e(a)&&b!==a;1H(a=a.24)if(a==b)C 1d;C 1g},9Q:q(a){a=$(a);E b=a.3Q();1o.9Q(b[0],b[1]);C a},1s:q(a,b){a=$(a);b=b==\'9R\'?\'7W\':b.6q();E c=a.Y[b];if(!c||c==\'6K\'){E d=18.7X.9S(a,1f);c=d?d[b]:1f}if(b==\'1N\')C c?2F(c):1.0;C c==\'6K\'?1f:c},6L:q(a){C $(a).1s(\'1N\')},1u:q(a,b){a=$(a);E c=a.Y,1t;if(J.2d(b)){a.Y.9T+=\';\'+b;C b.1y(\'1N\')?a.4E(b.1t(/1N:\\s*(\\d?\\.?\\d*)/)[1]):a}19(E d in b)if(d==\'1N\')a.4E(b[d]);1e c[(d==\'9R\'||d==\'7W\')?(J.2q(c.9U)?\'7W\':\'9U\'):d]=b[d];C a},4E:q(a,b){a=$(a);a.Y.1N=(b==1||b===\'\')?\'\':(b<0.7Y)?0:b;C a},3y:q(a){a=$(a);E b=a.1s(\'3v\');if(b!=\'4e\'&&b!=1f)C{1n:a.5f,1r:a.5g};E c=a.Y;E d=c.9V;E e=c.1z;E f=c.3v;c.9V=\'5h\';c.1z=\'4F\';c.3v=\'gC\';E g=a.cy;E h=a.7Z;c.3v=f;c.1z=e;c.9V=d;C{1n:g,1r:h}},3R:q(a){a=$(a);E b=G.1s(a,\'1z\');if(b==\'5W\'||!b){a.9W=1d;a.Y.1z=\'5i\';if(1b.1C.42){a.Y.1q=0;a.Y.1v=0}}C a},3S:q(a){a=$(a);if(a.9W){a.9W=3r;a.Y.1z=a.Y.1q=a.Y.1v=a.Y.2l=a.Y.4f=\'\'}C a},3T:q(a){a=$(a);if(a.5j)C a;a.5j=G.1s(a,\'9X\')||\'6K\';if(a.5j!==\'5h\')a.Y.9X=\'5h\';C a},3U:q(a){a=$(a);if(!a.5j)C a;a.Y.9X=a.5j==\'6K\'?\'\':a.5j;a.5j=1f;C a},3Q:q(a){E b=0,2y=0;do{b+=a.4G||0;2y+=a.4H||0;a=a.3g}1H(a);C G.4g(2y,b)},6M:q(a){E b=0,2y=0;do{b+=a.4G||0;2y+=a.4H||0;a=a.3g;if(a){if(a.1p.1R()==\'9Y\')1x;E p=G.1s(a,\'1z\');if(p!==\'5W\')1x}}1H(a);C G.4g(2y,b)},80:q(a){a=$(a);if(a.1s(\'1z\')==\'4F\')C a;E b=a.6M();E c=b[1];E d=b[0];E e=a.cy;E f=a.7Z;a.cz=d-2F(a.Y.1v||0);a.cA=c-2F(a.Y.1q||0);a.cB=a.Y.1n;a.cC=a.Y.1r;a.Y.1z=\'4F\';a.Y.1q=c+\'1P\';a.Y.1v=d+\'1P\';a.Y.1n=e+\'1P\';a.Y.1r=f+\'1P\';C a},9Z:q(a){a=$(a);if(a.1s(\'1z\')==\'5i\')C a;a.Y.1z=\'5i\';E b=2F(a.Y.1q||0)-(a.cA||0);E c=2F(a.Y.1v||0)-(a.cz||0);a.Y.1q=b+\'1P\';a.Y.1v=c+\'1P\';a.Y.1r=a.cC;a.Y.1n=a.cB;C a},a0:q(a){E b=0,2y=0;do{b+=a.4h||0;2y+=a.4i||0;a=a.24}1H(a);C G.4g(2y,b)},5X:q(a){if(a.3g)C $(a.3g);if(a==18.22)C $(a);1H((a=a.24)&&a!=18.22)if(G.1s(a,\'1z\')!=\'5W\')C $(a);C $(18.22)},6N:q(a){E b=0,2y=0;E c=a;do{b+=c.4G||0;2y+=c.4H||0;if(c.3g==18.22&&G.1s(c,\'1z\')==\'4F\')1x}1H(c=c.3g);c=a;do{if(!1b.1C.42||(c.1p&&(c.1p.1R()==\'9Y\'))){b-=c.4h||0;2y-=c.4i||0}}1H(c=c.24);C G.4g(2y,b)},cD:q(a,b){E c=J.V({cE:1d,cF:1d,cG:1d,cH:1d,4G:0,4H:0},17[2]||{});b=$(b);E p=b.6N();a=$(a);E d=[0,0];E e=1f;if(G.1s(a,\'1z\')==\'4F\'){e=a.5X();d=e.6N()}if(e==18.22){d[0]-=18.22.4H;d[1]-=18.22.4G}if(c.cE)a.Y.1v=(p[0]-d[0]+c.4H)+\'1P\';if(c.cF)a.Y.1q=(p[1]-d[1]+c.4G)+\'1P\';if(c.cG)a.Y.1n=b.5f+\'1P\';if(c.cH)a.Y.1r=b.5g+\'1P\';C a}};G.1c.9I.cu=1;J.V(G.1c,{gD:G.1c.2e,gE:G.1c.cr});G.3x={5V:{4D:{25:\'5a\',a1:\'19\'},2r:{}}};if(1b.1C.42){G.1c.1s=G.1c.1s.4o(q(d,e,f){3I(f){1w\'1v\':1w\'1q\':1w\'4f\':1w\'2l\':if(d(e,\'1z\')===\'5W\')C 1f;1w\'1r\':1w\'1n\':if(!G.7N(e))C 1f;E g=4j(d(e,f),10);if(g!==e[\'2z\'+f.6s()])C g+\'1P\';E h;if(f===\'1r\'){h=[\'81-1q-1n\',\'82-1q\',\'82-2l\',\'81-2l-1n\']}1e{h=[\'81-1v-1n\',\'82-1v\',\'82-4f\',\'81-4f-1n\']}C h.2E(g,q(a,b){E c=d(e,b);C c===1f?a:a-4j(c,10)})+\'1P\';5Y:C d(e,f)}});G.1c.5d=G.1c.5d.4o(q(a,b,c){if(c===\'83\')C b.83;C a(b,c)})}1e if(1b.1C.2G){G.1c.5X=G.1c.5X.4o(q(a,b){b=$(b);1O{b.3g}1Q(e){C $(18.22)}E c=b.1s(\'1z\');if(c!==\'5W\')C a(b);b.1u({1z:\'5i\'});E d=a(b);b.1u({1z:c});C d});$w(\'6M 6N\').1k(q(g){G.1c[g]=G.1c[g].4o(q(a,b){b=$(b);1O{b.3g}1Q(e){C G.4g(0,0)}E c=b.1s(\'1z\');if(c!==\'5W\')C a(b);E d=b.5X();if(d&&d.1s(\'1z\')===\'gF\')d.1u({5Z:1});b.1u({1z:\'5i\'});E f=a(b);b.1u({1z:c});C f})});G.1c.3Q=G.1c.3Q.4o(q(a,b){1O{b.3g}1Q(e){C G.4g(0,0)}C a(b)});G.1c.1s=q(a,b){a=$(a);b=(b==\'9R\'||b==\'7W\')?\'9U\':b.6q();E c=a.Y[b];if(!c&&a.60)c=a.60[b];if(b==\'1N\'){if(c=(a.1s(\'5K\')||\'\').1t(/a2\\(1N=(.*)\\)/))if(c[1])C 2F(c[1])/2Z;C 1.0}if(c==\'6K\'){if((b==\'1n\'||b==\'1r\')&&(a.1s(\'3v\')!=\'4e\'))C a[\'2z\'+b.6s()]+\'1P\';C 1f}C c};G.1c.4E=q(b,c){q a3(a){C a.1K(/a2\\([^\\)]*\\)/gi,\'\')}b=$(b);E d=b.60;if((d&&!d.a4)||(!d&&b.Y.5Z==\'cI\'))b.Y.5Z=1;E e=b.1s(\'5K\'),Y=b.Y;if(c==1||c===\'\'){(e=a3(e))?Y.5K=e:Y.9M(\'5K\');C b}1e if(c<0.7Y)c=0;Y.5K=a3(e)+\'a2(1N=\'+(c*2Z)+\')\';C b};G.3x={7S:{4D:{\'5a\':\'25\',\'19\':\'a1\'},2r:{84:q(a,b){C a.9L(b,2)},cJ:q(a,b){E c=a.cK(b);C c?c.1l:""},2g:q(a,b){b=a.9L(b);C b?b.2p().2M(23,-2):1f},6O:q(a,b){C $(a).3z(b)?b:1f},Y:q(a){C a.Y.9T.1S()},83:q(a){C a.83}}}};G.3x.5V={4D:J.V({gG:\'gH\',gI:\'gJ\'},G.3x.7S.4D),2r:{3A:q(a,b){a.3A=!!b},Y:q(a,b){a.Y.9T=b?b:\'\'}}};G.3x.a5={};$w(\'gK gL gM gN gO 85 \'+\'gP gQ gR gS gT\').1k(q(a){G.3x.5V.4D[a.1S()]=a;G.3x.a5[a.1S()]=a});(q(v){J.V(v,{cL:v.84,5k:v.84,1m:v.84,61:v.cJ,3h:v.6O,3A:v.6O,gU:v.6O,cM:v.6O,gV:v.2g,cN:v.2g,gW:v.2g,gX:v.2g,gY:v.2g,gZ:v.2g,h0:v.2g,h1:v.2g,h2:v.2g,h3:v.2g,h4:v.2g,h5:v.2g,h6:v.2g,h7:v.2g,h8:v.2g,h9:v.2g,ha:v.2g,hb:v.2g})})(G.3x.7S.2r)}1e if(1b.1C.7o&&/hc:1\\.8\\.0/.2t(3Z.41)){G.1c.4E=q(a,b){a=$(a);a.Y.1N=(b==1)?0.hd:(b===\'\')?\'\':(b<0.7Y)?0:b;C a}}1e if(1b.1C.3p){G.1c.4E=q(a,b){a=$(a);a.Y.1N=(b==1||b===\'\')?\'\':(b<0.7Y)?0:b;if(b==1)if(a.1p.1R()==\'a6\'&&a.1n){a.1n++;a.1n--}1e 1O{E n=18.7v(\' \');a.3s(n);a.5R(n)}1Q(e){}C a};G.1c.3Q=q(a){E b=0,2y=0;do{b+=a.4G||0;2y+=a.4H||0;if(a.3g==18.22)if(G.1s(a,\'1z\')==\'4F\')1x;a=a.3g}1H(a);C G.4g(2y,b)}}if(1b.1C.2G||1b.1C.42){G.1c.2f=q(b,c){b=$(b);if(c&&c.3f)c=c.3f();if(J.47(c))C b.2f().3d(c);c=J.48(c);E d=b.1p.1R();if(d in G.5S.4I){$A(b.2i).1k(q(a){b.5R(a)});G.7P(d,c.4a()).1k(q(a){b.3s(a)})}1e b.3M=c.4a();c.4Z.1G(c).4s();C b}}if(\'cO\'in 18.2H(\'26\')){G.1c.1K=q(b,c){b=$(b);if(c&&c.3f)c=c.3f();if(J.47(c)){b.24.9E(c,b);C b}c=J.48(c);E d=b.24,1p=d.1p.1R();if(G.5S.4I[1p]){E e=b.ct();E f=G.7P(1p,c.4a());d.5R(b);if(e)f.1k(q(a){d.6P(a,e)});1e f.1k(q(a){d.3s(a)})}1e b.cO=c.4a();c.4Z.1G(c).4s();C b}}G.4g=q(l,t){E a=[l,t];a.1v=l;a.1q=t;C a};G.7P=q(a,b){E c=14 G(\'26\'),t=G.5S.4I[a];if(t){c.3M=t[0]+b+t[1];t[2].7u(q(){c=c.4C})}1e c.3M=b;C $A(c.2i)};G.5S={9F:q(a,b){a.24.6P(b,a)},1q:q(a,b){a.6P(b,a.4C)},2l:q(a,b){a.3s(b)},7O:q(a,b){a.24.6P(b,a.5T)},4I:{cP:[\'<2v>\',\'</2v>\',1],62:[\'<2v><63>\',\'</63></2v>\',2],86:[\'<2v><63><87>\',\'</87></63></2v>\',3],6Q:[\'<2v><63><87><cQ>\',\'</cQ></87></63></2v>\',4],a7:[\'<2e>\',\'</2e>\',1]}};(q(){J.V(o.4I,{88:o.4I.62,89:o.4I.62,8a:o.4I.6Q})}).2x(G.5S);G.1c.8b={3z:q(a,b){b=G.3x.a5[b]||b;E c=$(a).cK(b);C!!(c&&c.cR)}};G.1c.3i={};J.V(G,G.1c);if(!1b.3q.6f&&18.2H(\'26\')[\'4T\']){1o.6g={};1o.6g.1j=18.2H(\'26\')[\'4T\'];1b.3q.6f=1d}G.V=(q(){if(1b.3q.7q)C 1b.K;E c={},3i=G.1c.3i;E d=J.V(q(a){if(!a||a.8c||a.2B!=1||a==1o)C a;E b=J.2s(c),1p=a.1p.1R(),4k,1l;if(3i[1p])J.V(b,3i[1p]);19(4k in b){1l=b[4k];if(J.21(1l)&&!(4k in a))a[4k]=1l.4t()}a.8c=1b.2I;C a},{8d:q(){if(!1b.3q.6f){J.V(c,G.1c);J.V(c,G.1c.8b)}}});d.8d();C d})();G.3z=q(a,b){if(a.3z)C a.3z(b);C G.1c.8b.3z(a,b)};G.5A=q(f){E F=1b.3q,T=G.1c.3i;if(!f){J.V(1A,1A.1c);J.V(1A.G,1A.G.1c);J.V(G.1c.3i,{"cS":J.2s(1A.1c),"cT":J.2s(1A.G.1c),"a7":J.2s(1A.G.1c),"a8":J.2s(1A.G.1c)})}if(17.W==2){E g=f;f=17[1]}if(!g)J.V(G.1c,f||{});1e{if(J.4q(g))g.1k(V);1e V(g)}q V(a){a=a.1R();if(!G.1c.3i[a])G.1c.3i[a]={};J.V(G.1c.3i[a],f)}q 8e(a,b,c){c=c||1g;19(E d in a){E e=a[d];if(!J.21(e))3w;if(!c||!(d in b))b[d]=e.4t()}}q cU(a){E b;E c={"a9":"he","a8":"hf","P":"hg","cV":"hh","cW":"hi","cX":"hj","cY":"hk","cZ":"hl","d0":"64","d1":"64","d2":"64","d3":"64","d4":"64","d5":"64","Q":"hm","d6":"d7","d8":"d7","A":"hn","a6":"ho","aa":"hp","ab":"d9","ac":"d9","88":"ad","89":"ad","62":"ad","86":"hq","8a":"da","6Q":"da","db":"hr","dc":"hs"};if(c[a])b=\'8f\'+c[a]+\'G\';if(1o[b])C 1o[b];b=\'8f\'+a+\'G\';if(1o[b])C 1o[b];b=\'8f\'+a.6s()+\'G\';if(1o[b])C 1o[b];1o[b]={};1o[b].1j=18.2H(a)[\'4T\'];C 1o[b]}if(F.6f){8e(G.1c,6g.1j);8e(G.1c.8b,6g.1j,1d)}if(F.7q){19(E h in G.1c.3i){E i=cU(h);if(J.2q(i))3w;8e(T[h],i.1j)}}J.V(G,G.1c);9k G.3i;if(G.V.8d)G.V.8d();G.6C={}};18.8g={3y:q(){E a={},B=1b.1C;$w(\'1n 1r\').1k(q(d){E D=d.6s();if(B.3p&&!18.2A){a[d]=9J[\'ht\'+D]}1e if(B.42&&2F(1o.4J.hu())<9.5){a[d]=18.22[\'dd\'+D]}1e{a[d]=18.5l[\'dd\'+D]}});C a},cw:q(){C o.3y().1n},9N:q(){C o.3y().1r},ae:q(){C G.4g(1o.de||18.5l.4i||18.22.4i,1o.df||18.5l.4h||18.22.4h)}};E 1a=1D.1E({1J:q(a){o.3B=a.3K();if(o.dg()){o.65=\'dh\'}1e if(o.di()){o.65=\'2h\';o.dj()}1e{o.65="cI";o.dk()}},di:q(){if(!1b.3q.7p)C 1g;E e=o.3B;if(1b.1C.3p&&(e.1y("-2m-1m")||e.1y(":5I")))C 1g;if((/(\\[[\\w-]*?:|:3A)/).2t(e))C 1g;C 1d},dg:q(){if(!1b.3q.bj)C 1g;if(!1a.af)1a.af=14 G(\'26\');1O{1a.af.bk(o.3B)}1Q(e){C 1g}C 1d},dk:q(){E e=o.3B,4l=1a.6R,h=1a.1Z,c=1a.6v,le,p,m;if(1a.5m[e]){o.3C=1a.5m[e];C}o.3C=["o.3C = q(dl) {","E r = dl, h = 1a.1Z, c = 1g, n;"];1H(e&&le!=e&&(/\\S/).2t(e)){le=e;19(E i in 4l){p=4l[i];if(m=e.1t(p)){o.3C.1h(J.21(c[i])?c[i](m):14 2N(c[i]).2A(m));e=e.1K(m[0],\'\');1x}}}o.3C.1h("C h.ag(n);\\n}");6p(o.3C.29(\'\\n\'));1a.5m[o.3B]=o.3C},dj:q(){E e=o.3B,4l=1a.6R,x=1a.2h,le,m;if(1a.5m[e]){o.2h=1a.5m[e];C}o.3C=[\'.//*\'];1H(e&&le!=e&&(/\\S/).2t(e)){le=e;19(E i in 4l){if(m=e.1t(4l[i])){o.3C.1h(J.21(x[i])?x[i](m):14 2N(x[i]).2A(m));e=e.1K(m[0],\'\');1x}}}o.2h=o.3C.29(\'\');1a.5m[o.3B]=o.2h},8h:q(a){a=a||18;E e=o.3B,1i;3I(o.65){1w\'dh\':if(a!==18){E b=a.id,id=$(a).9I();e="#"+id+" "+e}1i=$A(a.hv(e)).1Y(G.V);a.id=b;C 1i;1w\'2h\':C 18.9C(o.2h,a);5Y:C o.3C(a)}},1t:q(a){o.ah=[];E e=o.3B,4l=1a.6R,as=1a.ai;E b,p,m;1H(e&&b!==e&&(/\\S/).2t(e)){b=e;19(E i in 4l){p=4l[i];if(m=e.1t(p)){if(as[i]){o.ah.1h([i,J.2s(m)]);e=e.1K(m[0],\'\')}1e{C o.8h(18).1y(a)}}}}E c=1d,2k,aj;19(E i=0,8i;8i=o.ah[i];i++){2k=8i[0],aj=8i[1];if(!1a.ai[2k](a,aj)){c=1g;1x}}C c},2p:q(){C o.3B},28:q(){C"#<1a:"+o.3B.28()+">"}});J.V(1a,{5m:{},2h:{4K:"//*",1I:"/*",5c:"/6S-4L::*[1]",6T:\'/6S-4L::*\',1p:q(m){if(m[1]==\'*\')C\'\';C"[dm-2k()=\'"+m[1].1S()+"\' dn dm-2k()=\'"+m[1].1R()+"\']"},25:"[5e(1L(\' \', @5a, \' \'), \' #{1} \')]",id:"[@id=\'#{1}\']",66:q(m){m[1]=m[1].1S();C 14 2N("[@#{1}]").2A(m)},3V:q(m){m[1]=m[1].1S();m[3]=m[5]||m[6];C 14 2N(1a.2h.6U[m[2]]).2A(m)},6V:q(m){E h=1a.2h.2c[m[1]];if(!h)C\'\';if(J.21(h))C h(m);C 14 2N(1a.2h.2c[m[1]]).2A(m)},6U:{\'=\':"[@#{1}=\'#{3}\']",\'!=\':"[@#{1}!=\'#{3}\']",\'^=\':"[hw-dp(@#{1}, \'#{3}\')]",\'$=\':"[4x(@#{1}, (6i-W(@#{1}) - 6i-W(\'#{3}\') + 1))=\'#{3}\']",\'*=\':"[5e(@#{1}, \'#{3}\')]",\'~=\':"[5e(1L(\' \', @#{1}, \' \'), \' #{3} \')]",\'|=\':"[5e(1L(\'-\', @#{1}, \'-\'), \'-#{3}-\')]"},2c:{\'2W-1I\':\'[4m(ak-4L::*)]\',\'2b-1I\':\'[4m(6S-4L::*)]\',\'6W-1I\':\'[4m(ak-4L::* dn 6S-4L::*)]\',\'5I\':"[8j(*) = 0 6X (8j(3L()) = 0)]",\'3A\':"[@3A]",\'3h\':"[(@3h) 6X (@1m!=\'5h\')]",\'dq\':"[4m(@3h) 6X (@1m!=\'5h\')]",\'4m\':q(m){E e=m[6],p=1a.6R,x=1a.2h,le,v;E a=[];1H(e&&le!=e&&(/\\S/).2t(e)){le=e;19(E i in p){if(m=e.1t(p[i])){v=J.21(x[i])?x[i](m):14 2N(x[i]).2A(m);a.1h("("+v.4x(1,v.W-1)+")");e=e.1K(m[0],\'\');1x}}}C"[4m("+a.29(" 6X ")+")]"},\'1U-1I\':q(m){C 1a.2h.2c.1U("(8j(./ak-4L::*) + 1) ",m)},\'1U-2b-1I\':q(m){C 1a.2h.2c.1U("(8j(./6S-4L::*) + 1) ",m)},\'1U-2m-1m\':q(m){C 1a.2h.2c.1U("1z() ",m)},\'1U-2b-2m-1m\':q(m){C 1a.2h.2c.1U("(2b() + 1 - 1z()) ",m)},\'2W-2m-1m\':q(m){m[6]="1";C 1a.2h.2c[\'1U-2m-1m\'](m)},\'2b-2m-1m\':q(m){m[6]="1";C 1a.2h.2c[\'1U-2b-2m-1m\'](m)},\'6W-2m-1m\':q(m){E p=1a.2h.2c;C p[\'2W-2m-1m\'](m)+p[\'2b-2m-1m\'](m)},1U:q(c,m){E d,5n=m[6],al;if(5n==\'dr\')5n=\'2n+0\';if(5n==\'ds\')5n=\'2n+1\';if(d=5n.1t(/^(\\d+)$/))C\'[\'+c+"= "+d[1]+\']\';if(d=5n.1t(/^(-?\\d*)?n(([+-])(\\d+))?/)){if(d[1]=="-")d[1]=-1;E a=d[1]?52(d[1]):1;E b=d[2]?52(d[2]):0;al="[((#{am} - #{b}) hx #{a} = 0) 6X "+"((#{am} - #{b}) 26 #{a} >= 0)]";C 14 2N(al).2A({am:c,a:a,b:b})}}}},6v:{1p:\'n = h.1p(n, r, "#{1}", c);      c = 1g;\',25:\'n = h.25(n, r, "#{1}", c);    c = 1g;\',id:\'n = h.id(n, r, "#{1}", c);           c = 1g;\',66:\'n = h.66(n, r, "#{1}", c); c = 1g;\',3V:q(m){m[3]=(m[5]||m[6]);C 14 2N(\'n = h.3V(n, r, "#{1}", "#{3}", "#{2}", c); c = 1g;\').2A(m)},6V:q(m){if(m[6])m[6]=m[6].1K(/"/g,\'\\\\"\');C 14 2N(\'n = h.6V(n, "#{1}", "#{6}", r, c); c = 1g;\').2A(m)},4K:\'c = "4K";\',1I:\'c = "1I";\',5c:\'c = "5c";\',6T:\'c = "6T";\'},6R:{6T:/^\\s*~\\s*/,1I:/^\\s*>\\s*/,5c:/^\\s*\\+\\s*/,4K:/^\\s/,1p:/^\\s*(\\*|[\\w\\-]+)(\\b|$)?/,id:/^#([\\w\\-\\*]+)(\\b|$)/,25:/^\\.([\\w\\-\\*]+)(\\b|$)/,6V:/^:((2W|2b|1U|1U-2b|6W)(-1I|-2m-1m)|5I|3A|(en|hy)hz|4m)(\\((.*?)\\))?(\\b|$|(?=\\s|[:+~>]))/,66:/^\\[((?:[\\w]+:)?[\\w]+)\\]/,3V:/\\[((?:[\\w-]*:)?[\\w-]+)\\s*(?:([!^$*~|]?=)\\s*(([\'"])([^\\4]*?)\\4|([^\'"][^\\]]*?)))?\\]/},ai:{1p:q(a,b){C b[1].1R()==a.1p.1R()},25:q(a,b){C G.6J(a,b[1])},id:q(a,b){C a.id===b[1]},66:q(a,b){C G.3z(a,b[1])},3V:q(a,b){E c=G.5d(a,b[1]);C c&&1a.6U[b[2]](c,b[5]||b[6])}},1Z:{1L:q(a,b){19(E i=0,N;N=b[i];i++)a.1h(N);C a},8k:q(a){E b=1b.2I;19(E i=0,N;N=a[i];i++)N.3D=b;C a},5o:q(a){19(E i=0,N;N=a[i];i++)N.3D=3r;C a},6o:q(a,b,c){a.3D=1b.2I;if(b){19(E d=a.2i,i=d.W-1,j=1;i>=0;i--){E e=d[i];if(e.2B==1&&(!c||e.3D))e.8l=j++}}1e{19(E i=0,j=1,d=a.2i;e=d[i];i++)if(e.2B==1&&(!c||e.3D))e.8l=j++}},ag:q(a){if(a.W==0)C a;E b=[],n;19(E i=0,l=a.W;i<l;i++)if(!(n=a[i]).3D){n.3D=1b.2I;b.1h(G.V(n))}C 1a.1Z.5o(b)},4K:q(a){E h=1a.1Z;19(E i=0,1i=[],N;N=a[i];i++)h.1L(1i,N.3j(\'*\'));C 1i},1I:q(a){E h=1a.1Z;19(E i=0,1i=[],N;N=a[i];i++){19(E j=0,1I;1I=N.2i[j];j++)if(1I.2B==1&&1I.1p!=\'!\')1i.1h(1I)}C 1i},5c:q(a){19(E i=0,1i=[],N;N=a[i];i++){E b=o.6H(N);if(b)1i.1h(b)}C 1i},6T:q(a){E h=1a.1Z;19(E i=0,1i=[],N;N=a[i];i++)h.1L(1i,G.6F(N));C 1i},6H:q(a){1H(a=a.5T)if(a.2B==1)C a;C 1f},6G:q(a){1H(a=a.cs)if(a.2B==1)C a;C 1f},1p:q(a,b,c,d){E e=c.1R();E f=[],h=1a.1Z;if(a){if(d){if(d=="4K"){19(E i=0,N;N=a[i];i++)h.1L(f,N.3j(c));C f}1e a=o[d](a);if(c=="*")C a}19(E i=0,N;N=a[i];i++)if(N.1p.1R()===e)f.1h(N);C f}1e C b.3j(c)},id:q(a,b,c,d){E e=$(c),h=1a.1Z;if(!e)C[];if(!a&&b==18)C[e];if(a){if(d){if(d==\'1I\'){19(E i=0,N;N=a[i];i++)if(e.24==N)C[e]}1e if(d==\'4K\'){19(E i=0,N;N=a[i];i++)if(G.7V(e,N))C[e]}1e if(d==\'5c\'){19(E i=0,N;N=a[i];i++)if(1a.1Z.6G(e)==N)C[e]}1e a=h[d](a)}19(E i=0,N;N=a[i];i++)if(N==e)C[e];C[]}C(e&&G.7V(e,b))?[e]:[]},25:q(a,b,c,d){if(a&&d)a=o[d](a);C 1a.1Z.dt(a,b,c)},dt:q(a,b,c){if(!a)a=1a.1Z.4K([b]);E d=\' \'+c+\' \';19(E i=0,1i=[],N,6Y;N=a[i];i++){6Y=N.25;if(6Y.W==0)3w;if(6Y==c||(\' \'+6Y+\' \').1y(d))1i.1h(N)}C 1i},66:q(a,b,c,d){if(!a)a=b.3j("*");if(a&&d)a=o[d](a);E e=[];19(E i=0,N;N=a[i];i++)if(G.3z(N,c))e.1h(N);C e},3V:q(a,b,c,d,e,f){if(!a)a=b.3j("*");if(a&&f)a=o[f](a);E g=1a.6U[e],1i=[];19(E i=0,N;N=a[i];i++){E h=G.5d(N,c);if(h===1f)3w;if(g(h,d))1i.1h(N)}C 1i},6V:q(a,b,c,d,e){if(a&&e)a=o[e](a);if(!a)a=d.3j("*");C 1a.2c[b](a,c,d)}},2c:{\'2W-1I\':q(a,b,c){19(E i=0,1i=[],N;N=a[i];i++){if(1a.1Z.6G(N))3w;1i.1h(N)}C 1i},\'2b-1I\':q(a,b,c){19(E i=0,1i=[],N;N=a[i];i++){if(1a.1Z.6H(N))3w;1i.1h(N)}C 1i},\'6W-1I\':q(a,b,c){E h=1a.1Z;19(E i=0,1i=[],N;N=a[i];i++)if(!h.6G(N)&&!h.6H(N))1i.1h(N);C 1i},\'1U-1I\':q(a,b,c){C 1a.2c.1U(a,b,c)},\'1U-2b-1I\':q(a,b,c){C 1a.2c.1U(a,b,c,1d)},\'1U-2m-1m\':q(a,b,c){C 1a.2c.1U(a,b,c,1g,1d)},\'1U-2b-2m-1m\':q(a,b,c){C 1a.2c.1U(a,b,c,1d,1d)},\'2W-2m-1m\':q(a,b,c){C 1a.2c.1U(a,"1",c,1g,1d)},\'2b-2m-1m\':q(a,b,c){C 1a.2c.1U(a,"1",c,1d,1d)},\'6W-2m-1m\':q(a,b,c){E p=1a.2c;C p[\'2b-2m-1m\'](p[\'2W-2m-1m\'](a,b,c),b,c)},du:q(a,b,d){if(a==0)C b>0?[b]:[];C $R(1,d).2E([],q(c,i){if(0==(i-b)%a&&(i-b)/a>=0)c.1h(i);C c})},1U:q(c,d,e,f,g){if(c.W==0)C[];if(d==\'dr\')d=\'2n+0\';if(d==\'ds\')d=\'2n+1\';E h=1a.1Z,1i=[],an=[],m;h.8k(c);19(E i=0,N;N=c[i];i++){if(!N.24.3D){h.6o(N.24,f,g);an.1h(N.24)}}if(d.1t(/^\\d+$/)){d=52(d);19(E i=0,N;N=c[i];i++)if(N.8l==d)1i.1h(N)}1e if(m=d.1t(/^(-?\\d*)?n(([+-])(\\d+))?/)){if(m[1]=="-")m[1]=-1;E a=m[1]?52(m[1]):1;E b=m[2]?52(m[2]):0;E k=1a.2c.du(a,b,c.W);19(E i=0,N,l=k.W;N=c[i];i++){19(E j=0;j<l;j++)if(N.8l==k[j])1i.1h(N)}}h.5o(c);h.5o(an);C 1i},\'5I\':q(a,b,c){19(E i=0,1i=[],N;N=a[i];i++){if(N.1p==\'!\'||N.4C)3w;1i.1h(N)}C 1i},\'4m\':q(a,b,c){E h=1a.1Z,hA,m;E d=14 1a(b).8h(c);h.8k(d);19(E i=0,1i=[],N;N=a[i];i++)if(!N.3D)1i.1h(N);h.5o(d);C 1i},\'dq\':q(a,b,c){19(E i=0,1i=[],N;N=a[i];i++)if(!N.3h&&(!N.1m||N.1m!==\'5h\'))1i.1h(N);C 1i},\'3h\':q(a,b,c){19(E i=0,1i=[],N;N=a[i];i++)if(N.3h)1i.1h(N);C 1i},\'3A\':q(a,b,c){19(E i=0,1i=[],N;N=a[i];i++)if(N.3A)1i.1h(N);C 1i}},6U:{\'=\':q(a,v){C a==v},\'!=\':q(a,v){C a!=v},\'^=\':q(a,v){C a==v||a&&a.97(v)},\'$=\':q(a,v){C a==v||a&&a.98(v)},\'*=\':q(a,v){C a==v||a&&a.1y(v)},\'$=\':q(a,v){C a.98(v)},\'*=\':q(a,v){C a.1y(v)},\'~=\':q(a,v){C(\' \'+a+\' \').1y(\' \'+v+\' \')},\'|=\':q(a,v){C(\'-\'+(a||"").1R()+\'-\').1y(\'-\'+(v||"").1R()+\'-\')}},2X:q(a){E b=[];a.bw(/(([\\w#:.~>+()\\s-]+|\\*|\\[.*?\\])+)\\s*(,|$)/,q(m){b.1h(m[1].3K())});C b},dv:q(a,b){E c=$$(b),h=1a.1Z;h.8k(c);19(E i=0,1i=[],M;M=a[i];i++)if(M.3D)1i.1h(M);h.5o(c);C 1i},5U:q(a,b,c){if(J.4X(b)){c=b;b=1g}C 1a.dv(a,b||\'*\')[c||0]},7R:q(a,b){b=1a.2X(b.29(\',\'));E c=[],h=1a.1Z;19(E i=0,l=b.W,ao;i<l;i++){ao=14 1a(b[i].3K());h.1L(c,ao.8h(a))}C(l>1)?h.ag(c):c}});if(1b.1C.2G){J.V(1a.1Z,{1L:q(a,b){19(E i=0,N;N=b[i];i++)if(N.1p!=="!")a.1h(N);C a},5o:q(a){19(E i=0,N;N=a[i];i++)N.9M(\'3D\');C a}})}q $$(){C 1a.7R(18,$A(17))}E 1A={ap:q(a){$(a).ap();C a},dw:q(c,d){if(1X d!=\'2C\')d={8m:!!d};1e if(J.2q(d.8m))d.8m=1d;E e,1l,aq=1g,5p=d.5p;E f=c.2E({},q(a,b){if(!b.3h&&b.2k){e=b.2k;1l=$(b).2R();if(1l!=1f&&b.1m!=\'hB\'&&(b.1m!=\'5p\'||(!aq&&5p!==1g&&(!5p||e==5p)&&(aq=1d)))){if(e in a){if(!J.4q(a[e]))a[e]=[a[e]];a[e].1h(1l)}1e a[e]=1l}}C a});C d.8m?f:J.4p(f)}};1A.1c={6Z:q(a,b){C 1A.dw(1A.67(a),b)},67:q(c){C $A($(c).3j(\'*\')).2E([],q(a,b){if(1A.G.68[b.1p.1S()])a.1h(G.V(b));C a})},hC:q(a,b,c){a=$(a);E d=a.3j(\'70\');if(!b&&!c)C $A(d).1Y(G.V);19(E i=0,ar=[],W=d.W;i<W;i++){E e=d[i];if((b&&e.1m!=b)||(c&&e.2k!=c))3w;ar.1h(G.V(e))}C ar},at:q(a){a=$(a);1A.67(a).7y(\'at\');C a},au:q(a){a=$(a);1A.67(a).7y(\'au\');C a},dx:q(b){E c=$(b).67().4y(q(a){C\'5h\'!=a.1m&&!a.3h});E d=c.4y(q(a){C a.3z(\'85\')&&a.85>=0}).bN(q(a){C a.85}).2W();C d?d:c.9f(q(a){C[\'70\',\'2e\',\'av\'].1y(a.1p.1S())})},hD:q(a){a=$(a);a.dx().dy();C a},3N:q(a,b){a=$(a),b=J.2s(b||{});E c=b.3c,61=a.5d(\'61\')||\'\';if(61.50())61=1o.7K.cL;b.3c=a.6Z(1d);if(c){if(J.2d(c))c=c.7t();J.V(b.3c,c)}if(a.3z(\'1T\')&&!b.1T)b.1T=a.1T;C 14 1M.54(61,b)}};1A.G={aw:q(a){$(a).aw();C a},2e:q(a){$(a).2e();C a}};1A.G.1c={6Z:q(a){a=$(a);if(!a.3h&&a.2k){E b=a.2R();if(b!=3r){E c={};c[a.2k]=b;C J.4p(c)}}C\'\'},2R:q(a){a=$(a);E b=a.1p.1S();C 1A.G.68[b](a)},hE:q(a,b){a=$(a);E c=a.1p.1S();1A.G.68[c](a,b);C a},bO:q(a){$(a).1l=\'\';C a},hF:q(a){C $(a).1l!=\'\'},dy:q(a){a=$(a);1O{a.aw();if(a.2e&&(a.1p.1S()!=\'70\'||![\'ax\',\'ap\',\'5p\'].1y(a.1m)))a.2e()}1Q(e){}C a},at:q(a){a=$(a);a.3h=1d;C a},au:q(a){a=$(a);a.3h=1g;C a}};E hG=1A.G;E $F=1A.G.1c.2R;1A.G.68={70:q(a,b){3I(a.1m.1S()){1w\'dz\':1w\'ay\':C 1A.G.68.dA(a,b);5Y:C 1A.G.68.av(a,b)}},dA:q(a,b){if(J.2q(b))C a.3A?a.1l:1f;1e a.3A=!!b},av:q(a,b){if(J.2q(b))C a.1l;1e a.1l=b},2e:q(a,b){if(J.2q(b))C o[a.1m==\'2e-hH\'?\'dB\':\'dC\'](a);1e{E c,8n,dD=!J.4q(b);19(E i=0,W=a.W;i<W;i++){c=a.L[i];8n=o.8o(c);if(dD){if(8n==b){c.az=1d;C}}1e c.az=b.1y(8n)}}},dB:q(a){E b=a.hI;C b>=0?o.8o(a.L[b]):1f},dC:q(a){E b,W=a.W;if(!W)C 1f;19(E i=0,b=[];i<W;i++){E c=a.L[i];if(c.az)b.1h(o.8o(c))}C b},8o:q(a){C G.V(a).3z(\'1l\')?a.1l:a.3L}};4W.aA=1D.1E(bt,{1J:q($44,a,b,c){$44(c,b);o.M=$(a);o.4M=o.2R()},8Z:q(){E a=o.2R();if(J.2d(o.4M)&&J.2d(a)?o.4M!=a:1F(o.4M)!=1F(a)){o.6k(o.M,a);o.4M=a}}});1A.G.dE=1D.1E(4W.aA,{2R:q(){C 1A.G.2R(o.M)}});1A.dE=1D.1E(4W.aA,{2R:q(){C 1A.6Z(o.M)}});4W.71=1D.1E({1J:q(a,b){o.M=$(a);o.6k=b;o.4M=o.2R();if(o.M.1p.1S()==\'8P\')o.dF();1e o.6m(o.M)},aB:q(){E a=o.2R();if(o.4M!=a){o.6k(o.M,a);o.4M=a}},dF:q(){1A.67(o.M).1k(o.6m,o)},6m:q(a){if(a.1m){3I(a.1m.1S()){1w\'dz\':1w\'ay\':1B.4N(a,\'dG\',o.aB.1G(o));1x;5Y:1B.4N(a,\'hJ\',o.aB.1G(o));1x}}}});1A.G.71=1D.1E(4W.71,{2R:q(){C 1A.G.2R(o.M)}});1A.71=1D.1E(4W.71,{2R:q(){C 1A.6Z(o.M)}});if(!1o.1B)E 1B={};J.V(1B,{hK:8,hL:9,hM:13,hN:27,hO:37,hP:38,hQ:39,hR:40,hS:46,hT:36,hU:35,hV:33,hW:34,hX:45,6C:{},aC:q(a){E b;3I(a.1m){1w\'hY\':b=a.hZ;1x;1w\'i0\':b=a.3f;1x;5Y:C 1f}C G.V(b)}});1B.1c=(q(){E e;if(1b.1C.2G){E f={0:1,1:4,2:2};e=q(a,b){C a.ax==f[b]}}1e if(1b.1C.3p){e=q(a,b){3I(b){1w 0:C a.8p==1&&!a.dH;1w 1:C a.8p==1&&a.dH;5Y:C 1g}}}1e{e=q(a,b){C a.8p?(a.8p===b+1):(a.ax===b)}}C{i1:q(a){C e(a,0)},i2:q(a){C e(a,1)},i3:q(a){C e(a,2)},M:q(a){a=1B.V(a);E b=a.dI,1m=a.1m,5q=a.5q;if(5q&&5q.1p){if(1m===\'72\'||1m===\'i4\'||(1m===\'dG\'&&5q.1p.1S()===\'70\'&&5q.1m===\'ay\'))b=5q}if(b.2B==6B.co)b=b.24;C G.V(b)},5U:q(a,b){E c=1B.M(a);if(!b)C c;E d=[c].1L(c.9G());C 1a.5U(d,b,0)},8q:q(a){E b=18.5l,22=18.22||{4i:0,4h:0};C{x:a.dJ||(a.i5+(b.4i||22.4i)-(b.i6||0)),y:a.dK||(a.i7+(b.4h||22.4h)-(b.i8||0))}},i9:q(a){C 1B.8q(a).x},ia:q(a){C 1B.8q(a).y},90:q(a){1B.V(a);a.dL();a.dM();a.ib=1d}}})();1B.V=(q(){E c=J.4V(1B.1c).2E({},q(m,a){m[a]=1B.1c[a].4t();C m});if(1b.1C.2G){J.V(c,{dM:q(){o.ic=1d},dL:q(){o.ie=1g},28:q(){C"[2C 1B]"}});C q(a){if(!a)C 1g;if(a.8c)C a;a.8c=1b.2I;E b=1B.8q(a);J.V(a,{dI:a.ig,aC:1B.aC(a),dJ:b.x,dK:b.y});C J.V(a,c)}}1e{1B.1j=1B.1j||18.73("dN")[\'4T\'];J.V(1B.1j,c);C 1b.K}})();J.V(1B,(q(){E h=1B.6C;q aD(a){if(a.aE)C a.aE[0];17.5D.id=17.5D.id||1;C a.aE=[++17.5D.id]}q aF(a){if(a&&a.1y(\':\'))C"dO";C a}q 8r(a){C h[a]=h[a]||{}}q 8s(a,b){E c=8r(a);C c[b]=c[b]||[]}q dP(b,d,e){E f=aD(b);E c=8s(f,d);if(c.4z("8t").1y(e))C 1g;E g=q(a){if(!1B||!1B.V||(a.aG&&a.aG!=d))C 1g;1B.V(a);e.2x(b,a)};g.8t=e;c.1h(g);C g}q aH(b,d,e){E c=8s(b,d);C c.9f(q(a){C a.8t==e})}q dQ(a,b,d){E c=8r(a);if(!c[b])C 1g;c[b]=c[b].5M(aH(a,b,d))}q dR(){19(E a in h)19(E b in h[a])h[a][b]=1f}if(1o.7n){1o.7n("cN",dR)}if(1b.1C.3p){1o.74(\'ih\',1b.2I,1g)}C{4N:q(a,b,c){a=$(a);E d=aF(b);E e=dP(a,b,c);if(!e)C a;if(a.74){a.74(d,e,1g)}1e{a.7n("5P"+d,e)}C a},5r:q(b,c,d){b=$(b);E e=aD(b),2k=aF(c);if(!d&&c){8s(e,c).1k(q(a){b.5r(c,a.8t)});C b}1e if(!c){J.4V(8r(e)).1k(q(a){b.5r(a)});C b}E f=aH(e,c,d);if(!f)C b;if(b.dS){b.dS(2k,f,1g)}1e{b.ii("5P"+2k,f)}dQ(e,c,d);C b},69:q(a,b,c){a=$(a);if(a==18&&18.73&&!a.dT)a=18.5l;E d;if(18.73){d=18.73("dN");d.ij("dO",1d,1d)}1e{d=18.ik();d.dU="il"}d.aG=b;d.io=c||{};if(18.73){a.dT(d)}1e{a.ip(d.dU,d)}C 1B.V(d)}}})());J.V(1B,1B.1c);G.5A({69:1B.69,4N:1B.4N,5r:1B.5r});J.V(18,{69:G.1c.69.4t(),4N:G.1c.4N.4t(),5r:G.1c.5r.4t(),76:1g});(q(){E a;q 77(){if(18.76)C;if(a)1o.91(a);18.69("iq:76");18.76=1d}if(18.74){if(1b.1C.3p){a=1o.8Y(q(){if(/76|dV/.2t(18.3O))77()},0);1B.4N(1o,"72",77)}1e{18.74("ir",77,1g)}}1e{18.5V("<43 id=dW 4s 5k=//:><\\/43>");$("dW").7F=q(){if(o.3O=="dV"){o.7F=1f;77()}}}})();3J.4p=J.4p;E it={3v:G.9D};G.1c.iu=G.1c.7V;E iv={iw:q(a,b){C G.3d(a,{9F:b})},ix:q(a,b){C G.3d(a,{1q:b})},iy:q(a,b){C G.3d(a,{2l:b})},iz:q(a,b){C G.3d(a,{7O:b})}};E $3w=14 iA(\'"2K $3w" is iB, iC "C" iD\');E 8u={dX:1g,aI:q(){o.dY=1o.de||18.5l.4i||18.22.4i||0;o.dZ=1o.df||18.5l.4h||18.22.4h||0},iE:q(a,x,y){if(o.dX)C o.e0(a,x,y);o.78=x;o.79=y;o.2z=G.3Q(a);C(y>=o.2z[1]&&y<o.2z[1]+a.5g&&x>=o.2z[0]&&x<o.2z[0]+a.5f)},e0:q(a,x,y){E b=G.a0(a);o.78=x+b[0]-o.dY;o.79=y+b[1]-o.dZ;o.2z=G.3Q(a);C(o.79>=o.2z[1]&&o.79<o.2z[1]+a.5g&&o.78>=o.2z[0]&&o.78<o.2z[0]+a.5f)},iF:q(a,b){if(!a)C 0;if(a==\'iG\')C((o.2z[1]+b.5g)-o.79)/b.5g;if(a==\'iH\')C((o.2z[0]+b.5f)-o.78)/b.5f},3Q:G.1c.3Q,6M:G.1c.6M,80:q(a){8u.aI();C G.80(a)},9Z:q(a){8u.aI();C G.9Z(a)},iI:G.1c.a0,3g:G.1c.5X,iJ:G.1c.6N,2s:q(a,b,c){c=c||{};C G.cD(b,a,c)}};if(!18.8v)18.8v=q(f){q aJ(a){C a.50()?1f:"[5e(1L(\' \', @5a, \' \'), \' "+a+" \')]"}f.8v=1b.3q.7p?q(a,b){b=b.2p().3K();E c=/\\s/.2t(b)?$w(b).1Y(aJ).29(\'\'):aJ(b);C c?18.9C(\'.//*\'+c,a):[]}:q(b,c){c=c.2p().3K();E d=[],6I=(/\\s/.2t(c)?$w(c):1f);if(!6I&&!c)C d;E e=$(b).3j(\'*\');c=\' \'+c+\' \';19(E i=0,1I,cn;1I=e[i];i++){if(1I.25&&(cn=\' \'+1I.25+\' \')&&(cn.1y(c)||(6I&&6I.9c(q(a){C!a.2p().50()&&cn.1y(\' \'+a+\' \')}))))d.1h(G.V(1I))}C d};C q(a,b){C $(b||18.22).8v(a)}}(G.1c);G.7T=1D.1E();G.7T.1j={1J:q(a){o.M=$(a)},3t:q(b){o.M.25.2X(/\\s+/).2e(q(a){C a.W>0}).3t(b)},4c:q(a){o.M.25=a},aK:q(a){if(o.1y(a))C;o.4c($A(o).1L(a).29(\' \'))},6E:q(a){if(!o.1y(a))C;o.4c($A(o).5M(a).29(\' \'))},2p:q(){C $A(o).29(\' \')}};J.V(G.7T.1j,2u);G.5A();E 7a={6e:\'1.8.1\',e1:q(a){18.5V(\'<43 1m="3L/c3" 5k="\'+a+\'"><\\/43>\')},aL:\'1.6.0\',72:q(){q aM(a){E r=a.2X(\'.\');C 4j(r[0])*iK+4j(r[1])*6j+4j(r[2])}if((1X 1b==\'3r\')||(1X G==\'3r\')||(1X G.1c==\'3r\')||(aM(1b.6e)<aM(7a.aL)))2K("43.iL.iM iN iO 1b iP iQ >= "+7a.aL);E d=/(iR|iS)iT[a-iU-9.5G-]*\\.js(\\?.*)?$/;$A(18.3j("43")).4y(q(s){C(s.5k&&s.5k.1t(d))}).1k(q(s){E b=s.5k.1K(d,\'\');E c=(s.5k.1t(/\\?.*72=([a-z,]*)/)||[\'\',\'\'])[1];c.2X(\',\').5M(\'\').1k(q(a){7a.e1(b+a+\'.js\')})})}};E 5s={e2:{e3:\'1Y\',aa:\'2v\',ab:\'2v\',ac:\'2v\',e4:\'iV\',a9:\'2e\',e5:\'2e\',e6:\'2C\',62:\'2v\',6Q:\'2v\',89:\'2v\',8a:\'2v\',88:\'2v\',86:\'2v\'},N:q(a){a=a.1R();E b=o.e2[a]||\'26\';E c=18.2H(b);1O{c.3M="<"+a+"></"+a+">"}1Q(e){}E d=c.4C||1f;if(d&&(d.1p.1R()!=a))d=d.3j(a)[0];if(!d)d=18.2H(a);if(!d)C;if(17[1])if(o.8w(17[1])||(17[1]8S 2a)||17[1].1p){o.aN(d,17[1])}1e{E f=o.e7(17[1]);if(f.W){1O{c.3M="<"+a+" "+f+"></"+a+">"}1Q(e){}d=c.4C||1f;if(!d){d=18.2H(a);19(3V in 17[1])d[3V==\'5a\'?\'25\':3V]=17[1][3V]}if(d.1p.1R()!=a)d=c.3j(a)[0]}}if(17[2])o.aN(d,17[2]);C d},aO:q(a){C 18.7v(a)},aP:{\'25\':\'5a\',\'a1\':\'19\'},e7:q(a){E b=[];19(5b in a)b.1h((5b in o.aP?o.aP[5b]:5b)+\'="\'+a[5b].2p().5E().2L(/"/,\'&iW;\')+\'"\');C b.29(" ")},aN:q(a,b){if(b.1p){a.3s(b);C}if(1X b==\'2C\'){b.51().1k(q(e){if(1X e==\'2C\')a.3s(e);1e if(5s.8w(e))a.3s(5s.aO(e))})}1e if(5s.8w(b))a.3s(5s.aO(b))},8w:q(a){C(1X a==\'6i\'||1X a==\'8U\')},iX:q(a){E b=o.N(\'26\');$(b).2f(a.3K());C b.3P()},iY:q(b){if(1X b!=\'2C\'&&1X b!=\'q\')b=1o;E c=("A iZ j0 j1 j2 e3 B j3 j4 j5 j6 j7 9Y "+"j8 j9 aa ja jb jc ab ac jd d8 je cZ jf cY jg jh cV "+"ji cS jj db d0 d1 d2 d3 d4 d5 jk jl 8f I dc a6 cT d6 jm "+"jn jo e4 jp jq jr jt ju jv jw jx cX a9 e5 P "+"e6 jy Q S jz jA a7 jB jC jD jE jF jG jH cP 62 6Q "+"a8 89 8a 88 jI 86 jJ U cW jK").2X(/\\s+/);c.1k(q(a){b[a]=q(){C 5s.N.2V(5s,[a].1L($A(17)))}})}};1F.1j.4O=q(){E a=\'#\';if(o.2M(0,4)==\'jL(\'){E b=o.2M(4,o.W-1).2X(\',\');E i=0;do{a+=4j(b[i]).5N()}1H(++i<3)}1e{if(o.2M(0,1)==\'#\'){if(o.W==4)19(E i=1;i<4;i++)a+=(o.4w(i)+o.4w(i)).1S();if(o.W==7)a=o.1S()}}C(a.W==7?a:(17[0]||o))};G.aQ=q(b){C $A($(b).2i).6u(q(a){C(a.2B==3?a.5F:(a.e8()?G.aQ(a):\'\'))}).51().29(\'\')};G.aR=q(b,c){C $A($(b).2i).6u(q(a){C(a.2B==3?a.5F:((a.e8()&&!G.6J(a,c))?G.aR(a,c):\'\'))}).51().29(\'\')};G.e9=q(a,b){a=$(a);a.1u({5t:(b/2Z)+\'em\'});if(1b.1C.3p)1o.jM(0,0);C a};G.4n=q(a){C $(a).Y.1N||\'\'};G.aS=q(a){1O{a=$(a);E n=18.7v(\' \');a.3s(n);a.5R(n)}1Q(e){}};E O={6a:{2k:\'jN\',jO:\'jP cR jQ M jR 4m jS, jT is jU 19 o 7b 3k jV\'},3l:{ea:1b.K,5u:q(a){C(-2P.8x(a*2P.8y)/2)+0.5},5L:q(a){C 1-a},eb:q(a){E a=((-2P.8x(a*2P.8y)/4)+0.75)+2P.jW()/4;C a>1?1:a},jX:q(a){C(-2P.8x(a*2P.8y*(9*a))/2)+0.5},ec:q(a,b){b=b||5;C(((a%(1/b))*b).3a()==0?((a*b*2)-(a*b*2).9i()):1-((a*b*2)-(a*b*2).9i()))},jY:q(a){C 1-(2P.8x(a*4.5*2P.8y)*2P.jZ(-a*6))},4e:q(a){C 0},ed:q(a){C 1}},aT:{2o:1.0,ee:2Z,2S:1g,2O:0.0,3k:1.0,4r:0.0,3E:\'k0\'},k1:q(c){E d=\'1z:5i\';if(1b.1C.2G)d+=\';5Z:1\';c=$(c);$A(c.2i).1k(q(b){if(b.2B==3){b.5F.2Y().1k(q(a){c.6P(14 G(\'k2\',{Y:d}).2f(a==\' \'?1F.bA(k3):a),b)});G.6E(b)}})},cM:q(c,d){E e;if(((1X c==\'2C\')||J.21(c))&&(c.W))e=c;1e e=$(c).2i;E f=J.V({ef:0.1,4r:0.0},17[2]||{});E g=f.4r;$A(e).1k(q(a,b){14 d(a,J.V(f,{4r:b*f.ef+g}))})},aU:{\'k4\':[\'eg\',\'eh\'],\'k5\':[\'ei\',\'ej\'],\'aV\':[\'aW\',\'ek\']},9D:q(a,b){a=$(a);b=(b||\'aV\').1S();E c=J.V({3E:{1z:\'6x\',aX:(a.id||\'8z\'),aY:1}},17[2]||{});O[a.7N()?O.aU[b][1]:O.aU[b][0]](a,c)}};O.aT.31=O.3l.5u;O.el=1D.1E(2u,{1J:q(){o.1V=[];o.7c=1f},3t:q(a){o.1V.3t(a)},aK:q(a){E b=14 8X().eo();E c=J.2d(a.L.3E)?a.L.3E:a.L.3E.1z;3I(c){1w\'k6\':o.1V.4y(q(e){C e.6b==\'aZ\'}).1k(q(e){e.4P+=a.4Q;e.4Q+=a.4Q});1x;1w\'dp-2b\':b=o.1V.4z(\'4P\').5J()||b;1x;1w\'6x\':b=o.1V.4z(\'4Q\').5J()||b;1x}a.4P+=b;a.4Q+=b;if(!a.L.3E.aY||(o.1V.W<a.L.3E.aY))o.1V.1h(a);if(!o.7c)o.7c=8Y(o.8A.1G(o),15)},6E:q(a){o.1V=o.1V.7z(q(e){C e==a});if(o.1V.W==0){91(o.7c);o.7c=1f}},8A:q(){E a=14 8X().eo();19(E i=0,6r=o.1V.W;i<6r;i++)o.1V[i]&&o.1V[i].8A(a)}});O.8B={b0:$H(),3u:q(a){if(!J.2d(a))C a;C o.b0.3u(a)||o.b0.4c(a,14 O.el())}};O.k7=O.8B.3u(\'8z\');O.3b=1D.1E({1z:1f,2Q:q(c){q 7d(a,b){C((a[b+\'8C\']?\'o.L.\'+b+\'8C(o);\':\'\')+(a[b]?\'o.L.\'+b+\'(o);\':\'\'))}if(c&&c.31===1g)c.31=O.3l.ea;o.L=J.V(J.V({},O.aT),c||{});o.b1=0;o.6b=\'aZ\';o.4P=o.L.4r*6j;o.4Q=o.4P+(o.L.2o*6j);o.ep=o.L.3k-o.L.2O;o.eq=o.4Q-o.4P;o.er=o.L.ee*o.L.2o;6p(\'o.7e = q(7f){ \'+\'if (o.6b=="aZ"){o.6b="es";\'+7d(o.L,\'5v\')+(o.6c?\'o.6c();\':\'\')+7d(o.L,\'8D\')+\'};if (o.6b=="es"){\'+\'7f=o.L.31(7f)*\'+o.ep+\'+\'+o.L.2O+\';\'+\'o.1z=7f;\'+7d(o.L,\'k8\')+(o.2f?\'o.2f(7f);\':\'\')+7d(o.L,\'k9\')+\'}}\');o.4Y(\'ka\');if(!o.L.2S)O.8B.3u(J.2d(o.L.3E)?\'8z\':o.L.3E.aX).aK(o)},8A:q(a){if(a>=o.4P){if(a>=o.4Q){o.7e(1.0);o.8E();o.4Y(\'et\');if(o.5w)o.5w();o.4Y(\'eu\');C}E b=(a-o.4P)/o.eq,b2=(b*o.er).3a();if(b2>o.b1){o.7e(b);o.b1=b2}}},8E:q(){if(!o.L.2S)O.8B.3u(J.2d(o.L.3E)?\'8z\':o.L.3E.aX).6E(o);o.6b=\'kb\'},4Y:q(a){if(o.L[a+\'8C\'])o.L[a+\'8C\'](o);if(o.L[a])o.L[a](o)},28:q(){E a=$H();19(4k in o)if(!J.21(o[4k]))a.4c(4k,o[4k]);C\'#<O:\'+a.28()+\',L:\'+$H(o.L).28()+\'>\'}});O.6d=1D.1E(O.3b,{1J:q(a){o.1V=a||[];o.2Q(17[1])},2f:q(a){o.1V.7y(\'7e\',a)},5w:q(b){o.1V.1k(q(a){a.7e(1.0);a.8E();a.4Y(\'et\');if(a.5w)a.5w(b);a.4Y(\'eu\')})}});O.ev=1D.1E(O.3b,{1J:q(b,c,d){b=J.2d(b)?$(b):b;E e=$A(17),1T=e.2b(),L=e.W==5?e[3]:1f;o.1T=J.21(1T)?1T.1G(b):J.21(b[1T])?b[1T].1G(b):q(a){b[1T]=a};o.2Q(J.V({2O:c,3k:d},L||{}))},2f:q(a){o.1T(a)}});O.1B=1D.1E(O.3b,{1J:q(){o.2Q(J.V({2o:0},17[0]||{}))},2f:1b.2I});O.4R=1D.1E(O.3b,{1J:q(a){o.M=$(a);if(!o.M)2K(O.6a);if(1b.1C.2G&&(!o.M.60.a4))o.M.1u({5Z:1});E b=J.V({2O:o.M.6L()||0.0,3k:1.0},17[1]||{});o.2Q(b)},2f:q(a){o.M.4E(a)}});O.3m=1D.1E(O.3b,{1J:q(a){o.M=$(a);if(!o.M)2K(O.6a);E b=J.V({x:0,y:0,65:\'5i\'},17[1]||{});o.2Q(b)},6c:q(){o.M.3R();o.7g=2F(o.M.1s(\'1v\')||\'0\');o.7h=2F(o.M.1s(\'1q\')||\'0\');if(o.L.65==\'4F\'){o.L.x=o.L.x-o.7g;o.L.y=o.L.y-o.7h}},2f:q(a){o.M.1u({1v:(o.L.x*a+o.7g).3a()+\'1P\',1q:(o.L.y*a+o.7h).3a()+\'1P\'})}});O.kc=q(a,b,c){C 14 O.3m(a,J.V({x:c,y:b},17[3]||{}))};O.3n=1D.1E(O.3b,{1J:q(a,b){o.M=$(a);if(!o.M)2K(O.6a);E c=J.V({3W:1d,7i:1d,3X:1d,8F:1g,3Y:\'b3\',5x:2Z.0,ew:b},17[2]||{});o.2Q(c)},6c:q(){o.3o=o.L.3o||1g;o.ey=o.M.1s(\'1z\');o.b4={};[\'1q\',\'1v\',\'1n\',\'1r\',\'5t\'].1k(q(k){o.b4[k]=o.M.Y[k]}.1G(o));o.7h=o.M.4G;o.7g=o.M.4H;E b=o.M.1s(\'kd-9e\')||\'2Z%\';[\'em\',\'1P\',\'%\',\'ez\'].1k(q(a){if(b.2U(a)>0){o.5t=2F(b);o.eA=a}}.1G(o));o.eB=(o.L.ew-o.L.5x)/2Z;o.3F=1f;if(o.L.3Y==\'b3\')o.3F=[o.M.5g,o.M.5f];if(/^ke/.2t(o.L.3Y))o.3F=[o.M.kf,o.M.kg];if(!o.3F)o.3F=[o.L.3Y.7j,o.L.3Y.7k]},2f:q(a){E b=(o.L.5x/2Z.0)+(o.eB*a);if(o.L.3X&&o.5t)o.M.1u({5t:o.5t*b+o.eA});o.eC(o.3F[0]*b,o.3F[1]*b)},5w:q(a){if(o.3o)o.M.1u(o.b4)},eC:q(a,b){E d={};if(o.L.3W)d.1n=b.3a()+\'1P\';if(o.L.7i)d.1r=a.3a()+\'1P\';if(o.L.8F){E c=(a-o.3F[0])/2;E e=(b-o.3F[1])/2;if(o.ey==\'4F\'){if(o.L.7i)d.1q=o.7h-c+\'1P\';if(o.L.3W)d.1v=o.7g-e+\'1P\'}1e{if(o.L.7i)d.1q=-c+\'1P\';if(o.L.3W)d.1v=-e+\'1P\'}}o.M.1u(d)}});O.eD=1D.1E(O.3b,{1J:q(a){o.M=$(a);if(!o.M)2K(O.6a);E b=J.V({eE:\'#kh\'},17[1]||{});o.2Q(b)},6c:q(){if(o.M.1s(\'3v\')==\'4e\'){o.8E();C}o.b5={};if(!o.L.ki){o.b5.eF=o.M.1s(\'b6-kj\');o.M.1u({eF:\'4e\'})}if(!o.L.b7)o.L.b7=o.M.1s(\'b6-4S\').4O(\'#eG\');if(!o.L.b8)o.L.b8=o.M.1s(\'b6-4S\');o.b9=$R(0,2).1Y(q(i){C 4j(o.L.eE.2M(i*2+1,i*2+3),16)}.1G(o));o.eH=$R(0,2).1Y(q(i){C 4j(o.L.b7.2M(i*2+1,i*2+3),16)-o.b9[i]}.1G(o))},2f:q(a){o.M.1u({ba:$R(0,2).2E(\'#\',q(m,v,i){C m+((o.b9[i]+(o.eH[i]*a)).3a().5N())}.1G(o))})},5w:q(){o.M.1u(J.V(o.b5,{ba:o.L.b8}))}});O.kk=q(a){E b=17[1]||{},bb=18.8g.ae(),8G=$(a).3Q(),5J=18.8g.ae[0]-18.8g.9N();if(b.2z)8G[1]+=b.2z;C 14 O.ev(1f,bb.1q,8G[1]>5J?5J:8G[1],b,q(p){9Q(bb.1v,p.3a())})};O.ek=q(b){b=$(b);E c=b.4n();E d=J.V({2O:b.6L()||1.0,3k:0.0,1W:q(a){if(a.L.3k!=0)C;a.M.3e().1u({1N:c})}},17[1]||{});C 14 O.4R(b,d)};O.aW=q(b){b=$(b);E c=J.V({2O:(b.1s(\'3v\')==\'4e\'?0.0:b.6L()||0.0),3k:1.0,1W:q(a){a.M.aS()},5v:q(a){a.M.4E(a.L.2O).59()}},17[1]||{});C 14 O.4R(b,c)};O.kl=q(b){b=$(b);E c={1N:b.4n(),1z:b.1s(\'1z\'),1q:b.Y.1q,1v:b.Y.1v,1n:b.Y.1n,1r:b.Y.1r};C 14 O.6d([14 O.3n(b,c7,{2S:1d,8F:1d,3X:1d,3o:1d}),14 O.4R(b,{2S:1d,3k:0.0})],J.V({2o:1.0,km:q(a){8u.80(a.1V[0].M)},1W:q(a){a.1V[0].M.3e().1u(c)}},17[1]||{}))};O.ej=q(b){b=$(b);b.3T();C 14 O.3n(b,0,J.V({3X:1g,3W:1g,3o:1d,1W:q(a){a.M.3e().3U()}},17[1]||{}))};O.ei=q(b){b=$(b);E c=b.3y();C 14 O.3n(b,2Z,J.V({3X:1g,3W:1g,5x:0,3Y:{7j:c.1r,7k:c.1n},3o:1d,8D:q(a){a.M.3T().1u({1r:\'bc\'}).59()},1W:q(a){a.M.3U()}},17[1]||{}))};O.kn=q(c){c=$(c);E d=c.4n();C 14 O.aW(c,J.V({2o:0.4,2O:0,31:O.3l.eb,1W:q(b){14 O.3n(b.M,1,{2o:0.3,8F:1d,3W:1g,3X:1g,3o:1d,5v:q(a){a.M.3R().3T()},1W:q(a){a.M.3e().3U().3S().1u({1N:d})}})}},17[1]||{}))};O.ko=q(b){b=$(b);E c={1q:b.1s(\'1q\'),1v:b.1s(\'1v\'),1N:b.4n()};C 14 O.6d([14 O.3m(b,{x:0,y:2Z,2S:1d}),14 O.4R(b,{2S:1d,3k:0.0})],J.V({2o:0.5,5v:q(a){a.1V[0].M.3R()},1W:q(a){a.1V[0].M.3e().3S().1u(c)}},17[1]||{}))};O.kp=q(g){g=$(g);E h=J.V({eI:20,2o:0.5},17[1]||{});E i=2F(h.eI);E j=2F(h.2o)/10.0;E k={1q:g.1s(\'1q\'),1v:g.1s(\'1v\')};C 14 O.3m(g,{x:i,y:0,2o:j,1W:q(f){14 O.3m(f.M,{x:-i*2,y:0,2o:j*2,1W:q(e){14 O.3m(e.M,{x:i*2,y:0,2o:j*2,1W:q(d){14 O.3m(d.M,{x:-i*2,y:0,2o:j*2,1W:q(c){14 O.3m(c.M,{x:i*2,y:0,2o:j*2,1W:q(b){14 O.3m(b.M,{x:-i,y:0,2o:j,1W:q(a){a.M.3S().1u(k)}})}})}})}})}})}})};O.eg=q(b){b=$(b).9P();E c=b.3P().1s(\'2l\');E d=b.3y();C 14 O.3n(b,2Z,J.V({3X:1g,3W:1g,5x:1o.4J?0:1,3Y:{7j:d.1r,7k:d.1n},3o:1d,8D:q(a){a.M.3R();a.M.3P().3R();if(1o.4J)a.M.1u({1q:\'\'});a.M.3T().1u({1r:\'bc\'}).59()},eJ:q(a){a.M.3P().1u({2l:(a.3F[0]-a.M.7Z)+\'1P\'})},1W:q(a){a.M.3U().3S();a.M.3P().3S().1u({2l:c})}},17[1]||{}))};O.eh=q(b){b=$(b).9P();E c=b.3P().1s(\'2l\');E d=b.3y();C 14 O.3n(b,1o.4J?0:1,J.V({3X:1g,3W:1g,3Y:\'b3\',5x:2Z,3Y:{7j:d.1r,7k:d.1n},3o:1d,8D:q(a){a.M.3R();a.M.3P().3R();if(1o.4J)a.M.1u({1q:\'\'});a.M.3T().59()},eJ:q(a){a.M.3P().1u({2l:(a.3F[0]-a.M.7Z)+\'1P\'})},1W:q(a){a.M.3e().3U().3S();a.M.3P().3S().1u({2l:c})}},17[1]||{}))};O.kq=q(b){C 14 O.3n(b,1o.4J?1:0,{3o:1d,5v:q(a){a.M.3T()},1W:q(a){a.M.3e().3U()}})};O.kr=q(c){c=$(c);E d=J.V({8H:\'8I\',8J:O.3l.5u,8K:O.3l.5u,8L:O.3l.ed},17[1]||{});E e={1q:c.Y.1q,1v:c.Y.1v,1r:c.Y.1r,1n:c.Y.1n,1N:c.4n()};E f=c.3y();E g,5y;E h,2T;3I(d.8H){1w\'1q-1v\':g=5y=h=2T=0;1x;1w\'1q-4f\':g=f.1n;5y=2T=0;h=-f.1n;1x;1w\'2l-1v\':g=h=0;5y=f.1r;2T=-f.1r;1x;1w\'2l-4f\':g=f.1n;5y=f.1r;h=-f.1n;2T=-f.1r;1x;1w\'8I\':g=f.1n/2;5y=f.1r/2;h=-f.1n/2;2T=-f.1r/2;1x}C 14 O.3m(c,{x:g,y:5y,2o:0.bp,5v:q(a){a.M.3e().3T().3R()},1W:q(b){14 O.6d([14 O.4R(b.M,{2S:1d,3k:1.0,2O:0.0,31:d.8L}),14 O.3m(b.M,{x:h,y:2T,2S:1d,31:d.8J}),14 O.3n(b.M,2Z,{3Y:{7j:f.1r,7k:f.1n},2S:1d,5x:1o.4J?1:0,31:d.8K,3o:1d})],J.V({5v:q(a){a.1V[0].M.1u({1r:\'bc\'}).59()},1W:q(a){a.1V[0].M.3U().3S().1u(e)}},d))}})};O.ks=q(b){b=$(b);E c=J.V({8H:\'8I\',8J:O.3l.5u,8K:O.3l.5u,8L:O.3l.4e},17[1]||{});E d={1q:b.Y.1q,1v:b.Y.1v,1r:b.Y.1r,1n:b.Y.1n,1N:b.4n()};E e=b.3y();E f,2T;3I(c.8H){1w\'1q-1v\':f=2T=0;1x;1w\'1q-4f\':f=e.1n;2T=0;1x;1w\'2l-1v\':f=0;2T=e.1r;1x;1w\'2l-4f\':f=e.1n;2T=e.1r;1x;1w\'8I\':f=e.1n/2;2T=e.1r/2;1x}C 14 O.6d([14 O.4R(b,{2S:1d,3k:0.0,2O:1.0,31:c.8L}),14 O.3n(b,1o.4J?1:0,{2S:1d,31:c.8K,3o:1d}),14 O.3m(b,{x:f,y:2T,2S:1d,31:c.8J})],J.V({kt:q(a){a.1V[0].M.3R().3T()},1W:q(a){a.1V[0].M.3e().3U().3S().1u(d)}},c))};O.ku=q(b){b=$(b);E c=17[1]||{};E d=b.4n();E e=c.31||O.3l.5u;E f=q(a){C e(1-O.3l.ec(a,c.kv))};f.1G(e);C 14 O.4R(b,J.V(J.V({2o:2.0,2O:0,1W:q(a){a.M.1u({1N:d})}},c),{31:f}))};O.kw=q(c){c=$(c);E d={1q:c.Y.1q,1v:c.Y.1v,1n:c.Y.1n,1r:c.Y.1r};c.3T();C 14 O.3n(c,5,J.V({3X:1g,3W:1g,1W:q(b){14 O.3n(c,1,{3X:1g,7i:1g,1W:q(a){a.M.3e().3U().1u(d)}})}},17[1]||{}))};O.bd=1D.1E(O.3b,{1J:q(c){o.M=$(c);if(!o.M)2K(O.6a);E d=J.V({Y:{}},17[1]||{});if(!J.2d(d.Y))o.Y=$H(d.Y);1e{if(d.Y.1y(\':\'))o.Y=d.Y.eK();1e{o.M.7U(d.Y);o.Y=$H(o.M.7l());o.M.9O(d.Y);E e=o.M.7l();o.Y=o.Y.7z(q(a){C a.1l==e[a.53]});d.1W=q(b){b.M.7U(b.L.Y);b.8M.1k(q(a){b.M.Y[a.Y]=\'\'})}}}o.2Q(d)},6c:q(){q 4O(a){if(!a||[\'kx(0, 0, 0, 0)\',\'ky\'].1y(a))a=\'#eG\';a=a.4O();C $R(0,2).1Y(q(i){C 4j(a.2M(i*2+1,i*2+3),16)})}o.8M=o.Y.1Y(q(a){E b=a[0],1l=a[1],3G=1f;if(1l.4O(\'#eL\')!=\'#eL\'){1l=1l.4O();3G=\'4S\'}1e if(b==\'1N\'){1l=2F(1l);if(1b.1C.2G&&(!o.M.60.a4))o.M.1u({5Z:1})}1e if(G.eM.2t(1l)){E c=1l.1t(/^([\\+\\-]?[0-9\\.]+)(.*)$/);1l=2F(c[1]);3G=(c.W==3)?c[2]:1f}E d=o.M.1s(b);C{Y:b.6q(),3H:3G==\'4S\'?4O(d):2F(d||0),5z:3G==\'4S\'?4O(1l):1l,3G:3G}}.1G(o)).7z(q(a){C((a.3H==a.5z)||(a.3G!=\'4S\'&&(9h(a.3H)||9h(a.5z))))})},2f:q(a){E b={},2w,i=o.8M.W;1H(i--)b[(2w=o.8M[i]).Y]=2w.3G==\'4S\'?\'#\'+(2P.3a(2w.3H[0]+(2w.5z[0]-2w.3H[0])*a)).5N()+(2P.3a(2w.3H[1]+(2w.5z[1]-2w.3H[1])*a)).5N()+(2P.3a(2w.3H[2]+(2w.5z[2]-2w.3H[2])*a)).5N():(2w.3H+(2w.5z-2w.3H)*a).kz(3)+(2w.3G===1f?\'\':2w.3G);o.M.1u(b,1d)}});O.kA=1D.1E({1J:q(a){o.be=[];o.L=17[1]||{};o.eN(a)},eN:q(c){c.1k(q(a){a=$H(a);E b=a.2r().2W();o.be.1h($H({eO:a.4V().2W(),7b:O.bd,L:{Y:b}}))}.1G(o));C o},kB:q(){C 14 O.6d(o.be.1Y(q(a){E b=a.3u(\'eO\'),7b=a.3u(\'7b\'),L=a.3u(\'L\');E c=[$(b)||$$(b)].51();C c.1Y(q(e){C 14 7b(e,J.V({2S:1d},L))})}).51(),o.L)}});G.8N=$w(\'ba kC kD kE \'+\'kF kG kH kI \'+\'kJ kK kL kM \'+\'kN kO kP 2l kQ 4S \'+\'5t kR 1r 1v kS kT \'+\'kU kV kW kX kY kZ \'+\'l0 l1 l2 1N l3 l4 \'+\'l5 l6 l7 l8 l9 \'+\'4f la 1q 1n lb lc\');G.eM=/^(([\\+\\-]?[0-9\\.]+)(em|ex|1P|in|cm|ld|ez|lf|\\%))|0$/;1F.bf=18.2H(\'26\');1F.1j.eK=q(){E b,8O=$H();if(1b.1C.3p)b=14 G(\'26\',{Y:o}).Y;1e{1F.bf.3M=\'<26 Y="\'+o+\'"></26>\';b=1F.bf.2i[0].Y}G.8N.1k(q(a){if(b[a])8O.4c(a,b[a])});if(1b.1C.2G&&o.1y(\'1N\'))8O.4c(\'1N\',o.1t(/1N:\\s*((?:0|1)?(?:\\.\\d*)?)/)[1]);C 8O};if(18.7X&&18.7X.9S){G.7l=q(c){E d=18.7X.9S($(c),1f);C G.8N.2E({},q(a,b){a[b]=d[b];C a})}}1e{G.7l=q(c){c=$(c);E d=c.60,7m;7m=G.8N.2E({},q(a,b){a[b]=d[b];C a});if(!7m.1N)7m.1N=c.6L();C 7m}}O.1c={lg:q(a,b){a=$(a);14 O.bd(a,J.V({Y:b},17[2]||{}));C a},lh:q(a,b,c){a=$(a);E s=b.bC().6q(),2J=s.4w(0).1R()+s.4x(1);14 O[2J](a,c);C a},li:q(a,b){a=$(a);14 O.eD(a,b);C a}};$w(\'lj aV lk ll lm ln lo lp lq \'+\'lr ls lu lv lw lx\').1k(q(c){O.1c[c]=q(a,b){a=$(a);O[c.4w(0).1R()+c.4x(1)](a,b);C a}});$w(\'4n aS e9 aQ aR 7l\').1k(q(f){O.1c[f]=G[f]});G.5A(O.1c);7a.72();',62,1336,'||||||||||||||||||||||||this||function||||||||||||return||var||Element|||Object||options|element|node|Effect|||||||extend|length||style||||||new|||arguments|document|for|Selector|Prototype|Methods|true|else|null|false|push|results|prototype|each|value|type|width|window|tagName|top|height|getStyle|match|setStyle|left|case|break|include|position|Form|Event|Browser|Class|create|String|bind|while|child|initialize|replace|concat|Ajax|opacity|try|px|catch|toUpperCase|toLowerCase|method|nth|effects|afterFinishInternal|typeof|map|handlers||isFunction|body||parentNode|className|div||inspect|join|Array|last|pseudos|isString|select|update|_getEv|xpath|childNodes|transport|name|bottom|of||duration|toString|isUndefined|values|clone|test|Enumerable|table|transform|call|valueL|offset|evaluate|nodeType|object|args|inject|parseFloat|IE|createElement|emptyFunction|klass|throw|gsub|slice|Template|from|Math|start|getValue|sync|moveY|indexOf|apply|first|split|toArray|100||transition|toJSON||||||||round|Base|parameters|insert|hide|toElement|offsetParent|disabled|ByTag|getElementsByTagName|to|Transitions|Move|Scale|restoreAfterFinish|WebKit|BrowserFeatures|undefined|appendChild|_each|get|display|continue|_attributeTranslations|getDimensions|hasAttribute|checked|expression|matcher|_countedByPrototype|queue|dims|unit|originalValue|switch|Hash|strip|text|innerHTML|request|readyState|down|cumulativeOffset|makePositioned|undoPositioned|makeClipping|undoClipping|attr|scaleX|scaleContent|scaleMode|navigator||userAgent|Opera|script|super|||isElement|toHTML|RegExp|stripScripts|_object|set|response|none|right|_returnOffset|scrollTop|scrollLeft|parseInt|property|ps|not|getInlineOpacity|wrap|toQueryString|isArray|delay|defer|methodize|toPaddedString|source|charAt|substring|findAll|pluck|onComplete|responseText|firstChild|names|setOpacity|absolute|offsetTop|offsetLeft|tags|opera|descendant|sibling|lastValue|observe|parseColor|startOn|finishOn|Opacity|color|__proto__|shift|keys|Abstract|isNumber|event|evalScripts|blank|flatten|Number|key|Request|url|dispatchException|success|decay|show|class|attribute|adjacent|readAttribute|contains|offsetWidth|offsetHeight|hidden|relative|_overflow|src|documentElement|_cache|formula|unmark|submit|currentTarget|stopObserving|Builder|fontSize|sinoidal|beforeSetup|finish|scaleFrom|initialMoveY|targetValue|addMethods|interpret|timer|callee|escapeHTML|nodeValue|_|evalJSON|empty|max|filter|reverse|without|toColorPart|Responders|on|getHeader|removeChild|_insertionTranslations|nextSibling|findElement|write|static|getOffsetParent|default|zoom|currentStyle|action|TBODY|tbody|Heading|mode|attrPresence|getElements|Serializers|fire|_elementDoesNotExistError|state|setup|Parallel|Version|ElementExtensions|HTMLElement|properties|string|1000|callback|frequency|registerCallback|onTimerEvent|index|eval|camelize|len|capitalize|expr|collect|criteria|toObject|end|responders|post|getStatus|Node|cache|writeAttribute|remove|nextSiblings|previousElementSibling|nextElementSibling|classNames|hasClassName|auto|getOpacity|positionedOffset|viewportOffset|_flag|insertBefore|TD|patterns|following|laterSibling|operators|pseudo|only|and|nodeClassName|serialize|input|EventObserver|load|createEvent|addEventListener||loaded|fireContentLoadedEvent|xcomp|ycomp|Scriptaculous|effect|interval|codeForEvent|render|pos|originalLeft|originalTop|scaleY|originalHeight|originalWidth|getStyles|styles|attachEvent|Gecko|XPath|SpecificElementExtensions|ScriptFragment|currentlyExecuting|toQueryParams|times|createTextNode|array|detect|invoke|reject|pair|dispatch|onCreate|asynchronous|application|onreadystatechange|status|headerJSON|isSameOrigin|port|location|container|insertion|visible|after|_getContentFromAnonymousElement|recursivelyCollect|findChildElements|read|ClassNames|addClassName|descendantOf|cssFloat|defaultView|00001|clientHeight|absolutize|border|padding|title|_getAttr|tabIndex|TR|tr|THEAD|TFOOT|TH|Simulated|_extendedByPrototype|refresh|copy|HTML|viewport|findElements|token|count|mark|nodeIndex|hash|currentValue|optionValue|which|pointer|getCacheForID|getWrappersForEventName|handler|Position|getElementsByClassName|_isStringOrNumber|cos|PI|global|loop|Queues|Internal|afterSetup|cancel|scaleFromCenter|elementOffsets|direction|center|moveTransition|scaleTransition|opacityTransition|transforms|CSS_PROPERTIES|styleRules|form|superclass|valueOf|instanceof|isHash|number|curry|_methodized|Date|setInterval|execute|stop|clearInterval|prepareReplacement|stripTags|decodeURIComponent|succ|unfilterJSON|startsWith|endsWith|lastIndexOf|toTemplateReplacements|slices|all|falses|size|find|_reverse|isNaN|floor|toQueryPair|delete|activeRequestCount|encoding|evalJS|_complete|Response|respondToReadyState|onStateChange|Content|Complete|protocol|domain|getResponseHeader|statusText|getAllResponseHeaders|failure|updater|elements|_getElementsByXPath|toggle|replaceChild|before|ancestors|previousSiblings|identify|self|attributes|getAttribute|removeAttribute|getHeight|removeClassName|cleanWhitespace|scrollTo|float|getComputedStyle|cssText|styleFloat|visibility|_madePositioned|overflow|BODY|relativize|cumulativeScrollOffset|htmlFor|alpha|stripAlpha|hasLayout|has|IMG|SELECT|TEXTAREA|OPTGROUP|CAPTION|COL|COLGROUP|TableSection|getScrollOffsets|_div|unique|tokens|assertions|matches|preceding|predicate|fragment|indexed|selector|reset|submitted|matchingInputs||disable|enable|textarea|focus|button|radio|selected|TimedObserver|onElementEvent|relatedTarget|getEventID|_prototypeEventID|getDOMEventName|eventName|findWrapper|prepare|iter|add|REQUIRED_PROTOTYPE|convertVersionString|_children|_text|ATTR_MAP|collectTextNodes|collectTextNodesIgnoreClass|forceRerendering|DefaultOptions|PAIRS|appear|Appear|scope|limit|idle|instances|currentFrame|frame|box|originalStyle|oldStyle|background|endcolor|restorecolor|_base|backgroundColor|scrollOffsets|0px|Morph|tracks|__parseStyleElement|KHTML|MobileSafari|Safari|SelectorsAPI|querySelector|JSONFilter|subclasses|argumentNames|timeout|01|Try|these|escape|PeriodicalExecuter|specialChar|sub|scan|img|extractScripts|unescapeHTML|fromCharCode|charCodeAt|dasherize|isJSON|JSON|interpolate|amp|template|pattern|Pattern|exec|eachSlice|any|sortBy|clear|uniq|forEach|arrayLength|encodeURIComponent|ObjectRange|exclusive|getTransport|XMLHttpRequest|ActiveXObject|XMLHTTP|register|contentType|setRequestHeaders|overrideMimeType|javascript|xml|2005|requestHeaders|200|Events|force|evalResponse|onException|getStatusText|_getHeaderJSON|responseXML|_getResponseJSON|sanitizeJSON|Updater|updateContent|updateComplete|lastText|ELEMENT_NODE|||TEXT_NODE|descendants|firstDescendant|immediateDescendants|previousSibling|next|counter|setAttribute|getWidth|compareDocumentPosition|clientWidth|_originalLeft|_originalTop|_originalWidth|_originalHeight|clonePosition|setLeft|setTop|setWidth|setHeight|normal|_getAttrNode|getAttributeNode|href|multiple|onunload|outerHTML|TABLE|td|specified|FORM|INPUT|findDOMClass|FIELDSET|UL|OL|DL|DIR|H1|H2|H3|H4|H5|H6|INS|Mod|DEL|TableCol|TableCell|FRAMESET|IFRAME|client|pageXOffset|pageYOffset|shouldUseSelectorsAPI|selectorsAPI|shouldUseXPath|compileXPathMatcher|compileMatcher|root|local|or||with|enabled|even|odd|byClassName|getIndices|matchElements|serializeElements|findFirstElement|activate|checkbox|inputSelector|selectOne|selectMany|single|Observer|registerFormCallbacks|click|metaKey|target|pageX|pageY|preventDefault|stopPropagation|HTMLEvents|dataavailable|createWrapper|destroyWrapper|destroyCache|removeEventListener|dispatchEvent|eventType|complete|__onDOMContentLoaded|includeScrollOffsets|deltaX|deltaY|withinIncludingScrolloffsets|require|NODEMAP|AREA|LEGEND|OPTION|PARAM|_attributes|hasChildNodes|setContentZoom|linear|flicker|pulse|full|fps|speed|SlideDown|SlideUp|BlindDown|BlindUp|Fade|ScopedQueue|||getTime|fromToDelta|totalTime|totalFrames|running|beforeFinish|afterFinish|Tween|scaleTo||elementPositioning|pt|fontSizeType|factor|setDimensions|Highlight|startcolor|backgroundImage|ffffff|_delta|distance|afterUpdateInternal|parseStyle|zzzzzz|CSS_LENGTH|addTracks|ids|AppleWebKit|Apple|Mobile|secure|constructor|RangeError|unknown|boolean|splice|Function|bindAsEventListener|setTimeout|getUTCFullYear|getUTCMonth|getUTCDate|getUTCHours|getUTCMinutes|getUTCSeconds|finally|truncate|data|underscore|x00|x1f|u00|Eaeflnr|SyntaxError|Badly|formed|parseQuery|grep|inGroupsOf|min|partition|sort|zip|pop|member|entries|every|some|item|compact|reduce|intersect|isFinite|abs|ceil|unset|merge|Msxml2|Microsoft|unregister|www|urlencoded|UTF|_method|Konqueror|open|postBody|send|Requested|With|Accept|html|charset|Connection|close|setRequestHeader|300|Success|Failure|java|ecma|https|Uninitialized|Loading|Loaded|Interactive|responseJSON|getAllHeaders|json|PeriodicalUpdater|clearTimeout|getElementById|XPathResult|ORDERED_NODE_SNAPSHOT_TYPE|snapshotLength|snapshotItem|ATTRIBUTE_NODE|CDATA_SECTION_NODE||ENTITY_REFERENCE_NODE|ENTITY_NODE|PROCESSING_INSTRUCTION_NODE|COMMENT_NODE|DOCUMENT_NODE|DOCUMENT_TYPE_NODE|DOCUMENT_FRAGMENT_NODE|NOTATION_NODE|cloneNode|ownerDocument||createRange|selectNode|createContextualFragment|siblings|up|previous|anonymous_element_|toggleClassName|block|getElementsBySelector|childElements|fixed|cellpadding|cellPadding|cellspacing|cellSpacing|colSpan|rowSpan|vAlign|dateTime|accessKey|encType|maxLength|readOnly|longDesc|frameBorder|readonly|onload|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onfocus|onblur|onkeypress|onkeydown|onkeyup|onsubmit|onreset|onselect|onchange|rv|999999|OptGroup|TextArea|Paragraph|FieldSet|UList|OList|DList|Directory|Quote|Anchor|Image|TableCaption|TableRow|FrameSet|IFrame|inner|version|querySelectorAll|starts|mod|dis|abled|selectorType|file|getInputs|focusFirstElement|setValue|present|Field|one|selectedIndex|change|KEY_BACKSPACE|KEY_TAB|KEY_RETURN|KEY_ESC|KEY_LEFT|KEY_UP|KEY_RIGHT|KEY_DOWN|KEY_DELETE|KEY_HOME|KEY_END|KEY_PAGEUP|KEY_PAGEDOWN|KEY_INSERT|mouseover|fromElement|mouseout|isLeftClick|isMiddleClick|isRightClick|error|clientX|clientLeft|clientY|clientTop|pointerX|pointerY|stopped|cancelBubble||returnValue||srcElement|unload|detachEvent|initEvent|createEventObject|ondataavailable|||memo|fireEvent|dom|DOMContentLoaded||Toggle|childOf|Insertion|Before|Top|Bottom|After|Error|deprecated|use|instead|within|overlap|vertical|horizontal|realOffset|page|100000|aculo|us|requires|the|JavaScript|framework|proto|scripta|culous|z0|fieldset|quot|build|dump|ABBR|ACRONYM|ADDRESS|APPLET|BASE|BASEFONT|BDO|BIG|BLOCKQUOTE|BR|BUTTON|CENTER|CITE|CODE|DD|DFN|DIV|DT|EM|FONT|FRAME|HEAD|HR|ISINDEX|KBD|LABEL|LI|LINK|MAP||MENU|META|NOFRAMES|NOSCRIPT|OBJECT|PRE|SAMP|SCRIPT|SMALL|SPAN|STRIKE|STRONG|STYLE|SUB|SUP|TITLE|TT|VAR|rgb|scrollBy|ElementDoesNotExistError|message|The|DOM|does|exist|but|required|operate|random|wobble|spring|exp|parallel|tagifyText|span|160|slide|blind|front|Queue|beforeUpdate|afterUpdate|beforeStart|finished|MoveBy|font|content|scrollHeight|scrollWidth|ffff99|keepBackgroundImage|image|ScrollTo|Puff|beforeSetupInternal|SwitchOff|DropOut|Shake|Squish|Grow|Shrink|beforeStartInternal|Pulsate|pulses|Fold|rgba|transparent|toFixed|Transform|play|backgroundPosition|borderBottomColor|borderBottomStyle|borderBottomWidth|borderLeftColor|borderLeftStyle|borderLeftWidth|borderRightColor|borderRightStyle|borderRightWidth|borderSpacing|borderTopColor|borderTopStyle|borderTopWidth|clip|fontWeight|letterSpacing|lineHeight|marginBottom|marginLeft|marginRight|marginTop|markerOffset|maxHeight|maxWidth|minHeight|minWidth|outlineColor|outlineOffset|outlineWidth|paddingBottom|paddingLeft|paddingRight|paddingTop|textIndent|wordSpacing|zIndex|mm||pc|morph|visualEffect|highlight|fade|grow|shrink|fold|blindUp|blindDown|slideUp|slideDown|pulsate|shake||puff|squish|switchOff|dropOut'.split('|'),0,{}))

/**
 * JsHttpRequest: JavaScript "AJAX" data loader
 * Minimized version: see debug directory for the complete one.
 *
 * @license LGPL
 * @author Dmitry Koterov, http://en.dklab.ru/lib/JsHttpRequest/
 * @version 5.x $Id: JsHttpRequest.js,v 1.1.2.1 2008/05/16 09:33:22 art Exp $
 */
function JsHttpRequest(){
    var t=this;
    t.onreadystatechange=null;
    t.readyState=0;
    t.responseText=null;
    t.responseXML=null;
    t.status=200;
    t.statusText="OK";
    t.responseJS=null;
    t.caching=false;
    t.loader=null;
    t.session_name="PHPSESSID";
    t._ldObj=null;
    t._reqHeaders=[];
    t._openArgs=null;
    t._errors={inv_form_el:"Invalid FORM element detected: name=%, tag=%",must_be_single_el:"If used, <form> must be a single HTML element in the list.",js_invalid:"JavaScript code generated by backend is invalid!\n%",url_too_long:"Cannot use so long query with GET request (URL is larger than % bytes)",unk_loader:"Unknown loader: %",no_loaders:"No loaders registered at all, please check JsHttpRequest.LOADERS array",no_loader_matched:"Cannot find a loader which may process the request. Notices are:\n%"};
    t.abort=function(){
        with(this){
            if(_ldObj&&_ldObj.abort){
                _ldObj.abort();
            }
            _cleanup();
            if(readyState==0){
                return;
            }
            if(readyState==1&&!_ldObj){
                readyState=0;
                return;
            }
            _changeReadyState(4,true);
        }
    };
    t.open=function(_2,_3,_4,_5,_6){
        with(this){
            if(_3.match(/^((\w+)\.)?(GET|POST)\s+(.*)/i)){
                this.loader=RegExp.$2?RegExp.$2:null;
                _2=RegExp.$3;
                _3=RegExp.$4;
            }
            try{
                if(document.location.search.match(new RegExp("[&?]"+session_name+"=([^&?]*)"))||document.cookie.match(new RegExp("(?:;|^)\\s*"+session_name+"=([^;]*)"))){
                    _3+=(_3.indexOf("?")>=0?"&":"?")+session_name+"="+this.escape(RegExp.$1);
                }
            }
            catch(e){
            }
            _openArgs={method:(_2||"").toUpperCase(),url:_3,asyncFlag:_4,username:_5!=null?_5:"",password:_6!=null?_6:""};
            _ldObj=null;
            _changeReadyState(1,true);
            return true;
        }
    };
    t.send=function(_7){
        if(!this.readyState){
            return;
        }
        this._changeReadyState(1,true);
        this._ldObj=null;
        var _8=[];
        var _9=[];
        if(!this._hash2query(_7,null,_8,_9)){
            return;
        }
        var _a=null;
        if(this.caching&&!_9.length){
            _a=this._openArgs.username+":"+this._openArgs.password+"@"+this._openArgs.url+"|"+_8+"#"+this._openArgs.method;
            var _b=JsHttpRequest.CACHE[_a];
            if(_b){
                this._dataReady(_b[0],_b[1]);
                return false;
            }
        }
        var _c=(this.loader||"").toLowerCase();
        if(_c&&!JsHttpRequest.LOADERS[_c]){
            return this._error("unk_loader",_c);
        }
        var _d=[];
        var _e=JsHttpRequest.LOADERS;
        for(var _f in _e){
            var ldr=_e[_f].loader;
            if(!ldr){
                continue;
            }
            if(_c&&_f!=_c){
                continue;
            }
            var _11=new ldr(this);
            JsHttpRequest.extend(_11,this._openArgs);
            JsHttpRequest.extend(_11,{queryText:_8.join("&"),queryElem:_9,id:(new Date().getTime())+""+JsHttpRequest.COUNT++,hash:_a,span:null});
            var _12=_11.load();
            if(!_12){
                this._ldObj=_11;
                JsHttpRequest.PENDING[_11.id]=this;
                return true;
            }
            if(!_c){
                _d[_d.length]="- "+_f.toUpperCase()+": "+this._l(_12);
            }else{
                return this._error(_12);
            }
        }
        return _f?this._error("no_loader_matched",_d.join("\n")):this._error("no_loaders");
    };
    t.getAllResponseHeaders=function(){
        with(this){
            return _ldObj&&_ldObj.getAllResponseHeaders?_ldObj.getAllResponseHeaders():[];
        }
    };
    t.getResponseHeader=function(_13){
        with(this){
            return _ldObj&&_ldObj.getResponseHeader?_ldObj.getResponseHeader(_13):null;
        }
    };
    t.setRequestHeader=function(_14,_15){
        with(this){
            _reqHeaders[_reqHeaders.length]=[_14,_15];
        }
    };
    t._dataReady=function(_16,js){
        with(this){
            if(caching&&_ldObj){
                JsHttpRequest.CACHE[_ldObj.hash]=[_16,js];
            }
            responseText=responseXML=_16;
            responseJS=js;
            if(js!==null){
                status=200;
                statusText="OK";
            }else{
                status=500;
                statusText="Internal Server Error";
            }
            _changeReadyState(2);
            _changeReadyState(3);
            _changeReadyState(4);
            _cleanup();
        }
    };
    t._l=function(_18){
        var i=0,p=0,msg=this._errors[_18[0]];
        while((p=msg.indexOf("%",p))>=0){
            var a=_18[++i]+"";
            msg=msg.substring(0,p)+a+msg.substring(p+1,msg.length);
            p+=1+a.length;
        }
        return msg;
    };
    t._error=function(msg){
        msg=this._l(typeof (msg)=="string"?arguments:msg);
        msg="JsHttpRequest: "+msg;
        if(!window.Error){
            throw msg;
        }else{
            if((new Error(1,"test")).description=="test"){
                throw new Error(1,msg);
            }else{
                throw new Error(msg);
            }
        }
    };
    t._hash2query=function(_1e,_1f,_20,_21){
        if(_1f==null){
            _1f="";
        }
        if((""+typeof (_1e)).toLowerCase()=="object"){
            var _22=false;
            if(_1e&&_1e.parentNode&&_1e.parentNode.appendChild&&_1e.tagName&&_1e.tagName.toUpperCase()=="FORM"){
                _1e={form:_1e};
            }
            for(var k in _1e){
                var v=_1e[k];
                if(v instanceof Function){
                    continue;
                }
                var _25=_1f?_1f+"["+this.escape(k)+"]":this.escape(k);
                var _26=v&&v.parentNode&&v.parentNode.appendChild&&v.tagName;
                if(_26){
                    var tn=v.tagName.toUpperCase();
                    if(tn=="FORM"){
                        _22=true;
                    }else{
                        if(tn=="INPUT"||tn=="TEXTAREA"||tn=="SELECT"){
                        }else{
                            return this._error("inv_form_el",(v.name||""),v.tagName);
                        }
                    }
                    _21[_21.length]={name:_25,e:v};
                }else{
                    if(v instanceof Object){
                        this._hash2query(v,_25,_20,_21);
                    }else{
                        if(v===null){
                            continue;
                        }
                        if(v===true){
                            v=1;
                        }
                        if(v===false){
                            v="";
                        }
                        _20[_20.length]=_25+"="+this.escape(""+v);
                    }
                }
                if(_22&&_21.length>1){
                    return this._error("must_be_single_el");
                }
            }
        }else{
            _20[_20.length]=_1e;
        }
        return true;
    };
    t._cleanup=function(){
        var _28=this._ldObj;
        if(!_28){
            return;
        }
        JsHttpRequest.PENDING[_28.id]=false;
        var _29=_28.span;
        if(!_29){
            return;
        }
        _28.span=null;
        var _2a=function(){
            _29.parentNode.removeChild(_29);
        };
        JsHttpRequest.setTimeout(_2a,50);
    };
    t._changeReadyState=function(s,_2c){
        with(this){
            if(_2c){
                status=statusText=responseJS=null;
                responseText="";
            }
            readyState=s;
            if(onreadystatechange){
                onreadystatechange();
            }
        }
    };
    t.escape=function(s){
        return escape(s).replace(new RegExp("\\+","g"),"%2B");
    };
}
JsHttpRequest.COUNT=0;
JsHttpRequest.MAX_URL_LEN=2000;
JsHttpRequest.CACHE={};
JsHttpRequest.PENDING={};
JsHttpRequest.LOADERS={};
JsHttpRequest._dummy=function(){
};
JsHttpRequest.TIMEOUTS={s:window.setTimeout,c:window.clearTimeout};
JsHttpRequest.setTimeout=function(_2e,dt){
    window.JsHttpRequest_tmp=JsHttpRequest.TIMEOUTS.s;
    if(typeof (_2e)=="string"){
        id=window.JsHttpRequest_tmp(_2e,dt);
    }else{
        var id=null;
        var _31=function(){
            _2e();
            delete JsHttpRequest.TIMEOUTS[id];
        };
        id=window.JsHttpRequest_tmp(_31,dt);
        JsHttpRequest.TIMEOUTS[id]=_31;
    }
    window.JsHttpRequest_tmp=null;
    return id;
};
JsHttpRequest.clearTimeout=function(id){
    window.JsHttpRequest_tmp=JsHttpRequest.TIMEOUTS.c;
    delete JsHttpRequest.TIMEOUTS[id];
    var r=window.JsHttpRequest_tmp(id);
    window.JsHttpRequest_tmp=null;
    return r;
};
JsHttpRequest.query=function(url,_35,_36,_37){
    var req=new this();
    req.caching=!_37;
    req.onreadystatechange=function(){
        if(req.readyState==4){
            _36(req.responseJS,req.responseText);
        }
    };
    req.open(null,url,true);
    req.send(_35);
};
JsHttpRequest.dataReady=function(d){
    var th=this.PENDING[d.id];
    delete this.PENDING[d.id];
    if(th){
        th._dataReady(d.text,d.js);
    }else{
        if(th!==false){
            throw "dataReady(): unknown pending id: "+d.id;
        }
    }
};
JsHttpRequest.extend=function(_3b,src){
    for(var k in src){
        _3b[k]=src[k];
    }
};
JsHttpRequest.LOADERS.xml={loader:function(req){
    JsHttpRequest.extend(req._errors,{xml_no:"Cannot use XMLHttpRequest or ActiveX loader: not supported",xml_no_diffdom:"Cannot use XMLHttpRequest to load data from different domain %",xml_no_headers:"Cannot use XMLHttpRequest loader or ActiveX loader, POST method: headers setting is not supported, needed to work with encodings correctly",xml_no_form_upl:"Cannot use XMLHttpRequest loader: direct form elements using and uploading are not implemented"});
    this.load=function(){
        if(this.queryElem.length){
            return ["xml_no_form_upl"];
        }
        if(this.url.match(new RegExp("^([a-z]+://[^\\/]+)(.*)","i"))){
            if(RegExp.$1.toLowerCase()!=document.location.protocol+"//"+document.location.hostname.toLowerCase()){
                return ["xml_no_diffdom",RegExp.$1];
            }
        }
        var xr=null;
        if(window.XMLHttpRequest){
            try{
                xr=new XMLHttpRequest();
            }
            catch(e){
            }
        }else{
            if(window.ActiveXObject){
                try{
                    xr=new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch(e){
                }
                if(!xr){
                    try{
                        xr=new ActiveXObject("Msxml2.XMLHTTP");
                    }
                    catch(e){
                    }
                }
            }
        }
        if(!xr){
            return ["xml_no"];
        }
        var _40=window.ActiveXObject||xr.setRequestHeader;
        if(!this.method){
            this.method=_40&&this.queryText.length?"POST":"GET";
        }
        if(this.method=="GET"){
            if(this.queryText){
                this.url+=(this.url.indexOf("?")>=0?"&":"?")+this.queryText;
            }
            this.queryText="";
            if(this.url.length>JsHttpRequest.MAX_URL_LEN){
                return ["url_too_long",JsHttpRequest.MAX_URL_LEN];
            }
        }else{
            if(this.method=="POST"&&!_40){
                return ["xml_no_headers"];
            }
        }
        this.url+=(this.url.indexOf("?")>=0?"&":"?")+"JsHttpRequest="+(req.caching?"0":this.id)+"-xml";
        var id=this.id;
        xr.onreadystatechange=function(){
            if(xr.readyState!=4){
                return;
            }
            xr.onreadystatechange=JsHttpRequest._dummy;
            req.status=null;
            try{
                req.status=xr.status;
                req.responseText=xr.responseText;
            }
            catch(e){
            }
            if(!req.status){
                return;
            }
            try{
                eval("JsHttpRequest._tmp = function(id) { var d = "+req.responseText+"; d.id = id; JsHttpRequest.dataReady(d); }");
            }
            catch(e){
                return req._error("js_invalid",req.responseText);
            }
            JsHttpRequest._tmp(id);
            JsHttpRequest._tmp=null;
        };
        xr.open(this.method,this.url,true,this.username,this.password);
        if(_40){
            for(var i=0;i<req._reqHeaders.length;i++){
                xr.setRequestHeader(req._reqHeaders[i][0],req._reqHeaders[i][1]);
            }
            xr.setRequestHeader("Content-Type","application/octet-stream");
        }
        xr.send(this.queryText);
        this.span=null;
        this.xr=xr;
        return null;
    };
    this.getAllResponseHeaders=function(){
        return this.xr.getAllResponseHeaders();
    };
    this.getResponseHeader=function(_43){
        return this.xr.getResponseHeader(_43);
    };
    this.abort=function(){
        this.xr.abort();
        this.xr=null;
    };
}};
JsHttpRequest.LOADERS.script={loader:function(req){
    JsHttpRequest.extend(req._errors,{script_only_get:"Cannot use SCRIPT loader: it supports only GET method",script_no_form:"Cannot use SCRIPT loader: direct form elements using and uploading are not implemented"});
    this.load=function(){
        if(this.queryText){
            this.url+=(this.url.indexOf("?")>=0?"&":"?")+this.queryText;
        }
        this.url+=(this.url.indexOf("?")>=0?"&":"?")+"JsHttpRequest="+this.id+"-"+"script";
        this.queryText="";
        if(!this.method){
            this.method="GET";
        }
        if(this.method!=="GET"){
            return ["script_only_get"];
        }
        if(this.queryElem.length){
            return ["script_no_form"];
        }
        if(this.url.length>JsHttpRequest.MAX_URL_LEN){
            return ["url_too_long",JsHttpRequest.MAX_URL_LEN];
        }
        var th=this,d=document,s=null,b=d.body;
        if(!window.opera){
            this.span=s=d.createElement("SCRIPT");
            var _49=function(){
                s.language="JavaScript";
                if(s.setAttribute){
                    s.setAttribute("src",th.url);
                }else{
                    s.src=th.url;
                }
                b.insertBefore(s,b.lastChild);
            };
        }else{
            this.span=s=d.createElement("SPAN");
            s.style.display="none";
            b.insertBefore(s,b.lastChild);
            s.innerHTML="Workaround for IE.<s"+"cript></"+"script>";
            var _49=function(){
                s=s.getElementsByTagName("SCRIPT")[0];
                s.language="JavaScript";
                if(s.setAttribute){
                    s.setAttribute("src",th.url);
                }else{
                    s.src=th.url;
                }
            };
        }
        JsHttpRequest.setTimeout(_49,10);
        return null;
    };
}};
JsHttpRequest.LOADERS.form={loader:function(req){
    JsHttpRequest.extend(req._errors,{form_el_not_belong:"Element \"%\" does not belong to any form!",form_el_belong_diff:"Element \"%\" belongs to a different form. All elements must belong to the same form!",form_el_inv_enctype:"Attribute \"enctype\" of the form must be \"%\" (for IE), \"%\" given."});
    this.load=function(){
        var th=this;
        if(!th.method){
            th.method="POST";
        }
        th.url+=(th.url.indexOf("?")>=0?"&":"?")+"JsHttpRequest="+th.id+"-"+"form";
        if(th.method=="GET"){
            if(th.queryText){
                th.url+=(th.url.indexOf("?")>=0?"&":"?")+th.queryText;
            }
            if(th.url.length>JsHttpRequest.MAX_URL_LEN){
                return ["url_too_long",JsHttpRequest.MAX_URL_LEN];
            }
            var p=th.url.split("?",2);
            th.url=p[0];
            th.queryText=p[1]||"";
        }
        var _4d=null;
        var _4e=false;
        if(th.queryElem.length){
            if(th.queryElem[0].e.tagName.toUpperCase()=="FORM"){
                _4d=th.queryElem[0].e;
                _4e=true;
                th.queryElem=[];
            }else{
                _4d=th.queryElem[0].e.form;
                for(var i=0;i<th.queryElem.length;i++){
                    var e=th.queryElem[i].e;
                    if(!e.form){
                        return ["form_el_not_belong",e.name];
                    }
                    if(e.form!=_4d){
                        return ["form_el_belong_diff",e.name];
                    }
                }
            }
            if(th.method=="POST"){
                var _51="multipart/form-data";
                var _52=(_4d.attributes.encType&&_4d.attributes.encType.nodeValue)||(_4d.attributes.enctype&&_4d.attributes.enctype.value)||_4d.enctype;
                if(_52!=_51){
                    return ["form_el_inv_enctype",_51,_52];
                }
            }
        }
        var d=_4d&&(_4d.ownerDocument||_4d.document)||document;
        var _54="jshr_i_"+th.id;
        var s=th.span=d.createElement("DIV");
        s.style.position="absolute";
        s.style.display="none";
        s.style.visibility="hidden";
        s.innerHTML=(_4d?"":"<form"+(th.method=="POST"?" enctype=\"multipart/form-data\" method=\"post\"":"")+"></form>")+"<iframe name=\""+_54+"\" id=\""+_54+"\" style=\"width:0px; height:0px; overflow:hidden; border:none\"></iframe>";
        if(!_4d){
            _4d=th.span.firstChild;
        }
        d.body.insertBefore(s,d.body.lastChild);
        var _56=function(e,_58){
            var sv=[];
            var _5a=e;
            if(e.mergeAttributes){
                var _5a=d.createElement("form");
                _5a.mergeAttributes(e,false);
            }
            for(var i=0;i<_58.length;i++){
                var k=_58[i][0],v=_58[i][1];
                sv[sv.length]=[k,_5a.getAttribute(k)];
                _5a.setAttribute(k,v);
            }
            if(e.mergeAttributes){
                e.mergeAttributes(_5a,false);
            }
            return sv;
        };
        var _5e=function(){
            top.JsHttpRequestGlobal=JsHttpRequest;
            var _5f=[];
            if(!_4e){
                for(var i=0,n=_4d.elements.length;i<n;i++){
                    _5f[i]=_4d.elements[i].name;
                    _4d.elements[i].name="";
                }
            }
            var qt=th.queryText.split("&");
            for(var i=qt.length-1;i>=0;i--){
                var _63=qt[i].split("=",2);
                var e=d.createElement("INPUT");
                e.type="hidden";
                e.name=unescape(_63[0]);
                e.value=_63[1]!=null?unescape(_63[1]):"";
                _4d.appendChild(e);
            }
            for(var i=0;i<th.queryElem.length;i++){
                th.queryElem[i].e.name=th.queryElem[i].name;
            }
            var sv=_56(_4d,[["action",th.url],["method",th.method],["onsubmit",null],["target",_54]]);
            _4d.submit();
            _56(_4d,sv);
            for(var i=0;i<qt.length;i++){
                _4d.lastChild.parentNode.removeChild(_4d.lastChild);
            }
            if(!_4e){
                for(var i=0,n=_4d.elements.length;i<n;i++){
                    _4d.elements[i].name=_5f[i];
                }
            }
        };
        JsHttpRequest.setTimeout(_5e,100);
        return null;
    };
}};



//need for
//backend, frontend - tabs

function callInProgress (xmlhttp) {
    switch (xmlhttp.readyState) {
        case 1: case 2: case 3: 
            return true;
            break;
            // Case 4 and 0
            default:
            return false;
            break;
    }
}

var resTimer = '';
function showResult(){
    clearTimeout(resTimer);   
    if($('resultContainer')) {
        Position.center('resultContainer');
         $('resultContainer').style.display = "block";
    }
    var func = 'hideResult()';
    resTimer = setTimeout(func, 1000);
}

function hideResult(){
    if(!$('AJAX_POPUP') || $('AJAX_POPUP').style.display == "none") {
        if($('DISABLING')) $('DISABLING').style.display = "none";
    }
    if($('resultContainer')) {
         $('resultContainer').style.display = "none";
         //$('resultContainer').innerHTML = '';
    }
    //if($('submit_xajax')){
        //$('submit_xajax').value    = submit_title;
        //$('submit_xajax').disabled = false;
    //}
}

// Register global responders that will occur on all AJAX requests
Ajax.Responders.register(
        {onCreate: function(request) {request['timeoutId'] = window.setTimeout(
            function() {
                // If we have hit the timeout and the AJAX request is active, abort it and let the user know
                if (callInProgress(request.transport)) {
                    request.transport.abort();
                    if (request.options['onFailure']) {
                        whenFailureTimeout(request.transport, request.json);
                    }
                }
            }, 60*1000
            );
        }, 
        onComplete: function(request) {
            window.clearTimeout(request['timeoutId']);
        }
    }
);

Position.center = function(element){
    var options = Object.extend({update: false}, arguments[1] || {});
    element = $(element);
    if(!element._centered){
        //Element.setStyle(element, {position: 'absolute', zIndex:options.zIndex });
        element._centered = true;
    }
    var dims = Element.getDimensions(element);
    Position.prepare();
    var winWidth = self.innerWidth || document.documentElement.clientWidth || document.body.clientWidth || 0;
    var winHeight = self.innerHeight || document.documentElement.clientHeight || document.body.clientHeight || 0;
    var offLeft = (Position.deltaX + Math.floor((winWidth-dims.width)/2));
    var offTop = (Position.deltaY + Math.floor((winHeight-dims.height)/2));
    element.style.top = ((offTop != null && offTop > 0) ? offTop : '0') + 'px';
    element.style.left = ((offLeft != null && offLeft > 0) ? offLeft :'0') + 'px';
    if(options.update){
        Event.observe(window, 'resize', function(evt){Position.center(element);}, false);
        Event.observe(window, 'scroll', function(evt){Position.center(element);}, false);
    }    
}

var submit_title = '';
function whenLoading(){
    
    /*
    if($('submit_xajax')){
        submit_title = $('submit_xajax').value;
        $('submit_xajax').value    = "Подождите...";
        $('submit_xajax').disabled = "TRUE";
    }
    */

    if($('DISABLING')) $('DISABLING').style.display = "block";
    showProgress();
}

function showProgress(){
    if($('ProgressContainer')) {
        if($('ProgressContainer').style.position == "absolute") {
            Position.center('ProgressContainer');
        }
        $('ProgressContainer').style.visibility = 'visible';
        $('ProgressContainer').style.display = 'block';
    }
}

function hideProgress(){
    if($('ProgressContainer')) {
        $('ProgressContainer').style.visibility = 'hidden';
        $('ProgressContainer').style.display = 'none';
        $('ProgressContainer').style.top = '0px';
        $('ProgressContainer').style.left = '0px';
    }
}

function whenCompletedForm(){
    hideProgress();
    clearTimeout(resTimer);
    showResult();
    if(on_complete == 1) Drop_Down_Box.close_all();
    on_complete = 0;
    if($('oncomplete_navigate')) {
        ajax_navigate('AJAX_MAIN', $('oncomplete_navigate').value);
    }
}

function fix_img_editor(){

    obj_img = $('imageArea');                
    img_width  = obj_img.getWidth();            
    img_height = obj_img.getHeight();

    obj_img_container = $('image_area_container');
                
    obj  = $('POPUP_CONTAINER');
    
    add_width = (img_width < 234) ? 234 : img_width;

    obj_w = add_width + 36 + parseInt($('previewArea').style.width);
    obj_img_container.style.width  = add_width + 20  + 'px';

    obj_h = img_height + 170;
    obj_img_container.style.height = img_height + 20  + 'px';
    
    //alert(img_width);
    
    //client_width  = document.body.clientWidth;
    //client_height = document.body.clientHeight;

    //viewport = document.viewport.getDimensions(); // Gets the viewport as an object literal
    //client_width = viewport.width; // Usable window width
    //client_height = viewport.height; // Usable window height


    client_width  = window.innerWidth || (window.document.documentElement.clientWidth || window.document.body.clientWidth);
    client_height = window.innerHeight || (window.document.documentElement.clientHeight || window.document.body.clientHeight);



    //obj.style.left  = (client_width  - obj_w) / 2 + 'px';
    //obj.style.top   = (client_height - obj_h) / 2 + 'px';



    if(client_width < obj_w || img_width > obj_w) {
        obj_w = client_width - 60;
        obj_img_container.style.width  = obj_w - parseInt($('previewArea').style.width) - 20  + 'px';
    }

                
    if(client_height < obj_h || img_height > obj_h) {
        obj_h = client_height - 30;
        hh = obj_h - 170;
        hh2 = parseInt($('previewArea').style.height);
        if(hh < hh2) {
            obj_img_container.style.height = hh2 + 20 + 'px';
        } else {
            obj_img_container.style.height = obj_h - 152 + 'px';
        }
    }
    
    obj.style.left  = (client_width  - obj_w) / 2 + 'px';
    obj.style.top   = (client_height - obj_h) / 2 + 'px';
                
    obj.style.width  = obj_w + 'px';
    obj.style.height = obj_h + 'px';

}


function whenCompletedWindow(){

    
    if($('imageArea')) {
        Event.observe('imageArea', 'load', function() { fix_img_editor();});
    }
    
    hideProgress();
    clearTimeout(resTimer);
    showResult();

}


function whenCompleted(){
    if($('DISABLING')) $('DISABLING').style.display = "none";

    if($('DISABLING_SCREEN')) {
        $('DISABLING_SCREEN').remove();
    }
    if($('POPUP_CONTAINER')) {
        $('POPUP_CONTAINER').remove();
    }    
    
    hideProgress();
    /*
    if($('submit_xajax') && submit_title != ''){
        $('submit_xajax').value    = submit_title;
        $('submit_xajax').disabled = false;
    }
    */
}

function whenCompletedFields(){
    if($('DISABLING')) $('DISABLING').style.display = "none";    
    hideProgress();
    if($('submit_xajax') && submit_title != ''){
        $('submit_xajax').value    = submit_title;
        $('submit_xajax').disabled = false;
    }
}

function whenFailureTimeout(response, json){
    $('ProgressContainer').style.visibility = 'hidden';
    $('ProgressContainer').style.display = 'none';
    alert('Timeout: Сервер не отвечает. Процесс остановлен. Попробуйте еще раз.');
    if($('DISABLING')) $('DISABLING').style.display = "none";
}

function whenFailure(response, json){
    $('ProgressContainer').style.visibility = 'hidden';
    $('ProgressContainer').style.display = 'none';
    alert('Unknown Error: Сервер не отвечает. Попробуйте еще раз.');
    if($('DISABLING')) $('DISABLING').style.display = "none";
}

function ajax_navigate(obj, url) {

    new Ajax.Updater({success:obj}, url
            , {onLoading:whenLoading
            , onComplete:whenCompleted
            , onFailure: whenFailure
            , method:'get'
            , evalScripts:true
            }
        );
}

function ajax_navigate_fit_window(obj, url) {

    new Ajax.Updater({success:obj}, url
            , {onLoading:whenLoading
            , onComplete:whenCompletedFitWindow
            , onFailure: whenFailure
            , method:'get'
            , evalScripts:true
            }
        );
}


function ajax_post_window(form_obj, obj, url){
    
    
    //alert($(form_obj).on_complite);
    
    if(form_data = get_form_data(form_obj) ){
        if($('reloadContainer')) {
            var container = 'reloadContainer';
        } else {
            var container = obj;
        }   
        new Ajax.Updater({success:container}, url
                , {onLoading:whenLoading
                , onComplete:whenCompletedWindow
                , onFailure: whenFailure
                , method:'post'
                , parameters:form_data
                , evalScripts:true
                }
                );
    }
}




function ajax_operate_single(url, element, post)
{
   if (!confirm('Выполнить действие?')) return;
   
   group_obj = 'AJAX_MAIN';
   group_url = url;
   
   
   var params_ar = {};
   params_ar['action'] = post;
   params_ar['ID']     = element;
   new Ajax.Updater({success:'AJAX_MAIN'}, url, {
          onLoading:whenLoading
        , onComplete:whenCompletedGroup
//        , onComplete:whenCompleted
        , method:'post'
        , parameters:params_ar
        , evalScripts:true
    });
}

var on_complete = 0;

function ajax_post2(form_obj, obj, url, on_comp){
    on_complete = on_comp;
    ajax_post(form_obj, obj, url);
}


function ajax_post(form_obj, obj, url){
    
    
    //alert($(form_obj).on_complite);
    
    if(form_data = get_form_data(form_obj) ){
        if($('reloadContainer')) {
            var container = 'reloadContainer';
        } else {
            var container = obj;
        }   
        new Ajax.Updater({success:container}, url
                , {onLoading:whenLoading
                , onComplete:whenCompletedForm
                , onFailure: whenFailure
                , method:'post'
                , parameters:form_data
                , evalScripts:true
                }
                );
    }
}

function ajax_submit(obj, form, url) {
    ajax_post(form, obj, url);
}

function ajax_post_authbox(obj, form_obj, url) {

    if(form_data = get_form_data(form_obj) ){
    
        if($('loginBox')) {
            x_popup('loginBox');
            obj = obj + 'asd'; //dont show
            form_data['store']  = 1;
            new Ajax.Updater({success:obj}, url
                    , {onFailure: whenFailure
                    , method:'post'
                    , parameters:form_data
                    , evalScripts:true
                    }
                );
        
        } else {
            
            new Ajax.Updater({success:obj}, url
                    , {onLoading:whenLoading
                    , onComplete:whenCompletedForm
                    , onFailure: whenFailure
                    , method:'post'
                    , parameters:form_data
                    , evalScripts:true
                    }
                );
        }
    }
}

function ajax_message(form, obj, url) {
    ajax_post(form, obj, url);
    $('message').value = '';
}

function x_submit_form(obj, forms_data, url)
{
    var container = $(obj);
    var req = new JsHttpRequest();
    req.onreadystatechange = function()
    {
        if (req.readyState == 0)
            return;
        if (req.readyState == 4) {
            container.innerHTML = req.responseText;
            whenCompleted();

            if($(obj + '_editor')) {
                if($(obj + '_editor').value == 1) {
                    dialog_ajaxed('window_ajaxed', $(obj + '_editor_url').value);
                } else if($(obj + '_editor').value == 2) {
                    dialog_ajaxed('window_ajaxed', $(obj + '_editor_url').value);
                }
            }


        } else {
            whenLoading();
        }
    }
    req.open(null, url, true);
    req.send(forms_data);
}


var check_fields_ = {};
function get_form_data(form_obj){
    var forms_data = {};
    var forms = document.getElementsByTagName("form");
    var error = 0;
    var error_text = 'Обязательные поля не заполнены.' + "\n\n";
    for(name in check_fields_) {
        error = 1;
        for(name2 in check_fields_[name]) {
            if($(check_fields_[name][name2])) {
                if($(check_fields_[name][name2]).checked == true) {
                    error = 0;
                    //alert('Name: '+name2+' is number ' + check_fields_[name][name2]);            
                }
            }
        }
        if(error == 1) {
            error_text = error_text + " - " + check_fields_[name]['title'] + "\n";
        }
    }
    if(error == 1) {
        alert(error_text);
        return false;
    } else {
        for (var m=0; m < forms.length; m++){
            if( forms[m].name == form_obj || forms[m].id == form_obj ) {
                forms_data = get_form_data_single(forms[m], forms_data);
            }
        }
    }
    return forms_data;
}

function get_form_data_single(form_object, forms_data){
    var form = form_object;
    var radio_switch_FCK  = (form.type && form.type[1] && form.type[1].checked);
    var hidden_switch_FCK = form.show_FCK;
    var is_FCK = radio_switch_FCK || hidden_switch_FCK;
    if (form.is_CK && radio_switch_FCK) {
        form.description.value = ckeditor__.getData();
    } else if (form.is_CK_Front) {
        form.description.value = ckeditor__.getData();
    } else if(is_FCK) {
        var oEditor = FCKeditorAPI.GetInstance('FCK');
        form.description.value = oEditor.GetXHTML(true);
    } else {
        if(document.getElementById('FCKON')){
            var Item = $($('FCKON').value);
            var oEditor = FCKeditorAPI.GetInstance('FCK');
            Item.value = oEditor.GetXHTML(true);
        }
    }
    
    var items = form.elements;
    for (var i=0; i<items.length; i++){
        if(items[i].name) {
            if($(items[i].name + '_required')) {
                if($(items[i].name + '_required').value == "email") {
                    mailRE = new RegExp( );
                    mailRE.compile( '^[._a-z0-9-]+@[.a-z0-9-]+[.]{1}[a-z]{2,4}$', 'gi' );
                    if(!(mailRE.test( items[i].value ))){
                        items[i].select();
                        return false;
                    }
                }
            }           
            
            if(items[i].type == 'radio' || items[i].type == 'checkbox') {
                if(items[i].checked) {
                    forms_data[items[i].name] = items[i].value;
                }
            } else if(items[i].type == 'select-multiple') {
                if(items[i].options) {
                    for (var k=0; k < items[i].options.length; k++){
                        if(items[i].options[k].selected || $(items[i].id + "_source")) {
                            var idx_ = items[i].name + "[" + items[i].options[k].value + "]";
                            var val_ = items[i].options[k].value;
                            forms_data[idx_] = val_;
                        }
                    }
                }
            } else if(items[i].type == 'select-one') {
                if(items[i].options) {
                    for (var k=0; k < items[i].options.length; k++){
                        if(items[i].options[k].selected) {
                            forms_data[items[i].name] = items[i].options[k].value;
                        }
                    }
                }
            } else if(items[i].type == 'textarea') {
                forms_data[items[i].name] = items[i].value;
            } else if(items[i].type == 'file') {
                forms_data[items[i].name] = items[i];
            } else {
                if($(items[i].id + '_file')){
                    forms_data[items[i].name] = $(items[i].id + '_file').value;
                } else {
                    forms_data[items[i].name] = items[i].value;
                }
            }
        }
    }
    return forms_data;
}


function x_popup(obj) {    
    if($(obj).style.display == 'block') {
        $(obj).style.display = 'none';
    } else {
        if($('DISABLING_SCREEN') && ($(obj).style.position == "absolute" || $(obj).style.position == "fixed")) {
            disabling_width    = (document.body.offsetWidth > screen.width) ? document.body.offsetWidth : screen.width;
            disabling_height   = (document.body.offsetHeight > screen.height) ? document.body.offsetHeight : screen.height;
            $('DISABLING_SCREEN').style.width    = disabling_width + 'px';
            $('DISABLING_SCREEN').style.height   = disabling_height + 'px';
            $('DISABLING_SCREEN').style.top      = '0px';
            $('DISABLING_SCREEN').style.display  = 'block';
            $(obj).style.display = 'block';
            obj_w = $(obj).getWidth();
            obj_h = $(obj).getHeight();
            $(obj).style.left  = (screen.width  - obj_w) / 2 + 'px';
            if($(obj).style.position == "absolute") {
                disabling_height   = (document.body.offsetHeight > screen.height) ? document.body.offsetHeight : (screen.height - 180);
                $(obj).style.top   = (disabling_height - obj_h) / 2 + 'px';
            } else if($(obj).style.position == "fixed"){
                $(obj).style.top   = (screen.height - 160 - obj_h) / 2 + 'px';
            }
        }
    }
}

function x_popup_hide ( obj ) {
    if($(obj)) {
        $(obj).style.display = 'none';
        if($('DISABLING_SCREEN')) {
            $('DISABLING_SCREEN').style.display  = 'none';
        }
    }
}



function ajax_select(obj, url) {
    if($(obj).innerHTML == '') {
        new Ajax.Updater({success:obj}, url
                , {onLoading:whenLoading
                , onComplete:function(transport) {whenCompletedFields(); showList(obj, obj + '_button', 'none', 'bottom');}
                , onFailure: whenFailure
                , method:'get'
                , evalScripts:true
                }
                );
    } else {
        showList(obj, obj + '_button', 'none', 'bottom');
    }
}

var auto_select_timer = '';

function ajax_select_search(obj, url, fld) {
    
    var obj = obj;
    var url = url;
    var fld = fld;

    clearTimeout(auto_select_timer);

    auto_select_timer = setTimeout( function(){
        ajax_select_search_progress(obj, url, fld, $(fld).value);
        }
        , 500 );     
}

function ajax_select_search_progress(obj, url, fld, txt) {
    var str = $(fld).value;    
    var obj = obj;

//    if($(fld).value == txt && str.length > 0) {
    if($(fld).value == txt) {
        url = url + '&keywords=' + str;
        new Ajax.Updater({success:obj}, url
                , {onLoading:function(transport) {whenLoading();}
                , onComplete:function(transport) {
                    whenCompletedFields(); 
                    if($(obj).style.display != 'block') {
                        showList(obj, obj + '_button', 'none', 'bottom');
                    }
                }
                , onFailure: whenFailure
                , method:'get'
                , evalScripts:true
            }
        );
    }
}


function ajax_billing_products(obj, url) {
    new Ajax.Updater({success:obj}, url
            , {onLoading:whenLoading
            , onComplete:function(transport) {whenCompleted(); ajax_navigate('user_container', 'xajax.php?mode=user_panel');}
            , onFailure: whenFailure
            , method:'get'
            , evalScripts:true
            }
            );
 

}


function ajax_calculator(form_obj, obj, url){

    if(form_data = get_form_data(form_obj) ){
        var container = obj;
        new Ajax.Updater({success:container}, url
                , {onLoading:whenLoading
                , onComplete:whenCompletedForm
                , onFailure: whenFailure
                , method:'post'
                , parameters:form_data
                , evalScripts:true
                }
                );
    }
}




/*
function x_message(form_obj, obj, url) {
    var forms_data = {};
    forms_data = get_form_data_single($(form_obj), forms_data);    
    x_submit_form(obj, forms_data, url);    
    $('message').value = '';
}
*/

function x_message(form_obj, obj, url) {
    var form_data = get_form_data(form_obj);
    var container = $(obj);
    var req = new JsHttpRequest();
    req.onreadystatechange = function()
    {
        if (req.readyState == 0)
            return;
        if (req.readyState == 4) {
            container.innerHTML = req.responseText;
            whenCompleted();
            $('message').value = '';
            if($(form_obj).file) $(form_obj).file.value = '';
        } else {
            whenLoading();
        }
    }
    if($(form_obj).file) {
        form_data['file'] = $(form_obj).file;
    }
    req.open(null, url, true);
    req.send(form_data);
}

function x_item_form(obj) {
    var form_data = get_form_data(obj + '_form');
    var container = $(obj);
    var url       = 'xajax.php?mode=item_form';
    var req = new JsHttpRequest();
    var redirect_url = '';
    req.onreadystatechange = function()
    {
        if (req.readyState == 0)
            return;
        /*
        if($('ProgressContainer')) {
            $('ProgressContainer').style.visibility = 'hidden';
        }
        */
        whenCompleted();

        if (req.readyState == 4) {
            container.innerHTML = req.responseText;
            if($('redirect_url')) {
                redirect_url = $('redirect_url').value;
                setTimeout( 'location="' + redirect_url + '";', 5000 );
            }
                

        } else {
            /*
            if($('ProgressContainer')) {
                $('ProgressContainer').style.visibility = 'visible';
            }
            */
            whenLoading();
        }
    }
    if($(obj + '_form').file) {
        form_data['file'] = $(obj + '_form').file;
    }
    form_data['container'] = obj;
    req.open(null, url, true);
    req.send(form_data);
}



function ajax_ratings(){
    ajax_post('rating', 'ratings_body', 'xajax.php?mode=rating');
}

function ajax_polls(obj, sr){
    ajax_post('poll', 'polls_body', 'xajax.php?mode=poll');
}

function showPhotoLarge( obj ) {
    ajax_navigate('AJAX_PHOTO_LARGE', '/xajax.php?mode=photo&photo=' + obj);
}

function x_post(obj)
{
    x_submit_form(obj + "_container", get_form_data(obj + "_form"), 'xajax.php');
}

function x_field2field(obj, get){

    new Ajax.Updater({success:obj + "_container"}, 'xajax.php' + get + '&mode=field2field&field=' + obj
            , {onLoading:showProgress
            , onComplete:hideProgress
            , onFailure: whenFailure
            , method:'get'
            , evalScripts:true
            }
        );    
    
}

function  x_select_change(select_id, option_value){
    if($(select_id).options) {
        for (var k=0; k < $(select_id).options.length; k++){
            if($(select_id).options[k].value == option_value) {
                $(select_id).options[k].selected = true;
            }
        }
    }
}

function x_form_users2content(user_id, mod, xml){
    var get = 'xajax.php?mode=users2content&user_id=' + user_id + '&mod=' + mod + '&xml=' + xml;
    ajax_navigate("users2content", get);
}

function x_grab(obj_id, item_id, xml_path) {
    x_submit_form(obj_id, { 'id':item_id, 'path':xml_path, 'driver':'Grab', 'action':'grab' }, 'xajax.php');
}

function x_upload2(obj)
{
    var forms_data = {};
    forms_data = get_form_data_single($(obj + "_form"), forms_data);
    x_submit_form(obj + "_container", forms_data, 'xajax.php');
}

function checkSelectLimit(select_obj, limit, container){
    var c = 0; var do_alert = false; var it = $A(select_obj.options);
    it.each(function(s, i) { if(s.selected) { c++; if (c > limit) { s.selected = false; do_alert = true; } } } );
    if(c > limit) $(container).innerHTML = limit;
    else $(container).innerHTML = c;
}


function select2select(from, to) {
    var from = $(from);
    var to   = $(to);       
    from_len = from.options.length;
    to_len = to.options.length;
    num_s = from.options.selectedIndex;
    var op_num = 1;
    for(var i = 0; i < to_len; i++) {
        if(to.options[i].value == from.options[num_s].value) {
            op_num = 2;
            break;
        }
    }
    if(op_num == 1){
        to.options[to_len] = new Option(from.options[num_s].text, from.options[num_s].value);
    }
}

function select2remove(from) {
    var from = $(from);
    num_s = from.options.selectedIndex;
    from.removeChild(from.options[num_s]);
}


function moveOptionsUp(selectId) {
    var selectList = document.getElementById(selectId);
    var selectOptions = selectList.getElementsByTagName('option');
    for (var i = 1; i < selectOptions.length; i++) {
        var opt = selectOptions[i];
        if (opt.selected) {
            selectList.removeChild(opt);
            selectList.insertBefore(opt, selectOptions[i - 1]);
        }
    }
}

function moveOptionsDown(selectId) {
    var selectList = document.getElementById(selectId);
    var selectOptions = selectList.getElementsByTagName('option');
    for (var i = selectOptions.length - 2; i >= 0; i--) {
        var opt = selectOptions[i];
        if (opt.selected) {
            var nextOpt = selectOptions[i + 1];
            opt = selectList.removeChild(opt);
            nextOpt = selectList.replaceChild(opt, nextOpt);
            selectList.insertBefore(nextOpt, opt);
        }
    }
}



function popupImage(imageURL,imageTitle){
    PositionX = 250;
    PositionY = 250;
    defaultWidth  = 350;
    defaultHeight = 50;
    var AutoClose = false;
    if (parseInt(navigator.appVersion.charAt(0))>=4){
        var isNN=(navigator.appName=="Netscape")?1:0;
        var isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;
    }
    var optNN='scrollbars=no,width='+defaultWidth+',height='+defaultHeight+',left='+PositionX+',top='+PositionY;
    var optIE='scrollbars=no,width=150,height=100,left='+PositionX+',top='+PositionY;
    if (isNN){imgWin=window.open('about:blank','',optNN);}
    if (isIE){imgWin=window.open('about:blank','',optIE);}
    with (imgWin.document){
        writeln('<html><head><title>Loading...</title><style>body{margin:0px;}</style>');writeln('<sc'+'ript>');
        writeln('var isNN,isIE;');writeln('if (parseInt(navigator.appVersion.charAt(0))>=4){');
        writeln('isNN=(navigator.appName=="Netscape")?1:0;');writeln('isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;}');
        writeln('function reSizeToImage(){');writeln('if (isIE){');writeln('window.resizeTo(300,300);');
        writeln('width=300-(document.body.clientWidth-document.images[0].width);');
        writeln('height=300-(document.body.clientHeight-document.images[0].height);');
        writeln('window.resizeTo(width,height);}');writeln('if (isNN){');       
        writeln('window.innerWidth=document.images["George"].width;');writeln('window.innerHeight=document.images["George"].height;}}');
        writeln('function doTitle(){document.title="'+imageTitle+'";}');writeln('</sc'+'ript>');
        if (!AutoClose) writeln('</head><body bgcolor=000000 scroll="no" onload="reSizeToImage();doTitle();self.focus()">')
        else writeln('</head><body bgcolor=000000 scroll="no" onload="reSizeToImage();doTitle();self.focus()" onblur="self.close()">');
        writeln('<img name="George" src='+imageURL+' style="display:block"></body></html>');
        close();	
    }
}

function openNewWindow( sWindowName, iWidth, iHeight ){
  	var iRealWidth = iWidth ? iWidth : 600
  	var iRealHeight = iHeight ? iHeight : screen.height - 300
  	var iLeft = Math.round( (screen.width-iRealWidth)/2 )
  	var iTop =  Math.round( (screen.height-iRealHeight)/2 ) - 35
  	var sWindowOptions = 'status=no,menubar=no,toolbar=no'
  	sWindowOptions += ',resizable=no,scrollbars=no,location=no'
  	sWindowOptions += ',width='  + iRealWidth
  	sWindowOptions += ',height=' + iRealHeight
  	sWindowOptions += ',left='   + iLeft
  	sWindowOptions += ',top='    + iTop
  	var win = window.open( '', sWindowName, sWindowOptions )
  	win.focus()
  	return win
}


function ismaxlength(obj){
    var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : "";
    if (obj.getAttribute && obj.value.length>mlength) obj.value=obj.value.substring(0,mlength);
}


function ckeditor_front()
{
    var d = $('editor_textarea'); 
    //var config = {'height': '305'};

    var config = {
        height: '305',
        toolbar:
		    [
                [ 'Source','-','Cut','Copy','Paste','PasteText','PasteFromWord','-','Undo','Redo' ]
                , '/'
                , [ 'Bold','Italic','Underline','Strike','Subscript','Superscript'
                    ,'-', 'NumberedList','BulletedList'
                    ,'-', 'Outdent','Indent'
                    ,'-', 'Link','Unlink','Anchor','Image','Flash'
                    ,'-', 'PageBreak', 'RemoveFormat' ]
            ]
	};

    if (ckeditor__) {
        ckeditor__.destroy();
        ckeditor__ = null;
    }
    ckeditor__ = CKEDITOR.appendTo('editor_html', config, d.value);

}



function ckeditor_mode()
{	
    var d = $('editor_textarea'); 
    var e = $('editor_html'); 
    var p = $('editor_plain'); 
    if ($('editor_type_html').checked) {
        p.style.display = "none";
        e.style.display = "block";
        if (ckeditor__) {
	        ckeditor__.destroy();
	        ckeditor__ = null;
        }

        // var writer = ckeditor__.dataProcessor.write;

        // // The character sequence to use for every indentation step.
        // writer.indentationChars = '\t';

        // // The way to close self closing tags, like <br />.
        // writer.selfClosingEnd = ' />';

        // // The character sequence to be used for line breaks.
        // writer.lineBreakChars = '\n';

        // // Set writing rules for the <p> tag.
        // writer.setRules( 'p',
        //                  {
        //                      // Indicates that this tag causes indentation on line breaks inside of it.
        //                      indent : true,

        //                      // Insert a line break before the <p> tag.
        //                      breakBeforeOpen : true,

        //                      // Insert a line break after the <p> tag.
        //                      breakAfterOpen : true,

        //                      // Insert a line break before the </p> closing tag.
        //                      breakBeforeClose : false,

        //                      // Insert a line break after the </p> closing tag.
        //                      breakAfterClose : true
        //                  });
        
        ckeditor__ = CKEDITOR.appendTo('editor_html', {"height": "305"}, d.value);
    } else {
        e.style.display = "none";
        p.style.display = "block";
        if (!ckeditor__) return;
        d.value = ckeditor__.getData();
	    ckeditor__.destroy();
	    ckeditor__ = null;
    }
}



function ajax_listing_search(obj, url){
    var keywords = "";
    if($('search_button')){
        $('search_button').disabled = true;
    }
    if($('keywords')){
        if($('keywords').value != '') {
            var keywords = "&keywords="+escape($('keywords').value);
            if($('search_for')){
                keywords += "&search_for="+escape($('search_for').value);
            }
        }
    }
    if( $('form_listing_search') ) {
        var items = $('form_listing_search').elements;
        if(items.length) {
            for (var i=0; i < items.length; i++){
                if(items[i].options && items[i].options.length > 0) {
                    for (var k=0; k<items[i].options.length; k++){
                        if(items[i].options[k].selected && items[i].options[k].value > 0 && items[i].options[k].value != 'undefined') {
                            keywords += "&" + items[i].name + "[" + items[i].options[k].value +"]" +"="+items[i].options[k].value;
                        }
                    }
                }
            }
        }
    }
    if( $('form_listing_search_content') ) {
        var items = $('form_listing_search_content').elements;
        if(items.length) {
            for (var i=0; i < items.length; i++){
                if(items[i].options && items[i].options.length > 0) {
                    for (var k=0; k<items[i].options.length; k++){
                        if(items[i].options[k].selected && items[i].options[k].value > 0 && items[i].options[k].value != 'undefined') {
                            keywords += "&" + items[i].name + "[" + items[i].options[k].value +"]" +"="+items[i].options[k].value;
                        }
                    }
                }
            }
        }
    }
    new Ajax.Updater({success:obj}, url+keywords, {
          onLoading:whenLoading
        , onComplete:whenCompleted
        , method:'get'
        , evalScripts:true
    });
}

function ajax_send(button, container, url)
{
    if (!confirm('Выполнить?')) return;
    if(button) button.disabled = true;
    $(container).update('Обрабатывается');
    new Ajax.Updater({success:container}, url, {
          onLoading:whenLoading
        , onComplete:whenCompleted
        , method:'get'
        , evalScripts:false
    });
}

//check All in grid
function checkAll()
{
   var items = $('grid_form').elements;
   if($('checkAll__').checked == true) {
        for (var i=0; i<items.length; i++) {
            if(items[i].value == '1') {
                if($('tr' + items[i].id)) {
                    items[i].checked = true;
                    checkTR(items[i], 'tr' + items[i].id, $('tr' + items[i].id).className);
                }
            }
        }
   } else {
        for (var i=0; i<items.length; i++) {
            if(items[i].value == '1') {
                if($('tr' + items[i].id)) {
                    items[i].checked = false;
                    var restore_classname = $('tr' + items[i].id).className.replace(/CHECKED/g, '');
                    checkTR(items[i], 'tr' + items[i].id, restore_classname);
                }
            }
        }
   }
}

function checkTR(but_obj, tr, classname) {
    if($(tr)) {
        if(but_obj.checked == true) {
            $(tr).className  = classname + "CHECKED";
        } else {
            $(tr).className  = classname;
        }
    }
}

group_url = '';
group_obj = '';

function ajax_group_operations(obj, url, action)
{
   var form  = $('grid_form');
   var items = form.elements;
   group_obj = obj;
   group_url = url;
   empty = true;
   var params_ar = {};
   for (var i=0; i<items.length; i++) {
       if(items[i].type == 'checkbox') {
           if(items[i].checked == true) {
               params_ar[items[i].name] = items[i].value;
               empty = false;
           }
       } else if(items[i].type == 'text') {
           params_ar[items[i].name] = items[i].value;
           empty = false;
       } else if(items[i].type == 'radio') {
           if(items[i].checked == true) {
               params_ar[items[i].name] = items[i].value;
               empty = false;
           }
       }
   }

   if(empty) {
      alert('Не выделено ни одного элемена списка.');
      return ;
   }
   
   if (!confirm('Выполнить действие?')) return;
   params_ar['action'] = action;

   if(form.folders_id) {
       params_ar['folders_id'] = form.folders_id.value;
   }

   if($('copy_content_id')) {
       params_ar['content_id'] = $('copy_content_id').value;
   }


   if(form.soap_id) {
       params_ar['soap_id'] = form.soap_id.value;
   }
   if($('resultContainer')) {
       var obj = 'resultContainer';
       new Ajax.Updater({success:obj}, url, {
                  onLoading:whenLoading
                , onComplete:whenCompletedGroup
                , method:'post'
                , parameters:params_ar
                , evalScripts:true
                }
        );
   } else {
       new Ajax.Updater({success:obj}, url, {
                  onLoading:whenLoading
                , onComplete:whenCompleted
                , method:'post'
                , parameters:params_ar
                , evalScripts:true
                }
        );
   }  
}
function ajax_listing_fields(obj, url, action){
    group_obj = obj;
    group_url = url;
    var params_ar = {};
    params_ar = get_form_data('listing_form');
    params_ar['action'] = action;
    if($('resultContainer')) {
        var obj = 'resultContainer';
        new Ajax.Updater({success:obj}, url, {
                  onLoading:whenLoading
                , onComplete:whenCompletedGroup
                , method:'post'
                , parameters:params_ar
                , evalScripts:true
                }
                );
    
        } else {
            new Ajax.Updater({success:obj}, url, {
                  onLoading:whenLoading
                , onComplete:whenCompleted
                , method:'post'
                , parameters:params_ar
                , evalScripts:true
                }
        );
   }  
}

function whenCompletedGroup(request, json){
    new Ajax.Updater({success:group_obj}, group_url
            , {onLoading:whenLoading
            , onComplete:whenCompletedResult
            , onFailure: whenFailure
            , method:'get'
            , evalScripts:true
            }
        );
}

function whenCompletedResult(request, json){
    $('ProgressContainer').style.top = '0px';
    $('ProgressContainer').style.left = '0px';
    $('ProgressContainer').style.visibility = 'hidden';
    clearTimeout(resTimer);
    showResult();
}

function ajax_preview(obj, url_preview, url, tr, classname) {
    if($(obj).style.display == 'none') {
        ajax_navigate('AJAX_MAIN', url);
    } else {
        $(tr).className  = classname;
        ajax_navigate(obj, url_preview);
    }
}


function AddTag(tag)
{
    var t1 = '[' + tag + ']', t2 = '[/' + tag + ']';
    if (document.selection)
    {
        $('message').focus();
        var txt = $('message').value;
        var str = document.selection.createRange();
        if (str.text == '') str.text = t1 + t2;
        else if (txt.indexOf(str.text) >= 0) str.text = t1 + str.text + t2;
        else $('message').value = txt + t1 + t2;
        str.select();
    } else if( (typeof document.getElementById('message').selectionStart) != 'undefined' ){
        var element = $('message');
        var sel_start = element.selectionStart;
        var sel_end = element.selectionEnd;
        InsertEditText(element, t1, sel_start);
        InsertEditText(element, t2, sel_end+t1.length);
        element.selectionStart = sel_start;
        element.selectionEnd = sel_end+t1.length+t2.length;
        element.focus();
    } else $('message').value = $('message').value + t1 + t2;

}

function addTag(context,tag)
{
    var f = document.forms[context];
    if (f) {
        var m = f.message;
    } else {
        var m = document.getElementById(context);
    }

    if (!m) return;

    if (document.selection) {
        m.focus();
        sel = document.selection.createRange();
        sel.text = '['+tag+']'+sel.text+'[/'+tag+']';
    } else if (m.selectionStart || m.selectionStart=="0") {
        var s = m.selectionStart;
        var e = m.selectionEnd;
        m.value = m.value.substring(0,s)+'['+tag+']'+m.value.substring(s, e)+'[/'+tag+']'+m.value.substring(e,m.value.length);
    } else {
        m.value += '['+tag+'][/'+tag+']';
    }
    m.focus();
}

function InsertEditText(element, text, pos)
{
  element.value = element.value.slice(0, pos) + text + element.value.slice(pos);
}






function AddSmile(tag)
{

    if (document.selection)
    {
        $('message').focus();
        var txt = $('message').value;
        var str = document.selection.createRange();
        if (str.text == '') str.text = tag;
        else $('message').value = txt + tag;
        str.select();
    } else if( (typeof document.getElementById('message').selectionStart) != 'undefined' ){
        var element = $('message');
        var sel_start = element.selectionStart;
        var sel_end = element.selectionEnd;
        InsertEditText(element, tag, sel_start);
        element.selectionStart = sel_start;
        element.selectionEnd   = sel_end + tag.length;
        element.focus();
    } else $('message').value = $('message').value + tag;    
    
}

function data2message(tag, data, param)
{
    var login = '';
    if(tag == 'b') login = '[b]' + data + '[/b], ';
    if(tag == 'quote') login = '[quote=' + param + ']' + data + '[/quote]'; 
    if (document.selection) 
    {
        $('message').focus();
        var txt = $('message').value;
        var str = document.selection.createRange();
        if (str.text == '') str.text = login;
        else if (txt.indexOf(str.text) >= 0) str.text = login;
        else $('message').value = txt + login;
        str.select();
    } else $('message').value = $('message').value + login;
}



function ajax_edit2(obj, id, url){
    var params_ar = {};    
    if($('textarea'+id)){
        var desc  = $('textarea'+id);
        params_ar['description'] =  desc.value;
    }
    if($('title'+id)){
        var tit  = $('title'+id);
        params_ar['title'] =  tit.value;
    }
    if($('select'+id)){
        var desc  = $('select'+id);
        params_ar['grade'] =  desc.value;
    }
    new Ajax.Updater({success:obj}, url, {
          onLoading:whenLoading
        , onComplete:whenCompleted
        , method:'post'
        , parameters:params_ar
        , evalScripts:false
    });
}



function ajax_edit(obj, id, mode){

    var params_ar = {};    
    if($('textarea'+id)){
        var desc  = $('textarea'+id);
        params_ar['description'] =  desc.value;
    }
    if($('title'+id)){
        var tit  = $('title'+id);
        params_ar['title'] =  tit.value;
    }
    if($('select'+id)){
        var desc  = $('select'+id);
        params_ar['grade'] =  desc.value;
    }
    var url = '/xajax.php?mode=' + mode + '&id=' + id;

    new Ajax.Updater({success:obj}, url, {
          onLoading:whenLoading
        , onComplete:whenCompleted
        , method:'post'
        , parameters:params_ar
        , evalScripts:false
    });
}


function ajax_edit_start(id, url){
    if( $('textarea' + id).value == '' && $('select' + id).value == 0) {
        ajax_navigate('AJAX_COMMENTS', url);
    } else {
        ajax_edit('post' + id,id, 'feedback_post');
    }
}


function comments_answer(form_container, target_container, id){
    
    if($(form_container)) {
        var container = $(form_container).up();
        if(container.id == 'answer0' && target_container == 'answer0') {


        } else {
            
            if(container.id == 'answer' + id) {
                target_container = 'answer0';
            } else {
                target_container = 'answer' + id;
            }
            $(target_container).update(container.innerHTML);
            container.update('');
            if($('comments_parent_id')) {
                $('comments_parent_id').value = id;
            }
        
        }
    }

}


function upload_file(file, id)
{ 
    var request    = new JsHttpRequest();
    request.onreadystatechange = function()
    {
        if (request.readyState == 0) return;
        if (request.readyState == 4) {
            //$(file.value).innerHTML = "asd";
        }
    }

    request.open(null, 'xajax.php', false);
    request.send( { 'file':file, 'id':id } );
}

function x_upload_multiple(form, obj)
{
    var form       = $(form);
    
    if($(obj)) var container  = $(obj);
    else var container  = $("container_photos");

    var items      = form.elements;    
    var post_data  = {};
    var conf_data  = {};
    var files_data = new Array();
    var error      = 0;

    for (var i=0; i<items.length; i++){
        if(items[i].name) {
            if(items[i].type == 'file') {                
                if(items[i].value) {
                    post_data[items[i].name]  = items[i];
                    //files_data[i] = items[i];
                    error = 0;
                }
            } else {
                if(items[i].type == 'checkbox') {
                    if(items[i].checked) post_data[items[i].name] = items[i].value;
                } else {
                    post_data[items[i].name] = items[i].value;
                    conf_data[items[i].name] = items[i].value;
                }
            }
        }
    }

    if(files_data.length > 0) {
                        
        for (var i = 0; i < files_data.length; i++){
            if(files_data[i]) {
                upload_file(files_data[i], conf_data['id']);            
            }
        }
    
        
        var request    = new JsHttpRequest();
        request.onreadystatechange = function()
        {
            if (request.readyState == 0) return;
            if (request.readyState == 4) container.innerHTML=request.responseText;
        }
        request.open(null, 'xajax.php', true);
        request.send(conf_data);

    } else {
        
        var request    = new JsHttpRequest();
        
        if(error == 1) {
            alert('Нет файлов для загрузки');
            return false;
        } else {
            request.onreadystatechange = function()
            {
                if (request.readyState == 0) return;
                
                if($('DISABLING')) $('DISABLING').style.display = "none";
                if($('ProgressContainer')) $('ProgressContainer').style.visibility = 'hidden';

                if (request.readyState == 4) {
                    container.innerHTML=request.responseText;
                } else {
                    if($('DISABLING')) $('DISABLING').style.display = "block";
                    if($('ProgressContainer')) $('ProgressContainer').style.visibility = 'visible';
                }
            }
            request.open(null, 'xajax.php', true);
            request.send(post_data);

            //$('files_list').innerHTML = '';

        }
    }
}


function MultiSelector( list_target, max ){
	// Where to write the list
    this.list_target = $(list_target);
	// How many elements?
	this.count = 0;
	// How many elements?
	this.id = 0;
	// Is there a maximum?
	if( max ){
		this.max = max;
	} else {
		this.max = -1;
	};
	
	/**
	 * Add a new file input element
	 */
	this.addElement = function( element ){

		// Make sure it's a file input element
		if( element.tagName == 'INPUT' && element.type == 'file' ){

			// Element name -- what number am I?
			element.name = 'file_' + this.id++;
			//element.name = 'file[' + this.id++ + ']';

			// Add reference to this object
			element.multi_selector = this;

			// What to do when a file is selected
			element.onchange = function(){

				// New file input
				var new_element = document.createElement( 'input' );
				new_element.type = 'file';

				// Add new element
				this.parentNode.insertBefore( new_element, this );

				// Apply 'update' to element
				this.multi_selector.addElement( new_element );

				// Update list
				this.multi_selector.addListRow( this );

				// Hide this: we can't use display:none because Safari doesn't like it
				this.style.position = 'absolute';
				this.style.left = '-1000px';

			};
			// If we've reached maximum number, disable input element
			if( this.max != -1 && this.count >= this.max ){
				element.disabled = true;
			};

			// File element counter
			this.count++;
			// Most recent element
			this.current_element = element;
			
		} else {
			// This can only be applied to file input elements!
			alert( 'Error: not a file input element' );
		};

	};

	/**
	 * Add a new row to the list of files
	 */
	this.addListRow = function( element ){

        // Delete button
		//var new_row_button   = document.createElement( 'input' );
		//new_row_button.type  = 'button';
		//new_row_button.value = 'Delete';

		// Row div
		var new_row = document.createElement( 'div' );

        //var html = '<div><table width="100%" cellpadding="3" cellspacing="0"><tr><td>' + element.value + '</td></tr></table></div>';
        //new Insertion.Bottom('files_list', html);

		// References
		new_row.element = element;
		// Delete function
		
        new_row.onclick= function(){
			// Remove element from form
            this.element.remove();
			// Remove this row from the list
            this.remove();
			// Decrement counter
			this.element.multi_selector.count--;
			// Re-enable input element (if it's disabled)
			this.element.multi_selector.current_element.disabled = false;

			// Appease Safari
			//    without it Safari wants to reload the browser window
			//    which nixes your already queued uploads
			return false;
		};

		// Set row value
		new_row.innerHTML = element.value + " - Нажмите чтобы удалить";
		new_row.id        = element.value;

		// Add button
		//new_row.appendChild( new_row_button );

		// Add it to the list

        this.list_target.appendChild( new_row );
        //this.list_target.appendChild( new_row );
		
	};

};


function tabs_header(parent, obj, prefix){
    var tab    = $(obj    + "_tab");
    var zero   = $(parent + "Zero");
    var tabs   = $(parent + "Tabs").getElementsByTagName("div");
    for (var i=1; i < tabs.length; i++){
        if(i == 1) {
            if(tabs[i].id == obj + "_tab") {
                tab.className = prefix + "LeftActive";
                if(zero) zero.className = prefix + "ZeroActive";
            } else {
                tabs[i].className = prefix + "LeftNormal";
                if(zero) zero.className = prefix + "ZeroNormal";
            }
        } else if(i == (tabs.length - 1) ) {
            if(tabs[i].id == obj + "_tab") {
                tabs[i-1].className = prefix + "CenterNormal2Active";
                tab.className = prefix + "RightActive";
            } else tabs[i].className = prefix + "RightNormal";
        } else {
            if(tabs[i].id == obj + "_tab") {
                tabs[i-1].className = prefix + "CenterNormal2Active";
                tab.className = prefix + "CenterActive";
            } else tabs[i].className = prefix + "CenterNormal";
        }
    }
}

function tabs_static(parent, obj, prefix){
    tabs_header(parent, obj, prefix);
    $(parent + "Bodies").style.display = "block";

    var bodies = $(parent + "Bodies").getElementsByTagName("div");
    for (var i=0; i < bodies.length; i++){
        if(bodies[i].classname != 'ignore'){
            if(bodies[i].style.display){
                if(bodies[i].id == obj + "_body") bodies[i].style.display = "block";
                else bodies[i].style.display = "none";
            }
        }
    }
}

function tabs_ajaxed(parent, obj, prefix, action){
    tabs_header(parent, obj, prefix);
    if($(parent + "_tabProgress")) {
        $(parent + "_items").style.visibility = 'hidden';
        $(parent + "_tabProgress").style.visibility = 'visible';
    }

    //alert('xajax.php?' + action);
    ajax_navigate(parent + '_body', '/xajax.php?' + action);

}


function font_enlarge( obj ) {
    if($(obj)) {
        $(obj).className = "fontLarge";
    }
}
function font_default( obj ) {
    if($(obj)) {
        $(obj).className = "fontDefault";
    }
}
function showHide(obj, pan, class_name){
    var el = $(obj);
    if(el.style.display == "block") {
        el.style.display = "none";
        if($(pan)) $(pan).className = class_name + "Hide";
    } else {
        el.style.display = "block";
        if($(pan)) $(pan).className = class_name + "Show"
    }
}



var stars_timer = '';

function clearStars(path, grade)
{
  //clearStars_(path, grade);
  clearTimeout(stars_timer);
  var func = 'clearStars_("' + path + '",' + grade + ')';
  stars_timer = setTimeout(func, 0);
}

function clearStars_(path, grade)
{
    var ar = $('grade').getElementsByTagName("img");
    for (var i=0; i < grade; i++){
      ar[i].src = path + 'icn_star_full.gif';
    }
    for (var i=grade; i < ar.length; i++){
      ar[i].src = path + 'icn_star_empty.gif';
    }
}

function showStars(path, grade)
{
    clearTimeout(stars_timer);   
    var full = path  + 'icn_star_full.gif';
    var empty = path + 'icn_star_empty.gif';
    var ar = $('grade').getElementsByTagName("img");
    for (var i=0; i < grade; i++){
       if(ar[i].src != full) ar[i].src = full;
    }
    for (var i=grade; i < ar.length; i++){
      ar[i].src = path + 'icn_star_empty.gif';
    }
}

function setStars(target, field, value, grade)
{
    clearTimeout(stars_timer);
    var params = {};
    params['target'] = target;
    params['field']  = field;
    params['value']  = value;
    params['grade']  = grade;
    new Ajax.Updater({success:'grade'}, '/xajax.php?mode=grade', {method:'post', parameters:params});
}


function setStars3(target, field, value, grade)
{

    clearTimeout(stars_timer);
    var params = {};
    params['target'] = target;
    params['field']  = field;
    params['value']  = value;
    params['grade']  = grade;

    if($('loginBox')) {
        x_popup('loginBox');
        params['store']  = 1;
    }

    new Ajax.Updater({success:'grade'}, '/xajax.php?mode=grade', {method:'post', parameters:params});
}

function setStars2(obj, target, field, value, grade)
{
   clearTimeout(stars_timer);
   var params = {};
   params['target'] = target;
   params['field']  = field;
   params['value']  = value;
   params['grade']  = grade;
   new Ajax.Updater({success:obj}, '/xajax.php?mode=grade&templates=comments', {method:'post', parameters:params});
}



function close_window() {
/*
    if($('DISABLING_SCREEN')) {
        $('DISABLING_SCREEN').remove();
    }
    if($('POPUP_CONTAINER')) {
        $('POPUP_CONTAINER').remove();
    }

*/
    Drop_Down_Box.close_all();
}



function close_item_select() {

    var reload_container = $('window_reload_id').value;
    var reload_id        = parseInt($('window_item_id').value);
    if($(reload_container + '_text') && $(reload_container + '_value') && reload_id > 0) {

        var url = 'xajax.php?mode=x_json&code=content&id=' + reload_id;

        new Ajax.Request(url
            , {onLoading:whenLoading
            , onComplete:whenCompleted
            , onFailure:whenFailure
            , onSuccess:function (transport) {
                if (200 == transport.status) {
                    var answer = transport.responseText.evalJSON(true);
                    if(answer) {
                        $(reload_container + '_text').value = answer.title;
                        $(reload_container + '_value').value = answer.id;
                    }
                }
            }
            , method: 'get'
            });
        
    }

    close_window();

    /*
    reload_container = $('window_reload_id').value;
    reload_id        = parseInt($('window_item_id').value);
    if($(reload_container) && reload_id > 0) {
        ajax_navigate(reload_container, 'xajax.php?mode=x_select&type=content&field=content_items_id&content_items_id=' + reload_id);
    }
    
    */
}



function showList(container, button, prefix, position) {
    dd_obj = new Drop_Down_Box();
    dd_obj.showList(container, button, prefix, position);
}

function dialog_ajaxed(obj, url) {
    dd_obj = new Drop_Down_Box();
    dd_obj.showDialogAjaxed(obj, url);
}


function showListHover(button, prefix) {
    
    if($(button).className != prefix + 'Active'){
        $(button).className = prefix + "Hover";
    }
}
function showListOut(button, prefix) {

    if($(button).className != prefix + 'Active'){
        $(button).className = prefix + "Normal";
    }
}

function showListActive(button, prefix) {
    if($(button).className != prefix + 'Active'){
        $(button).className = prefix + "Active";
    } else {
        $(button).className = prefix + "Hover";
    }
}

function showListNormal(button, prefix) {
    if($(button)) {
        $(button).className = prefix + "Normal";
    }
}

function showListingFields(obj){
    var p = $(obj); 
    if(p.style.visibility && p.style.visibility == 'hidden'){
        p.style.visibility = 'visible';
    } else {
        p.style.visibility = 'hidden';
    }
}

function whenCompletedFitWindow(){
    if($('DISABLING')) $('DISABLING').style.display = "none";
    if($('ProgressContainer')) {
        $('ProgressContainer').style.visibility = 'hidden';
        $('ProgressContainer').style.display = 'none';
        $('ProgressContainer').style.top = '0px';
        $('ProgressContainer').style.left = '0px';
    }
    if($('submit_xajax') && submit_title != ''){
        $('submit_xajax').value    = submit_title;
        $('submit_xajax').disabled = false;
    }    
    obj = $('POPUP_CONTAINER');
    obj.style.display = "block";
        
    client_width  =  (document.body.clientWidth);
    client_height  =  (document.body.clientHeight);
    
    obj_w = obj.getWidth();
    obj_h = obj.getHeight();

    //client_width    = (document.body.offsetWidth > screen.width) ? document.body.offsetWidth : screen.width;
    //client_height   = (document.body.offsetHeight > screen.height) ? document.body.offsetHeight : screen.height;

    obj.style.left  = (client_width  - obj_w) / 2 + 'px';
    obj.style.top   = (client_height - obj_h) / 2 + 'px';


/*
    obj.style.left  = (document.body.clientWidth  - obj_w) / 2 + 'px';
    obj.style.top   = (document.body.clientHeight - obj_h) / 2 + 'px';
*/
    if($('imageArea')) {
        Event.observe('imageArea', 'load', function() { fix_img_editor();});
    }

    Event.observe('window_ajaxed_close', 'click', Drop_Down_Box.close_all);

}


Drop_Down_Box = function() {
        
    if(Drop_Down_Box.active_boxes) {

    } else {
        Drop_Down_Box.active_boxes = [];
    }

    this.getPosition = function(obj) {
        var left = 0;
        var top  = 0;
        while (obj) {
            if (obj.currentStyle) {
                if (obj.currentStyle.position == 'absolute') break;
            } else {
                if (document.defaultView.getComputedStyle(obj, '').getPropertyValue('position') == 'absolute') break;
            }
            
            var is_div = obj.tagName.toUpperCase() == "DIV" ? true : false;
            left += obj.offsetLeft - (is_div?obj.scrollLeft:0);
            top  += obj.offsetTop - (is_div?obj.scrollTop:0);
            obj = obj.offsetParent;
        }
        return {x:left, y:top};
    }
        
    Drop_Down_Box.prototype.showDialogAjaxed = function(obj, url) {    
        if($('POPUP_CONTAINER')) {} else {Drop_Down_Box.createWindow();}
        this.dd_box    = $('POPUP_CONTAINER');        
        this.disabling = 1;
        Drop_Down_Box.showDisabling();
        ajax_navigate_fit_window('POPUP_CONTAINER', url);
        this.box            = obj;
        this.dd_box.box     = obj;
        if($(obj + '_close')) {
            this.dd_close  = $(obj + '_close');
        }
        // store this
        Drop_Down_Box.active_boxes[Drop_Down_Box.active_boxes.length] = this;
        if (document.addEventListener) {
            document.addEventListener('mousedown', Drop_Down_Box.hideList, false);
            if(this.dd_close) this.dd_close.addEventListener('click', Drop_Down_Box.close_all, false);
        } else {
            if (document.attachEvent) {
                document.attachEvent('onmousedown', Drop_Down_Box.hideList);
                if(this.dd_close)  this.dd_close.attachEvent('onclick', Drop_Down_Box.close_all);
            }
        }


    }
    
    Drop_Down_Box.showDisabling = function() {
        disabling_width    = (document.body.offsetWidth > screen.width) ? document.body.offsetWidth : screen.width;
        disabling_height   = (document.body.offsetHeight > screen.height) ? document.body.offsetHeight : screen.height;
        $('DISABLING_SCREEN').style.width    = disabling_width + 'px';
        $('DISABLING_SCREEN').style.height   = disabling_height + 'px';
        $('DISABLING_SCREEN').style.top      = '0px';
        $('DISABLING_SCREEN').style.display  = 'block';
    }

    Drop_Down_Box.createWindow = function() {
        a = {style:'display:none'};
        a['id'] = 'DISABLING_SCREEN';
        b = {style:'display:none'};
        b['id'] = 'POPUP_CONTAINER';
        $(document.body).insert(new Element('div', a));
        $(document.body).insert(new Element('div', b));
    }

    Drop_Down_Box.createWindow2 = function(obj) {
        a = {style:'display:none'};
        a['id'] = 'DISABLING_SCREEN';
        $(document.body).insert(new Element('div', a));
        b = {style:'display:none; position:absolute; z-index:8; float:left; '};
        b['id']    = obj + '_popup';
        b['class'] = 'popupCenter';
        $(document.body).insert(new Element('div', b));
    }


    Drop_Down_Box.prototype.showList = function(obj, but, prefix, position) {
        
        this.disabling = 0;
        this.dd_button = $(but);
        this.dd_obj    = obj;

        if(position == 'center') {
            if($('POPUP_CONTAINER')) {} else {Drop_Down_Box.createWindow();}
            this.dd_box    = $('POPUP_CONTAINER');
            this.box = 'POPUP_CONTAINER';
        } else if(position == 'cropper') {
            Drop_Down_Box.createWindow2(obj);
            this.dd_box    = $(obj + '_popup');
            this.box = obj + '_popup';
        } else {
            this.dd_box    = $(obj);
            this.box = obj;
        }

        this.dd_box.box = this.box;


        if(prefix != null) {
            this.prefix = prefix;
        }

        if(this.dd_box.style.display == "block") {
           // Drop_Down_Box.close();
        } else {
       
            //alert(position);

            //change button style
            if(this.prefix) {
                this.dd_button.className = this.prefix + "Active";
            }

            //x,y for iframe under button
            var pos = this.getPosition(this.dd_button);
            if(position == 'bottom') {
                var x  = pos.x;
                var y  = pos.y + this.dd_button.offsetHeight + 2;
                //fix and show container
                this.dd_box.style.display = "block";
                this.dd_box.style.left = x + 'px';
                this.dd_box.style.top  = y + 'px';
            } else if(position == 'top') {
                var x  = pos.x;
                this.dd_box.style.display = "block";
                var y  = pos.y - 2 - this.dd_box.offsetHeight;
                //fix and show container
                this.dd_box.style.display = "block";
                this.dd_box.style.left = x + 'px';
                this.dd_box.style.top  = y + 'px';
            } else if(position == 'cropper') {

/*                
                var x  = pos.x;
                this.dd_box.style.display = "block";
                var y  = pos.y - 2 - this.dd_box.offsetHeight;
                this.dd_box.style.display = "block";
                this.dd_box.style.left = '10px';
                this.dd_box.style.top  = '10px';

*/

                Drop_Down_Box.showDisabling();
                this.disabling = 1;
                this.dd_box.style.display = "block";
                
                if(this.dd_box.innerHTML == '') {
                    this.dd_box.update($(obj).innerHTML);
                    $(obj).innerHTML = '';
                    var x  =  (document.body.clientWidth  - this.dd_box.offsetWidth) / 2;
                    var y  =  (document.body.clientHeight - this.dd_box.offsetHeight) / 2;
                    this.dd_box.style.left  = x + 'px';
                    this.dd_box.style.top   = y + 'px';
                }


            } else if(position == 'center') {
                Drop_Down_Box.showDisabling();
                this.disabling = 1;
                this.dd_box.style.display = "block";
                this.dd_box.update($(obj).innerHTML);
                var x  =  (document.body.clientWidth  - this.dd_box.offsetWidth) / 2;
                var y  =  (document.body.clientHeight - this.dd_box.offsetHeight) / 2;
                this.dd_box.style.left  = x + 'px';
                this.dd_box.style.top   = y + 'px';
            }
            
            //close button shul be in template
            if($(obj + '_close')) {
                //alert(obj + '_close');
                this.dd_close  = $(obj + '_close');
            }
            
            // store this
            Drop_Down_Box.active_boxes[Drop_Down_Box.active_boxes.length] = this;

            if (document.addEventListener) {
                document.addEventListener('mousedown', Drop_Down_Box.hideList, false);
                if(this.dd_close) this.dd_close.addEventListener('click', Drop_Down_Box.close_all, false);
            } else {
                if (document.attachEvent) {
                    document.attachEvent('onmousedown', Drop_Down_Box.hideList);
                    if(this.dd_close)  this.dd_close.attachEvent('onclick', Drop_Down_Box.close_all);
                }
            }
        }
    }

    Drop_Down_Box.close_all = function() {
        for (i=0; i < Drop_Down_Box.active_boxes.length; i++) {              
            var cur_cal = Drop_Down_Box.active_boxes[i];
            Drop_Down_Box.close(cur_cal);
        }
        Drop_Down_Box.active_boxes = [];
    }

    Drop_Down_Box.hideList = function(e) {
        var event = e || window.event;
        var obj   = e.target?e.target:(e.srcElement?e.srcElement:window.event.srcElement);    
	    if (!obj) return;
        var el = obj;
        var cal = null;
        while (el) {
            if (el.box) {
                cal = el.box;
                break;
            }
            el = el.parentNode;
        }
        var active_cals = [];
        var i; 
        for (i=0; i < Drop_Down_Box.active_boxes.length; i++) {
            var cur_cal = Drop_Down_Box.active_boxes[i];
            if (cal != cur_cal.box) {
                Drop_Down_Box.close(cur_cal);
            } else {
                active_cals[active_cals.length] = cur_cal;
            }
        }
        Drop_Down_Box.active_boxes = active_cals;
    }

    Drop_Down_Box.close = function(cur_cal) {
        
        if(cur_cal.prefix && cur_cal.dd_button) {
            cur_cal.dd_button.className     = cur_cal.prefix + "Normal";
        }

        if(cur_cal.disabling == 1 && $('DISABLING_SCREEN')) {
            $('DISABLING_SCREEN').remove();
        }
  

        if(cur_cal.dd_box.id == 'POPUP_CONTAINER') {
            cur_cal.dd_box.remove();
        } else if (cur_cal.dd_box.id == cur_cal.dd_obj + '_popup') {
            $(cur_cal.dd_obj).innerHTML = $(cur_cal.dd_obj + '_popup').innerHTML;
            cur_cal.dd_box.remove();
            //cur_cal.dd_box.style.display = "none";
        } else {
            cur_cal.dd_box.style.display = "none";
        }
        
        if (document.removeEventListener) {
            document.removeEventListener('mousedown', Drop_Down_Box.hideList, false);
            if(cur_cal.dd_close) cur_cal.dd_close.removeEventListener('click', Drop_Down_Box.close_all, false);
        } else {
            if (document.detachEvent) {
                document.detachEvent('onmousedown', Drop_Down_Box.hideList);
                if(cur_cal.dd_close) cur_cal.dd_close.detachEvent('onclick', Drop_Down_Box.close_all);
            }
        }
    }
}



