/*
 * ASC Internet Javascript Library
 *
 * (Requires mootools)
 *
 * Id: $Id$
 * Revision: $Revision$
 * Date: $Date$
 * Author: $Author$
*/

//MooTools, My Object Oriented Javascript Tools. Copyright (c) 2006-2007 Valerio Proietti, <http://mad4milk.net>, MIT Style License.

eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('o a7={a8:\'1.11\'};k $5c(Y){h(Y!=77)};k $t(Y){m(!$5c(Y))h O;m(Y.3S)h\'C\';o t=4J Y;m(t==\'2I\'&&Y.a6){22(Y.6g){12 1:h\'C\';12 3:h(/\\S/).2F(Y.7W)?\'a5\':\'a3\'}}m(t==\'2I\'||t==\'k\'){22(Y.6V){12 21:h\'1j\';12 5D:h\'49\';12 1b:h\'5A\'}m(4J Y.P==\'4r\'){m(Y.2C)h\'a4\';m(Y.7A)h\'14\'}}h t};k $3e(){o 4l={};G(o i=0;i<14.P;i++){G(o u 18 14[i]){o ap=14[i][u];o 4I=4l[u];m(4I&&$t(ap)==\'2I\'&&$t(4I)==\'2I\')4l[u]=$3e(4I,ap);15 4l[u]=ap}}h 4l};o $I=k(){o 1a=14;m(!1a[1])1a=[c,1a[0]];G(o u 18 1a[1])1a[0][u]=1a[1][u];h 1a[0]};o $3D=k(){G(o i=0,l=14.P;i<l;i++){14[i].I=k(1x){G(o 1E 18 1x){m(!c.1s[1E])c.1s[1E]=1x[1E];m(!c[1E])c[1E]=$3D.53(1E)}}}};$3D.53=k(1E){h k(R){h c.1s[1E].3J(R,21.1s.7I.1X(14,1))}};$3D(5U,21,5P,7K);k $24(Y){h!!(Y||Y===0)};k $48(Y,78){h $5c(Y)?Y:78};k $5x(3s,2g){h 1c.af(1c.5x()*(2g-3s+1)+3s)};k $2T(){h T ag().ae()};k $8q(2c){ad(2c);ab(2c);h 1f};o 3y=k(Y){Y=Y||{};Y.I=$I;h Y};o ac=T 3y(U);o a2=T 3y(M);M.7p=M.2q(\'7p\')[0];U.35=!!(M.8j);m(U.73)U.28=U[U.4W?\'9R\':\'6T\']=1d;15 m(M.83&&!M.9S&&!9Q.9P)U.41=U[U.35?\'9M\':\'4Q\']=1d;15 m(M.9N!=1f)U.60=1d;U.9O=U.41;6J.I=$I;m(4J 4q==\'77\'){o 4q=k(){};m(U.41)M.7H("9U");4q.1s=(U.41)?U["[[9Z.1s]]"]:{}}4q.1s.3S=k(){};m(U.6T)44{M.a0("9Y",O,1d)}3Q(e){};o 1b=k(2H){o 4A=k(){h(14[0]!==1f&&c.1q&&$t(c.1q)==\'k\')?c.1q.3J(c,14):c};$I(4A,c);4A.1s=2H;4A.6V=1b;h 4A};1b.1A=k(){};1b.1s={I:k(2H){o 4P=T c(1f);G(o u 18 2H){o 71=4P[u];4P[u]=1b.7E(71,2H[u])}h T 1b(4P)},59:k(){G(o i=0,l=14.P;i<l;i++)$I(c.1s,14[i])}};1b.7E=k(2V,1L){m(2V&&2V!=1L){o t=$t(1L);m(t!=$t(2V))h 1L;22(t){12\'k\':o 6b=k(){c.1i=14.7A.1i;h 1L.3J(c,14)};6b.1i=2V;h 6b;12\'2I\':h $3e(2V,1L)}}h 1L};o 6q=T 1b({9W:k(L){c.3l=c.3l||[];c.3l.1e(L);h c},6I:k(){m(c.3l&&c.3l.P)c.3l.6O().1Z(10,c)},ah:k(){c.3l=[]}});o 2t=T 1b({25:k(t,L){m(L!=1b.1A){c.$V=c.$V||{};c.$V[t]=c.$V[t]||[];c.$V[t].67(L)}h c},1r:k(t,1a,1Z){m(c.$V&&c.$V[t]){c.$V[t].1G(k(L){L.2m({\'R\':c,\'1Z\':1Z,\'14\':1a})()},c)}h c},4x:k(t,L){m(c.$V&&c.$V[t])c.$V[t].3w(L);h c}});o 4Y=T 1b({3k:k(){c.r=$3e.3J(1f,[c.r].I(14));m(c.25){G(o 2Q 18 c.r){m($t(c.r[2Q]==\'k\')&&(/^5y[A-Z]/).2F(2Q))c.25(2Q,c.r[2Q])}}h c}});21.I({5s:k(L,R){G(o i=0,j=c.P;i<j;i++)L.1X(R,c[i],i,c)},2k:k(L,R){o 3L=[];G(o i=0,j=c.P;i<j;i++){m(L.1X(R,c[i],i,c))3L.1e(c[i])}h 3L},2h:k(L,R){o 3L=[];G(o i=0,j=c.P;i<j;i++)3L[i]=L.1X(R,c[i],i,c);h 3L},5g:k(L,R){G(o i=0,j=c.P;i<j;i++){m(!L.1X(R,c[i],i,c))h O}h 1d},aF:k(L,R){G(o i=0,j=c.P;i<j;i++){m(L.1X(R,c[i],i,c))h 1d}h O},3M:k(2C,K){o 3K=c.P;G(o i=(K<0)?1c.2g(0,3K+K):K||0;i<3K;i++){m(c[i]===2C)h i}h-1},7M:k(1g,P){1g=1g||0;m(1g<0)1g=c.P+1g;P=P||(c.P-1g);o 61=[];G(o i=0;i<P;i++)61[i]=c[1g++];h 61},3w:k(2C){o i=0;o 3K=c.P;52(i<3K){m(c[i]===2C){c.56(i,1);3K--}15{i++}}h c},19:k(2C,K){h c.3M(2C,K)!=-1},aG:k(1D){o Y={},P=1c.3s(c.P,1D.P);G(o i=0;i<P;i++)Y[1D[i]]=c[i];h Y},I:k(1j){G(o i=0,j=1j.P;i<j;i++)c.1e(1j[i]);h c},3e:k(1j){G(o i=0,l=1j.P;i<l;i++)c.67(1j[i]);h c},67:k(2C){m(!c.19(2C))c.1e(2C);h c},aE:k(){h c[$5x(0,c.P-1)]||1f},6E:k(){h c[c.P-1]||1f}});21.1s.1G=21.1s.5s;21.1G=21.5s;k $A(1j){h 21.7M(1j)};k $1G(3b,L,R){m(3b&&4J 3b.P==\'4r\'&&$t(3b)!=\'2I\'){21.5s(3b,L,R)}15{G(o 1p 18 3b)L.1X(R||3b,3b[1p],1p)}};21.1s.2F=21.1s.19;5P.I({2F:k(5p,2a){h(($t(5p)==\'2G\')?T 5D(5p,2a):5p).2F(c)},2o:k(){h 4d(c,10)},7Z:k(){h 4i(c)},5w:k(){h c.2W(/-\\D/g,k(2B){h 2B.5B(1).6p()})},89:k(){h c.2W(/\\w[A-Z]/g,k(2B){h(2B.5B(0)+\'-\'+2B.5B(1).4a())})},7u:k(){h c.2W(/\\b[a-z]/g,k(2B){h 2B.6p()})},5N:k(){h c.2W(/^\\s+|\\s+$/g,\'\')},5E:k(){h c.2W(/\\s{2,}/g,\' \').5N()},5f:k(1j){o 2f=c.2B(/\\d{1,3}/g);h(2f)?2f.5f(1j):O},4N:k(1j){o 3t=c.2B(/^#?(\\w{1,2})(\\w{1,2})(\\w{1,2})$/);h(3t)?3t.7I(1).4N(1j):O},19:k(2G,s){h(s)?(s+c+s).3M(s+2G+s)>-1:c.3M(2G)>-1},aH:k(){h c.2W(/([.*+?^${}()|[\\]\\/\\\\])/g,\'\\\\$1\')}});21.I({5f:k(1j){m(c.P<3)h O;m(c.P==4&&c[3]==0&&!1j)h\'aI\';o 3t=[];G(o i=0;i<3;i++){o 42=(c[i]-0).aN(16);3t.1e((42.P==1)?\'0\'+42:42)}h 1j?3t:\'#\'+3t.1P(\'\')},4N:k(1j){m(c.P!=3)h O;o 2f=[];G(o i=0;i<3;i++){2f.1e(4d((c[i].P==1)?c[i]+c[i]:c[i],16))}h 1j?2f:\'2f(\'+2f.1P(\',\')+\')\'}});5U.I({2m:k(r){o L=c;r=$3e({\'R\':L,\'B\':O,\'14\':1f,\'1Z\':O,\'3V\':O,\'5v\':O},r);m($24(r.14)&&$t(r.14)!=\'1j\')r.14=[r.14];h k(B){o 1a;m(r.B){B=B||U.B;1a=[(r.B===1d)?B:T r.B(B)];m(r.14)1a.I(r.14)}15 1a=r.14||14;o 2P=k(){h L.3J($48(r.R,L),1a)};m(r.1Z)h 7F(2P,r.1Z);m(r.3V)h aM(2P,r.3V);m(r.5v)44{h 2P()}3Q(aL){h O};h 2P()}},aJ:k(1a,R){h c.2m({\'14\':1a,\'R\':R})},5v:k(1a,R){h c.2m({\'14\':1a,\'R\':R,\'5v\':1d})()},R:k(R,1a){h c.2m({\'R\':R,\'14\':1a})},aA:k(R,1a){h c.2m({\'R\':R,\'B\':1d,\'14\':1a})},1Z:k(1Z,R,1a){h c.2m({\'1Z\':1Z,\'R\':R,\'14\':1a})()},3V:k(7J,R,1a){h c.2m({\'3V\':7J,\'R\':R,\'14\':1a})()}});7K.I({2o:k(){h 4d(c)},7Z:k(){h 4i(c)},1t:k(3s,2g){h 1c.3s(2g,1c.2g(3s,c))},3r:k(4B){4B=1c.2L(10,4B||0);h 1c.3r(c*4B)/4B},az:k(L){G(o i=0;i<c;i++)L(i)}});o H=T 1b({1q:k(q,1x){m($t(q)==\'2G\'){m(U.28&&1x&&(1x.1p||1x.t)){o 1p=(1x.1p)?\' 1p="\'+1x.1p+\'"\':\'\';o t=(1x.t)?\' t="\'+1x.t+\'"\':\'\';5V 1x.1p;5V 1x.t;q=\'<\'+q+1p+t+\'>\'}q=M.7H(q)}q=$(q);h(!1x||!q)?q:q.2z(1x)}});o 1I=T 1b({1q:k(N){h(N)?$I(N,c):c}});1I.I=k(1x){G(o 1E 18 1x){c.1s[1E]=1x[1E];c[1E]=$3D.53(1E)}};k $(q){m(!q)h 1f;m(q.3S)h 1W.3T(q);m([U,M].19(q))h q;o t=$t(q);m(t==\'2G\'){q=M.4R(q);t=(q)?\'C\':O}m(t!=\'C\')h 1f;m(q.3S)h 1W.3T(q);m([\'2I\',\'ao\'].19(q.5r.4a()))h q;$I(q,H.1s);q.3S=k(){};h 1W.3T(q)};M.4E=M.2q;k $$(){o N=[];G(o i=0,j=14.P;i<j;i++){o 1u=14[i];22($t(1u)){12\'C\':N.1e(1u);12\'aq\':1y;12 O:1y;12\'2G\':1u=M.4E(1u,1d);6c:N.I(1u)}}h $$.4e(N)};$$.4e=k(1j){o N=[];G(o i=0,l=1j.P;i<l;i++){m(1j[i].$5n)58;o C=$(1j[i]);m(C&&!C.$5n){C.$5n=1d;N.1e(C)}}G(o n=0,d=N.P;n<d;n++)N[n].$5n=1f;h T 1I(N)};1I.4S=k(u){h k(){o 1a=14;o 1h=[];o N=1d;G(o i=0,j=c.P,2P;i<j;i++){2P=c[i][u].3J(c[i],1a);m($t(2P)!=\'C\')N=O;1h.1e(2P)};h(N)?$$.4e(1h):1h}};H.I=k(2H){G(o u 18 2H){4q.1s[u]=2H[u];H.1s[u]=2H[u];H[u]=$3D.53(u);o 7P=(21.1s[u])?u+\'1I\':u;1I.1s[7P]=1I.4S(u)}};H.I({2z:k(1x){G(o 1E 18 1x){o 3j=1x[1E];22(1E){12\'8h\':c.6D(3j);1y;12\'V\':m(c.64)c.64(3j);1y;12\'2H\':c.7V(3j);1y;6c:c.5b(1E,3j)}}h c},3o:k(q,7N){q=$(q);22(7N){12\'7y\':q.2E.68(c,q);1y;12\'7x\':o 4h=q.8c();m(!4h)q.2E.5C(c);15 q.2E.68(c,4h);1y;12\'1o\':o 6j=q.5M;m(6j){q.68(c,6j);1y}6c:q.5C(c)}h c},av:k(q){h c.3o(q,\'7y\')},8S:k(q){h c.3o(q,\'7x\')},au:k(q){h c.3o(q,\'4c\')},aP:k(q){h c.3o(q,\'1o\')},8R:k(){o N=[];$1G(14,k(7w){N=N.5K(7w)});$$(N).3o(c);h c},3w:k(){h c.2E.7U(c)},8Z:k(7v){o q=$(c.90(7v!==O));m(!q.$V)h q;q.$V={};G(o t 18 c.$V)q.$V[t]={\'1D\':$A(c.$V[t].1D),\'1B\':$A(c.$V[t].1B)};h q.55()},9c:k(q){q=$(q);c.2E.92(q,c);h q},7T:k(1z){c.5C(M.97(1z));h c},5F:k(1n){h c.1n.19(1n,\' \')},7B:k(1n){m(!c.5F(1n))c.1n=(c.1n+\' \'+1n).5E();h c},7C:k(1n){c.1n=c.1n.2W(T 5D(\'(^|\\\\s)\'+1n+\'(?:\\\\s|$)\'),\'$1\').5E();h c},96:k(1n){h c.5F(1n)?c.7C(1n):c.7B(1n)},2J:k(u,F){22(u){12\'1V\':h c.7R(4i(F));12\'93\':u=(U.28)?\'98\':\'99\'}u=u.5w();22($t(F)){12\'4r\':m(![\'8Y\',\'87\'].19(u))F+=\'3I\';1y;12\'1j\':F=\'2f(\'+F.1P(\',\')+\')\'}c.1l[u]=F;h c},6D:k(2u){22($t(2u)){12\'2I\':H.54(c,\'2J\',2u);1y;12\'2G\':c.1l.5S=2u}h c},7R:k(1V){m(1V==0){m(c.1l.5l!="4L")c.1l.5l="4L"}15{m(c.1l.5l!="88")c.1l.5l="88"}m(!c.5e||!c.5e.9A)c.1l.87=1;m(U.28)c.1l.2k=(1V==1)?\'\':"9B(1V="+1V*9z+")";c.1l.1V=c.$3c.1V=1V;h c},1K:k(u){u=u.5w();o 1m=c.1l[u];m(!$24(1m)){m(u==\'1V\')h c.$3c.1V;1m=[];G(o 1l 18 H.34){m(u==1l){H.34[1l].1G(k(s){o 1l=c.1K(s);1m.1e(4d(1l)?1l:\'7n\')},c);m(u==\'3a\'){o 5g=1m.5g(k(42){h(42==1m[0])});h(5g)?1m[0]:O}h 1m.1P(\' \')}}m(u.19(\'3a\')){m(H.34.3a.19(u)){h[\'8e\',\'6M\',\'6L\'].2h(k(p){h c.1K(u+p)},c).1P(\' \')}15 m(H.75.19(u)){h[\'6S\',\'6Z\',\'76\',\'70\'].2h(k(p){h c.1K(\'3a\'+p+u.2W(\'3a\',\'\'))},c).1P(\' \')}}m(M.85)1m=M.85.9D(c,1f).9I(u.89());15 m(c.5e)1m=c.5e[u]}m(U.28)1m=H.81(u,1m,c);m(1m&&u.2F(/4F/i)&&1m.19(\'2f\')){h 1m.51(\'2f\').56(1,4).2h(k(4F){h 4F.5f()}).1P(\' \')}h 1m},8p:k(){h H.5G(c,\'1K\',14)},4k:k(5q,1g){5q+=\'9G\';o q=(1g)?c[1g]:c[5q];52(q&&$t(q)!=\'C\')q=q[5q];h $(q)},9E:k(){h c.4k(\'2V\')},8c:k(){h c.4k(\'4h\')},9u:k(){h c.4k(\'4h\',\'5M\')},6E:k(){h c.4k(\'2V\',\'9t\')},9j:k(){h $(c.2E)},9k:k(){h $$(c.83)},62:k(q){h!!$A(c.2q(\'*\')).19(q)},4g:k(u){o 2U=H.5h[u];m(2U)h c[2U];o 5J=H.6X[u]||0;m(!U.28||5J)h c.9h(u,5J);o 5H=c.9f[u];h(5H)?5H.7W:1f},9l:k(u){o 2U=H.5h[u];m(2U)c[2U]=\'\';15 c.9m(u);h c},9r:k(){h H.5G(c,\'4g\',14)},5b:k(u,F){o 2U=H.5h[u];m(2U)c[2U]=F;15 c.9q(u,F);h c},7V:k(2u){h H.54(c,\'5b\',2u)},6u:k(){c.7Y=$A(14).1P(\'\');h c},9n:k(1z){o 2D=c.3H();m([\'1l\',\'2A\'].19(2D)){m(U.28){m(2D==\'1l\')c.7X.5S=1z;15 m(2D==\'2A\')c.5b(\'1z\',1z);h c}15{c.7U(c.5M);h c.7T(1z)}}c[$5c(c.5R)?\'5R\':\'82\']=1z;h c},c9:k(){o 2D=c.3H();m([\'1l\',\'2A\'].19(2D)){m(U.28){m(2D==\'1l\')h c.7X.5S;15 m(2D==\'2A\')h c.4g(\'1z\')}15{h c.7Y}}h($48(c.5R,c.82))},3H:k(){h c.5r.4a()},1A:k(){1W.5k(c.2q(\'*\'));h c.6u(\'\')}});H.81=k(u,1m,C){m($24(4d(1m)))h 1m;m([\'2Y\',\'2x\'].19(u)){o 1B=(u==\'2x\')?[\'1w\',\'4f\']:[\'1o\',\'4c\'];o 3m=0;1B.1G(k(F){3m+=C.1K(\'3a-\'+F+\'-2x\').2o()+C.1K(\'5Q-\'+F).2o()});h C[\'2N\'+u.7u()]-3m+\'3I\'}15 m(u.2F(/3a(.+)8e|2p|5Q/)){h\'7n\'}h 1m};H.34={\'3a\':[],\'5Q\':[],\'2p\':[]};[\'6S\',\'6Z\',\'76\',\'70\'].1G(k(72){G(o 1l 18 H.34)H.34[1l].1e(1l+72)});H.75=[\'c4\',\'bU\',\'bV\'];H.5G=k(q,1N,1D){o 1m={};$1G(1D,k(2e){1m[2e]=q[1N](2e)});h 1m};H.54=k(q,1N,5T){G(o 2e 18 5T)q[1N](2e,5T[2e]);h q};H.5h=T 3y({\'5A\':\'1n\',\'G\':\'bR\',\'bW\':\'bX\',\'c2\':\'cl\',\'c1\':\'c0\',\'bY\':\'bZ\',\'ck\':\'cA\',\'cx\':\'cm\',\'cr\':\'cu\',\'F\':\'F\',\'6l\':\'6l\',\'66\':\'66\',\'65\':\'65\',\'63\':\'63\'});H.6X={\'co\':2,\'cG\':2};H.2j={5m:{30:k(t,L){m(c.5W)c.5W(t,L,O);15 c.cq(\'5y\'+t,L);h c},43:k(t,L){m(c.6W)c.6W(t,L,O);15 c.cy(\'5y\'+t,L);h c}}};U.I(H.2j.5m);M.I(H.2j.5m);H.I(H.2j.5m);o 1W={N:[],3T:k(q){m(!q.$3c){1W.N.1e(q);q.$3c={\'1V\':1}}h q},5k:k(N){G(o i=0,j=N.P,q;i<j;i++){m(!(q=N[i])||!q.$3c)58;m(q.$V)q.1r(\'5k\').55();G(o p 18 q.$3c)q.$3c[p]=1f;G(o d 18 H.1s)q[d]=1f;1W.N[1W.N.3M(q)]=1f;q.3S=q.$3c=q=1f}1W.N.3w(1f)},1A:k(){1W.3T(U);1W.3T(M);1W.5k(1W.N)}};U.30(\'7e\',k(){U.30(\'69\',1W.1A);m(U.28)U.30(\'69\',cv)});o 29=T 1b({1q:k(B){m(B&&B.$6P)h B;c.$6P=1d;B=B||U.B;c.B=B;c.t=B.t;c.2K=B.2K||B.cE;m(c.2K.6g==3)c.2K=c.2K.2E;c.6O=B.cF;c.cC=B.cB;c.c3=B.bO;c.bb=B.bc;m([\'6h\',\'3P\'].19(c.t)){c.ba=(B.6Q)?B.6Q/b7:-(B.b8||0)/3}15 m(c.t.19(\'2e\')){c.5a=B.7t||B.bd;G(o 1p 18 29.1D){m(29.1D[1p]==c.5a){c.2e=1p;1y}}m(c.t==\'7g\'){o 5j=c.5a-be;m(5j>0&&5j<13)c.2e=\'f\'+5j}c.2e=c.2e||5P.bh(c.5a).4a()}15 m(c.t.2F(/(7h|2w|bg)/)){c.3A={\'x\':B.6e||B.6U+M.2b.4t,\'y\':B.6f||B.74+M.2b.4v};c.b6={\'x\':B.6e?B.6e-U.8G:B.6U,\'y\':B.6f?B.6f-U.8s:B.74};c.aW=(B.7t==3)||(B.aU==2);22(c.t){12\'6i\':c.1O=B.1O||B.aT;1y;12\'6a\':c.1O=B.1O||B.8V}c.7k()}h c},1H:k(){h c.4X().4V()},4X:k(){m(c.B.4X)c.B.4X();15 c.B.aR=1d;h c},4V:k(){m(c.B.4V)c.B.4V();15 c.B.aS=O;h c}});29.5o={1O:k(){m(c.1O&&c.1O.6g==3)c.1O=c.1O.2E},7o:k(){44{29.5o.1O.1X(c)}3Q(e){c.1O=c.2K}}};29.1s.7k=(U.60)?29.5o.7o:29.5o.1O;29.1D=T 3y({\'b4\':13,\'b2\':38,\'b1\':40,\'1w\':37,\'4f\':39,\'aZ\':27,\'b0\':32,\'bk\':8,\'bl\':9,\'5V\':46});H.2j.2t={25:k(t,L){c.$V=c.$V||{};c.$V[t]=c.$V[t]||{\'1D\':[],\'1B\':[]};m(c.$V[t].1D.19(L))h c;c.$V[t].1D.1e(L);o 57=t;o 1R=H.2t[t];m(1R){m(1R.7r)1R.7r.1X(c,L);m(1R.2h)L=1R.2h;m(1R.t)57=1R.t}m(!c.5W)L=L.2m({\'R\':c,\'B\':1d});c.$V[t].1B.1e(L);h(H.5Z.19(57))?c.30(57,L):c},4x:k(t,L){m(!c.$V||!c.$V[t])h c;o 1S=c.$V[t].1D.3M(L);m(1S==-1)h c;o 2e=c.$V[t].1D.56(1S,1)[0];o F=c.$V[t].1B.56(1S,1)[0];o 1R=H.2t[t];m(1R){m(1R.3w)1R.3w.1X(c,L);m(1R.t)t=1R.t}h(H.5Z.19(t))?c.43(t,F):c},64:k(2u){h H.54(c,\'25\',2u)},55:k(t){m(!c.$V)h c;m(!t){G(o 5t 18 c.$V)c.55(5t);c.$V=1f}15 m(c.$V[t]){c.$V[t].1D.1G(k(L){c.4x(t,L)},c);c.$V[t]=1f}h c},1r:k(t,1a,1Z){m(c.$V&&c.$V[t]){c.$V[t].1D.1G(k(L){L.2m({\'R\':c,\'1Z\':1Z,\'14\':1a})()},c)}h c},7a:k(K,t){m(!K.$V)h c;m(!t){G(o 5t 18 K.$V)c.7a(K,5t)}15 m(K.$V[t]){K.$V[t].1D.1G(k(L){c.25(t,L)},c)}h c}};U.I(H.2j.2t);M.I(H.2j.2t);H.I(H.2j.2t);H.2t=T 3y({\'7c\':{t:\'6i\',2h:k(B){B=T 29(B);m(B.1O!=c&&!c.62(B.1O))c.1r(\'7c\',B)}},\'7d\':{t:\'6a\',2h:k(B){B=T 29(B);m(B.1O!=c&&!c.62(B.1O))c.1r(\'7d\',B)}},\'3P\':{t:(U.60)?\'6h\':\'3P\'}});H.5Z=[\'7h\',\'bA\',\'6C\',\'6y\',\'3P\',\'6h\',\'6i\',\'6a\',\'3U\',\'7g\',\'br\',\'bp\',\'bo\',\'69\',\'7e\',\'bn\',\'bs\',\'bt\',\'by\',\'8g\',\'bx\',\'bw\',\'33\',\'bu\',\'7D\',\'bv\',\'3Y\'];5U.I({5u:k(R,1a){h c.2m({\'R\':R,\'14\':1a,\'B\':29})}});1I.I({bm:k(2D){h T 1I(c.2k(k(q){h(H.3H(q)==2D)}))},8B:k(1n,1Y){o N=c.2k(k(q){h(q.1n&&q.1n.19(1n,\' \'))});h(1Y)?N:T 1I(N)},8E:k(3B,1Y){o N=c.2k(k(q){h(q.3B==3B)});h(1Y)?N:T 1I(N)},8C:k(1p,6k,F,1Y){o N=c.2k(k(q){o 1L=H.4g(q,1p);m(!1L)h O;m(!6k)h 1d;22(6k){12\'=\':h(1L==F);12\'*=\':h(1L.19(F));12\'^=\':h(1L.8T(0,F.P)==F);12\'$=\':h(1L.8T(1L.P-F.P)==F);12\'!=\':h(1L!=F);12\'~=\':h 1L.19(F,\' \')}h O});h(1Y)?N:T 1I(N)}});k $E(1u,2k){h($(2k)||M).8I(1u)};k $bM(1u,2k){h($(2k)||M).4E(1u)};$$.2R={\'49\':/^(\\w*|\\*)(?:#([\\w-]+)|\\.([\\w-]+))?(?:\\[(\\w+)(?:([!*^$]?=)["\']?([^"\'\\]]*)["\']?)?])?$/,\'35\':{5I:k(1h,2n,W,i){o 23=[2n.bI?\'5z:\':\'\',W[1]];m(W[2])23.1e(\'[@3B="\',W[2],\'"]\');m(W[3])23.1e(\'[19(5K(" ", @5A, " "), " \',W[3],\' ")]\');m(W[4]){m(W[5]&&W[6]){22(W[5]){12\'*=\':23.1e(\'[19(@\',W[4],\', "\',W[6],\'")]\');1y;12\'^=\':23.1e(\'[bC-bD(@\',W[4],\', "\',W[6],\'")]\');1y;12\'$=\':23.1e(\'[bE(@\',W[4],\', 2G-P(@\',W[4],\') - \',W[6].P,\' + 1) = "\',W[6],\'"]\');1y;12\'=\':23.1e(\'[@\',W[4],\'="\',W[6],\'"]\');1y;12\'!=\':23.1e(\'[@\',W[4],\'!="\',W[6],\'"]\')}}15{23.1e(\'[@\',W[4],\']\')}}1h.1e(23.1P(\'\'));h 1h},5L:k(1h,2n,1Y){o N=[];o 35=M.8j(\'.//\'+1h.1P(\'//\'),2n,$$.2R.8i,bG.bF,1f);G(o i=0,j=35.b3;i<j;i++)N.1e(35.aY(i));h(1Y)?N:T 1I(N.2h($))}},\'8x\':{5I:k(1h,2n,W,i){m(i==0){m(W[2]){o q=2n.4R(W[2]);m(!q||((W[1]!=\'*\')&&(H.3H(q)!=W[1])))h O;1h=[q]}15{1h=$A(2n.2q(W[1]))}}15{1h=$$.2R.2q(1h,W[1]);m(W[2])1h=1I.8E(1h,W[2],1d)}m(W[3])1h=1I.8B(1h,W[3],1d);m(W[4])1h=1I.8C(1h,W[4],W[5],W[6],1d);h 1h},5L:k(1h,2n,1Y){h(1Y)?1h:$$.4e(1h)}},8i:k(8m){h(8m==\'5z\')?\'bP://80.aV.b5/bf/5z\':O},2q:k(2n,5r){o 5O=[];G(o i=0,j=2n.P;i<j;i++)5O.I(2n[i].2q(5r));h 5O}};$$.2R.1N=(U.35)?\'35\':\'8x\';H.2j.5Y={4O:k(1u,1Y){o 1h=[];1u=1u.5N().51(\' \');G(o i=0,j=1u.P;i<j;i++){o 8U=1u[i];o W=8U.2B($$.2R.49);m(!W)1y;W[1]=W[1]||\'*\';o 23=$$.2R[$$.2R.1N].5I(1h,c,W,i);m(!23)1y;1h=23}h $$.2R[$$.2R.1N].5L(1h,c,1Y)},8I:k(1u){h $(c.4O(1u,1d)[0]||O)},4E:k(1u,1Y){o N=[];1u=1u.51(\',\');G(o i=0,j=1u.P;i<j;i++)N=N.5K(c.4O(1u[i],1d));h(1Y)?N:$$.4e(N)}};H.I({4R:k(3B){o q=M.4R(3B);m(!q)h O;G(o 1i=q.2E;1i!=c;1i=1i.2E){m(!1i)h O}h q},aQ:k(1n){h c.4O(\'.\'+1n)}});M.I(H.2j.5Y);H.I(H.2j.5Y);H.I({2X:k(){22(c.3H()){12\'33\':o 1B=[];$1G(c.r,k(2Q){m(2Q.63)1B.1e($48(2Q.F,2Q.1z))});h(c.65)?1B:1B[0];12\'8u\':m(!(c.66&&[\'9J\',\'9C\'].19(c.t))&&![\'4L\',\'1z\',\'9y\'].19(c.t))1y;12\'8y\':h c.F}h O},8o:k(){h $$(c.2q(\'8u\'),c.2q(\'33\'),c.2q(\'8y\'))},4n:k(){o 3W=[];c.8o().1G(k(q){o 1p=q.1p;o F=q.2X();m(F===O||!1p||q.6l)h;o 5X=k(3j){3W.1e(1p+\'=\'+6K(3j))};m($t(F)==\'1j\')F.1G(5X);15 5X(F)});h 3W.1P(\'&\')}});H.I({3d:k(x,y){c.4t=x;c.4v=y},6s:k(){h{\'3Y\':{\'x\':c.4t,\'y\':c.4v},\'3m\':{\'x\':c.4m,\'y\':c.47},\'6t\':{\'x\':c.4K,\'y\':c.4G}}},3f:k(1J){1J=1J||[];o q=c,1w=0,1o=0;95{1w+=q.94||0;1o+=q.9b||0;q=q.91}52(q);1J.1G(k(C){1w-=C.4t||0;1o-=C.4v||0});h{\'x\':1w,\'y\':1o}},7l:k(1J){h c.3f(1J).y},7m:k(1J){h c.3f(1J).x},5i:k(1J){o 1Q=c.3f(1J);o Y={\'2x\':c.4m,\'2Y\':c.47,\'1w\':1Q.x,\'1o\':1Q.y};Y.4f=Y.1w+Y.2x;Y.4c=Y.1o+Y.2Y;h Y}});U.I({8D:k(){m(c.4Q)h c.9x;m(c.8Q)h M.4H.8J;h M.2b.8J},8z:k(){m(c.4Q)h c.at;m(c.8Q)h M.4H.8K;h M.2b.8K},8v:k(){m(c.28)h 1c.2g(M.2b.4m,M.2b.4K);m(c.41)h M.4H.4K;h M.2b.4K},8w:k(){m(c.28)h 1c.2g(M.2b.47,M.2b.4G);m(c.41)h M.4H.4G;h M.2b.4G},8A:k(){h c.8G||M.2b.4t},8F:k(){h c.8s||M.2b.4v},6s:k(){h{\'3m\':{\'x\':c.8D(),\'y\':c.8z()},\'6t\':{\'x\':c.8v(),\'y\':c.8w()},\'3Y\':{\'x\':c.8A(),\'y\':c.8F()}}},3f:k(){h{\'x\':0,\'y\':0}}});o 17={};17.2l=T 1b({r:{4s:1b.1A,2s:1b.1A,6m:1b.1A,1C:k(p){h-(1c.84(1c.6B*p)-1)/2},6d:aD,1T:\'3I\',3Z:1d,8r:50},1q:k(r){c.C=c.C||1f;c.3k(r);m(c.r.1q)c.r.1q.1X(c)},8l:k(){o 2T=$2T();m(2T<c.2T+c.r.6d){c.8k=c.r.1C((2T-c.2T)/c.r.6d);c.3v();c.3q()}15{c.1H(1d);c.2z(c.J);c.1r(\'2s\',c.C,10);c.6I()}},2z:k(J){c.Q=J;c.3q();h c},3v:k(){c.Q=c.3p(c.K,c.J)},3p:k(K,J){h(J-K)*c.8k+K},1g:k(K,J){m(!c.r.3Z)c.1H();15 m(c.2c)h c;c.K=K;c.J=J;c.8g=c.J-c.K;c.2T=$2T();c.2c=c.8l.3V(1c.3r(9X/c.r.8r),c);c.1r(\'4s\',c.C);h c},1H:k(4T){m(!c.2c)h c;c.2c=$8q(c.2c);m(!4T)c.1r(\'6m\',c.C);h c},1R:k(K,J){h c.1g(K,J)},9T:k(4T){h c.1H(4T)}});17.2l.59(T 6q,T 2t,T 4Y);17.2v={33:k(u,J){m(u.2F(/4F/i))h c.6L;o t=$t(J);m((t==\'1j\')||(t==\'2G\'&&J.19(\' \')))h c.4S;h c.8P},2d:k(q,u,3G){m(!3G.1e)3G=[3G];o K=3G[0],J=3G[1];m(!$24(J)){J=K;K=q.1K(u)}o 1k=c.33(u,J);h{\'K\':1k.2d(K),\'J\':1k.2d(J),\'1k\':1k}}};17.2v.8P={2d:k(F){h 4i(F)},3O:k(K,J,3F){h 3F.3p(K,J)},2X:k(F,1T,u){m(1T==\'3I\'&&u!=\'1V\')F=1c.3r(F);h F+1T}};17.2v.4S={2d:k(F){h F.1e?F:F.51(\' \').2h(k(v){h 4i(v)})},3O:k(K,J,3F){o Q=[];G(o i=0;i<K.P;i++)Q[i]=3F.3p(K[i],J[i]);h Q},2X:k(F,1T,u){m(1T==\'3I\'&&u!=\'1V\')F=F.2h(1c.3r);h F.1P(1T+\' \')+1T}};17.2v.6L={2d:k(F){h F.1e?F:F.4N(1d)},3O:k(K,J,3F){o Q=[];G(o i=0;i<K.P;i++)Q[i]=1c.3r(3F.3p(K[i],J[i]));h Q},2X:k(F){h\'2f(\'+F.1P(\',\')+\')\'}};17.6M=17.2l.I({1q:k(q,u,r){c.C=$(q);c.u=u;c.1i(r)},8M:k(){h c.2z(0)},3v:k(){c.Q=c.1k.3O(c.K,c.J,c)},2z:k(J){c.1k=17.2v.33(c.u,J);h c.1i(c.1k.2d(J))},1g:k(K,J){m(c.2c&&c.r.3Z)h c;o 1F=17.2v.2d(c.C,c.u,[K,J]);c.1k=1F.1k;h c.1i(1F.K,1F.J)},3q:k(){c.C.2J(c.u,c.1k.2X(c.Q,c.r.1T,c.u))}});H.I({aa:k(u,r){h T 17.6M(c,u,r)}});17.34=17.2l.I({1q:k(q,r){c.C=$(q);c.1i(r)},3v:k(){G(o p 18 c.K)c.Q[p]=c.1k[p].3O(c.K[p],c.J[p],c)},2z:k(J){o 1F={};c.1k={};G(o p 18 J){c.1k[p]=17.2v.33(p,J[p]);1F[p]=c.1k[p].2d(J[p])}h c.1i(1F)},1g:k(Y){m(c.2c&&c.r.3Z)h c;c.Q={};c.1k={};o K={},J={};G(o p 18 Y){o 1F=17.2v.2d(c.C,p,Y[p]);K[p]=1F.K;J[p]=1F.J;c.1k[p]=1F.1k}h c.1i(K,J)},3q:k(){G(o p 18 c.Q)c.C.2J(p,c.1k[p].2X(c.Q[p],c.r.1T,p))}});H.I({a1:k(r){h T 17.34(c,r)}});17.1I=17.2l.I({1q:k(N,r){c.N=$$(N);c.1i(r)},3v:k(){G(o i 18 c.K){o 4D=c.K[i],2Z=c.J[i],2S=c.1k[i],4p=c.Q[i]={};G(o p 18 4D)4p[p]=2S[p].3O(4D[p],2Z[p],c)}},2z:k(J){o 1F={};c.1k={};G(o i 18 J){o 2Z=J[i],2S=c.1k[i]={},8H=1F[i]={};G(o p 18 2Z){2S[p]=17.2v.33(p,2Z[p]);8H[p]=2S[p].2d(2Z[p])}}h c.1i(1F)},1g:k(Y){m(c.2c&&c.r.3Z)h c;c.Q={};c.1k={};o K={},J={};G(o i 18 Y){o 6N=Y[i],4D=K[i]={},2Z=J[i]={},2S=c.1k[i]={};G(o p 18 6N){o 1F=17.2v.2d(c.N[i],p,6N[p]);4D[p]=1F.K;2Z[p]=1F.J;2S[p]=1F.1k}}h c.1i(K,J)},3q:k(){G(o i 18 c.Q){o 4p=c.Q[i],2S=c.1k[i];G(o p 18 4p)c.N[i].2J(p,2S[p].2X(4p[p],c.r.1T,p))}}});17.9V=17.2l.I({r:{1J:[],2N:{\'x\':0,\'y\':0},8t:1d},1q:k(C,r){c.Q=[];c.C=$(C);c.26={\'1H\':c.1H.R(c,O)};c.1i(r);m(c.r.8t){c.25(\'4s\',k(){M.25(\'3P\',c.26.1H)}.R(c));c.25(\'2s\',k(){M.4x(\'3P\',c.26.1H)}.R(c))}},3v:k(){G(o i=0;i<2;i++)c.Q[i]=c.3p(c.K[i],c.J[i])},3d:k(x,y){m(c.2c&&c.r.3Z)h c;o q=c.C.6s();o 1B={\'x\':x,\'y\':y};G(o z 18 q.3m){o 2g=q.6t[z]-q.3m[z];m($24(1B[z]))1B[z]=($t(1B[z])==\'4r\')?1B[z].1t(0,2g):2g;15 1B[z]=q.3Y[z];1B[z]+=c.r.2N[z]}h c.1g([q.3Y.x,q.3Y.y],[1B.x,1B.y])},an:k(){h c.3d(O,0)},am:k(){h c.3d(O,\'8X\')},as:k(){h c.3d(0,O)},ay:k(){h c.3d(\'8X\',O)},8V:k(q){o 1i=c.C.3f(c.r.1J);o 2K=$(q).3f(c.r.1J);h c.3d(2K.x-1i.x,2K.y-1i.y)},3q:k(){c.C.3d(c.Q[0],c.Q[1])}});17.9a=17.2l.I({r:{1M:\'8W\'},1q:k(q,r){c.C=$(q);c.3z=T H(\'9K\',{\'8h\':$I(c.C.8p(\'2p\'),{\'9F\':\'4L\'})}).8S(c.C).8R(c.C);c.C.2J(\'2p\',0);c.3k(r);c.Q=[];c.1i(c.r);c.3C=1d;c.25(\'2s\',k(){c.3C=(c.Q[0]===0)});m(U.4Q)c.25(\'2s\',k(){m(c.3C)c.C.3w().3o(c.3z)})},3v:k(){G(o i=0;i<2;i++)c.Q[i]=c.3p(c.K[i],c.J[i])},8W:k(){c.2p=\'2p-1o\';c.4j=\'2Y\';c.2N=c.C.47},9i:k(){c.2p=\'2p-1w\';c.4j=\'2x\';c.2N=c.C.4m},8L:k(1M){c[1M||c.r.1M]();h c.1g([c.C.1K(c.2p).2o(),c.3z.1K(c.4j).2o()],[0,c.2N])},8O:k(1M){c[1M||c.r.1M]();h c.1g([c.C.1K(c.2p).2o(),c.3z.1K(c.4j).2o()],[-c.2N,0])},8M:k(1M){c[1M||c.r.1M]();c.3C=O;h c.2z([-c.2N,0])},9p:k(1M){c[1M||c.r.1M]();c.3C=1d;h c.2z([0,c.2N])},ca:k(1M){m(c.3z.47==0||c.3z.4m==0)h c.8L(1M);h c.8O(1M)},3q:k(){c.C.2J(c.2p,c.Q[0]+c.r.1T);c.3z.2J(c.4j,c.Q[1]+c.r.1T)}});17.6A=k(1C,2a){2a=2a||[];m($t(2a)!=\'1j\')2a=[2a];h $I(1C,{c7:k(1S){h 1C(1S,2a)},cc:k(1S){h 1-1C(1-1S,2a)},cd:k(1S){h(1S<=0.5)?1C(2*1S,2a)/2:(2-1C(2*(1-1S),2a))/2}})};17.2y=T 3y({ci:k(p){h p}});17.2y.I=k(6w){G(o 1C 18 6w){17.2y[1C]=T 17.6A(6w[1C]);17.2y.6z(1C)}};17.2y.6z=k(1C){[\'ch\',\'cg\',\'ce\'].1G(k(6x){17.2y[1C.4a()+6x]=17.2y[1C][\'cf\'+6x]})};17.2y.I({c5:k(p,x){h 1c.2L(p,x[0]||6)},bQ:k(p){h 1c.2L(2,8*(p-1))},cw:k(p){h 1-1c.8N(1c.cn(p))},cD:k(p){h 1-1c.8N((1-p)*1c.6B/2)},b9:k(p,x){x=x[0]||1.bH;h 1c.2L(p,2)*((x+1)*p-x)},bL:k(p){o F;G(o a=0,b=1;1;a+=b,b/=2){m(p>=(7-4*a)/11){F=-1c.2L((11-6*a-11*p)/4,2)+b*b;1y}}h F},al:k(p,x){h 1c.2L(2,10*--p)*1c.84(20*p*1c.6B*(x[0]||1)/3)}});[\'bq\',\'bz\',\'bK\',\'bJ\'].1G(k(1C,i){17.2y[1C]=T 17.6A(k(p){h 1c.2L(p,[i+2])});17.2y.6z(1C)});o 3u={};3u.2l=T 1b({r:{4w:O,1T:\'3I\',4s:1b.1A,7b:1b.1A,2s:1b.1A,7q:1b.1A,7s:1b.1A,1t:O,31:{x:\'1w\',y:\'1o\'},3i:O,7j:6},1q:k(q,r){c.3k(r);c.C=$(q);c.4w=$(c.r.4w)||c.C;c.2w={\'Q\':{},\'1S\':{}};c.F={\'1g\':{},\'Q\':{}};c.26={\'1g\':c.1g.5u(c),\'3N\':c.3N.5u(c),\'3n\':c.3n.5u(c),\'1H\':c.1H.R(c)};c.79();m(c.r.1q)c.r.1q.1X(c)},79:k(){c.4w.25(\'6y\',c.26.1g);h c},bN:k(){c.4w.4x(\'6y\',c.26.1g);h c},1g:k(B){c.1r(\'7b\',c.C);c.2w.1g=B.3A;o 1t=c.r.1t;c.1t={\'x\':[],\'y\':[]};G(o z 18 c.r.31){m(!c.r.31[z])58;c.F.Q[z]=c.C.1K(c.r.31[z]).2o();c.2w.1S[z]=B.3A[z]-c.F.Q[z];m(1t&&1t[z]){G(o i=0;i<2;i++){m($24(1t[z][i]))c.1t[z][i]=($t(1t[z][i])==\'k\')?1t[z][i]():1t[z][i]}}}m($t(c.r.3i)==\'4r\')c.r.3i={\'x\':c.r.3i,\'y\':c.r.3i};M.30(\'3U\',c.26.3N);M.30(\'6C\',c.26.1H);c.1r(\'4s\',c.C);B.1H()},3N:k(B){o 7i=1c.3r(1c.bB(1c.2L(B.3A.x-c.2w.1g.x,2)+1c.2L(B.3A.y-c.2w.1g.y,2)));m(7i>c.r.7j){M.43(\'3U\',c.26.3N);M.30(\'3U\',c.26.3n);c.3n(B);c.1r(\'7q\',c.C)}B.1H()},3n:k(B){c.45=O;c.2w.Q=B.3A;G(o z 18 c.r.31){m(!c.r.31[z])58;c.F.Q[z]=c.2w.Q[z]-c.2w.1S[z];m(c.1t[z]){m($24(c.1t[z][1])&&(c.F.Q[z]>c.1t[z][1])){c.F.Q[z]=c.1t[z][1];c.45=1d}15 m($24(c.1t[z][0])&&(c.F.Q[z]<c.1t[z][0])){c.F.Q[z]=c.1t[z][0];c.45=1d}}m(c.r.3i[z])c.F.Q[z]-=(c.F.Q[z]%c.r.3i[z]);c.C.2J(c.r.31[z],c.F.Q[z]+c.r.1T)}c.1r(\'7s\',c.C);B.1H()},1H:k(){M.43(\'3U\',c.26.3N);M.43(\'3U\',c.26.3n);M.43(\'6C\',c.26.1H);c.1r(\'2s\',c.C)}});3u.2l.59(T 2t,T 4Y);H.I({aX:k(r){h T 3u.2l(c,$3e({31:{x:\'2x\',y:\'2Y\'}},r))}});3u.6R=3u.2l.I({r:{4Z:[],2r:O,1J:[]},1q:k(q,r){c.3k(r);c.C=$(q);c.4Z=$$(c.r.4Z);c.2r=$(c.r.2r);c.1Q={\'C\':c.C.1K(\'1Q\'),\'2r\':O};m(c.2r)c.1Q.2r=c.2r.1K(\'1Q\');m(![\'6G\',\'3R\',\'6F\'].19(c.1Q.C))c.1Q.C=\'3R\';o 1o=c.C.1K(\'1o\').2o();o 1w=c.C.1K(\'1w\').2o();m(c.1Q.C==\'3R\'&&![\'6G\',\'3R\',\'6F\'].19(c.1Q.2r)){1o=$24(1o)?1o:c.C.7l(c.r.1J);1w=$24(1w)?1w:c.C.7m(c.r.1J)}15{1o=$24(1o)?1o:0;1w=$24(1w)?1w:0}c.C.6D({\'1o\':1o,\'1w\':1w,\'1Q\':c.1Q.C});c.1i(c.C)},1g:k(B){c.2i=1f;m(c.2r){o 3g=c.2r.5i();o q=c.C.5i();m(c.1Q.C==\'3R\'&&![\'6G\',\'3R\',\'6F\'].19(c.1Q.2r)){c.r.1t={\'x\':[3g.1w,3g.4f-q.2x],\'y\':[3g.1o,3g.4c-q.2Y]}}15{c.r.1t={\'y\':[0,3g.2Y-q.2Y],\'x\':[0,3g.2x-q.2x]}}}c.1i(B)},3n:k(B){c.1i(B);o 2i=c.45?O:c.4Z.2k(c.8f,c).6E();m(c.2i!=2i){m(c.2i)c.2i.1r(\'bi\',[c.C,c]);c.2i=2i?2i.1r(\'bj\',[c.C,c]):1f}h c},8f:k(q){q=q.5i(c.r.1J);o Q=c.2w.Q;h(Q.x>q.1w&&Q.x<q.4f&&Q.y<q.4c&&Q.y>q.1o)},1H:k(){m(c.2i&&!c.45)c.2i.1r(\'cp\',[c.C,c]);15 c.C.1r(\'cs\',c);c.1i();h c}});H.I({ct:k(r){h T 3u.6R(c,r)}});o 6r=T 1b({r:{1N:\'3E\',8d:1d,86:1b.1A,4u:1b.1A,5d:1b.1A,6Y:1d,4b:\'cz-8\',8b:O,3x:{}},6n:k(){c.1U=(U.4W)?T 4W():(U.28?T 73(\'bS.bT\'):O);h c},1q:k(r){c.6n().3k(r);c.r.4z=c.r.4z||c.4z;c.3x={};m(c.r.6Y&&c.r.1N==\'3E\'){o 4b=(c.r.4b)?\'; cj=\'+c.r.4b:\'\';c.4y(\'7L-t\',\'7Q/x-80-c6-c8\'+4b)}m(c.r.1q)c.r.1q.1X(c)},8a:k(){m(c.1U.cb!=4||!c.3X)h;c.3X=O;o 3h=0;44{3h=c.1U.3h}3Q(e){};m(c.r.4z.1X(c,3h))c.4u();15 c.5d();c.1U.6o=1b.1A},4z:k(3h){h((3h>=9o)&&(3h<9s))},4u:k(){c.36={\'1z\':c.1U.9g,\'4C\':c.1U.9e};c.1r(\'4u\',[c.36.1z,c.36.4C]);c.6I()},5d:k(){c.1r(\'5d\',c.1U)},4y:k(1p,F){c.3x[1p]=F;h c},4M:k(2M,1v){m(c.r.8b)c.7S();15 m(c.3X)h c;c.3X=1d;m(1v&&c.r.1N==\'7O\'){2M=2M+(2M.19(\'?\')?\'&\':\'?\')+1v;1v=1f}c.1U.3C(c.r.1N.6p(),2M,c.r.8d);c.1U.6o=c.8a.R(c);m((c.r.1N==\'3E\')&&c.1U.9H)c.4y(\'9d\',\'9w\');$I(c.3x,c.r.3x);G(o t 18 c.3x)44{c.1U.9v(t,c.3x[t])}3Q(e){};c.1r(\'86\');c.1U.4M($48(1v,1f));h c},7S:k(){m(!c.3X)h c;c.3X=O;c.1U.7D();c.1U.6o=1b.1A;c.6n();c.1r(\'6m\');h c}});6r.59(T 6q,T 2t,T 4Y);o 7f=6r.I({r:{1v:1f,6v:1f,2s:1b.1A,4U:O,6H:O},1q:k(2M,r){c.25(\'4u\',c.2s);c.3k(r);c.r.1v=c.r.1v||c.r.aw;m(![\'3E\',\'7O\'].19(c.r.1N)){c.4o=\'4o=\'+c.r.1N;c.r.1N=\'3E\'}c.1i();c.4y(\'X-ax-ar\',\'4W\');c.4y(\'9L\',\'1z/ak, 1z/aj, 7Q/4C, 1z/4C, */*\');c.2M=2M},2s:k(){m(c.r.6v)$(c.r.6v).1A().6u(c.36.1z);m(c.r.4U||c.r.6H)c.4U();c.1r(\'2s\',[c.36.1z,c.36.4C],20)},8n:k(1v){1v=1v||c.r.1v;22($t(1v)){12\'C\':1v=$(1v).4n();1y;12\'2I\':1v=6J.4n(1v)}m(c.4o)1v=(1v)?[c.4o,1v].1P(\'&\'):c.4o;h c.4M(c.2M,1v)},4U:k(){o 2A,2O;m(c.r.6H||(/(aK|aO)2A/).2F(c.7z(\'7L-t\')))2O=c.36.1z;15{2O=[];o 49=/<2A[^>]*>([\\s\\S]*?)<\\/2A>/aC;52((2A=49.aB(c.36.1z)))2O.1e(2A[1]);2O=2O.1P(\'\\n\')}m(2O)(U.7G)?U.7G(2O):U.7F(2O,0)},7z:k(1p){44{h c.1U.ai(1p)}3Q(e){};h 1f}});6J.4n=k(2u){o 3W=[];G(o u 18 2u)3W.1e(6K(u)+\'=\'+6K(2u[u]));h 3W.1P(\'&\')};H.I({4M:k(r){h T 7f(c.4g(\'a9\'),$3e({1v:c.4n()},r,{1N:\'3E\'})).8n()}});',62,787,'||||||||||||this|||||return|||function||if||var||el|options||type|property|||||||event|element|||value|for|Element|extend|to|from|fn|document|elements|false|length|now|bind||new|window|events|param||obj||||case||arguments|else||Fx|in|contains|args|Class|Math|true|push|null|start|items|parent|array|css|style|result|className|top|name|initialize|fireEvent|prototype|limit|selector|data|left|props|break|text|empty|values|transition|keys|prop|parsed|each|stop|Elements|overflown|getStyle|current|mode|method|relatedTarget|join|position|custom|pos|unit|transport|opacity|Garbage|call|nocash|delay||Array|switch|temp|chk|addEvent|bound||ie|Event|params|documentElement|timer|parse|key|rgb|max|map|overed|Methods|filter|Base|create|context|toInt|margin|getElementsByTagName|container|onComplete|Events|source|CSS|mouse|width|Transitions|set|script|match|item|tag|parentNode|test|string|properties|object|setStyle|target|pow|url|offset|scripts|returns|option|shared|iCss|time|index|previous|replace|getValue|height|iTo|addListener|modifiers||select|Styles|xpath|response||||border|iterable|tmp|scrollTo|merge|getPosition|cont|status|grid|val|setOptions|chains|size|drag|inject|compute|increase|round|min|hex|Drag|setNow|remove|headers|Abstract|wrapper|page|id|open|native|post|fx|fromTo|getTag|px|apply|len|results|indexOf|check|getNow|mousewheel|catch|absolute|htmlElement|collect|mousemove|periodical|queryString|running|scroll|wait||webkit|bit|removeListener|try|out||offsetHeight|pick|regexp|toLowerCase|encoding|bottom|parseInt|unique|right|getProperty|next|parseFloat|layout|walk|mix|offsetWidth|toQueryString|_method|iNow|HTMLElement|number|onStart|scrollLeft|onSuccess|scrollTop|handle|removeEvent|setHeader|isSuccess|klass|precision|xml|iFrom|getElementsBySelector|color|scrollHeight|body|mp|typeof|scrollWidth|hidden|send|hexToRgb|getElements|proto|webkit419|getElementById|Multi|end|evalScripts|preventDefault|XMLHttpRequest|stopPropagation|Options|droppables||split|while|generic|setMany|removeEvents|splice|realType|continue|implement|code|setProperty|defined|onFailure|currentStyle|rgbToHex|every|Properties|getCoordinates|fKey|trash|visibility|Listeners|included|fix|regex|brother|tagName|forEach|evType|bindWithEvent|attempt|camelCase|random|on|xhtml|class|charAt|appendChild|RegExp|clean|hasClass|getMany|node|getParam|flag|concat|getItems|firstChild|trim|found|String|padding|innerText|cssText|pairs|Function|delete|addEventListener|qs|Dom|NativeEvents|gecko|newArray|hasChild|selected|addEvents|multiple|checked|include|insertBefore|unload|mouseout|merged|default|duration|pageX|pageY|nodeType|DOMMouseScroll|mouseover|first|operator|disabled|onCancel|setTransport|onreadystatechange|toUpperCase|Chain|XHR|getSize|scrollSize|setHTML|update|transitions|easeType|mousedown|compat|Transition|PI|mouseup|setStyles|getLast|fixed|relative|evalResponse|callChain|Object|encodeURIComponent|Color|Style|iProps|shift|extended|wheelDelta|Move|Top|ie6|clientX|constructor|removeEventListener|PropertiesIFlag|urlEncoded|Right|Left|pp|direction|ActiveXObject|clientY|borderShort|Bottom|undefined|picked|attach|cloneEvents|onBeforeStart|mouseenter|mouseleave|beforeunload|Ajax|keydown|click|distance|snap|fixRelatedTarget|getTop|getLeft|0px|relatedTargetGecko|head|onSnap|add|onDrag|which|capitalize|contents|argument|after|before|getHeader|callee|addClass|removeClass|abort|Merge|setTimeout|execScript|createElement|slice|interval|Number|Content|copy|where|get|elementsProperty|application|setOpacity|cancel|appendText|removeChild|setProperties|nodeValue|styleSheet|innerHTML|toFloat|www|fixStyle|textContent|childNodes|cos|defaultView|onRequest|zoom|visible|hyphenate|onStateChange|autoCancel|getNext|async|Width|checkAgainst|change|styles|resolver|evaluate|delta|step|prefix|request|getFormElements|getStyles|clear|fps|pageYOffset|wheelStops|input|getScrollWidth|getScrollHeight|normal|textarea|getHeight|getScrollLeft|filterByClass|filterByAttribute|getWidth|filterById|getScrollTop|pageXOffset|iParsed|getElement|clientWidth|clientHeight|slideIn|hide|sin|slideOut|Single|opera|adopt|injectAfter|substr|sel|toElement|vertical|full|zIndex|clone|cloneNode|offsetParent|replaceChild|float|offsetLeft|do|toggleClass|createTextNode|styleFloat|cssFloat|Slide|offsetTop|replaceWith|Connection|responseXML|attributes|responseText|getAttribute|horizontal|getParent|getChildren|removeProperty|removeAttribute|setText|200|show|setAttribute|getProperties|300|lastChild|getFirst|setRequestHeader|close|innerWidth|password|100|hasLayout|alpha|radio|getComputedStyle|getPrevious|overflow|Sibling|overrideMimeType|getPropertyValue|checkbox|div|Accept|webkit420|getBoxObjectFor|khtml|taintEnabled|navigator|ie7|all|clearTimer|iframe|Scroll|chain|1000|BackgroundImageCache|DOMElement|execCommand|effects|Document|whitespace|collection|textnode|nodeName|MooTools|version|action|effect|clearInterval|Window|clearTimeout|getTime|floor|Date|clearChain|getResponseHeader|html|javascript|Elastic|toBottom|toTop|embed||boolean|With|toLeft|innerHeight|injectInside|injectBefore|postBody|Requested|toRight|times|bindAsEventListener|exec|gi|500|getRandom|some|associate|escapeRegExp|transparent|pass|ecma|err|setInterval|toString|java|injectTop|getElementsByClassName|cancelBubble|returnValue|fromElement|button|w3|rightClick|makeResizable|snapshotItem|esc|space|down|up|snapshotLength|enter|org|client|120|detail|Back|wheel|meta|metaKey|keyCode|111|1999|menu|fromCharCode|leave|over|backspace|tab|filterByTag|resize|load|keyup|Quad|keypress|move|focus|error|contextmenu|reset|submit|blur|Cubic|dblclick|sqrt|starts|with|substring|UNORDERED_NODE_SNAPSHOT_TYPE|XPathResult|618|namespaceURI|Quint|Quart|Bounce|ES|detach|altKey|http|Expo|htmlFor|Microsoft|XMLHTTP|borderStyle|borderColor|colspan|colSpan|tabindex|tabIndex|accessKey|accesskey|rowspan|alt|borderWidth|Pow|form|easeIn|urlencoded|getText|toggle|readyState|easeOut|easeInOut|InOut|ease|Out|In|linear|charset|maxlength|rowSpan|readOnly|acos|href|drop|attachEvent|frameborder|emptydrop|makeDraggable|frameBorder|CollectGarbage|Circ|readonly|detachEvent|utf|maxLength|ctrlKey|control|Sine|srcElement|shiftKey|src'.split('|'),0,{}))

// Intitiate namespace so we don't conflict with any introduced functions
ASC = {};
ASC.component = {};

/*
* Bindings for page elements
*
*/
ASC.bindings = {

	S31_form: "s31_form",
	S31_form_question_page_title: "s31_page_title",
	S31_form_question_assetid: "s31_assetid",

	S5_holder_div: "feature-stories",
	S5_unordered_list: "feature-stories-list",
	S5_preloader_holder: "preloader",
	S5_preloader_pause_button: "preloader-pause-button",
	S5_preloader_progress_bar: "preloader-progress-bar",
	S5_feature_stories_items: "feature-stories-items",
	S5_current_feature: "current-feature",
	S5_current_feature_textoverlay: "current-feature-textoverlay",

	S23_single_div: "programs-events-single",
	S23_dual_div: "programs-events-dual"

};

/*
* S31 Component - Question
*
* Hyperlink that passes current url, page title and asset id to custom form
*/
ASC.utils = {

		getQuery: function( name ) {

			name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
			var regexS = "[\\?&]"+name+"=([^&#]*)";
			var regex = new RegExp( regexS );
			var results = regex.exec( window.location.href );
			if( results == null ) {
				return null;
			} else {
				return results[1];
			}// End if

		},// End getQuery

		addEvent: function(obj, evType, fn){
			if (obj.addEventListener){
				obj.addEventListener(evType, fn, true);
				return true;
			} else if (obj.attachEvent){
				var r = obj.attachEvent("on"+evType, fn);
				return r;
			} else {
				return false;
			}// End if
		},// End addEvent

		cleanWhiteSpace: function(elem) {
			elem = elem || document;
			for ( var i = 0; i < elem.childNodes; i ++ ) {
				var cur = elem.childNodes[i];
				if ( cur.nodeType == 3 && ! /\S/.test(cur.nodeValue) ) {
					elem.removeChild(cur);
				} else if ( cur.nodeType == 1 ) {
					this.cleanWhiteSpace(cur);
				}// End if
			}// End while
		},// End cleanWhiteSpace

		/*
	Written by Jonathan Snook, http://www.snook.ca/jonathan
	Add-ons by Robert Nyman, http://www.robertnyman.com
	*/
    getElementsByClassName: function(oElm, strTagName, strClassName){
        var arrElements = (strTagName == "*" && document.all)? document.all : oElm.getElementsByTagName(strTagName);
        var arrReturnElements = new Array();
        strClassName = strClassName.replace(/\-/g, "\\-");
        var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
        var oElement;
        for(var i=0; i<arrElements.length; i++){
            oElement = arrElements[i];
            if(oRegExp.test(oElement.className)){
                arrReturnElements.push(oElement);
            }
        }
        return (arrReturnElements)
    }


};// End ASC.utils

/*
* Reveals extra column when screen width is detected as being wide enough
*/
ASC.hiddenExtras = function() {

	//console.log('processing extra div');
	if ( ! $('container') ) {
		return false;
	}

	var ascWide;
	if (self.innerHeight) // all except Explorer
	{
		ascWide = self.innerWidth;
	}
	else if (document.documentElement && document.documentElement.clientHeight)
		// Explorer 6 Strict Mode
	{
		ascWide = document.documentElement.clientWidth;
	}
	else if (document.body) // other Explorers
	{
		ascWide = document.body.clientWidth;
	}

	if (ascWide > 1200) {

		//console.log('Showing extra div');

		$('container').style.width='1220px';
		$('container').style.marginLeft='0px';
		$('container').style.marginRight='0px';

		// adjust the layout
		if ( $('extra') ) {
			// Subpage
			$('extra').style.display='block'; // was block
			$('content').style.marginRight='265px'; // was block
			$('navigation').style.marginLeft='-1220px'; // was block
		} else if ( $('extracolumn') ) {
			// Homepage
			$('extracolumn').style.display='block'; // was block
			$('wide').style.marginRight='255px';
		}


	}
}

/*
* S31 Component - Question
*
* Hyperlink that passes current url, page title and asset id to custom form
*/
/*
ASC.component.S31_Question = new Class({

		bindToForm: function() {

			if ( $( ASC.bindings.S31_form ) != null ) {

				this.form = $( ASC.bindings.S31_form );
				return true;

			} else {

				this.form = null;
				return false;

			}

		},// End bindToForm

		fillFormValues: function( page_title, assetid ) {

			if ( $( ASC.bindings.S31_form_question_page_title ) != null ) {
				var question_page_title = $( ASC.bindings.S31_form_question_page_title );
				question_page_title.value = page_title;
			}

			if ( $( ASC.bindings.S31_form_question_assetid ) != null ) {
				var question_assetid = $( ASC.bindings.S31_form_question_assetid );
				question_assetid.value = assetid;
			}

		},// End fillFormValues

		init: function() {

			if ( ! this.bindToForm() ) {
				//console.log( 'S31 Question not loaded. Form id "%s" not found', ASC.bindings.S31_form );
				return;
			}

			// Store current page href
			this.current_url = window.location.href;

			// Get page title of submitted page
			this.page_title = ASC.utils.getQuery( 'page_title' );

			if ( this.page_title == null ) {
				//console.log( 'Page title was not supplied' );
			}

			// Get assetid of submitted page
			this.assetid = ASC.utils.getQuery( 'assetid' );

			if ( this.assetid == null ) {
				//console.log( 'Asset id was not supplied' );
			}

			// Populate form values
			this.fillFormValues( this.page_title, this.assetid );

		}// End init

});// End ASC.component.S31_Question
*/

/*
* S23 Component - Programs & Events
*
* Scrollable interface ( single + dual )
* Binds to static ids, so only one dual and one single scroller allowed per page
*/
ASC.component.S23_Programs_Events = new Class({

		init: function() {

			// Bind to divs
			var single = $(ASC.bindings.S23_single_div);
			var dual = $(ASC.bindings.S23_dual_div);

			// Start single scroller if available
			if ( single ) {

				this.initSingle(ASC.bindings.S23_single_div);

			}// End if

			// Start dual scroller if available
			if ( dual ) {

				this.initDual(ASC.bindings.S23_dual_div);

			}// End if

		},// End init

		initSingle: function(id) {

			console.log('init single');

			this.items_per_set = 1;
			this.current_item_index = 0;

			this.bindScroll(id);

		},// End initSingle

		initDual: function(id) {

			console.log('init dual');

			this.items_per_set = 2;
			this.current_item_index = 0;

			this.bindScroll(id);

		},// End initDual

		setActiveStatusClass: function(item_num) {

			var thisRef = this;

			for ( var i = 1; i <= thisRef.num_items; i ++ ) {

				console.log('setting status for %s',thisRef.id + '-status-id-' + i);

				if ( item_num == i ) {
					$(thisRef.id + '-status-id-' + i).className = 'status-active';
				} else {
					$(thisRef.id + '-status-id-' + i).className = 'status-inactive';
				}

			}// End for

		},// End setActiveStatusClass

		bindScroll: function(id) {

			console.log('binding scroller to ' + id);

			var thisRef = this;

			thisRef.id = id;
			thisRef.num_items = $$('#' + id + ' .item').length;

			// Init scroller
			thisRef.scroll = new Fx.Scroll(id + '-scrollable-region-container', {
				wait: false,
				duration: 1000,
				offset: {'x': 0, 'y': -7},
				transition: Fx.Transitions.Quad.easeInOut
			});

			// Init status indicators
			thisRef.status_div = $(id + '-status');
			for ( var i = 1; i <= thisRef.num_items; i ++ ) {

				var status = document.createElement('div');
				status.innerHTML = '&nbsp;';
				status.id = id + '-status-id-' + i;
				if ( i == 1 ) {
					status.className = 'status-active';
				} else {
					status.className = 'status-inactive';
				}// End if
				thisRef.status_div.appendChild(status);
			}// End for

			// Bind next button
			$(id + '-next-button').addEvent('click', function(event) {

				event = new Event(event).stop();
				var diff = (thisRef.num_items - (thisRef.current_item_index + 1));
				//console.log('next clicked ' + thisRef.num_items);
				if ( thisRef.current_item_index != (thisRef.num_items - 1) &&  diff >= thisRef.items_per_set ){
					thisRef.current_item_index ++;
					console.log('scrolling right to ' + thisRef.current_item_index);
					thisRef.setActiveStatusClass(thisRef.current_item_index + 1);
					thisRef.scroll.toElement(id + '-item-' + (thisRef.current_item_index + 1));
				}

			});

			// Bind previous button
			$(id + '-previous-button').addEvent('click', function(event) {
				event = new Event(event).stop();
				//console.log('previous clicked ' + thisRef.current_item_index);
				if ( thisRef.current_item_index != 0  ){
					thisRef.current_item_index --;
					console.log('scrolling left to ' + thisRef.current_item_index);
					thisRef.setActiveStatusClass(thisRef.current_item_index + 1);
					thisRef.scroll.toElement(id + '-item-' + (thisRef.current_item_index + 1));
				}
			});

		}

});

/*
* S5 Component - Feature Stories
*
* Feature stories - scrolls between 3 feature stories, 10 second intervals
*/
ASC.component.S5_Feature_Stories = new Class({

		init: function() {

			this.current = 1;
			this.total = 3;
			this.interval = 10000;
			this.paused = false;
			this.items = [];

			//alert(ASC.bindings.S5_unordered_list);
			if ( holder = $(ASC.bindings.S5_unordered_list) ) {
				//alert(holder);
				this.rewriteContentHolder(holder);
				this.Rotate();
			}
		},// End init

		rewriteContentHolder: function(holderElem) {

			// Sort out scoping issues - js handles poorly
			var S5_ref = this;

			// Create a document fragment to hold new content output
			var frag = document.createDocumentFragment();

			// Add the html for the current feature
			var currentFeature = document.createElement('div');
			currentFeature.id = ASC.bindings.S5_current_feature;
			currentFeature.className = ASC.bindings.S5_current_feature;

			var currentFeatureTextOverlay = document.createElement('div');
			currentFeatureTextOverlay.id = ASC.bindings.S5_current_feature_textoverlay;
			currentFeatureTextOverlay.className = ASC.bindings.S5_current_feature_textoverlay;
			currentFeature.appendChild(currentFeatureTextOverlay);

			// Loop through the child nodes and populate each news item
			var newsItems = document.createElement('div');
			newsItems.id = ASC.bindings.S5_feature_stories_items;
			var count = 1;
			for ( var i = 0; i < holderElem.childNodes.length; i ++ ) {

				var newsItem = holderElem.childNodes[i];

				//console.log('item: %o',newsItem);
				if ( newsItem.nodeName == 'LI' ) {
					//console.log('item: %o',newsItem);

					// todo: fix whitespace issues
					if ( window.ie ) {
						var thumb = newsItem.childNodes[0];
						//alert(thumb.nodeName);
						var large_img = newsItem.childNodes[2];
						//alert(large_img.nodeName);
						var link = newsItem.childNodes[4];
						//alert(link.nodeName);
						var description = newsItem.childNodes[6];
						//alert(description.nodeName);
					} else {
						var thumb = newsItem.childNodes[1];
						var large_img = newsItem.childNodes[3];
						var link = newsItem.childNodes[5];
						var description = newsItem.childNodes[7];
					}
					
					if ( ! description ) {
						var description = document.createElement('div');
						description.innerHTML = "";
					}

					this.items[count] = [thumb.src,large_img.src,link.innerHTML,description.innerHTML,link.href];

					//console.log('item: %s',this.items[count]);

					var item_link = document.createElement('a');
					item_link.style.background = 'url("' + thumb.src + '")';
					item_link.title = count;

					item_link.onclick = function() {
						//console.log('loading story #%s',this.title);
						S5_ref.Load(this.title);
					}


					//console.log('item link %o',thumb);
					var item_overlay = document.createElement('div');
					item_overlay.className = 'feature-story-overlay';
					item_overlay.id = 'feature-story-overlay-' + count;
					var item_overlay_number = document.createElement('div');
					item_overlay_number.id = 'feature-story-overlay-number-' + count;
					if ( count == 1 ) {
						item_overlay_number.className = 'feature-story-overlay-number-current';
						//console.log(large_img);
						//Cannot use dom features here yet as content does not yet exist in the dom
						currentFeature.style.background = 'url("' + large_img.src + '")';
						
						var clickable = document.createElement('a');
						clickable.href = link.href;
						clickable.innerHTML = link.innerHTML;
						
						var h2 = document.createElement('h2');
						h2.appendChild(clickable);
						
						var span = document.createElement('span');
						span.innerHTML = description.innerHTML;					
						
						
						//currentFeatureTextOverlay.innerHTML = "<h2>" + link.innerHTML + "</h2><span>" + description.innerHTML + "</span>";
						currentFeatureTextOverlay.innerHTML = "";
						currentFeatureTextOverlay.appendChild(h2);
						currentFeatureTextOverlay.appendChild(span);
					} else {
						item_overlay_number.className = 'feature-story-overlay-number';
					}
					item_overlay_number.innerHTML = count;

					item_link.appendChild(item_overlay_number);
					item_link.appendChild(item_overlay);
					newsItems.appendChild(item_link);

					count ++;
				}// End if


			}// End for

			// Create the html for the story preload simulator
			var preloadHolder = document.createElement('div');
			preloadHolder.id = ASC.bindings.S5_preloader_holder;
			var preloadingDiv = document.createElement('div');
			preloadingDiv.className = 'feature-story-preloader';
			var preloadingDivProgress = document.createElement('div');
			preloadingDivProgress.id = ASC.bindings.S5_preloader_progress_bar;
			preloadingDivProgress.innerHTML = "&nbsp;";
			var pauseButton = document.createElement('a');
			pauseButton.onclick = function() {
				if ( S5_ref.paused == true ) {
					//console.log('starting rotation');
					S5_ref.paused = false;
					S5_ref.Rotate();
				} else {
					//console.log('stopping rotation');
					S5_ref.paused = true;
					S5_ref.Pause();
				}
			}
			pauseButton.className = 'pause-button';
			pauseButton.innerHTML = 'II';
			pauseButton.id = ASC.bindings.S5_preloader_pause_button;

			preloadingDiv.appendChild(preloadingDivProgress);
			preloadHolder.appendChild(preloadingDiv);
			preloadHolder.appendChild(pauseButton);

			// Append the divs to the fragment
			frag.appendChild(currentFeature);
			frag.appendChild(newsItems);
			frag.appendChild(preloadHolder);

			// Clearing div
			var clear = document.createElement('div');
			clear.className = 'clear';
			clear.innerHTML = "<!-- -->";
			frag.appendChild(clear);

			// Debugging
			//console.log('frag %s',frag);
			holderElem.innerHTML = "";
			holderElem.appendChild(frag);

			// Load the first one (sets the appropriate styles
			this.Load(1);

		},// End rewriteContentHolder


		setFeatureContent: function(img_src,description,name,link) {

			$(ASC.bindings.S5_current_feature).setStyle('background-image','url("' + img_src + '")');
			var currentFeatureTextOverlay = $(ASC.bindings.S5_current_feature_textoverlay);
			currentFeatureTextOverlay.innerHTML = "";
			//$(ASC.bindings.S5_current_feature_textoverlay).innerHTML = "<h2>" + name + "</h2><span>" + description + "</span>";
			var clickable = document.createElement('a');
			clickable.href = link;
			clickable.innerHTML = name;
						
			var h2 = document.createElement('h2');
			h2.appendChild(clickable);
						
			var span = document.createElement('span');
			span.innerHTML = description;
							
			//currentFeatureTextOverlay.innerHTML = "<h2>" + link.innerHTML + "</h2><span>" + description.innerHTML + "</span>";
			currentFeatureTextOverlay.innerHTML = "";
			currentFeatureTextOverlay.appendChild(h2);
			currentFeatureTextOverlay.appendChild(span);

		},// End setFeatureContent

		Load: function(newsItem) {

			var thisRef = this;
			thisRef.ticks = 1;
			thisRef.current = newsItem;
			thisRef.Rotate();

			if ( newsItem <= 3 ) {
				this.current = newsItem;
				//console.log('loading %o',this.items[newsItem]);
				var img = this.items[newsItem][1];
				var description = this.items[newsItem][3];
				var name = this.items[newsItem][2];
				var href = this.items[newsItem][4];
				this.setFeatureContent(img,description,name,href);

				// Loop through total stories set enable/disable state
				for ( i = 1; i <= 3; i ++ ) {

					var overlay = $('feature-story-overlay-' + i);
					var overlay_number = $('feature-story-overlay-number-' + i);

					if ( i == newsItem ) {
						overlay.style.display = 'none';
						var overlay_number_fx = new Fx.Style(overlay_number, 'background-color',{duration:1000});
						overlay_number_fx.start('#c3383d');
						//console.log('fading out %s on index %s',newsItem,i);
					} else {
						overlay.style.display = 'block';
						var overlay_number_fx = new Fx.Style(overlay_number, 'background-color',{duration:1000});
						overlay_number_fx.start('#28549d');
						//console.log('fading in %s on index %s',newsItem,i);
					}

				}// End for
			} else {
				//console.log('outside range!');
			}

		},// End load

		Rotate: function() {

			var thisRef = this;
			if ( thisRef.rotate_interval) {
				window.clearInterval(this.rotate_interval);
			}
			thisRef.rotate_interval = window.setInterval(function() {

			if ( ! thisRef.ticks ) {
				thisRef.ticks = 1;
			}
			//console.log(this.ticks);

			var progressBar = $(ASC.bindings.S5_preloader_progress_bar);
			progressBar.style.width = (thisRef.ticks * 10) + "%";

			if ( thisRef.ticks == 10 ) {

				thisRef.ticks = 1;
				var next = thisRef.current + 1;
				if ( next > 3 ) {
					thisRef.current = 1;
					next = thisRef.current;
				}// End if
				//console.log('loading next %s',next);
				thisRef.Load(next);
				return;
			}

			thisRef.ticks = thisRef.ticks + 1;

			},1000);

		},// End Rotate

		Pause: function() {

			window.clearInterval(this.rotate_interval);

		}// End Pause

});


/*
* H6 Component - Information For...
*
*
*/

ASC.component.H6_information_for = new Class({

    init: function(sContainerClass, sHiddenClass) {

        //if (!document.getElementById || !document.createTextNode) {return;} // Check for DOM support
       	var arrMenus = ASC.utils.getElementsByClassName(document, 'ul', sContainerClass);
        var arrSubMenus, oSubMenu, oLink;

        for (var i = 0; i < arrMenus.length; i++) {
            arrSubMenus = arrMenus[i].getElementsByTagName('ul');
            for (var j = 0; j < arrSubMenus.length; j++) {
                oSubMenu = arrSubMenus[j];
                oLink = oSubMenu.parentNode.getElementsByTagName('a')[0];
                oLink.onclick = function(){

                //flag an already open list - so that it closes
				if(!this.parentNode.getElementsByTagName('ul')[0].className){
					var openList = true;
				}

					//hide all of the list items first
                	for (var i = 0; i < arrMenus.length; i++) {
            			arrSubMenus = arrMenus[i].getElementsByTagName('ul');
            			for (var j = 0; j < arrSubMenus.length; j++) {
                			oSubMenu = arrSubMenus[j];
                			oLink = oSubMenu.parentNode.getElementsByTagName('a')[0];
                			oSubMenu.className = 'hidden';
            			}
        			}

					//show the clicked list item only when not already open
					if(openList){
						return false;
					}else{
						this.parentNode.getElementsByTagName('ul')[0].className = '';
						return false;
					}
				}
			}

            //open the first list item
            oSubMenu = arrSubMenus[0];
            oLink = oSubMenu.getElementsByTagName('a')[0];
            oSubMenu.className = '';
        }
    }
});


ASC.component.S36_tab_table = new Class({

		init: function() {

			var tabTables = $$('.tab-table');

			for (i = 0; i < tabTables.length; i++) {
				var tableId = tabTables[i].id;
				var newTabUL = document.createElement("ul");
				newTabUL.className = "tab-nav";
				var nodes = tabTables[i].childNodes;
				var firstNode = new Array();
				for (j = 0; j < nodes.length; j++) {
					var node = nodes[j];
					if (node.nodeName.toLowerCase() == "div") {
						var tabNode = node.firstChild;
						tabNode = tabNode.nodeName.toLowerCase() == "h3" ? tabNode : tabNode.nextSibling;
						var tabText = tabNode.innerHTML;
						var newTabLI = document.createElement("li");
						var newTabA = document.createElement("a");
						newTabA.id = "show_"+node.id;

						var thisRef = this;

						newTabA.href="javascript:void(0);";
						newTabA.refId = node.id;
						newTabA.onclick = function() {
							thisRef.showTabContent(tableId, this.refId);
						}// End onclick

						newTabA.appendChild(document.createTextNode(tabText));
						newTabLI.appendChild(newTabA);
						newTabUL.appendChild(newTabLI);
						newTabUL.appendChild(document.createTextNode(' '));
						node.removeChild(tabNode);
						node.style.display = "none";
						if (firstNode.length == 0) {
							firstNode.push(tableId);
							firstNode.push(node.id);
						}// End if
					}// End if
				}// End for
				var newTabSet = document.createDocumentFragment();
				newTabSet.appendChild(newTabUL);
				tabTables[i].insertBefore(newTabSet, tabTables[i].firstChild);
				this.showTabContent(firstNode[0], firstNode[1], firstNode[2]);
			}// End for
		},

		showTabContent: function (table, nodeId) {
			var thisTable = document.getElementById(table);
			var nodes = thisTable.childNodes;

			// hide all content areas
			for (i = 0; i < nodes.length; i++) {
				var node = nodes[i];
				if (node.nodeName.toLowerCase() == "div") {
					node.style.display = "none";
				}// End if
			}// For

			// set all tab styles to normal
			var tabMenu = thisTable.firstChild;
			tabs = tabMenu.getElementsByTagName("a");
			for (i = 0; i < tabs.length; i++) {
				tabs[i].className = "";
			}// for

			// display selected content area and style selected tab
			$(nodeId).style.display = '';
			$('show_'+nodeId).className = 'now';
		}// showTabContent
});

/*
* 	s27 Component - Image right (33%) and text
*
* 	Component for "Image Right Gallery [110707]"
*	Will display image gallery of images (33_percent_landscape)
*	below page asset lister is nested in.
*/

ASC.component.S27_image_right_gallery = new Class({

// JavaScript Document
oImgGallery : null,
oGalleryItems : null,
gallerySize : null,
imageNum : 1,
oldLeft : '',
oldRight : '',

// Get an array of elements by class name
getElementsByClass: function(searchClass,node,tag) {

	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
},

// Build and write the HTML for the currently selected image
setImage: function(direction) {

	var newHTML = "";

	if (direction == "Next") {
		this.imageNum++;
	}else if (direction == "Prev") {
		this.imageNum--;
	}else {
		this.imageNum = 1;
	}

	//this.oImgGallery = document.getElementById("image-right-gallary");
	var printTitle = this.oGalleryItems[this.imageNum-1].childNodes[0].title;

	objImageWrapper = document.getElementById("image-wrapper");
	var assetCount = 'Image ' + this.imageNum + ' of ' + this.gallerySize;

	newHTML += '<div id="image-wrapper">';
	newHTML += '<div class="image">';
	newHTML += this.oGalleryItems[this.imageNum-1].innerHTML;
	newHTML += '</div>';
	newHTML += '</div>';

	//create div element and use replace child as ie likes to work on an element level
	var div = document.createElement("div");
	div.innerHTML = newHTML;
	objImageWrapper.parentNode.replaceChild(div, objImageWrapper);

	//replace child nodes of the ul li elements
	var objNavList = document.getElementById("image-data");
	objLeftBttn = document.getElementById("image-left");
	objNumbBttn = document.getElementById("image-number");
	objRightBttn = document.getElementById("image-right");

	//create reference for links
	var linkRef = this;
	
	objLeftBttn.innerHTML = "";
	objNumbBttn.innerHTML = "";
	objRightBttn.innerHTML = "";

	//update previous and next links
	if (this.imageNum != 1) {
		var objLeftLink = document.createElement("a");
		objLeftLink.setAttribute('href','#');
		objLeftLink.onclick = function() { linkRef.setImage('Prev'); return false; }
		objLeftLink.innerHTML = this.oldLeft;
		objLeftBttn.appendChild(objLeftLink);
	}else{
		leftText = document.createTextNode("");
		objLeftBttn.appendChild(leftText);
	}

	if (this.imageNum < this.gallerySize && this.imageNum < 5) {
		var objRightLink = document.createElement("a");
		objRightLink.setAttribute('href','#');
		objRightLink.onclick = function() { linkRef.setImage('Next'); return false; }
		objRightLink.innerHTML = this.oldRight;
		objRightBttn.appendChild(objRightLink);
	}else{
		rightText = document.createTextNode("");
		objRightBttn.appendChild(rightText);
	}

	//update image counter
	var assetCount = document.createTextNode('Image ' + this.imageNum + ' of ' + this.gallerySize);
	objNumbBttn.appendChild(assetCount);

	//print the images caption (stored in the images title in xhtml)
	var objTitle = document.getElementById("image-caption");

	/*@cc_on
   	/*@if (@_win32){
   		var printTitle = this.oGalleryItems[this.imageNum-1].childNodes[0].title;
	}@else @*/{
		var printTitle = this.oGalleryItems[this.imageNum-1].childNodes[1].title;
	}
	/*@end
	@*/

	printHTML = '<p>' + printTitle + '</p>';
	objTitle.innerHTML = printHTML;
},

// If the gallery exists, get the items and set the initial display
init: function() {
	rImgGallery = document.getElementById("image-right-gallary");
	lImgGallery = document.getElementById("image-left-gallary");
	
	if ( document.getElementById("image-left") ) {
	objLeftBttn = document.getElementById("image-left");
	objRightBttn = document.getElementById("image-right");
	
	this.oldLeft = objLeftBttn.innerHTML;
	this.oldRight = objRightBttn.innerHTML;
	
	}
	
	if(rImgGallery){
		this.oImgGallery = rImgGallery;
	}else{
		this.oImgGallery = lImgGallery;
	}
	if (this.oImgGallery) {
		this.oImgGallery.style.visibility = "hidden";
		this.oGalleryItems = this.getElementsByClass("image",this.oImgGallery);
		this.gallerySize = this.oGalleryItems.length;
		this.setImage();
		this.oImgGallery.style.visibility = "visible";
	}
}
});
/*
* Start ASC javascript functions
*
* Onload, start all functions. Each function should check if an element is
* Present, and if not then
*/

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

var cookieVal = readCookie('mysheet')
ASC.utils.addEvent(window,'load', function() {
    if (cookieVal != 'mobile') {
	//ASC.utils.cleanWhiteSpace(document);

	// Did you find this information useful question
	//var S31 = new ASC.component.S31_Question();
	//S31.init();

	// Feature Stories
	var S5 = new ASC.component.S5_Feature_Stories();
	S5.init();

	// Information for...
	var H6 = new ASC.component.H6_information_for();
	H6.init('menu','hidden');

	// Imgage right gallery
	var S27 = new ASC.component.S27_image_right_gallery();
	S27.init();

	// Programs & Events
	var S23 = new ASC.component.S23_Programs_Events();
	S23.init();

	// Tab table
	var S36 = new ASC.component.S36_tab_table();
	S36.init();

	// Call function to reveal hidden column
	ASC.hiddenExtras();
	}
});




