rooturl = '/';apiKey = 'ABQIAAAAKth-z1zfwo793uwP9dzzARTw-AXXYPzdH6voEYi6-yfixPdF1xQk0ZleH6jKibuXRU-rletMhumtlw';jacket = true;/*cached*/eval(function(p,a,c,k,e,d){e=function(c){return(c35?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}('q.5N=5e.5d.R(\'5c 8.0\')>-1;q.5f=5e.5d.R(\'5c 7.0\')>-1;q.3e=5e.5d.R(\'5c 6.0\')>-1;b(5N)3e=5f=F;b(5f)3e=F;b(q.3e){b(t.6s&&t.10&&t.10[0]&&t.10[0].2t){s 3D.30(28+(63?\'30/?62\':\'2v/36/30/?62\'));c 2a=63?28+\'2v/5Z/1v/\':28+\'2v/5Z/77/1v/\';t.10[0].2t(\'17\',\'2B: 1V(\'+2a+\'/5a.2D)\');t.10[0].2t(\'1k\',\'2B: 1V(\'+2a+\'/7f.2D)\');t.10[0].2t(\'1k\',\'2B: 1V(\'+2a+\'/5p.2D)\');t.10[0].2t(\'U\',\'2B: 1V(\'+2a+\'/5p.2D)\');t.10[0].2t(\'U\',\'2B: 1V(\'+2a+\'/5a.2D)\');t.10[0].2t(\'l\',\'2B: 1V(\'+2a+\'/5a.2D)\')}}c 4j=s 3A({4i:g(){4j.3S(s 6I);9.57=\'\';9.65()},3T:g(){c 2q=s 6G();c 1h=66.2W.1i(1);b(1h.u>0){1h=1h.3o(\'|\');1h.Z(g(2E,i){2E=2E.3o(\'=\');b(2E.u==2)3N(\'2q["\'+2E[0]+\'"] = "\'+2E[1]+\'"\')})}B 2q},6V:g(1D){c 1h=9.3T();c 2q=3N(\'1h["\'+1D+\'"]\');b(2q==\'24\')2q=24;B 2q},5G:g(1D,1y){c 1h=9.3T();c 67=1h[1D];3N(\'1h["\'+1D+\'"] = "\'+1y+\'"\');c 53=s 6e();1A(c i 4h 1h)b(1h[i]!==24&&1h[i]!=\'24\')53.1M(i+\'=\'+1h[i]);66.2W=53.40(\'|\');b(67!=1y)9.37(\'6C\',[1D,1y,9.57]);9.57=1D},65:g(){c 2W=9.3T();1A(c i 4h 2W)9.5G(i,2W[i])}});c 6l=s 3A({4i:g(){9.3U=[];9.4k()},6S:g(5y){9.3U.1M(5y)},4k:g(){9.2I=9.4x.47(6Z,9)},4x:g(){b(9.3U.u>0){$2f(9.2I);c 1Z=9.3U.6M();1Z.T(\'2X\',9.4x.1m(9));b(1Z.o.1V==\'\')1Z.o.1V=28+\'6t.6N\';b(1Z.6g==24)1Z.6g=\'7b\';1Z.6F()}E{$2f(9.2I);9.4k()}}});c 38=s 3A();38.3i=4j;38.6k=6l;c 6L=s 38.3i;c 6K=s 38.6k;6e.3S({6y:g(4t,68,1m){c 3V=9,i=0;(g(){68.1Z(1m,3V[i],i,3V);b(++i<3V.u){74(X.7d,4t)}})()}});g 73(2N,3Q){c 3M={\'2N\':2N,\'6a\':3Q,\'2I\':0,\'1m\':9,\'3Q\':g(){1A(c i=0;i\':\'<\')+\' 1d.3f\'))1d.3f=2V/3O;1d.n=4T*1d.3f;1d.h=3O*1d.3f;1d.21=(3J/2)-(1d.n/2);1d.Q=(2V/2)-(1d.h/2);B 1d}g 2Q(k,3W,12){b(!$1j(12))12=1;b(!$1j(3W))3W=\'2c\';k=$(k);k.w(\'v\',0);k.2C(\'1u\',{\'31\':12*4y});k.1g(\'1u\').3n({\'6r\':g(e){c 4S=H;$4J(g(){4S=9.6J.v[0].1y!=0}.1m(9));b(e.J(\'v\')==0&&4S)e.Y.1s=3W},\'2X\':g(e){b(e.J(\'v\')==0)e.Y.1s=\'3q\'}})}g 2g(k,12,1U){b(!$1j(q.3a))q.3a=[];b(!$1j(1U))1U=1;b(!$1j(12))12=5;c D=($1N(k)==\'39\'?$(k):k);b(D.J(\'K\')!=\'46\'&&D.J(\'K\')!=\'2M\'&&D.J(\'K\')!=\'3t\')D.Y.K=\'46\';D=D.3x(\'l\');b(D.u==0)B;$Z(D,g(l){l.I({\'K\':\'2M\',\'Q\':0,\'21\':0});2Q(l,\'2c\',1U)});D[0].I({\'v\':1,\'1s\':\'2c\'});c 4V=g(D){b(!9.1E)9.1E=0;9.1E+=1;b(9.1E>D.u-1)9.1E=0;$Z(D,g(l,i){l.1u({\'v\':i==9.1E?1:0})}.1m(9))};q.3a.6E(4V.47(12*4y,4V,[D]));q.T(\'49\',g(){1A(c i=q.3a.u-1;i>=0;i--)$2f(q.3a[i])})}g 4E(k){b($1N(k)==\'39\')k=$(k);k.1u({\'v\':0})}g 4F(k,2w,2y){b($1N(k)==\'39\')k=$(k);b(k.M(\'5D\',F)==F){2Q(k);k.N(\'5D\',H)}k.1l(t.1k);k.1u({\'v\':1});b(!$1j(2w))2w=k.20().n;b(!$1j(2y))2y=k.20().h;k.I({\'n\':2w,\'h\':2y});k.I({\'K\':\'2M\',\'z-O\':6B+(4v(S(k.J(\'z-O\')))?0:S(k.J(\'z-O\'))),\'21\':q.7c()+(43().n/2)-(k.20().n/2),\'Q\':q.72()+(43().h/2)-(k.20().h/2)})}g 3X(k){b($1N(k)==\'39\')k=$(k);c P=k.2n();P.1u({\'v\':0})}g 4O(k,2x){b(!$1j(2x))2x=F;c P;b($1N(k)==\'39\')k=$(k);b(k.M(\'5H\',F)==F){P=s V(\'U\',{\'1v\':{\'v\':0,\'1s\':\'3q\',\'K\':\'3t\',\'n\':\'3z%\',\'h\':\'3z%\',\'Q\':0,\'21\':0,\'z-O\':6R,\'1F\':\'1V(\'+28+\'2v/36/30/6j/71/7g.4g)\'},\'2O\':{\'2u\':g(e){b(!2x&&e.m==P)3X(k)}}});k.I({\'1s\':\'2c\',\'K\':\'2M\'});k.1l(P);k.N(\'5H\',H);P.1l(t.1k);2Q(P);q.T(\'3C\',g(){P.I(\'n\',t.1k.2Z);k.I({\'21\':(P.20().n/2)-(k.20().n/2),\'Q\':(P.20().h/2)-(k.20().h/2)})})}E{P=k.2n()}P.1u({\'v\':1});q.37(\'3C\')}V.3S({4O:g(2x){4O(9,2x)},3X:g(){3X(9)},4F:g(2w,2y){4F(9,2w,2y)},4E:g(){4E(9)},2g:g(12,1U){2g(9,12,1U)}});g 43(){c 32=0,3l=0;b(7a(q.5Y)==\'79\'){32=q.5Y;3l=q.2b}E b(t.3k&&(t.3k.2Z||t.3k.44)){32=t.3k.2Z;3l=t.3k.44}E b(t.1k&&(t.1k.2Z||t.1k.44)){32=t.1k.2Z;3l=t.1k.44}B{\'n\':32,\'h\':3l}}g 45(){b(q.4N){b(X.u==2&&X[1]===H)q.4N.6w($1N(X[0]),X[0]);E 1A(c i=0;iD.u-1)1E=0;$Z(D,g(l,i){l.1u({\'v\':i==1E?1:0})})};D[0].I({\'v\':1,\'1s\':\'2c\'});q.4m.47(12*4y);q.T(\'3C\',g(){4C()});q.T(\'49\',g(){$2f(q.4m)})}g 4C(){c 3y=$(\'1S\').3x(\'l\');c Y=$(\'1S\').M(\'Y\',{});c 5P=43();$Z(3y,g(l){l.I({\'21\':Y.4a==\'3u\'?5P.n/2-l.n/2:l.J(\'21\'),\'K\':\'2M\'})})}g 6o(k,3c){b(!$1j(3c)||3c!==H)c 3c=F;q.3Y=g(m){m=$(m);c 1G=F;b(q.3e){b(!m.M(\'5F\'))m=m.2n();m.N(\'8d\',H);m.N(\'1G\',H);1G=H}c 2i={\'h\':0,\'r\':0,\'1G\':1G,\'m\':m};c 2o=S(m.M(\'h\',0));b(2o==0){2o=S(m.J(\'h\'));m.N(\'h\',2o);b(1G){c P=m.3Z(\'U\');4J{c r=P.J(\'41\').3o(\' \')}5U(61){m.N(\'h\',0);B}r[0]=S(r[0].1i(r[0].R(\'(\')+1));r[1]=S(r[1]);r[2]=S(r[2]);r[3]=S(r[3]);m.N(\'Q\',S(P.J(\'Q\')));2o=S(m.J(\'h\'));m.N(\'2b\',S(P.J(\'h\')));m.N(\'h\',2o)}E b(2r.2e.2L)c r=S(m.J(\'1F-K-y\'));E{c r=m.J(\'1F-K\').3o(\' \');r[0]=S(r[0]);r[1]=S(r[1])}m.N(\'1F-K\',r)}2i.Q=S(m.M(\'Q\',0));2i.h=2o;b(1G){2i.1G=H;2i.2b=m.M(\'2b\',0)}2i.r=m.M(\'1F-K\');B 2i};b(k.1g(\'2h\')==\'17\')k.1y=\'\';k.Y.3w=\'4Q\';k.4K=g(){9.Y.3w=\'3u\';9.N(\'3L\',F);9.37(\'3s\',{\'m\':9});9.N(\'3g\',H);b(9.1g(\'2h\')!=\'17\')9.w(\'v\',0.5)}.1m(k);k.42=g(){9.Y.3w=\'4Q\';9.N(\'3g\',F);b(9.1g(\'2h\')!=\'17\')9.w(\'v\',1)}.1m(k);k.42();k.4M=g(){B 9.M(\'3g\',F)}.1m(k);q.T(\'49\',g(){k.5z();4J{51 k.4K;51 k.42;51 k.4M}5U(61){}k.4K=1f;k.42=1f;k.4M=1f}.1m(9));c 2O={\'3v\':g(e){c p=3Y(e.m);b(!p||!p.m)B;b(p.m.M(\'3L\',F)==H)B;b(p.m.M(\'3g\',F)==H)B;b(p.1G){c P=p.m.3Z(\'U\');c r=$A(p.r);r[0]+=p.h;r[2]+=p.h;r=\'3R(\'+r.40(\'1b \')+\'1b)\';P.I({\'41\':r,\'Q\':p.Q-p.h,\'h\':p.2b+p.h})}E b(2r.2e.2L)p.m.w(\'1F-K-y\',(p.r-p.h)+\'1b\');E p.m.w(\'1F-K\',p.r[0]+\'1b \'+(p.r[1]-p.h)+\'1b\')},\'3s\':g(e){c p=3Y(e.m);b(!p||!p.m)B;b(p.m.M(\'3L\',F)==H)B;b(p.1G){c P=p.m.3Z(\'U\');P.I({\'41\':\'3R(\'+p.r.40(\'1b \')+\'1b)\',\'Q\':p.Q,\'h\':p.2b})}E b(2r.2e.2L)p.m.w(\'1F-K-y\',p.r+\'1b\');E p.m.w(\'1F-K\',p.r[0]+\'1b \'+p.r[1]+\'1b\')}};b(3c){2O.8h=g(e){c p=3Y(e.m);b(p.m.M(\'3g\',F)==H)B;b(p.1G){c P=p.m.3Z(\'U\');c r=$A(p.r);r[0]+=p.h*2;r[2]+=p.h*2;r=\'3R(\'+r.40(\'1b \')+\'1b)\';P.I({\'41\':r,\'Q\':p.Q-p.h*2,\'h\':p.2b+p.h*2})}E b(2r.2e.2L)p.m.w(\'1F-K-y\',(p.r-(p.h*2))+\'1b\');E p.m.w(\'1F-K\',p.r[0]+\'1b \'+(p.r[1]-(p.h*2))+\'1b\')};2O.84=g(e){c m=$(e.m);b(m.M(\'3L\',F)==H)B;b(2r.2e.82)m.2n().37(\'3v\',e);E m.37(\'3v\',e)}}k.N(\'5F\',H);k.3n(2O)}g 2P(1t,1L){b(!$1j(1L))c 1L=1t.1y;c 1T=1t.M(\'1T\',F);b(1T==F){1T=s V(\'U\',{\'59\':\'1L\'}).1l(1t,\'4W\');1T.3n({\'87\':g(e){b(e.m.1g(\'2h\')==\'l\'){2P(1t,e.m.M(\'1L\'))}},\'3s\':g(e){2P(1t)}});1A(c i=0;i<5;i++){c l=s V(\'l\',{\'1I\':28+\'2v/36/5q/?5v\'+(1L>i?\'\':\'5I\')+\'.4g\',\'n\':16,\'h\':16,\'8a\':\'7h\',\'2O\':{\'2u\':g(e){e.m.M(\'1t\').1y=e.m.M(\'1L\');2P(e.m.M(\'1t\'))}}}).1l(1T);l.N(\'1L\',i+1);l.N(\'1t\',1t)}1t.N(\'1T\',1T);2P(1t);B}c 3y=1T.3x(\'l\');1A(c i=0;i<5;i++)3y[i].1I=28+\'2v/36/5q/?5v\'+(1L>i?\'\':\'5I\')+\'.4g\'}q.T(\'5i\',g(){$Z($$(\'.8m\'),g(k){2Q(k)});$Z($$(\'.2g\'),g(k){c 1U=1;c 12=5;b(k.1H.u>11){c 1x,1q;c 35=k.1H;1x=35.1i(35.R(\'2g\')+11);1x=1x.1i(0,1x.R(\' \')>-1?1x.R(\' \'):1x.u);b(1x-0==S(1x))12=1x;1q=35.1i(35.R(\'2g\')+11);1q=1q.1i(1x.8B().u+1);1q=1q.1i(0,1q.R(\' \')>-1?1q.R(\' \'):1q.u);b(1q-0==S(1q))1U=1q}2g(k,12,1U)});$Z($$(\'a[L="8G"]\'),g(34){34.T(\'2u\',g(e){e.56();b(q.4Z&&4Z.5E)4Z.5E(34.25(\'18\'));q.8y(34.25(\'18\'),\'8r\')});q.T(\'49\',g(){9.5z()}.1m(34))});$Z($$(\'l.5A,17.5A\'),g(k){k.w(\'3w\',\'4Q\');k.3n({\'3v\':g(e){k.1I=k.1I.4I(\'5X\',\'5C\')},\'3s\':g(e){k.1I=k.1I.4I(\'5C\',\'5X\')}})});$Z($$(\'.8t\'),g(k){6o(k)});b($(\'1S\')){$(\'1S\').1l(t.1k,\'Q\');$(\'1S\').I({\'z-O\':-1,\'K\':\'3t\',\'2l\':\'1n\'});1A(c i=0;i-1)4z=H;b(!4z)s 3D.2N(4A);9.7E(o);9.2s=[];9.W=1f;9.1c=1f;9.1r=1f;9.54=1f;9.1Y=1f;9.2G=H;9.4c=H;9.1Q=[];9.6h()},6h:g(){9.6m();9.5u();9.5S();9.6f();b(9.2s.u==0){B}},6i:g(1R,O,n,h){9.15.I({\'Q\':-$(q).26().y,\'h\':$(q).3H().y+$(q).26().y});9.G.4u(\'5m\');9.G.w(\'Q\',$(q).26().y+9.o.4B);9.1r=1R;9.1c=O;9.15.1w(\'v\',9.o.3E);b(1R.u==1){9.1Y=\'7T\';9.3b(1R[O].18,24,n,h)}E{9.1Y=\'5b\';c 1P=1R.3F(g(1X){B 1X.18});$$(9.1a,9.13,9.23).I({\'1s\':\'2c\'});c 27=9.G.J(\'27-3j-n\').29();c 2z=9.1a.1O().x+9.13.1O().x+9.22.1O().x+27;9.1z.w(\'n\',2z);9.1o.w(\'4a-3j\',2z);c 13=(O!=1P.u-1)?1P[O+1]:1P[0];c 1a=(O!=0)?1P[O-1]:1P[1P.u-1];c 2S=(1a==13)?1a:[1a,13];9.3b(1P[O],2S,n,h)}9.2G=F},5k:g(C,1o){9.1Y=\'5k\';9.54=1o;9.15.I({\'Q\':-$(q).26().y,\'h\':$(q).3H().y+$(q).26().y});9.G.4u(\'5m\');9.G.w(\'Q\',$(q).26().y+9.o.4B);9.15.1w(\'v\',9.o.3E);9.3b(C);9.2G=F},5n:g(C){b(9.2G){B};c 4R=9.C.1O();9.C.I({\'v\':0,\'n\':\'\',\'h\':\'\'});b(C.7S){c 14=s 3i({\'n\':C.o.n,\'h\':C.o.h}).3F(g(1X,O){B 1X.29()})}E{c 14=s 3i(C.7R(\'n\',\'h\')).3F(g(1X,O){B 1X.29()})}c 2Y=9.o.3J;c 2K=9.o.2V;b(2Y||2K){b(2Y==24)2Y=14.n;b(2K==24)2K=14.h;c 2J=2Y/14.n;b(2K/14.h<2J)2J=2K/14.h;n=4p.4o(14.n*2J);h=4p.4o(14.h*2J);9.C.4H({n:n,h:h});14.n=n;14.h=h}c 4w=s 3i(9.G.7X(\'n\',\'h\')).3F(g(1X,O){B 1X.29()});c 3h={};b(14.n!=4w.n){3h.n=14.n;3h.4b=-(14.n/2).7P()};c 5B=(4R.y>0)?4w.h-4R.y:0;c 5Q=14.h+5B;3h.h=5Q;9.C.I({\'n\':14.n,\'h\':14.h});9.G.5w(\'5m\');9.G.1u(3h)},3b:g(W,2S,n,h){b(n){9.W=s 7I(W,{\'n\':n,\'h\':h});b(!9.1Q.1C(W)){9.1Q.1M(W)};$$(9.1o,9.1z).w(\'1J\',\'1n\');9.1z.w(\'h\',\'\');$$(9.13,9.1a,9.22).w(\'3K\',\'0 0\');9.2G=F;9.5n(9.W);B}c 7H=s 3D.C(W,{3B:g(l){9.W=l;b(!9.1Q.1C(W)){9.1Q.1M(W)};$$(9.1o,9.1z).w(\'1J\',\'1n\');9.1z.w(\'h\',\'\');$$(9.13,9.1a,9.22).w(\'3K\',\'0 0\');9.5n(9.W)}.1p(9)});b(2S&&!9.1Q.1C(2S)){c 58=s 3D.1P(2S,{3B:g(l){b(!9.1Q.1C(58)){9.1Q.1M(58)}}.1p(9)})}},6f:g(){9.2s.Z(g(1R){$$(1R).T(\'2u\',g(e){c 2R=($(e.m).69(\'a\'))?$(e.m):$(e.m).2n(\'a\');e.56();9.6i(1R,1R.R(2R),2R.M(\'n\',1f),2R.M(\'h\',1f))}.1p(9))},9);9.13.T(\'2u\',9.3m.1p(9,\'13\'));9.1a.T(\'2u\',9.3m.1p(9,\'1a\'));$(q.t).T(\'7G\',g(e){b(9.1Y!=\'5b\'||9.4c==H){B};b(e.1D==\'3j\'||e.1D==\'7F\'){9.3m(e,\'13\')}E b(e.1D==\'21\'){9.3m(e,\'13\')}E b(e.1D==\'7K\'){9.4q()}}.1p(9));$$(9.13,9.1a,9.22).3n({\'7N\':g(e){c 2R=($(e.m).69(\'a\'))?$(e.m):$(e.m).2n(\'a\');2R.w(\'3K\',9.o.6b)}.1p(9),\'7L\':g(){9.w(\'3K\',\'0 0\')}});9.15.1g(\'1w\').T(\'2X\',g(){b(9.15.J(\'v\')==9.o.3E){9.G.1w(\'v\',1)}E b(9.15.J(\'v\')==0){9.15.I({\'h\':\'\',\'Q\':\'\'})}}.1p(9));9.G.1g(\'1u\').T(\'2X\',g(){9.C.7O(9.W);b(!9.W.o){9.W.4H({n:9.C.25(\'n\'),h:9.C.25(\'h\')})}9.C.1w(\'v\',1);c d=(!(9.1Y==\'5k\'))?9.1r[9.1c].25(\'7V\'):9.54;b($7n(d)){9.1o.2C(\'7k\',d)};b(9.1Y==\'5b\'){9.23.7w((9.1c+1)+\' 8E \'+9.1r.u)}c 3d=9.G.J(\'h\').29();9.1z.w(\'h\',9.1W.J(\'h\').29());c 5t=9.1W.1O().y;c 5g=9.W.o?9.W.o.h:9.C.1O().y;c 8C=9.W.o?9.W.o.n:9.C.1O().x;c 5V=(3d>5g)?(9.1W.1O().y+5g)-3d:5t;9.1W.w(\'1s\',\'3q\');9.G.M(\'4f\').8x(3d,S(3d)+S(5V))}.1p(9));9.G.M(\'4f\').T(\'2X\',g(){9.1W.I({\'1J\':\'4U\',\'1s\':\'2c\'});$$(9.1o,9.1z).w(\'1J\',\'4U\');c 48=$(q).3H().y;c 2U=$(q).26().y;9.W.1l(9.C,\'Q\');9.15.w(\'h\',48+2U);9.4c=F}.1p(9));q.T(\'3C\',g(){b(9.15.J(\'v\')==0){B};c 48=$(q).3H().y;c 2U=$(q).26().y;9.15.I({\'h\':48+2U,\'Q\':-2U})}.1p(9));$$(9.15,9.C,9.22).T(\'2u\',g(e){b(e.m.1g(\'2h\')==\'1d\')B;9.4q()}.1p(9))},3m:g(e,5R){e.56();9.4c=H;b(5R=="13"){c i=(9.1c!=9.1r.u-1)?9.1c+=1:9.1c=0;c 4s=(9.1c!=9.1r.u-1)?9.1c+1:0}E{c i=(9.1c!=0)?9.1c-=1:9.1c=9.1r.u-1;c 4s=(9.1c!=0)?9.1c-1:9.1r.u-1};9.C.2F();9.1o.2F();9.23.2F();b(!9.1Q.1C(9.1r[i].18)){9.G.4u(\'7Q\')};9.3b(9.1r[i].18,9.1r[4s].18)},4q:g(){9.60();9.W=1f;9.1c=1f;9.1r=1f;$$(9.1a,9.13,9.23).w(\'1s\',\'3q\');c 27=9.G.J(\'27-3j-n\').29();c 2z=9.22.1O().x+27;9.1z.I({\'n\':2z,\'h\':\'\',\'1J\':\'1n\'});9.1o.w(\'4a-3j\',2z);9.1o.2F();9.1W.I({\'1J\':\'1n\',\'1s\':\'\'});9.C.I({\'v\':0,\'n\':\'\',\'h\':\'\'});9.C.2F();9.23.2F();9.G.I({\'v\':0,\'n\':9.o.3r,\'h\':9.o.4D,\'4b\':-(9.o.3r/2)});9.15.1w(\'v\',0);9.1Y=1f;9.2G=H},60:g(){9.15.1g(\'1w\').2A();9.G.1g(\'1u\').2A();9.G.1g(\'1w\').2A();9.G.M(\'4f\').2A();9.C.1g(\'1w\').2A()},5S:g(){9.15.2C(\'1w\',{31:\'4r\',4d:\'2A\'});9.G.2C(\'1w\',{31:\'4r\',4d:\'5l\'});9.G.2C(\'1u\',{31:9.o.5L,4d:\'5l\',6P:9.o.5x});9.G.N(\'4f\',s 6v.78(9.G,{\'6Y\':\'h\',\'31\':\'4r\'}));9.C.2C(\'1w\',{4d:\'5l\'})},6m:g(){c 4e=[];c 4L=[];$$(\'a\').Z(g(a){b(a.L&&a.L.8q(/^4l/i)&&(a.18.1C(\'.6T\')||a.18.1C(\'.6W\')||a.18.1C(\'.4g\')||a.18.1C(\'.8g\'))){b(a.L.u>7&&!4e.1C(a.L)){4e.1M(a.L)};4L.1M(a)}},9);4L.Z(g(a){$(a).N(\'18\',a.18);$(a).N(\'L\',a.L);b(a.L.u>7){c L=a.L;b(a.L.R(\',\')>-1){$(a).N(\'n\',L.1i(L.R(\',\')+1,L.R(\',\',L.R(\',\')+1)));$(a).N(\'h\',L.1i(L.R(\',\',L.R(\',\')+1)+1,L.R(\']\')));L=L.1i(0,L.R(\',\'))+\']\'}4e.Z(g(f,i){b(a.L==f){b(!9.2s[i]){9.2s[i]=[]};9.2s[i].1M($(a))}},9)}E{9.2s.1M([$(a)])}},9)},5u:g(){9.15=s V(\'U\',{\'1K\':\'8n\',\'1v\':{\'v\':\'0\',\'1J\':\'4U\',\'z-O\':8o}}).1l($(t.1k));9.G=s V(\'U\',{\'1K\':\'8s\',\'1v\':{\'n\':9.o.3r,\'z-O\':8u,\'h\':9.o.4D,\'4b\':-(9.o.3r/2),\'v\':0}}).1l($(t.1k));9.C=s V(\'U\',{\'1K\':\'7W\',\'1v\':{\'z-O\':5T}}).1l(9.G);9.1W=s V(\'U\',{\'1K\':\'88\',\'1v\':{\'z-O\':8k}}).1l(9.G).w(\'1J\',\'1n\');9.1z=s V(\'U\',{\'1K\':\'8l\',\'1v\':{\'z-O\':8i}}).w(\'1J\',\'1n\');9.1o=s V(\'U\',{\'1K\':\'89\',\'1v\':{\'z-O\':8e}}).w(\'1J\',\'1n\');9.1W.4P(9.1z,9.1o,s V(\'U\',{\'59\':\'2f\',\'1v\':{\'z-O\':5T}}));9.22=s V(\'a\',{\'1K\':\'8j\'});9.13=s V(\'a\',{\'1K\':\'8c\'});9.1a=s V(\'a\',{\'1K\':\'83\'});9.23=s V(\'7M\',{\'1K\':\'7J\'});$$(9.13,9.1a,9.23).w(\'1s\',\'3q\');9.1z.4P(9.22,9.13,9.1a,s V(\'U\',{\'59\':\'2f\'}),9.23)}});q.T(\'5i\',g(){5j=s 5j()});c 2k={55:g(l,o){l=$(l);b(l.1g(\'2h\')!=\'l\')B;c 1e=l.1H.5o();b(!$1j(o))o={};b(1e.R(\'2H \')>-1){1e=1e.1i(1e.R(\'2H \')+8);1e=1e.3o(\' \');b(1e[0]&&!4v(3G(1e[0]))&&3G(1e[0])<=1)o.h=1e[0];b(1e[1]&&!4v(3G(1e[1]))&&3G(1e[1])<=1)o.v=1e[1]}o={X:[l,o]};b(q.7Y)o.4t=50;l.3p=s 7U();l.3p.3B=2k.2H.7D(o);l.3p.1I=l.1I},5h:g(l){l=$(l);b(l.3p)l.3p.3B=1f;b((l.1g(\'2h\')==\'l\')&&(l.1H==\'5J\')){l.1H=l.7p.1H;l.Y.3I=l.5s;l.7q(l.2n())}},2H:g(l,o){o=$7r({h:0.33,v:0.5},o||{});2k.5h(l);c 2j,2m=4p.4o(l.h*o.h);b(2r.2e.2L){2j=s V(\'l\',{\'1I\':l.1I,\'1v\':{\'n\':l.25(\'n\'),\'h\':l.25(\'h\'),\'7C\':-l.25(\'h\')+2m,\'27\':0,\'7y\':\'7u 7v:7x.8v.8w(v=\'+(o.v*3z)+\', Y=1, 8p=0, 8F=0, 8D=0, 8z=0, 8A=\'+(o.h*3z)+\')\'}})}E{2j=s V(\'2j\',{\'1v\':{\'n\':l.n,\'h\':2m,\'27\':0}});b(!2j.5M)B}c U=s V(\'U\').1l(l,\'4W\').4P(l,2j);U.1H=l.1H;U.Y.3I=l.5s=l.Y.3I;U.5w(\'2H\').I({\'n\':l.n,\'h\':2m+l.h,\'2l\':\'1n\'});l.Y.3I=\'86-85: 1W\';l.1H=\'5J\';b(2r.2e.2L){B}b(!o.19)o.19=\'8b\';o.19=o.19.4I(\'#\',\'\');b(o.19.u==3)o.19=o.19[0]+o.19[0]+o.19[1]+o.19[1]+o.19[2]+o.19[2];c 4G=S(o.19.1i(0,2),16);c 4X=S(o.19.1i(2,4),16);c 4Y=S(o.19.1i(4,6),16);c 1B=2j.4H({\'n\':l.n,\'h\':2m}).5M(\'2d\');1B.8f();1B.7t(0,l.h-1);1B.2J(1,-1);1B.75(l,0,0,l.n,l.h);1B.6q();1B.6x=\'6O-5W\';c 3P=1B.76(0,0,0,2m);3P.64(0,\'5r(\'+4G+\', \'+4X+\', \'+4Y+\', \'+(1-o.v)+\')\');3P.64(1,\'5r(\'+4G+\', \'+4X+\', \'+4Y+\', 1.0)\');1B.6p=3P;1B.3R(0,0,l.n,2m);1B.6A()},6n:g(){$Z(t.6D(\'l\'),g(l){b($(l).6Q(\'2H\'))2k.55(l)})}};V.3S({7e:g(o){2k.55(9,o);B 9},6X:g(){2k.5h(9);B 9}});q.T("5i",2k.6n);',62,539,'|||||||||this||if|var||||function|height|||eElement|img|target|width|options|targetData|window|bgPos|new|document|length|opacity|setStyle|||||return|image|eImages|else|false|center|true|setStyles|getStyle|position|rel|retrieve|store|index|eDiv|top|indexOf|parseInt|addEvent|div|Element|currentImage|arguments|style|each|styleSheets||iDuration|next|imageSize|overlay||input|href|color|prev|px|currentIndex|object|class2|null|get|curhash|substring|defined|body|inject|bind|hidden|description|bindWithEvent|tFadeDelay|currentGallery|display|field|morph|styles|tween|tDuration|value|navigation|for|context|contains|key|curImage|background|pngFix|className|src|visibility|id|rating|push|type|getSize|images|loadedImages|gallery|backgrounds|divRating|iFadeDelay|url|bottom|item|mode|call|getCoordinates|left|close|count|undefined|getProperty|getScroll|border|rooturl|toInt|htcurl|innerHeight|block||Engine|clear|fadeImages|tag|returnData|canvas|Reflection|overflow|canvasHeight|getParent|divHeight|rules|ret|Browser|galleries|addRule|click|webapp|eWidth|preventClickClose|eHeight|navWidth|cancel|behavior|set|htc|curitem|empty|closed|reflect|timer|scale|maxheight|trident|absolute|css|events|buildRatings|setupMorph|button|preloads|console|scrollTop|maxHeight|hash|onComplete|maxwidth|clientWidth|javascript|duration|myWidth||eA|elClass|shared|fireEvent|AJAX|string|_fadeImages_autoRotate|loadImages|withClickState|currentCenterHeight|ie6|ratio|disabled|targetSize|Hash|right|documentElement|myHeight|next_prev_aux|addEvents|split|preload|none|initialWidth|mouseleave|fixed|auto|mouseenter|cursor|getElements|imgs|100|Class|onload|resize|Asset|overlayOpacity|map|parseFloat|getScrollSize|cssText|maxWidth|backgroundPosition|holdDown|chkObj|eval|objectHeight|gradient|func|rect|implement|getHash|queue|self|sDisplayStyle|hideModal|getAndStoreDivDetails|getElement|join|clip|enable|getWindowSize|clientHeight|log|relative|periodical|scrollSize|beforeunload|margin|marginLeft|busy|link|families|setFinalHeight|png|in|initialize|Ajax_Hash|startTimer|milkbox|_fadeBackgrounds_autoRotate|name|floor|Math|closeMilkbox|short|_i|delay|addClass|isNaN|centerSize|doQueue|1000|loadedcss|cssurl|topPosition|bgImageFix|initialHeight|hideDialog|showDialog|c_r|setProperties|replace|try|disable|milkbox_a|isdisabled|debugService|showModal|adopt|pointer|imageBoxSize|show|objectWidth|visible|rotateFunction|after|c_g|c_b|pageTracker||delete|checked|str|specialDescription|add|preventDefault|lastChange|preloadImage|class|pngfix|imageGallery|MSIE|appVersion|navigator|ie7|imageY|remove|domready|Milkbox|showThisImage|chain|mbLoading|showImage|toLowerCase|minmax|icon|rgba|backupStyle|bottomSize|prepareHTML|star|removeClass|resizeTransition|calldata|removeEvents|hover|gap|_on|dialog|_trackPageview|root|setValue|modal|_grey|reflected|Debug|resizeDuration|getContext|ie8|writeln|wSize|targetHeight|direction|prepareEffects|9992|catch|targetOffset|out|_off|innerWidth|templates|cancelAllEffects|ex|iepngfix_tilebg|jacket|addColorStop|importHash|location|oldvalue|fn|match|callback|hoverBackgroundPosition|fadeBackgrounds|250|Array|prepareEvents|method|initMilkbox|openMilkbox|resources|Queue|Ajax_Queue|prepareGalleries|addFromClass|createHoverBackground|fillStyle|restore|onStart|all|ajax|dir|Fx|inspect|globalCompositeOperation|eachDelayed|trace|fill|320000|onChange|getElementsByTagName|include|send|Object|_fadeBackgrounds|Events|to|ajax_queue|ajax_hash|shift|php|destination|transition|hasClass|40000|addToQueue|gif|attempt|getValue|jpg|removeReflection|property|300|scaleDimensions|ModalDialog|getScrollTop|waitForCSS|setTimeout|drawImage|createLinearGradient|default|Tween|number|typeof|post|getScrollLeft|callee|addReflection|csshover|ModalDialog_blackback|Star|sine|500|html|Options|23px|chk|mootools|parentNode|replaces|extend|Implements|translate|flipv|progid|appendText|DXImageTransform|filter|boolean|change|setProperty|marginBottom|create|setOptions|space|keydown|loadImage|Swiff|mbCount|esc|mouseout|span|mouseover|grab|round|muLoading|getProperties|remote|singleImage|Image|title|mbImage|getStyles|ie|selectorText||cssRules|trident4|mbPrevLink|mouseup|align|vertical|mousemove|mbBottom|mbDescription|alt|FFFFFF|mbNextLink|outer|9995|save|swf|mousedown|9994|mbCloseLink|9993|mbNavigation|defaultMorph|mbOverlay|9990|finishOpacity|test|_blank|mbCenter|hoverbg|9991|Microsoft|Alpha|start|open|finishx|finishy|toString|imageX|starty|of|startx|external'.split('|'),0,{})) ;/***************************************************************** typeface.js, version 0.11 | typefacejs.neocracy.org Copyright (c) 2008, David Chester davidchester@gmx.net 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. *****************************************************************/ (function() { var _typeface_js = { faces: {}, loadFace: function(typefaceData) { var familyName = typefaceData.familyName.toLowerCase(); if (!this.faces[familyName]) { this.faces[familyName] = {}; } if (!this.faces[familyName][typefaceData.cssFontWeight]) { this.faces[familyName][typefaceData.cssFontWeight] = {}; } var face = this.faces[familyName][typefaceData.cssFontWeight][typefaceData.cssFontStyle] = typefaceData; face.loaded = true; }, log: { debug: function(message) { var typefaceConsole = document.getElementById('typeface-console'); if (typefaceConsole) typefaceConsole.innerHTML += 'DEBUG: ' + message + "
"; }, error: function(message) { var typefaceConsole = document.getElementById('typeface-console'); if (typefaceConsole) typefaceConsole.innerHTML += 'ERROR: ' + message + "
"; } }, pixelsFromPoints: function(face, style, points, dimension) { var pixels = points * parseInt(style.fontSize) * 72 / (face.resolution * 100); if (dimension == 'horizontal' && style.fontStretchPercent) { pixels *= style.fontStretchPercent; } return pixels; }, pointsFromPixels: function(face, style, pixels, dimension) { var points = pixels * face.resolution / (parseInt(style.fontSize) * 72 / 100); if (dimension == 'horizontal' && style.fontStretchPrecent) { points *= style.fontStretchPercent; } return points; }, cssFontWeightMap: { normal: 'normal', bold: 'bold', 400: 'normal', 700: 'bold' }, cssFontStretchMap: { 'ultra-condensed': 0.55, 'extra-condensed': 0.77, 'condensed': 0.85, 'semi-condensed': 0.93, 'normal': 1, 'semi-expanded': 1.07, 'expanded': 1.15, 'extra-expanded': 1.23, 'ultra-expanded': 1.45, 'default': 1 }, fallbackCharacter: '.', getTextExtents: function(face, style, text) { var extentX = 0; var extentY = 0; var horizontalAdvance; for (var i = 0; i < text.length; i++) { var glyph = face.glyphs[text.charAt(i)] ? face.glyphs[text.charAt(i)] : face.glyphs[this.fallbackCharacter]; var letterSpacingAdjustment = this.pointsFromPixels(face, style, style.letterSpacing); extentX += Math.max(glyph.ha, glyph.x_max) + letterSpacingAdjustment; horizontalAdvance += glyph.ha + letterSpacingAdjustment; } return { x: extentX, y: extentY, ha: horizontalAdvance }; }, pixelsFromCssAmount: function(cssAmount, defaultValue) { var matches = undefined; if (cssAmount == 'normal') { return defaultValue; } else if (matches = cssAmount.match(/([\-\d+\.]+)px/)) { return matches[1]; } else if (matches = cssAmount.match(/([\-\d\.]+)pt/)) { return matches[1] * 100 / 75; } else { return defaultValue; } }, getRenderedText: function(e) { var browserStyle = window.getComputedStyle ? document.defaultView.getComputedStyle(e.parentNode, '') : e.parentNode.currentStyle ? e.parentNode.currentStyle : { color: '#ff0000', fontSize: 12, fontFamily: 'arial' }; var inlineStyleAttribute = e.parentNode.getAttribute('style'); if (inlineStyleAttribute && typeof(inlineStyleAttribute) == 'object') { inlineStyleAttribute = inlineStyleAttribute.cssText; } if (inlineStyleAttribute) { var inlineStyleDeclarations = inlineStyleAttribute.split(/\s*\;\s*/); var inlineStyle = {}; for (var i = 0; i < inlineStyleDeclarations.length; i++) { var declaration = inlineStyleDeclarations[i]; var declarationOperands = declaration.split(/\s*\:\s*/); inlineStyle[declarationOperands[0]] = declarationOperands[1]; } } var style = { color: browserStyle.color, fontFamily: browserStyle.fontFamily.split(/\s*,\s*/)[0].replace(/(^"|^'|'$|"$)/g, '').toLowerCase(), fontSize: this.pixelsFromCssAmount(browserStyle.fontSize, 12), fontWeight: this.cssFontWeightMap[browserStyle.fontWeight], fontStyle: browserStyle.fontStyle ? browserStyle.fontStyle : 'normal', fontStretchPercent: this.cssFontStretchMap[inlineStyle && inlineStyle['font-stretch'] ? inlineStyle['font-stretch'] : 'default'], textDecoration: browserStyle.textDecoration, lineHeight: this.pixelsFromCssAmount(browserStyle.lineHeight, 'normal'), letterSpacing: this.pixelsFromCssAmount(browserStyle.letterSpacing, 0) }; var face; if ( this.faces[style.fontFamily] && this.faces[style.fontFamily][style.fontWeight] ) { face = this.faces[style.fontFamily][style.fontWeight][style.fontStyle]; } if (!face) { return; } var text = e.nodeValue.replace(/(?:^\s+|\s+$)/g, ''); text = text.replace(/\s+/g, ' '); var words = text.split(/\s/); var containerSpan = document.createElement('span'); for (var i = 0; i < words.length; i++) { var word = words[i]; var delimiter = i == words.length - 1 ? '' : ' '; var vectorElement = this.renderWord(face, style, word + delimiter); if (vectorElement) containerSpan.appendChild(vectorElement); } return containerSpan; }, renderDocument: function(callback) { // args: onComplete if (this.renderDocumentLock) return; this.renderDocumentLock = true; if (!callback) callback = function(e) { e.style.visibility = 'visible' }; var elements = document.getElementsByTagName('*'); var elementsLength = elements.length; for (var i = 0; i < elements.length; i++) { if (elements[i].className.match(/(^|\s)typeface-js(\s|$)/) || elements[i].tagName.match(/^(H1|H2|H3|H4|H5|H6)$/)) { this.replaceText(elements[i]); if (typeof callback == 'function') { callback(elements[i]); } } } }, replaceText: function(e) { if (e.hasChildNodes()) { var childNodes = []; for (var i = 0; i < e.childNodes.length; i++) { childNodes[i] = e.childNodes[i]; } for (var i = 0; i < childNodes.length; i++) { this.replaceText(childNodes[i]); } } if (e.nodeType == 3 && e.nodeValue.match(/\S/)) { var parentNode = e.parentNode; var renderedText = this.getRenderedText(e); if (renderedText) { parentNode.insertBefore(renderedText, e); parentNode.removeChild(e); } } }, applyElementVerticalMetrics: function(face, style, e) { var boundingBoxAdjustmentTop = this.pixelsFromPoints(face, style, face.ascender - Math.max(face.boundingBox.yMax, face.ascender)); var boundingBoxAdjustmentBottom = this.pixelsFromPoints(face, style, Math.min(face.boundingBox.yMin, face.descender) - face.descender); var cssLineHeightAdjustment = 0; if (style.lineHeight != 'normal') { cssLineHeightAdjustment = style.lineHeight - this.pixelsFromPoints(face, style, face.lineHeight); } var marginTop = Math.round(boundingBoxAdjustmentTop + cssLineHeightAdjustment / 2); var marginBottom = Math.round(boundingBoxAdjustmentBottom + cssLineHeightAdjustment / 2); e.style.marginTop = marginTop + 'px'; e.style.marginBottom = marginBottom + 'px'; }, vectorBackends: { canvas: { _initializeSurface: function(face, style, text) { var extents = this.getTextExtents(face, style, text); var canvas = document.createElement('canvas'); canvas.innerHTML = text; this.applyElementVerticalMetrics(face, style, canvas); canvas.height = Math.round(this.pixelsFromPoints(face, style, face.lineHeight)); canvas.width = Math.round(this.pixelsFromPoints(face, style, extents.x, 'horizontal')); if (extents.x > extents.ha) canvas.style.marginRight = Math.round(this.pixelsFromPoints(face, style, extents.x - extents.ha, 'horizontal')) + 'px'; var ctx = canvas.getContext('2d'); var pointScale = this.pixelsFromPoints(face, style, 1); ctx.scale(pointScale * style.fontStretchPercent, -1 * pointScale); ctx.translate(0, -1 * face.ascender); ctx.fillStyle = style.color; return { context: ctx, canvas: canvas }; }, _renderGlyph: function(ctx, face, char, style) { var glyph = face.glyphs[char]; if (glyph == undefined) { //this.log.error("glyph not defined: " + char); return this.renderGlyph(ctx, face, this.fallbackCharacter, style); } if (glyph.o) { var outline; if (glyph.cached_outline) { outline = glyph.cached_outline; } else { outline = glyph.o.split(' '); glyph.cached_outline = outline; } for (var i = 0; i < outline.length; ) { var action = outline[i++]; switch(action) { case 'm': ctx.moveTo(outline[i++], outline[i++]); break; case 'l': ctx.lineTo(outline[i++], outline[i++]); break; case 'q': var cpx = outline[i++]; var cpy = outline[i++]; ctx.quadraticCurveTo(outline[i++], outline[i++], cpx, cpy); break; } } } if (glyph.ha) { var letterSpacingPoints = style.letterSpacing && style.letterSpacing != 'normal' ? this.pointsFromPixels(face, style, style.letterSpacing) : 0; ctx.translate(glyph.ha + letterSpacingPoints, 0); } }, _renderWord: function(face, style, text) { var surface = this.initializeSurface(face, style, text); var ctx = surface.context; var canvas = surface.canvas; ctx.beginPath(); ctx.save(); var chars = text.split(''); for (var i = 0; i < chars.length; i++) { var char = chars[i]; this.renderGlyph(ctx, face, char, style); } ctx.fill(); if (style.textDecoration == 'underline') { ctx.beginPath(); ctx.moveTo(0, face.underlinePosition); ctx.restore(); ctx.lineTo(0, face.underlinePosition); ctx.strokeStyle = style.color; ctx.lineWidth = face.underlineThickness; ctx.stroke(); } return ctx.canvas; } }, vml: { _initializeSurface: function(face, style, text) { var shape = document.createElement('v:shape'); var extents = this.getTextExtents(face, style, text); shape.style.width = style.fontSize + 'px'; shape.style.height = style.fontSize + 'px'; if (extents.x > extents.ha) { shape.style.marginRight = this.pixelsFromPoints(face, style, extents.x - extents.ha, 'horizontal') + 'px'; } this.applyElementVerticalMetrics(face, style, shape); shape.coordsize = (face.resolution * 100 / style.fontStretchPercent / 72 ) + "," + (face.resolution * 100 / 72); shape.coordorigin = '0,' + face.ascender; shape.style.flip = 'y'; shape.fillColor = style.color; shape.stroked = false; shape.path = 'hh m 0,' + face.ascender + ' l 0,' + face.descender + ' '; return shape; }, _renderGlyph: function(shape, face, char, offsetX, style) { var glyph = face.glyphs[char]; if (glyph == undefined) { //this.log.error("glyph not defined: " + char); return this.renderGlyph(shape, face, this.fallbackCharacter, offsetX, style); } var vmlSegments = []; if (glyph.o) { var outline; if (glyph.cached_outline) { outline = glyph.cached_outline; } else { outline = glyph.o.split(' '); glyph.cached_outline = outline; } var prevAction, prevX, prevY; var i; for (i = 0; i < outline.length;) { var action = outline[i++]; var vmlSegment = ''; var x = Math.round(outline[i++]) + offsetX; var y = Math.round(outline[i++]); switch(action) { case 'm': vmlSegment = (vmlSegments.length ? 'x ' : '') + 'm ' + x + ',' + y; break; case 'l': vmlSegment = 'l ' + x + ',' + y; break; case 'q': var cpx = Math.round(outline[i++]) + offsetX; var cpy = Math.round(outline[i++]); var cp1x = Math.round(prevX + 2.0 / 3.0 * (cpx - prevX)); var cp1y = Math.round(prevY + 2.0 / 3.0 * (cpy - prevY)); var cp2x = Math.round(cp1x + (x - prevX) / 3.0); var cp2y = Math.round(cp1y + (y - prevY) / 3.0); vmlSegment = 'c ' + cp1x + ',' + cp1y + ',' + cp2x + ',' + cp2y + ',' + x + ',' + y; break; } prevAction = action; prevX = x; prevY = y; if (vmlSegment.length) { vmlSegments.push(vmlSegment); } } } vmlSegments.push('x', 'e'); return vmlSegments.join(' '); }, _renderWord: function(face, style, text) { var offsetX = 0; var shape = this.initializeSurface(face, style, text); var letterSpacingPoints = style.letterSpacing && style.letterSpacing != 'normal' ? this.pointsFromPixels(face, style, style.letterSpacing) : 0; letterSpacingPoints = Math.round(letterSpacingPoints); var chars = text.split(''); for (var i = 0; i < chars.length; i++) { var char = chars[i]; shape.path += this.renderGlyph(shape, face, char, offsetX, style) + ' '; offsetX += face.glyphs[char].ha + letterSpacingPoints ; } shape.style.marginRight = this.pixelsFromPoints(face, style, face.glyphs[' '].ha) + 'px'; return shape; } } }, setVectorBackend: function(backend) { var backendFunctions = ['renderWord', 'initializeSurface', 'renderGlyph']; for (var i = 0; i < backendFunctions.length; i++) { var backendFunction = backendFunctions[i]; this[backendFunction] = this.vectorBackends[backend]['_' + backendFunction]; } } }; // IE won't accept real selectors... var typefaceSelectors = ['.typeface-js', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6']; if (document.createStyleSheet) { var styleSheet = document.createStyleSheet(); for (var i = 0; i < typefaceSelectors.length; i++) { var selector = typefaceSelectors[i]; styleSheet.addRule(selector, 'visibility: hidden'); } } else if (document.styleSheets && document.styleSheets.length) { var styleSheet = document.styleSheets[0]; document.styleSheets[0].insertRule(typefaceSelectors.join(',') + ' { visibility: hidden; }', styleSheet.cssRules.length); } var backend = !!(window.attachEvent && !window.opera) ? 'vml' : window.CanvasRenderingContext2D || document.createElement('canvas').getContext ? 'canvas' : null; if (backend == 'vml') { document.namespaces.add("v"); var styleSheet = document.createStyleSheet(); styleSheet.addRule('v\\:*', "behavior: url(#default#VML); display: inline-block;"); } _typeface_js.setVectorBackend(backend); window._typeface_js = _typeface_js; // based on code by Dean Edwards / Matthias Miller / John Resig function typefaceInit() { // quit if this function has already been called if (arguments.callee.done) return; // flag this function so we don't do the same thing twice arguments.callee.done = true; // kill the timer if (window._typefaceTimer) clearInterval(_typefaceTimer); _typeface_js.renderDocument( function(e) { e.style.visibility = 'visible' } ); }; if (/WebKit/i.test(navigator.userAgent)) { var _typefaceTimer = setInterval(function() { if (/loaded|complete/.test(document.readyState)) { typefaceInit(); } }, 10); } if (document.addEventListener) { window.addEventListener('DOMContentLoaded', function() { typefaceInit() }, false); } /*@cc_on @*/ /*@if (@_win32) document.write("