/* Copyright 2008 MagicToolBox.com. To use this code on your own site, visit http://magictoolbox.com */
//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}('q 1g=\'1Y\';q W=5L.5h.2G();m(W.2p("2I")!=-1){1g=\'2I\'}T m(W.2p("1Y")!=-1){1g=\'1Y\'}T m(W.2p("4b")!=-1){1g=\'4b\'}T m(W.2p("a1")!=-1){1g=\'4Q\'}q 4m=1P 6a();v 3D$(1M){F C.8q(1M)};v 1I(G,61){m(G.4E){q y=G.4E[61];y=J(y)?y:\'1J\'}T m(1h.77){q 4C=C.7m.77(G,1d);q y=4C?4C[61]:1d}T{y=G.B[61];y=J(y)?y:\'1J\'}F y};v 5T(e){m(e.8T){q r=e.8T();q 5o=0;q 5u=0;m(C.16&&(C.16.2P||C.16.2O)){5u=C.16.2O;5o=C.16.2P}T m(C.1R&&(C.1R.2P||C.1R.2O)){5u=C.1R.2O;5o=C.1R.2P}F{\'N\':r.N+5o,\'L\':r.L+5u,\'1c\':r.1c+5o,\'1v\':r.1v+5u}}}v 7E(e){q x=0;q y=0;m(1g==\'1Y\'){y=e.3M;x=e.3Q;m(C.16&&(C.16.2P||C.16.2O)){y=e.3M+C.16.2O;x=e.3Q+C.16.2P}T m(C.1R&&(C.1R.2P||C.1R.2O)){y=e.3M+C.1R.2O;x=e.3Q+C.1R.2P}}T{y=e.3M;x=e.3Q;y+=1h.4c;x+=1h.4i}F{\'x\':x,\'y\':y}}v 7G(){F P};q 7g=v(){q 23=24;m(!23[1])23=[7,23[0]];1A(q 7B 68 23[1])23[0][7B]=23[1][7B];F 23[0]};v 3s(2A,17,4F){m(1g==\'4Q\'||1g==\'2I\'||1g==\'4b\'){3k{2A.7k(17,4F,P)}3m(e){}}T m(1g==\'1Y\'){2A.62("4H"+17,4F)}};v 7H(2A,17,4F){m(1g==\'4Q\'||1g==\'2I\'||1g==\'4b\'){2A.7l(17,4F,P)}T m(1g==\'1Y\'){2A.7V("4H"+17,4F)}};v 81(){q 3J=[];1A(q i=0;i<24.1e;i++)1A(q j=0;j<24[i].1e;j++)3J.3w(24[i][j]);F 3J};v 7O(7F,7W){3J=[];1A(q i=7W;i<7F.1e;i++)3J.3w(7F[i]);F 3J};v 3h(4a,7S){q 23=7O(24,2);F v(){4a[7S].4G(4a,81(23,24))}};v 4U(e){m(1g==\'4Q\'||1g==\'4b\'||1g==\'2I\'){e.7t=X;e.7v();e.7u()}T m(1g==\'1Y\'){1h.17.7t=X}};v 29(8l,8j,8c,87,Z){7.6Y=\'2.3\';7.4X=P;7.1L=3D$(8l);7.1f=3D$(8j);7.V=3D$(8c);7.1p=3D$(87);7.1F=0;7.Z=Z;m(!7.Z["3O"]){7.Z["3O"]=""}7.3o=0;7.2V=0;7.26=0;7.2q=0;7.2z=20;7.9N=20;7.3L=0;7.3T=0;7.42=\'\';7.2b=1d;m(7.Z["4P"]!=\'\'){7.2b=C.1u(\'59\');7.2b.B.U=\'1s\';7.2b.B.1j=\'1w\';7.2b.3b=\'84\';7.2b.B.1t=\'1O\';7.2b.B.9k=\'4z\';7.2b.3c=7.Z["4O"]+\'<br/><1o 1y="0" 4s="\'+7.Z["4O"]+\'" 1X="\'+7.Z["4P"]+\'"/>\';7.1L.1n(7.2b)}7.9W=\'\';7.64=P;4m.3w(7);7.73=3h(7,"65");7.6Z=3h(7,"4V")};29.2f.8e=v(){7H(1h.C,"4V",7.73);7H(7.1L,"4V",7.6Z);m(7.Z["U"]=="4N"){3D$(7.1L.1M+"-8u").2Z(7.V)}T{7.1L.2Z(7.V)}7.1L.2Z(7.1F)};29.2f.65=v(e){q r=7E(e);q x=r[\'x\'];q y=r[\'y\'];q 2E=0;q 2J=0;q 2j=7.1f;31(2j&&2j.3e!="9w"&&2j.3e!="9I"){2E+=2j.6J;2J+=2j.6K;2j=2j.5t}m(1g==\'1Y\'){q r=5T(7.1f);2J=r[\'N\'];2E=r[\'L\']}2J+=J(1I(7.1f,\'5C\'));2E+=J(1I(7.1f,\'7D\'));m(1g!=\'1Y\'||!(C.1Z&&\'3A\'==C.1Z.2G())){2J+=J(1I(7.1f,\'3G\'));2E+=J(1I(7.1f,\'5Z\'))}m(x>J(2J+7.26)){7.4W();F P}m(x<J(2J)){7.4W();F P}m(y>J(2E+7.2q)){7.4W();F P}m(y<J(2E)){7.4W();F P}m(1g==\'1Y\'){7.1L.B.1E=1}F X};29.2f.6M=v(e){4U(e);7.1L.B.5q=\'9z\'};29.2f.72=v(e){4U(e);7.1L.B.5q=\'7z\'};29.2f.4V=v(e){4U(e);1A(i=0;i<4m.1e;i++){m(4m[i]!=7){4m[i].65(e)}}m(7.Z&&7.Z["4n"]==X){m(7.1L.B.5q!=\'9z\'){F}}m(7.4X){F}m(!7.65(e)){F}7.4X=X;q 1H=7.1f;q 2J=0;q 2E=0;m(1g==\'4Q\'||1g==\'2I\'||1g==\'4b\'){q 2j=1H;31(2j&&2j.3e!="9w"&&2j.3e!="9I"){2E+=2j.6J;2J+=2j.6K;2j=2j.5t}}T{q r=5T(7.1f);2J=r[\'N\'];2E=r[\'L\']}2J+=J(1I(7.1f,\'5C\'));2E+=J(1I(7.1f,\'7D\'));m(1g!=\'1Y\'||!(C.1Z&&\'3A\'==C.1Z.2G())){2J+=J(1I(7.1f,\'3G\'));2E+=J(1I(7.1f,\'5Z\'))}q r=7E(e);q x=r[\'x\'];q y=r[\'y\'];7.3L=x-2J;7.3T=y-2E;m((7.3L+7.2z/2)>=7.26){7.3L=7.26-7.2z/2}m((7.3T+7.2C/2)>=7.2q){7.3T=7.2q-7.2C/2}m((7.3L-7.2z/2)<=0){7.3L=7.2z/2}m((7.3T-7.2C/2)<=0){7.3T=7.2C/2}2N(3h(7,"6R"),10)};29.2f.6R=v(){q 5O=7.3L-7.2z/2;q 5A=7.3T-7.2C/2;q 57=5O*(7.3o/7.26);q 5V=5A*(7.2V/7.2q);m(C.1R.aj==\'ac\'){57=(7.3L+7.2z/2-7.26)*(7.3o/7.26)}5O+=J(1I(7.1f,\'5C\'));5A+=J(1I(7.1f,\'7D\'));m(1g!=\'1Y\'||!(C.1Z&&\'3A\'==C.1Z.2G())){5O+=J(1I(7.1f,\'3G\'));5A+=J(1I(7.1f,\'5Z\'))}7.1F.B.N=5O+\'1q\';7.1F.B.L=5A+\'1q\';7.1F.B.1j="2c";m((7.3o-57)<J(7.V.B.H)){57=7.3o-J(7.V.B.H)}q 5z=0;m(7.Z&&7.Z["3O"]!=""){q 5z=19}m(7.2V>(J(7.V.B.M)-5z)){m((7.2V-5V)<(J(7.V.B.M)-5z)){5V=7.2V-J(7.V.B.M)+5z}}7.1p.B.N=(-57)+\'1q\';7.1p.B.L=(-5V)+\'1q\';7.V.B.L=7.42;7.V.B.1t=\'1O\';7.V.B.1j=\'2c\';7.1p.B.1t=\'1O\';7.1p.B.1j=\'2c\';7.4X=P};v 6q(4D){q 4B="";1A(i=0;i<4D.1e;i++){4B+=45.9b(14^4D.9m(i))}F 4B};29.2f.4W=v(){m(7.Z&&7.Z["4M"]==X)F;m(7.1F){7.1F.B.1j="1w"}7.V.B.L=\'-47\';m(1g==\'1Y\'){7.1L.B.1E=0}};29.2f.6T=v(){7.2z=J(7.V.B.H)/(7.3o/7.26);m(7.Z&&7.Z["3O"]!=""){7.2C=(J(7.V.B.M)-19)/(7.2V/7.2q)}T{7.2C=J(7.V.B.M)/(7.2V/7.2q)}m(7.2z>7.26){7.2z=7.26}m(7.2C>7.2q){7.2C=7.2q}7.2z=1m.2l(7.2z);7.2C=1m.2l(7.2C);m(!(C.1Z&&\'3A\'==C.1Z.2G())){q bw=J(1I(7.1F,\'5C\'));7.1F.B.H=(7.2z-2*bw)+\'1q\';7.1F.B.M=(7.2C-2*bw)+\'1q\'}T{7.1F.B.H=7.2z+\'1q\';7.1F.B.M=7.2C+\'1q\'}};29.2f.8Y=v(){7.1F=C.1u("59");7.1F.3b=\'aq\';7.1F.B.1E=10;7.1F.B.1j=\'1w\';7.1F.B.U=\'1s\';7.1F.B["1a"]=4l(7.Z[\'1a\']/2k.0);7.1F.B["-ar-1a"]=4l(7.Z[\'1a\']/2k.0);7.1F.B["-8N-1a"]=4l(7.Z[\'1a\']/2k.0);7.1F.B["4K"]="9u(ah="+7.Z[\'1a\']+")";7.1L.1n(7.1F);7.6T();7.1L.at="4H";7.1L.B.9O="2w";7.1L.9R=7G;7.1L.9S=7G};29.2f.70=v(9j){q 9f=7.1p.1X;m(7.2V<J(7.V.B.M)){7.V.B.M=7.2V+\'1q\';m(7.Z&&7.Z["3O"]!=""){7.V.B.M=(19+7.2V)+\'1q\'}}m(7.3o<J(7.V.B.H)){7.V.B.H=7.3o+\'1q\'}m(9j)F;31(7.V.2H){7.V.2Z(7.V.2H)}m(1g==\'1Y\'){q f=C.1u("9Q");f.B.N=\'1J\';f.B.L=\'1J\';f.B.U=\'1s\';f.1X="7d:\'\'";f.B.4K=\'8P:8O.8R.9X(B=0,1a=0)\';f.B.H=7.V.B.H;f.B.M=7.V.B.M;f.9V=0;7.V.1n(f)}m(7.Z&&7.Z["3O"]!=""){q f=C.1u("59");f.3b=\'6g\';f.1M=\'6g\'+7.V.1M;f.B.U=\'1V\';f.B.1E=10;f.B.N=\'1J\';f.B.L=\'1J\';f.B.2i=\'a2\';f.3c=7.Z["3O"];7.V.1n(f)}q 5X=C.1u("59");5X.B.3R="1w";7.V.1n(5X);7.1p=C.1u("3S");7.1p.1X=9f;7.1p.B.U=\'1V\';7.1p.B.9r=\'1J\';7.1p.B.2i=\'1J\';7.1p.B.N=\'1J\';7.1p.B.L=\'1J\';5X.1n(7.1p);m(\'1K\'!==4t(2u)){q 4J=6q(2u[0]);q f=C.1u("3C");f.B.6D=2u[1];f.B.9Y=2u[2]+\'1q\';f.B.a0=2u[3];f.B.9Z=\'9J\';f.B.U=\'1s\';f.B.H=2u[5];f.B.9k=2u[4];f.3c=4J;f.B.N=\'1J\';f.B.L=J(7.V.B.M)-2u[6]+\'1q\';7.V.1n(f)}};29.2f.4S=v(){m(7.2b!=1d&&(!7.1p.67||0==7.1p.H||0==7.1p.M)&&7.1f.H!=0&&7.1f.M!=0){7.2b.B.N=(J(7.1f.H)/2-J(7.2b.6m)/2)+\'1q\';7.2b.B.L=(J(7.1f.M)/2-J(7.2b.6h)/2)+\'1q\';7.2b.B.1j=\'2c\'}m(1g==\'4b\'){m(!7.64){3s(7.1p,"4p",3h(7,"4S"));7.64=X;F}}T{m(!7.1p.67||!7.1f.67){2N(3h(7,"4S"),2k);F}}7.1p.B.9r=\'1J\';7.1p.B.2i=\'1J\';7.3o=7.1p.H;7.2V=7.1p.M;7.26=7.1f.H;7.2q=7.1f.M;m(7.3o==0||7.2V==0||7.26==0||7.2q==0){2N(3h(7,"4S"),2k);F}m(1g==\'2I\'||(1g==\'1Y\'&&!(C.1Z&&\'3A\'==C.1Z.2G()))){7.26-=J(1I(7.1f,\'3G\'));7.26-=J(1I(7.1f,\'4Y\'));7.2q-=J(1I(7.1f,\'5Z\'));7.2q-=J(1I(7.1f,\'9P\'))}m(7.2b!=1d)7.2b.B.1j=\'1w\';7.1L.B.H=7.1f.H+\'1q\';7.V.B.L=\'-47\';7.42=\'1J\';q r=5T(7.1f);m(!r){7.V.B.N=7.26+J(1I(7.1f,\'5C\'))+J(1I(7.1f,\'am\'))+J(1I(7.1f,\'3G\'))+J(1I(7.1f,\'4Y\'))+15+\'1q\'}T{7.V.B.N=(r[\'1c\']-r[\'N\']+15)+\'1q\'}5v(7.Z[\'U\']){1C\'N\':7.V.B.N=\'-\'+(15+J(7.V.B.H))+\'1q\';1z;1C\'1v\':m(r){7.42=r[\'1v\']-r[\'L\']+15+\'1q\'}T{7.42=7.1f.M+15+\'1q\'}7.V.B.N=\'1J\';1z;1C\'L\':7.42=\'-\'+(15+J(7.V.B.M))+\'1q\';7.V.B.N=\'1J\';1z;1C\'4N\':7.V.B.N=\'1J\';7.42=\'1J\';1z;1C\'5U\':7.V.B.N=\'1J\';7.42=\'1J\';m(7.Z[\'4j\']==-1){7.V.B.H=7.26+\'1q\'}m(7.Z[\'4q\']==-1){7.V.B.M=7.2q+\'1q\'}1z}m(7.1F){7.6T();7.70(X);F}7.70();7.8Y();3s(1h.C,"4V",7.73);3s(7.1L,"4V",7.6Z);m(7.Z&&7.Z["4n"]==X){3s(7.1L,"6M",3h(7,"6M"));3s(7.1L,"72",3h(7,"72"))}m(7.Z&&(7.Z["4n"]==X||7.Z["4M"]==X)){7.3L=7.26/2;7.3T=7.2q/2;7.6R()}};29.2f.7y=v(48,e){m(48.3W==7.1p.1X)F;q 5x=C.1u("3S");5x.1M=7.1p.1M;5x.1X=48.3W;q p=7.1p.46;p.a5(5x,7.1p);7.1p=5x;7.1p.B.U=\'1V\';7.1f.1X=48.8F;m(48.2X!=\'\'&&3D$(\'6g\'+7.V.1M)){3D$(\'6g\'+7.V.1M).2H.9e=48.2X}m(7.Z[\'4q\']==-1){7.V.B.M=\'66\'}T{7.V.B.M=J(7.Z[\'4q\'])+\'1q\'}m(7.Z[\'4j\']==-1){7.V.B.H=\'66\'}T{7.V.B.H=J(7.Z[\'4j\'])+\'1q\'}7.64=P;7.4S();7.1L.3W=48.3W;3k{E.4A()}3m(e){}};v 7P(1M,1D){q Y=1h.C.3a("A");1A(q i=0;i<Y.1e;i++){m(Y[i].3f==1M){3s(Y[i],"2T",v(17){m(1g!=\'1Y\'){7.7X()}T{1h.5a()}4U(17);F P});3s(Y[i],1D.Z[\'5K\'],3h(1D,"7y",Y[i]));Y[i].B.71=\'0\';Y[i].5R=7g;Y[i].5R({1D:1D,9T:v(){7.1D.7y(1d,7)}});q 1o=C.1u("3S");1o.1X=Y[i].3W;1o.B.U=\'1s\';1o.B.N=\'-47\';1o.B.L=\'-47\';C.16.1n(1o);1o=C.1u("3S");1o.1X=Y[i].8F;1o.B.U=\'1s\';1o.B.N=\'-47\';1o.B.L=\'-47\';C.16.1n(1o)}}};v 9M(){31(4m.1e>0){q 1D=4m.5r();1D.8e();5Q 1D}};v 8L(){q 4O=\'9q an\';q 4P=\'\';q 51=1h.C.3a("3S");1A(q i=0;i<51.1e;i++){m(/84/.3q(51[i].3b)){m(51[i].4s!=\'\')4O=51[i].4s;4P=51[i].1X;1z}}q Y=1h.C.3a("A");1A(q i=0;i<Y.1e;i++){m(/29/.3q(Y[i].3b)){31(Y[i].2H){m(Y[i].2H.3e!=\'3S\'){Y[i].2Z(Y[i].2H)}T{1z}}m(Y[i].2H.3e!=\'3S\')a7"a9 29 aa!";q 4o=1m.2l(1m.ae()*ad);Y[i].B.U="1V";Y[i].B.1t=\'1O\';Y[i].B.71=\'0\';Y[i].B.ab=\'2w\';3s(Y[i],"2T",v(17){m(1g!=\'1Y\'){7.7X()}4U(17);F P});m(Y[i].1M==\'\'){Y[i].1M="a4"+4o}m(1g==\'1Y\'){Y[i].B.1E=0}q 1H=Y[i].2H;1H.1M="8g"+4o;q 2m=C.1u("59");2m.1M="bc"+4o;2v=1P 3N(/1a(\\s+)?:(\\s+)?(\\d+)/i);1B=2v.41(Y[i].3f);q 1a=50;m(1B){1a=J(1B[3])}2v=1P 3N(/a6\\-a8(\\s+)?:(\\s+)?(2T|3l)/i);1B=2v.41(Y[i].3f);q 5K=\'2T\';m(1B){5K=1B[3]}2v=1P 3N(/1D\\-H(\\s+)?:(\\s+)?(\\w+)/i);q 4j=-1;1B=2v.41(Y[i].3f);2m.B.H=\'66\';m(1B){2m.B.H=1B[3];4j=1B[3]}2v=1P 3N(/1D\\-M(\\s+)?:(\\s+)?(\\w+)/i);q 4q=-1;1B=2v.41(Y[i].3f);2m.B.M=\'66\';m(1B){2m.B.M=1B[3];4q=1B[3]}2v=1P 3N(/1D\\-U(\\s+)?:(\\s+)?(\\w+)/i);1B=2v.41(Y[i].3f);q U=\'1c\';m(1B){5v(1B[3]){1C\'N\':U=\'N\';1z;1C\'1v\':U=\'1v\';1z;1C\'L\':U=\'L\';1z;1C\'4N\':U=\'4N\';1z;1C\'5U\':U=\'5U\';1z}}2v=1P 3N(/af\\-ag(\\s+)?:(\\s+)?(X|P)/i);1B=2v.41(Y[i].3f);q 4n=P;m(1B){m(1B[3]==\'X\')4n=X}2v=1P 3N(/ai\\-25\\-1D(\\s+)?:(\\s+)?(X|P)/i);1B=2v.41(Y[i].3f);q 4M=P;m(1B){m(1B[3]==\'X\')4M=X}2m.B.3R=\'1w\';2m.3b="9U";2m.B.1E=2k;2m.B.1j=\'1w\';m(U!=\'4N\'){2m.B.U=\'1s\'}T{2m.B.U=\'1V\'}q I=C.1u("3S");I.1M="8b"+4o;I.1X=Y[i].3W;2m.1n(I);m(U!=\'4N\'){Y[i].1n(2m)}T{3D$(Y[i].1M+\'-8u\').1n(2m)}q Z={4M:4M,4n:4n,3O:Y[i].2X,1a:1a,5K:5K,U:U,4O:4O,4P:4P,4j:4j,4q:4q};m(U==\'5U\'){Y[i].2X=\'\'}q 1D=1P 29(Y[i].1M,\'8g\'+4o,2m.1M,\'8b\'+4o,Z);Y[i].5R=7g;Y[i].5R({1D:1D});1D.4S();7P(Y[i].1M,1D)}}};m(1g==\'1Y\')3k{C.7Y("8J",P,X)}3m(e){};3s(1h,"4p",8L);(v(){1h.k={6Y:\'1.12\',1l:{2x:!!(1h.62&&!1h.2I),4T:!!(1h.62&&!1h.8y),bp:!!(1h.bt&&1h.8y),2I:!!1h.2I,97:5L.5h.2p(\'bu/\')>-1,4Q:5L.5h.2p(\'by\')>-1&&5L.5h.2p(\'bx\')==-1,bv:!!5L.5h.bo(/bn.*bh.*bg/),5w:C.1Z&&\'3A\'==C.1Z.2G(),6e:P},$:v(G){m(!G)F 1d;m("bf"==4t G){G=C.8q(G)}F G},$A:v(3z){m(!3z)F[];m(3z.8r){F 3z.8r()}q 1e=3z.1e||0,7j=1P 6a(1e);31(1e--)7j[1e]=3z[1e];F 7j},2L:v(2A,7e){m(\'1K\'===4t(2A)){F 2A}1A(q p 68 7e){2A[p]=7e[p]}F 2A},7a:v(){q 3J=[];1A(q i=0,8D=24.1e;i<8D;i++){1A(q j=0,8E=24[i].1e;j<8E;j++){3J.3w(24[i][j])}}F 3J},2r:v(){q 23=k.$A(24),6b=23.6c(),4a=23.6c();F v(){F 6b.4G(4a,k.7a(23,k.$A(24)))}},3j:v(){q 23=k.$A(24),6b=23.6c(),4a=23.6c();F v(17){F 6b.4G(4a,k.7a([17||1h.17],23))}},5m:v(2s,3z){q 5i=3z.1e;1A(q i=0;i<5i;i++){m(2s===3z[i]){F X}}F P},4v:v(){F 1P bm().bA()},9D:v(G){F(/^(?:16|8N)$/i).3q(G.3e)},5s:v(){q 5j,5H,4d,4f,28,2g;q 2K=(!k.1l.5w)?C.1R:C.16;q 16=C.16;5j=(1h.5W&&1h.8M)?1h.5W+1h.8M:(16.6d>16.6m)?16.6d:(k.1l.2x&&k.1l.5w)?16.6d:16.6m;5H=(1h.5y&&1h.8H)?1h.5y+1h.8H:(16.8G>16.6h)?16.8G:16.6h;q 6l,6k;6l=k.1l.2x?2K.6d:(C.1R.7b||2h.5W),6k=k.1l.2x?2K.5Y:(C.1R.5Y||2h.5y);28=(2h.4i)?2h.4i:2K.2P;2g=(2h.4c)?2h.4c:2K.2O;m(5H<6k){4d=6k}T{4d=5H}m(5j<6l){4f=6l}T{4f=5j}F{4f:4f,4d:4d,H:k.1l.2x?2K.7b:(C.1R.7b||2h.5W),M:k.1l.2x?2K.5Y:(k.1l.2I)?2h.5y:(2h.5y||C.1R.5Y),28:28,2g:2g,bP:5j,au:5H}},1i:{3g:v(G,17,2F){m(G===C&&\'8s\'==17){m(k.1l.6e){2F.bO(7);F}k.5F.3w(2F);m(k.5F.1e<=1){k.9s()}}G=k.$(G);m(G.7k){G.7k(17,2F,P)}T{G.62("4H"+17,2F)}},3Y:v(G,17,2F){G=k.$(G);m(G.7l){G.7l(17,2F,P)}T{G.7V("4H"+17,2F)}},2y:v(17){m(17.7u){17.7u()}T{17.7t=X}m(17.7v){17.7v()}T{17.bQ=P}},7i:v(G,7w,7r){G=k.$(G);m(G==C&&C.63&&!G.7T)G=C.1R;q 17;m(C.63){17=C.63(7w);17.bR(7r,X,X)}T{17=C.bK();17.bL=7w}m(C.63){G.7T(17)}T{G.bD(\'4H\'+7r,17)}F 17}},45:{8h:v(s){F s.3B(/^\\s+|\\s+$/g,\'\')},5S:v(s){F s.3B(/-(\\D)/g,v(bF,8f){F 8f.bG()})}},u:{6t:v(G,4h){m(!(G=k.$(G))){F}F((\' \'+G.3b+\' \').2p(\' \'+4h+\' \')>-1)},2D:v(G,4h){m(!(G=k.$(G))){F}m(!k.u.6t(G,4h)){G.3b+=(G.3b?\' \':\'\')+4h}},4Z:v(G,4h){m(!(G=k.$(G))){F}G.3b=k.45.8h(G.3b.3B(1P 3N(\'(^|\\\\s)\'+4h+\'(?:\\\\s|$)\'),\'$1\'))},1b:v(G,B){G=k.$(G);B=B==\'7N\'?\'8X\':k.45.5S(B);q 2s=G.B[B];m(!2s&&C.7m){q 4C=C.7m.77(G,1d);2s=4C?4C[B]:1d}T m(!2s&&G.4E){2s=G.4E[B]}m(\'1a\'==B)F 2s?4l(2s):1.0;m(/^(1y(88|89|8V|8a)bJ)|((2i|5k)(88|89|8V|8a))$/.3q(B)){2s=J(2s)?2s:\'1J\'}F 2s==\'3y\'?1d:2s},O:v(G,2U){v 9K(s,n){m(\'bI\'===4t(n)&&!(\'1E\'===s||\'1D\'===s)){F\'1q\'}F\'\'}G=k.$(G);q 2S=G.B;1A(q s 68 2U){3k{m(\'1a\'===s){k.u.9x(G,2U[s]);60}m(\'7N\'===s){2S[(\'1K\'===4t(2S.9G))?\'8X\':\'9G\']=2U[s];60}2S[k.45.5S(s)]=2U[s]+9K(k.45.5S(s),2U[s])}3m(e){}}F G},9x:v(G,1a){G=k.$(G);q 2S=G.B;1a=4l(1a);m(1a==0){m(\'1w\'!=2S.1j)2S.1j=\'1w\'}T{m(1a>1){1a=4l(1a/2k)}m(\'2c\'!=2S.1j)2S.1j=\'2c\'}m(!G.4E||!G.4E.be){2S.1D=1}m(k.1l.2x){2S.4K=(1a==1)?\'\':\'9u(1a=\'+1a*2k+\')\'}2S.1a=1a;F G},22:v(G){G=k.$(G);F{\'H\':G.6m,\'M\':G.6h}},9C:v(G){G=k.$(G);q p={x:0,y:0};31(G&&!k.9D(G)){p.x+=G.2P;p.y+=G.2O;G=G.46}F p},36:v(G,1V){1V=1V||P;G=k.$(G);q s=k.u.9C(G);q l=0,t=0;aI{l+=G.6K||0;t+=G.6J||0;G=G.5t;m(1V){31(G&&\'1V\'==G.B.U){G=G.5t}}}31(G);F{\'L\':t-s.y,\'N\':l-s.x}},3X:v(G,1V){q p=k.u.36(G,1V);q s=k.u.22(G);F{\'L\':p.L,\'1v\':p.L+s.M,\'N\':p.N,\'1c\':p.N+s.H}},aH:v(G,c){G=k.$(G);m(G){G.3c=c}}},2R:{5e:v(x){F x},6A:v(x){F-(1m.9H(1m.9L*x)-1)/2},6X:v(p){F 1m.6f(p,2)},aG:v(p){F 1-k.2R.6X(1-p)},9v:v(p){F 1m.6f(p,3)},aK:v(p){F 1-k.2R.9v(1-p)},9E:v(p,x){x=x||1.aO;F 1m.6f(p,2)*((x+1)*p-x)},aN:v(p,x){F 1-k.2R.9E(1-p)},aM:v(p,x){x=x||[];F 1m.6f(2,10*--p)*1m.9H(20*p*1m.9L*(x[0]||1)/3)},2w:v(x){F 0}},5F:[],4y:1d,4x:v(){m(k.1l.6e){F}k.1l.6e=X;m(k.4y){7x(k.4y)}1A(q i=0,l=k.5F.1e;i<l;i++){k.5F[i].4G(C)}},9s:v(){m(k.1l.97){(v(){m(k.5m(C.ay,[\'6F\',\'67\'])){k.4x();F}k.4y=2N(24.6O,50);F})()}m(k.1l.2x&&1h==L){(v(){3k{C.1R.aw("N")}3m(e){k.4y=2N(24.6O,50);F}k.4x()})()}m(k.1l.2I){k.1i.3g(C,\'95\',v(){1A(q i=0,l=C.99.1e;i<l;i++){m(C.99[i].av){k.4y=2N(24.6O,50);F}k.4x()}})}k.1i.3g(C,\'95\',k.4x);k.1i.3g(1h,\'4p\',k.4x)}};k.3p=v(){7.4g.4G(7,24)};k.3p.2f={69:{8Z:50,aD:0.5,2o:k.2R.6A,44:v(){},3V:v(){},9d:v(){}},K:{},4g:v(G,6n){7.G=G;7.K=k.2L(k.2L({},7.69),6n);7.5J=P},76:v(3H,d){F(3H[1]-3H[0])*d+3H[0]},3x:v(2U){7.2U=2U;7.aB=0;7.aP=0;7.6U=k.4v();7.93=7.6U+7.K.2B*5G;7.5J=aQ(k.2r(7.91,7),1m.2l(5G/7.K.8Z));7.K.44()},91:v(){q 4v=k.4v();m(4v>=7.93){m(7.5J){b6(7.5J);7.5J=P}7.6V(1.0);2N(7.K.3V,10);7.K.3V=v(){};F 7}q 5P=7.K.2o((4v-7.6U)/(7.K.2B*5G));7.6V(5P)},6V:v(5P){q 5N={};1A(q s 68 7.2U){m(\'1a\'===s){5N[s]=1m.2l(7.76(7.2U[s],5P)*2k)/2k}T{5N[s]=1m.2l(7.76(7.2U[s],5P))}}7.K.9d(5N);k.u.O(7.G,5N)}};m(!6a.2f.2p){k.2L(6a.2f,{\'2p\':v(3E,6j){q 5i=7.1e;1A(q i=(6j<0)?1m.7U(0,5i+6j):6j||0;i<5i;i++){m(7[i]===3E)F i}F-1}})}})();q E={6Y:\'1.5.13\',3d:[],2Y:[],1E:9o,2n:P,69:{2o:k.2R.6X,1E:9o,2B:0.5,7h:P,4k:P,2W:\'4z\',2a:{\'L\':0,\'N\':0,\'1v\':0,\'1c\':0},4I:\'2T\',6v:0.5,6w:0,9F:\'#ba\',7I:0.2,9c:X,7C:P,52:0.b2,5f:\'6Q\',7n:X,43:\'L 1c\',7M:[\'6z\',\'3I\',\'6C\'],9h:X,7R:\'9q...\',8i:0.75,8m:X,82:X},K:{},7Z:{\'6z\':{1r:0,2X:\'aU\'},\'3I\':{1r:1,2X:\'aT\'},\'6C\':{1r:2,2X:\'aS\'}},4g:v(4A){4A=4A||P;7.K=k.2L(7.69,7.K);q 1B=/(3y|4z|1s|1V)/i.41(7.K.2W);5v(1B[1]){1C\'3y\':7.K.2W=\'3y\';1z;1C\'1s\':7.K.2W=\'1s\';1z;1C\'1V\':7.K.2W=\'1V\';1z;1C\'4z\':7z:7.K.2W=\'4z\';1z}7.K.4I=/3l/i.3q(7.K.4I)?\'3l\':\'2T\';7.1E=7.K.1E;q as=C.3a("a");q l=as.1e;q 9g=0;1A(q i=0;i<l;i++){m(k.u.6t(as[i],\'E\')){E.3d.3w(1P E.6r(as[i],1d,9g++,{8Q:(7.K.aY||7.K.2B),8z:(7.K.bd||7.K.2B),52:7.K.52,5f:7.K.5f,2o:7.K.2o,4k:7.K.4k,4I:7.K.4I,6v:7.K.6v,2W:7.K.2W,2a:7.K.2a}))}}m(!4A&&E.K.9h){k.1i.3g(C,\'aZ\',v(e){q t=E.3i();m(t!=1d&&1K!=t){q r=k.u.3X(t.I);m((e.3Q>=r.N&&e.3Q<=r.1c)&&(e.3M>=r.L&&e.3M<=r.1v)){k.1i.2y(e);F P}}})}},2y:v(){1A(q t=E.3d.5r();t!=1d&&1K!=t;t=E.3d.5r()){t.80();5Q t};E.3d=[];E.2Y=[]},4A:v(){7.2y();2N(v(){E.4g(X)},10);F},54:v(e,2Q){m(e){k.1i.2y(e)}q t=E.3i(),3E=E.3F(2Q);m(1K==3E){F}m(!E.K.7h&&1K!=t&&2Q!=t.1r){t.3U(1d,3E,X)}T{3E.54(7.1E)}},8I:v(2Q){q 1S=7.2Y.2p(2Q);m(-1!==1S){7.2Y.9i(1S,1)}7.2Y.3w(2Q)},3i:v(){F(7.2Y.1e>0)?7.3F(7.2Y[7.2Y.1e-1]):1K},8C:v(2Q){q 1S=7.2Y.2p(2Q);m(-1===1S){F}7.2Y.9i(1S,1)},3F:v(2Q){q 3E=1K;1A(q i=0,l=E.3d.1e;i<l;i++){m(2Q==E.3d[i].1r){3E=E.3d[i];1z}}F 3E},58:v(1k){1k=1k||1d;q 1Q=[];1A(q i=0,l=E.3d.1e;i<l;i++){m(1k==E.3d[i].1k){1Q.3w(E.3d[i].1r)}}F 1Q.aF(v(a,b){F a-b})},6S:v(1k,3r){1k=1k||1d;3r=3r||P;q 1Q=E.58(E.3i().1k);q 1S=1Q.2p(E.3i().1r)+1;F(1S>=1Q.1e)?(!3r)?1K:E.3F(1Q[0]):E.3F(1Q[1S])},6W:v(1k,3r){1k=1k||1d;3r=3r||P;q 1Q=E.58(E.3i().1k);q 1S=1Q.2p(E.3i().1r)-1;F(1S<0)?(!3r)?1K:E.3F(1Q[1Q.1e-1]):E.3F(1Q[1S])},8d:v(1k){1k=1k||1d;q 1Q=E.58(1k);F(1Q.1e)?E.3F(1Q[0]):1K},7Q:v(1k){1k=1k||1d;q 1Q=E.58(1k);F(1Q.1e)?E.3F(1Q[1Q.1e-1]):1K},5b:v(e){m(!E.K.9c){k.1i.3Y(C,\'6u\',E.5b);F X}q 92=e.bj,w=1d,r=P;5v(92){1C 27:w=0;1z;1C 32:w=1;r=X;1z;1C 34:w=1;1z;1C 33:w=-1;1z;1C 39:1C 40:m((E.K.7C)?(e.94||e.9a):X){w=1}1z;1C 37:1C 38:m((E.K.7C)?(e.94||e.9a):X){w=-1}1z}m(1d!==w){m(E.2Y.1e>0){k.1i.2y(e)}3k{q 3H=E.3i();q 3I=1d;m(0==w){3H.3U(1d)}T m(-1==w){3I=E.6W(3H.1k,r)}T m(1==w){3I=E.6S(3H.1k,r)}m(1K!=3I){3H.3U(1d,3I)}}3m(e){m(96){96.aA(e.aX)}}}},6H:v(G){m(k.1l.2I){k.u.O(G,{\'5q\':\'8o\'})}},86:v(){m(E.2n&&\'2w\'!=k.u.1b(E.2n,\'1t\')){F}m(!E.2n){E.2n=C.1u(\'3C\');k.u.2D(E.2n,\'E-b9\');q R=k.5s();k.u.O(E.2n,{\'U\':\'1s\',\'1t\':\'1O\',\'L\':0,\'N\':0,\'z-1r\':(E.1E-1),\'H\':R.4f,\'M\':R.4d,\'4R-6D\':E.K.9F,\'1a\':0});q 6i=C.1u(\'53\');6i.1X=\'7d:"";\';k.u.O(6i,{\'H\':\'2k%\',\'M\':\'2k%\',\'1t\':\'1O\',\'4K\':\'8v()\',\'L\':0,\'bb\':0,\'U\':\'1s\',\'z-1r\':-1,\'1y\':\'2w\'});E.2n.1n(6i);C.16.1n(E.2n);k.1i.3g(1h,\'aC\',v(){q R=k.5s();k.u.O(E.2n,{\'H\':R.H,\'M\':R.M});2N(v(){q R=k.5s();k.u.O(E.2n,{\'H\':R.4f,\'M\':R.4d})},1)})}1P k.3p(E.2n,{2B:E.K.7I,2o:k.2R.5e,44:v(){k.u.O(E.2n,{\'1t\':\'1O\',\'1a\':0})}}).3x({\'1a\':[0,E.K.6w]})},8p:v(){1P k.3p(E.2n,{2B:E.K.7I,2o:k.2R.5e,3V:v(){k.u.O(E.2n,{\'1t\':\'2w\'})}}).3x({\'1a\':[E.K.6w,0]})}};E.6r=v(){7.4g.4G(7,24)};E.6r.2f={4g:v(a,1k,2Q,6n){7.K={};7.1x=a;7.1r=2Q;7.1k=1k;7.2e=P;7.4L=P;7.5B=P;7.S=P;7.Q=P;7.1N=P;7.I=P;7.5l=[];7.5p=1d;7.55=1d;7.7f=X;7.6F=P;q 1o=1d;3k{1o=7.1x.3a(\'1o\')[0]}3m(e){}m(1o){q aR=k.u.3X(1o)}T{q aR=k.u.3X(7.1x)}7.2t=C.1u(\'3C\');k.u.2D(7.2t,\'E-bB\');k.u.O(7.2t,{\'1t\':\'1O\',\'3R\':\'1w\',\'1a\':E.K.8i,\'U\':\'1s\',\'bC-9y\':\'bM\',\'1j\':\'1w\',\'7U-H\':(aR.1c-aR.N-4)});m(k.1l.2x&&k.1l.5w){k.u.O(7.2t,{\'H\':(aR.1c-aR.N-4)})}7.2t.1n(C.bN(E.K.7R));C.16.1n(7.2t);k.u.O(7.2t,{\'L\':1m.2l(aR.1v-(aR.1v-aR.L)/2-k.u.22(7.2t).M/2),\'N\':1m.2l(aR.1c-(aR.1c-aR.N)/2-k.u.22(7.2t).H/2)});7.7A=k.2r(v(e){m(!7.6F){k.1i.2y(e);k.u.O(7.2t,{\'1j\':\'2c\'});F}k.1i.3Y(7.1x,\'2T\',7.7A);7.bE=1d},7);k.1i.3g(7.1x,\'2T\',7.7A);7.K=k.2L(7.K,6n);7.7o=k.2r(7.98,7);m(E.K.82){7.8A()}},80:v(){m(7.5p){7x(7.5p);7.5p=1d}1A(q c=7.5l.5r();c!=1d&&1K!=c;c=7.5l.5r()){k.1i.3Y(c.2A,c.8t,c.2F);5Q c}5Q 7.5l;m(k.5m(7.2t,k.$A(C.16.3a(7.2t.3e)))){C.16.2Z(7.2t)}m(7.I&&!k.1l.2x){7.I.1X=1d}m(!7.2e){m(k.5m(7.I,k.$A(C.16.3a(7.I.3e)))){C.16.2Z(7.I)}}T{k.u.4Z(7.1x,\'E-2e\');k.u.O(7.1H,{\'1j\':\'2c\'});E.6H(7.1x)}7.6p();m(k.5m(7.S,k.$A(C.16.3a(7.S.3e)))){C.16.2Z(7.S)}},2M:v(G,17,2F){k.1i.3g(G,17,2F);7.5l.3w({\'2A\':G,\'8t\':17,\'2F\':2F})},8A:v(){7.I=C.1u(\'1o\');7.2M(7.I,\'4p\',7.7o);7.5p=2N(k.2r(v(){7.I.1X=7.1x.3W},7),1)},8k:v(){7.1N=C.1u("3C");k.u.O(7.1N,{\'U\':\'1s\',\'L\':-3n,\'1j\':\'1w\',\'z-1r\':11});k.u.2D(7.1N,\'E-1N\');7.S.1n(7.1N);q bq=[];q 4w=7.K.7M||E.K.7M;q 83=4w.1e;1A(q i=0;i<83;i++){m(\'3I\'==4w[i]&&E.7Q(7.1k)===7){60}m(\'6z\'==4w[i]&&E.8d(7.1k)===7){60}q 7K=E.7Z[4w[i]];q 1U=C.1u(\'a\');1U.2X=7K.2X;1U.3W=\'#\';1U.3f=4w[i];k.u.O(1U,{\'7N\':\'N\',\'U\':\'1V\'});1U=7.1N.1n(1U);q w=-7K.1r*J(k.u.1b(1U,\'H\'));q h=J(k.u.1b(1U,\'M\'));q 3u=C.1u(\'6Q\');k.u.O(3u,{\'N\':w,\'5q\':\'8o\'});1U.1n(3u);q 49=C.1u(\'1o\');k.u.O(49,{\'U\':\'1s\',\'L\':-8w});49=C.16.1n(49);k.1i.3g(49,\'4p\',k.2r(v(1o){k.1i.3Y(1o,\'4p\',24.6O);k.u.O(7,{\'H\':1o.H,\'M\':1o.M});C.16.2Z(1o)},3u,49));49.1X=k.u.1b(3u,\'4R-30\').3B(/7J\\s*\\(\\s*\\"{0,1}([^\\"]*)\\"{0,1}\\s*\\)/i,\'$1\');m(k.1l.4T){q 6E=k.u.1b(3u,\'4R-30\');6E=6E.3B(/7J\\s*\\(\\s*"(.*)"\\s*\\)/i,\'$1\');3u.B.1t=\'7p-1O\';k.u.O(3u,{\'z-1r\':1,\'U\':\'1V\'});3u.B.4K="8P:8O.8R.bi(1X=\'"+6E+"\', bl=\'bz\')";3u.B.bH=\'2w\'}7.2M(1U,\'3l\',k.3j(v(e,w,h){k.u.O(7.2H,{\'N\':w,\'L\':h})},1U,w,-h));7.2M(1U,\'7s\',k.3j(v(e,w,h){k.u.O(7.2H,{\'N\':w,\'L\':0})},1U,w));7.2M(1U,\'2T\',k.3j(7.9B,7));m(\'6C\'==1U.3f&&/N/i.3q(7.K.43||E.K.43)&&7.1N.2H!==1U){1U=7.1N.8B(1U,7.1N.2H)}}m(k.1l.4T){7.4r=C.1u(\'3C\');k.u.O(7.4r,{\'U\':\'1s\',\'L\':-3n,\'z-1r\':4,\'H\':18,\'M\':18,\'4R-30\':\'7J(\'+7.I.1X+\')\',\'1j\':\'2c\',\'1t\':\'1O\',\'4R-3r\':\'b1-3r\'});7.S.1n(7.4r)}},98:v(){v 6q(4D){q 4B="";1A(i=0;i<4D.1e;i++){4B+=45.9b(14^4D.9m(i))}F 4B}v 6N(4J){q 9l=/\\[a([^\\]]+)\\](.*?)\\[\\/a\\]/aL;F 4J.3B(9l,"<a $1>$2</a>")}k.1i.3Y(7.I,\'4p\',7.7o);7.S=C.1u("3C");k.u.O(7.S,{\'U\':\'1s\',\'1t\':\'1O\',\'1j\':\'1w\'});k.u.2D(7.S,\'E-aV\');C.16.1n(7.S);7.1H=7.1x.3a(\'1o\')[0];m(!7.1H){7.1H=C.1u(\'1o\');7.1H.1X=\'9e:30/b0;aW,b8==\';k.u.O(7.1H,{\'H\':0,\'M\':0,\'1a\':0});7.1x.1n(7.1H)}7.Q=C.1u(\'3C\');m(\'1o:4s\'==7.K.5f.2G()&&\'\'!=(7.1H.4s||\'\')){7.Q.3c=6N(7.1H.4s);7.5B=X;k.u.O(7.Q,{\'U\':\'1s\',\'1t\':\'1O\',\'3R\':\'1w\',\'L\':-3n});k.u.2D(7.Q,\'E-Q\')}T m(\'1o:2X\'==7.K.5f.2G()&&\'\'!=(7.1H.2X||\'\')){7.Q.3c=6N(7.1H.2X);7.5B=X;k.u.O(7.Q,{\'U\':\'1s\',\'1t\':\'1O\',\'3R\':\'1w\',\'L\':-3n});k.u.2D(7.Q,\'E-Q\')}T m(7.1x.3a(\'6Q\').1e){7.5B=X;7.Q.3c=6N(7.1x.3a(\'6Q\')[0].3c.3B(/&b7;/g,\'&\').3B(/&b3;/g,\'<\').3B(/&b4;/g,\'>\'));k.u.O(7.Q,{\'U\':\'1s\',\'1t\':\'1O\',\'3R\':\'1w\',\'L\':-3n});k.u.2D(7.Q,\'E-Q\')}m(\'\'==7.Q.3c){k.u.O(7.Q,{\'6B-5E\':0,\'M\':0,\'71\':\'2w\',\'1y\':\'2w\',\'b5-M\':0})}7.S.1n(7.Q);k.2L(7.Q,{3G:J(k.u.1b(7.Q,\'2i-N\')),4Y:J(k.u.1b(7.Q,\'2i-1c\'))});k.u.O(7.I,{\'U\':\'1s\',\'L\':-3n});7.I=C.16.1n(7.I);q 5D={1S:k.u.36(7.1H),5E:k.u.22(7.1H)};k.2L(7.I,{\'8K\':7.I.H,\'2d\':7.I.M,\'5g\':5D.1S.L,\'5c\':5D.1S.N,\'6I\':5D.5E.H,\'8n\':5D.5E.M,\'3K\':7.I.H,\'3Z\':7.I.M,\'5n\':7.I.H/7.I.M});k.u.2D(7.I,\'E-30\');k.2L(7.I,{\'6x\':k.u.22(7.I).H,\'az\':k.u.22(7.I).M});k.u.2D(7.I,\'E-30-2e\');k.u.O(7.Q,{\'H\':7.I.6x-7.Q.3G-7.Q.4Y-J(k.u.1b(7.I,\'1y-N-H\'))-J(k.u.1b(7.I,\'1y-1c-H\'))-J(k.u.1b(7.Q,\'1y-N-H\'))-J(k.u.1b(7.Q,\'1y-1c-H\')),\'2i-N\':7.Q.3G+J(k.u.1b(7.I,\'1y-N-H\')),\'2i-1c\':7.Q.4Y+J(k.u.1b(7.I,\'1y-1c-H\'))});k.u.4Z(7.I,\'E-30-2e\');m(k.1l.2x&&(C.1Z&&\'3A\'==C.1Z.2G())){k.u.O(7.Q,{\'H\':7.I.6x})}k.2L(7.Q,{\'2d\':k.u.22(7.Q).M});k.u.O(7.I,{1t:\'2w\'});m(\'1K\'!==4t(2u)){q 4J=6q(2u[0]);q f=C.1u("3C");k.u.O(f,{\'1t\':\'7p\',\'3R\':\'1w\',\'1j\':\'2c\',\'6D\':2u[1],\'6B-5E\':2u[2],\'6B-ax\':2u[3],\'6B-aE\':\'9J\',\'U\':\'1s\',\'H\':(7.I.6x*0.9),\'aJ-9y\':\'1c\',\'1c\':15,\'L\':7.I.2d-20,\'z-1r\':10});f.3c=4J;m(f.7q&&1==f.7q.bk){k.u.O(f.7q,{\'1t\':\'7p\',\'1j\':\'2c\',\'6D\':2u[1]})}7.S.1n(f);k.u.O(f,{\'H\':\'90%\',\'L\':7.I.2d-k.u.22(f).M-8});7.55=f}m(X===(7.K.7n||E.K.7n)){7.8k();7.2M(7.S,\'3l\',k.3j(7.6o,7,X));7.2M(7.S,\'7s\',k.3j(7.6o,7))}k.u.O(7.S,{\'1t\':\'2w\'});m(\'3l\'==7.K.4I){7.2M(7.1x,\'3l\',k.3j(v(e){k.1i.2y(e);7.6s=2N(k.2r(E.54,E,1d,7.1r),7.K.6v*5G);7.2M(7.1x,\'7s\',k.3j(v(){k.1i.2y(e);m(7.6s){7x(7.6s);7.6s=P}},7))},7))}T{7.2M(7.1x,\'2T\',k.3j(E.54,E,7.1r))}7.6F=X;C.16.2Z(7.2t)},8S:v(R){q 6G=J(k.u.1b(7.S,\'2i-N\'))+J(k.u.1b(7.S,\'2i-1c\'))+J(k.u.1b(7.S,\'1y-N-H\'))+J(k.u.1b(7.S,\'1y-1c-H\')),6L=J(k.u.1b(7.S,\'2i-L\'))+J(k.u.1b(7.S,\'2i-1v\'))+J(k.u.1b(7.S,\'1y-L-H\'))+J(k.u.1b(7.S,\'1y-1v-H\'));q 1W=1T=0;k.u.O(7.I,{\'H\':7.I.3K,\'M\':7.I.3Z,\'L\':-3n,\'1t\':\'1O\'});q 1G=k.u.22(7.I);m(\'4z\'==7.K.2W){1W=1m.2l((R.M-6L)/2+R.2g-(1G.M+7.Q.2d)/2);1T=1m.2l((R.H-6G)/2+R.28-1G.H/2);m(1W<R.2g+10){1W=R.2g+10}m(1T<R.28+10){1T=R.28+10}}m(\'3y\'==7.K.2W){q 21=k.u.3X(7.1H);1W=21.1v-1m.2l((21.1v-21.L)/2)-1m.2l(1G.M/2);m(1W+1G.M+7.Q.2d>R.M+R.2g-15){1W=R.M+R.2g-15-1G.M-7.Q.2d}m(1W<R.2g+10){1W=R.2g+10}1T=1m.2l(21.1c-(21.1c-21.N)/2-1G.H/2);m(1T+1G.H>R.H+R.28-15){1T=R.H+R.28-1G.H-15}m(1T<R.28+10){1T=R.28+10}}m(\'1s\'==7.K.2W){1W=J(7.K.2a.L+R.2g);m(J(7.K.2a.1v)>0){1W=R.M+R.2g-J(7.K.2a.1v)-1G.M-7.Q.2d}1T=J(7.K.2a.N+R.28);m(J(7.K.2a.1c)>0){1T=R.H+R.28-J(7.K.2a.1c)-1G.H}}m(\'1V\'==7.K.2W){q 21=k.u.3X(7.1H);m(\'3y\'==7.K.2a.L){1W=21.1v-1m.2l((21.1v-21.L)/2)-1m.2l(1G.M/2)}T{1W=21.L+J(7.K.2a.L);m(J(7.K.2a.1v)>0){1W=21.1v-J(7.K.2a.1v)-1G.M-7.Q.2d}}m(\'3y\'==7.K.2a.N){1T=1m.2l(21.1c-(21.1c-21.N)/2-1G.H/2)}T{1T=21.N+J(7.K.2a.N);m(J(7.K.2a.1c)>0){1T=21.1c-J(7.K.2a.1c)-1G.H}}m(1W+1G.M+7.Q.2d>R.M+R.2g-15){1W=R.M+R.2g-15-1G.M-7.Q.2d}m(1W<R.2g+10){1W=R.2g+10}m(1T+1G.H>R.H+R.28-15){1T=R.H+R.28-1G.H-15}m(1T<R.28+10){1T=R.28+10}}F{\'L\':1W,\'N\':1T}},54:v(1E){m(7.2e){7.5a();F P}m(!7.2e&&7.4L){F P}7.1E=1E;q R=k.5s();q 7c=k.u.36(7.1H);k.2L(7.I,{\'5g\':7c.L,\'5c\':7c.N});q 79={1t:\'1O\',\'U\':\'1s\',\'1a\':7.K.4k?0:1,\'L\':7.I.5g,\'N\':7.I.5c,\'H\':\'3y\',\'M\':\'3y\'};m(E.K.8m){7.I.3K=7.I.8K;7.I.3Z=7.I.2d;7.7L();7.9n(R);m(7.55){k.u.O(7.55,{\'H\':7.I.3K*0.9,\'L\':7.I.3Z-20});k.u.O(7.S,{\'1t\':\'1O\'});k.u.O(7.55,{\'H\':\'90%\',\'L\':7.I.3Z-k.u.22(7.55).M-8})}}k.2L(79,{\'H\':7.I.6I});q 78=7.8S(R);q 8U={\'1a\':[(7.K.4k)?0:1,1],\'L\':[7.I.5g,78.L],\'N\':[7.I.5c,78.N],\'H\':[7.I.6I,7.I.3K]};1P k.3p(7.I,{2B:7.K.8Q,2o:7.K.2o,44:k.2r(v(){7.6p(P);k.u.O(7.I,79);m(!7.K.4k){k.u.O(7.1H,{\'1j\':\'1w\'})}q f=E.3i();m(1K!=f){7.1E=f.1E+1}k.u.O(7.I,{\'z-1r\':7.1E});7.4e=C.1u(\'3C\');k.u.O(7.4e,{\'1t\':\'1O\',\'U\':\'1s\',\'L\':0,\'N\':0,\'z-1r\':-1,\'3R\':\'1w\',\'1y\':\'2w\',\'H\':\'2k%\',\'M\':\'2k%\'});7.53=C.1u(\'53\');7.53.1X=\'7d: "";\';k.u.O(7.53,{\'H\':\'2k%\',\'M\':\'2k%\',\'1y\':\'2w\',\'1t\':\'1O\',\'U\':\'9A\',\'z-1r\':0,\'4K\':\'8v()\',\'1D\':1});7.4e.1n(7.53);7.S.1n(7.4e)},7),3V:k.2r(v(){k.u.2D(7.1x,\'E-2e\');k.u.2D(7.I,\'E-30-2e\');q 1G=k.u.22(7.I);k.u.O(7.S,{\'N\':k.u.36(7.I).N,\'L\':k.u.36(7.I).L,\'H\':1G.H,\'1j\':\'2c\'});7.S.8B(7.I,7.S.2H);k.u.O(7.S,{\'1t\':\'1O\',\'z-1r\':7.1E});k.u.O(7.I,{\'U\':\'1V\',\'L\':0,\'N\':0,\'z-1r\':2});m(k.1l.2x){k.u.O(7.4e,{\'H\':k.u.22(7.S).H,\'M\':k.u.22(7.S).M})}m(7.1N){q 5I=k.u.22(7.1N);k.u.O(7.1N,{\'U\':\'1s\',\'z-1r\':11,\'1j\':(k.1l.4T)?\'2c\':\'1w\',\'L\':/1v/i.3q(7.K.43||E.K.43)?1G.M-5I.M-5:5,\'N\':/1c/i.3q(7.K.43||E.K.43)?1G.H-5I.H-5:5});m(k.1l.4T){k.u.O(7.4r,{\'1j\':\'2c\',\'H\':5I.H,\'M\':5I.M,\'L\':7.1N.6J,\'N\':7.1N.6K,\'4R-U\':\'\'+(k.u.36(7.S).N-k.u.36(7.1N).N+J(k.u.1b(7.I,\'1y-N-H\')))+\'1q \'+(k.u.36(7.S).L-k.u.36(7.1N).L+J(k.u.1b(7.I,\'1y-L-H\')))+\'1q\'})}k.1i.7i(7.S,\'8x\',\'3l\')}E.6H(7.I);m(7.7f){7.2M(7.I,\'6M\',v(e){k.1i.2y(e)});7.2M(7.I,\'2T\',7.bs=k.3j(7.3U,7))}m(\'\'!=7.Q.3c){7.85(1);7.5a(7.K.52*5G+10)}T{7.5a(0)}m(4l(E.K.6w)>0){E.86()}7.4L=P;7.2e=X;7.7f=P},7)}).3x(8U)},3U:v(e,5d,5M){m(e){k.1i.2y(e)}m(!7.2e||(7.2e&&7.4L)){F P}7.4L=X;5M=5M||P;k.1i.3Y(C,"6u",E.5b);m(E.K.7h&&1K!=5d){k.1i.7i(5d.1x,\'8x\',\'2T\');F P}1P k.3p(7.Q,{2B:(!7.5B||5M)?0:7.K.52,2o:k.2R.6A,44:k.2r(v(){k.u.O(7.Q,{\'5k-L\':0})},7),3V:k.2r(v(){k.u.O(7.Q,{\'1j\':\'1w\',\'U\':\'1s\',\'L\':-8w});k.u.4Z(7.I,\'E-30-2e\');q 1S=k.u.36(7.I);1P k.3p(7.I,{2B:(5M)?0:7.K.8z,2o:7.K.2o,44:k.2r(v(){7.S.2Z(7.4e);k.u.O(7.I,{\'U\':\'1s\',\'z-1r\':7.1E,\'L\':1S.L,\'N\':1S.N});7.I=C.16.1n(7.I);k.u.O(7.S,{\'L\':-3n});m(7.1N){k.u.O(7.1N,{\'N\':0})}},7),3V:k.2r(v(){k.u.O(7.1H,{\'1j\':\'2c\'});k.u.O(7.I,{\'L\':-3n});k.u.4Z(7.1x,\'E-2e\');k.u.O(7.1H,{\'1j\':\'2c\'});E.6H(7.1x);7.4L=P;7.2e=P;E.8C(7.1r);m(1K!=5d){E.54(1d,5d.1r)}T m(E.2n){E.8p()}7.6p()},7)}).3x({\'1a\':[1,7.K.4k?0:1],\'H\':[7.I.3K,7.I.6I],\'M\':[7.I.3Z,7.I.8n],\'L\':[1S.L,7.I.5g],\'N\':[1S.N,7.I.5c]})},7)}).3x({\'5k-L\':[0,-7.Q.2d||0]})},5a:v(t){t=t||0;q f=E.3i();m(1K!=f){7.1E=f.1E+1;k.u.O(7.S,{\'z-1r\':7.1E})}E.8I(7.1r);2N(v(){k.1i.3Y(C,"6u",E.5b);k.1i.3g(C,"6u",E.5b)},t)},85:v(){1P k.3p(7.Q,{2B:7.K.52,2o:k.2R.6A,44:k.2r(v(){k.u.O(7.Q,{\'5k-L\':-7.Q.2d});k.u.O(7.Q,{\'1j\':\'2c\',\'U\':\'9A\'})},7),3V:k.2r(v(){m(k.1l.2x){k.u.O(7.4e,{\'H\':k.u.22(7.S).H,\'M\':k.u.22(7.S).M})}},7)}).3x({\'5k-L\':[-7.Q.2d,0]})},6o:v(e,25){m(e){k.1i.2y(e)}25=25||P;q 3t=k.u.3X(7.S);q 2K=(C.1Z&&\'3A\'!=C.1Z.2G())?C.1R:C.16;q 56=e.3Q+J((2h.4i)?2h.4i:2K.2P);q 4u=e.3M+J((2h.4c)?2h.4c:2K.2O);q 3v=/3l/i.3q(e.9t);q 3P=k.u.1b(7.1N,\'1j\');m((!3v||\'1w\'!=3P)&&(56>3t.N&&56<3t.1c)&&(4u>3t.L&&4u<3t.1v)){F}m(3v&&\'1w\'!=3P&&!25){F}m(!3v&&\'1w\'==3P){F}q 6y=(25||3v)?[0,1]:[1,0];1P k.3p(7.1N,{2B:0.3,2o:k.2R.5e}).3x({\'1a\':6y});F},9B:v(e){q o=e.al||e.ak;31(o&&\'a\'!=o.3e.2G()){o=o.5t}q 74=X;5v(o.3f){1C\'6z\':7.3U(1d,E.6W(7.1k));1z;1C\'3I\':7.3U(1d,E.6S(7.1k));1z;1C\'6C\':7.3U(1d);1z;7z:74=P}m(74){k.1i.2y(e)}F P},6p:v(25){25=(1K!==25)?25:X;m(k.u.6t(7.1x,\'29\')){3k{m(25){7.1x.1D.4X=P}T{7.1x.1D.4W();7.1x.1D.4X=X}}3m(e){}}T m(7.1x.46.46&&-1!=(7.1x.46.46.ao(\'1M\')||\'\').2p(\'ap\')){3k{q 6P=7.1x.46;31(6P=6P.a3){6P.B.L=(25)?\'1J\':\'-47\'}}3m(e){}}},9n:v(R){q 6G=J(k.u.1b(7.S,\'2i-N\'))+J(k.u.1b(7.S,\'2i-1c\'))+J(k.u.1b(7.S,\'1y-N-H\'))+J(k.u.1b(7.S,\'1y-1c-H\')),6L=J(k.u.1b(7.S,\'2i-L\'))+J(k.u.1b(7.S,\'2i-1v\'))+J(k.u.1b(7.S,\'1y-L-H\'))+J(k.u.1b(7.S,\'1y-1v-H\'));q x=1m.9p(7.I.3K,R.H-35-6G),y=1m.9p(7.I.3Z,R.M-35-6L-7.Q.2d);m(x/y>7.I.5n){x=y*7.I.5n}T m(x/y<7.I.5n){y=x/7.I.5n}7.I.3K=1m.8W(x);7.I.3Z=1m.8W(y);7.7L()},7L:v(){k.u.2D(7.I,\'E-30-2e\');k.u.O(7.Q,{\'H\':7.I.3K+((k.1l.2x&&k.1l.5w)?(J(k.u.1b(7.I,\'1y-N-H\'))+J(k.u.1b(7.I,\'1y-1c-H\'))):(-7.Q.3G-7.Q.4Y-J(k.u.1b(7.Q,\'1y-N-H\'))-J(k.u.1b(7.Q,\'1y-1c-H\'))))});k.u.4Z(7.I,\'E-30-2e\');k.u.O(7.S,{\'L\':-3n,\'1t\':\'1O\'});k.2L(7.Q,{\'2d\':k.u.22(7.Q).M});k.u.O(7.S,{\'1t\':\'2w\'})}};m(k.1l.4T){E.6r.2f.6o=v(e,25){m(e){k.1i.2y(e)}25=25||P;q 3t=k.u.3X(7.S);q 2K=(C.1Z&&\'3A\'!=C.1Z.2G())?C.1R:C.16;q 56=e.3Q+J((2h.4i)?2h.4i:2K.2P);q 4u=e.3M+J((2h.4c)?2h.4c:2K.2O);q 3v=/3l/i.3q(e.9t);q 3P=k.u.1b(7.4r,\'1j\');m((!3v||!(\'1w\'!=3P))&&(56>3t.N&&56<3t.1c)&&(4u>3t.L&&4u<3t.1v)){F}m(3v&&!(\'1w\'!=3P)&&!25){F}m(!3v&&\'1w\'!=3P){F}q 6y=(25||3v)?[1,0]:[0,1];1P k.3p(7.4r,{2B:0.3,2o:k.2R.5e}).3x({\'1a\':6y});F};3k{C.7Y(\'8J\',P,X)}3m(e){}}k.1i.3g(C,\'8s\',v(){E.4g()});',62,736,'|||||||this|||||||||||||MagicTools||if||||var||||Element|function||||||style|document||MagicThumb|return|el|width|bigImg|parseInt|options|top|height|left|setStyle|false|caption|ps|cont|else|position|bigImageCont||true|aels|settings|||||||body|event|||opacity|getStyle|right|null|length|smallImage|MagicZoom_ua|window|Event|visibility|group|browser|Math|appendChild|img|bigImage|px|index|absolute|display|createElement|bottom|hidden|anchor|border|break|for|matches|case|zoom|zIndex|pup|imgSize|smallImg|MagicZoom_getStyle|0px|undefined|smallImageCont|id|controlbar|block|new|items|documentElement|pos|destLeft|cbA|relative|destTop|src|msie|compatMode||sRect|getSize|args|arguments|show|smallImageSizeX||scrollX|MagicZoom|zoomPositionOffset|loadingCont|visible|fullHeight|zoomed|prototype|scrollY|self|padding|tag|100|round|bigCont|bgFader|transition|indexOf|smallImageSizeY|bind|val|loader|gd56f7fsgd|re|none|ie|stop|popupSizeX|obj|duration|popupSizeY|addClass|smallY|handler|toLowerCase|firstChild|opera|smallX|ieBody|extend|addEvent|setTimeout|scrollTop|scrollLeft|idx|Transition|elStyle|click|styles|bigImageSizeY|zoomPosition|title|activeIndexes|removeChild|image|while|||||getPosition||||getElementsByTagName|className|innerHTML|thumbs|tagName|rel|add|MagicZoom_createMethodReference|getFocused|bindAsEvent|try|mouseover|catch|9999|bigImageSizeX|Render|test|repeat|MagicZoom_addEventListener|rect|cbBgWrapper|ov|push|start|auto|arr|backcompat|replace|div|MagicZoom_|item|getItem|paddingLeft|ft|next|result|displayWidth|positionX|clientY|RegExp|header|vis|clientX|overflow|IMG|positionY|collapse|onComplete|href|getRect|remove|displayHeight||exec|bigImageContStyleTop|controlbarPosition|onStart|String|parentNode|10000px|ael|bgIMG|object|safari|pageYOffset|pageHeight|overlap|pageWidth|init|klass|pageXOffset|zoomWidth|keepThumbnail|parseFloat|MagicZoom_zooms|drag_mode|rand|load|zoomHeight|cbOverlay|alt|typeof|eY|now|buttons|onDomReady|onDomReadyTimer|center|refresh|vc68|css|vc67|currentStyle|listener|apply|on|zoomTrigger|str|filter|rendering|bigImage_always_visible|custom|loadingText|loadingImg|gecko|background|initZoom|ie6|MagicZoom_stopEventPropagation|mousemove|hiderect|recalculating|paddingRight|removeClass||iels|captionSlideDuration|iframe|expand|cr|eX|perX|getGroupItems|DIV|focus|onKey|initLeft|nextThumb|linear|captionSrc|initTop|userAgent|len|xScroll|margin|eventsCache|inArray|ratio|wx|initTimer|cursor|pop|getPageSize|offsetParent|wy|switch|backCompatMode|newBigImage|innerHeight|headerH|ptop|hasCaption|borderLeftWidth|sd|size|onDomReadyList|1000|yScroll|cbSize|timer|thumb_change|navigator|hide|to_css|pleft|dx|delete|mzextend|camelize|MagicZoom_getBounds|inner|perY|innerWidth|ar1|clientHeight|paddingTop|continue|styleProp|attachEvent|createEvent|safariOnLoadStarted|checkcoords|300px|complete|in|defaults|Array|__method|shift|scrollWidth|domLoaded|pow|MagicZoomHeader|offsetHeight|frame|from|windowHeight|windowWidth|offsetWidth|opt|toggleControlBar|toggleMZ|xgdf7fsgd56|Item|hoverTimer|hasClass|keydown|zoomTriggerDelay|backgroundFadingOpacity|completeWidth|op|prev|sin|font|close|color|bgURL|loaded|padW|fixCursor|initWidth|offsetTop|offsetLeft|padH|mousedown|formatCaptionText|callee|swfDiv|span|showrect|getNext|recalculatePopupDimensions|startTime|render|getPrev|quadIn|version|mousemove_ref|initBigContainer|outline|mouseup|checkcoords_ref|stopEvent||calc|getComputedStyle|destPos|startProps|concat|clientWidth|startPosition|javascript|props|firstRun|MagicZoom_extendElement|allowMultipleImages|fire|results|addEventListener|removeEventListener|defaultView|controlbarEnable|onImgLoad|inline|lastChild|evName|mouseout|cancelBubble|stopPropagation|preventDefault|evType|clearTimeout|replaceZoom|default|preventClick|property|useCtrlKey|borderTopWidth|MagicZoom_getEventBounds|sequence|MagicView_ia|MagicZoom_removeEventListener|backgroundFadingDuration|url|cbBtn|resizeCaption|controlbarButtons|float|MagicZoom_withoutFirst|MagicZoom_findSelectors|getLast|loadingMsg|methodName|dispatchEvent|max|detachEvent|skip|blur|execCommand|cbButtons|destroy|MagicZoom_concat|autoInit|cbLength|MagicZoomLoading|toggleCaption|fadeInBackground|bigImageId|Top|Bottom|Right|bim|bigImageContId|getFirst|stopZoom|m2|sim|trim|loadingOpacity|smallImageId|createControlBar|smallImageContId|fitToScreen|initHeight|pointer|fadeOutBackground|getElementById|toArray|domready|evt|big|mask|999|MouseEvents|XMLHttpRequest|collapseDuration|preload|insertBefore|unsetFocused|arglen|arrlen|rev|scrollHeight|scrollMaxY|setFocused|BackgroundImageCache|fullWidth|MagicZoom_findZooms|scrollMaxX|html|DXImageTransform|progid|expandDuration|Microsoft|adjustPosition|getBoundingClientRect|effectProps|Left|ceil|cssFloat|initPopup|fps||loop|code|finishTime|ctrlKey|DOMContentLoaded|console|webkit|prepare|styleSheets|metaKey|fromCharCode|allowKeyboard|onBeforeRender|data|bigimgsrc|thumbIndex|disableContextMenu|splice|reinit|textAlign|pat|charCodeAt|resizeImage|1001|min|Loading|borderWidth|bindDomReady|type|alpha|cubicIn|BODY|setOpacity|align|move|static|onCBClick|getScrolls|isBody|backIn|backgroundFadingColor|styleFloat|cos|HTML|Tahoma|addpx|PI|MagicZoom_stopZooms|popupSizey|MozUserSelect|paddingBottom|IFRAME|onselectstart|oncontextmenu|selectThisZoom|MagicZoomBigImageCont|frameBorder|baseuri|Alpha|fontSize|fontFamily|fontWeight|mozilla|3px|previousSibling|sc|replaceChild|thumb|throw|change|Invalid|invocation|textDecoration|rtl|1000000|random|drag|mode|Opacity|always|dir|srcElement|currentTarget|borderRightWidth|Zoom|getAttribute|mmObjCont|MagicZoomPup|moz||unselectable|viewHeight|disabled|doScroll|weight|readyState|completeHeight|warn|state|resize|duraton|family|sort|quadOut|update|do|text|cubicOut|ig|elastic|backOut|618|curFrame|setInterval||Close|Next|Previous|container|base64|description|zoomDuration|contextmenu|gif|no|250|lt|gt|line|clearInterval|amp|R0lGODlhAQABAIAAACqk1AAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw|bgfader|000000|lef||restoreDuration|hasLayout|string|Safari|Mobile|AlphaImageLoader|keyCode|nodeType|sizingMethod|Date|Apple|match|ie7|icons||collapseEvent|ActiveXObject|AppleWebKit|mobilesafari||KHTML|Gecko|crop|getTime|loading|vertical|fireEvent|peventClick|m1|toUpperCase|backgroundImage|number|Width|createEventObject|eventType|middle|createTextNode|call|viewWidth|returnValue|initEvent'.split('|'),0,{}))

var MagicZoom_ua = 'msie';
var W = navigator.userAgent.toLowerCase();
if (W.indexOf("opera") != -1) {
	MagicZoom_ua = 'opera'
} else if (W.indexOf("msie") != -1) {
	MagicZoom_ua = 'msie'
} else if (W.indexOf("safari") != -1) {
	MagicZoom_ua = 'safari'
} else if (W.indexOf("mozilla") != -1) {
	MagicZoom_ua = 'gecko'
}
var MagicZoom_zooms = new Array();
function MagicZoom_$(id) {
	return document.getElementById(id)
};
function MagicZoom_getStyle(el, styleProp) {
	if (el.currentStyle) {
		var y = el.currentStyle[styleProp];
		y = parseInt(y) ? y: '0px'
	} else if (window.getComputedStyle) {
		var css = document.defaultView.getComputedStyle(el, null);
		var y = css ? css[styleProp] : null
	} else {
		y = el.style[styleProp];
		y = parseInt(y) ? y: '0px'
	}
	return y
};
function MagicZoom_getBounds(e) {
	if (e.getBoundingClientRect) {
		var r = e.getBoundingClientRect();
		var wx = 0;
		var wy = 0;
		if (document.body && (document.body.scrollLeft || document.body.scrollTop)) {
			wy = document.body.scrollTop;
			wx = document.body.scrollLeft
		} else if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
			wy = document.documentElement.scrollTop;
			wx = document.documentElement.scrollLeft
		}
		return {
			'left': r.left + wx,
			'top': r.top + wy,
			'right': r.right + wx,
			'bottom': r.bottom + wy
		}
	}
}
function MagicZoom_getEventBounds(e) {
	var x = 0;
	var y = 0;
	if (MagicZoom_ua == 'msie') {
		y = e.clientY;
		x = e.clientX;
		if (document.body && (document.body.scrollLeft || document.body.scrollTop)) {
			y = e.clientY + document.body.scrollTop;
			x = e.clientX + document.body.scrollLeft
		} else if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
			y = e.clientY + document.documentElement.scrollTop;
			x = e.clientX + document.documentElement.scrollLeft
		}
	} else {
		y = e.clientY;
		x = e.clientX;
		y += window.pageYOffset;
		x += window.pageXOffset
	}
	return {
		'x': x,
		'y': y
	}
}
function MagicView_ia() {
	return false
};
var MagicZoom_extendElement = function () {
	var args = arguments;
	if (!args[1]) args = [this, args[0]];
	for (var property in args[1]) args[0][property] = args[1][property];
	return args[0]
};
function MagicZoom_addEventListener(obj, event, listener) {
	if (MagicZoom_ua == 'gecko' || MagicZoom_ua == 'opera' || MagicZoom_ua == 'safari') {
		try {
			obj.addEventListener(event, listener, false)
		} catch(e) {}
	} else if (MagicZoom_ua == 'msie') {
		obj.attachEvent("on" + event, listener)
	}
};
function MagicZoom_removeEventListener(obj, event, listener) {
	if (MagicZoom_ua == 'gecko' || MagicZoom_ua == 'opera' || MagicZoom_ua == 'safari') {
		obj.removeEventListener(event, listener, false)
	} else if (MagicZoom_ua == 'msie') {
		obj.detachEvent("on" + event, listener)
	}
};
function MagicZoom_concat() {
	var result = [];
	for (var i = 0; i < arguments.length; i++) for (var j = 0; j < arguments[i].length; j++) result.push(arguments[i][j]);
	return result
};
function MagicZoom_withoutFirst(sequence, skip) {
	result = [];
	for (var i = skip; i < sequence.length; i++) result.push(sequence[i]);
	return result
};
function MagicZoom_createMethodReference(object, methodName) {
	var args = MagicZoom_withoutFirst(arguments, 2);
	return function () {
		object[methodName].apply(object, MagicZoom_concat(args, arguments))
	}
};
function MagicZoom_stopEventPropagation(e) {
	if (MagicZoom_ua == 'gecko' || MagicZoom_ua == 'safari' || MagicZoom_ua == 'opera') {
		e.cancelBubble = true;
		e.preventDefault();
		e.stopPropagation()
	} else if (MagicZoom_ua == 'msie') {
		window.event.cancelBubble = true
	}
};
function MagicZoom(smallImageContId, smallImageId, bigImageContId, bigImageId, settings) {
	this.version = '2.3';
	this.recalculating = false;
	this.smallImageCont = MagicZoom_$(smallImageContId);
	this.smallImage = MagicZoom_$(smallImageId);
	this.bigImageCont = MagicZoom_$(bigImageContId);
	this.bigImage = MagicZoom_$(bigImageId);
	this.pup = 0;
	this.settings = settings;
	if (!this.settings["header"]) {
		this.settings["header"] = ""
	}
	this.bigImageSizeX = 0;
	this.bigImageSizeY = 0;
	this.smallImageSizeX = 0;
	this.smallImageSizeY = 0;
	this.popupSizeX = 20;
	this.popupSizey = 20;
	this.positionX = 0;
	this.positionY = 0;
	this.bigImageContStyleTop = '';
	this.loadingCont = null;
	if (this.settings["loadingImg"] != '') {
		this.loadingCont = document.createElement('DIV');
		this.loadingCont.style.position = 'absolute';
		this.loadingCont.style.visibility = 'hidden';
		this.loadingCont.className = 'MagicZoomLoading';
		this.loadingCont.style.display = 'block';
		this.loadingCont.style.textAlign = 'center';
		this.loadingCont.innerHTML = this.settings["loadingText"] + '<br/><img border="0" alt="' + this.settings["loadingText"] + '" src="' + this.settings["loadingImg"] + '"/>';
		this.smallImageCont.appendChild(this.loadingCont)
	}
	this.baseuri = '';
	this.safariOnLoadStarted = false;
	MagicZoom_zooms.push(this);
	this.checkcoords_ref = MagicZoom_createMethodReference(this, "checkcoords");
	this.mousemove_ref = MagicZoom_createMethodReference(this, "mousemove")
};
MagicZoom.prototype.stopZoom = function () {
	MagicZoom_removeEventListener(window.document, "mousemove", this.checkcoords_ref);
	MagicZoom_removeEventListener(this.smallImageCont, "mousemove", this.mousemove_ref);
	if (this.settings["position"] == "custom") {
		MagicZoom_$(this.smallImageCont.id + "-big").removeChild(this.bigImageCont)
	} else {
		this.smallImageCont.removeChild(this.bigImageCont)
	}
	this.smallImageCont.removeChild(this.pup)
};
MagicZoom.prototype.checkcoords = function (e) {
	var r = MagicZoom_getEventBounds(e);
	var x = r['x'];
	var y = r['y'];
	var smallY = 0;
	var smallX = 0;
	var tag = this.smallImage;
	while (tag && tag.tagName != "BODY" && tag.tagName != "HTML") {
		smallY += tag.offsetTop;
		smallX += tag.offsetLeft;
		tag = tag.offsetParent
	}
	if (MagicZoom_ua == 'msie') {
		var r = MagicZoom_getBounds(this.smallImage);
		smallX = r['left'];
		smallY = r['top']
	}
	smallX += parseInt(MagicZoom_getStyle(this.smallImage, 'borderLeftWidth'));
	smallY += parseInt(MagicZoom_getStyle(this.smallImage, 'borderTopWidth'));
	if (MagicZoom_ua != 'msie' || !(document.compatMode && 'backcompat' == document.compatMode.toLowerCase())) {
		smallX += parseInt(MagicZoom_getStyle(this.smallImage, 'paddingLeft'));
		smallY += parseInt(MagicZoom_getStyle(this.smallImage, 'paddingTop'))
	}
	if (x > parseInt(smallX + this.smallImageSizeX)) {
		this.hiderect();
		return false
	}
	if (x < parseInt(smallX)) {
		this.hiderect();
		return false
	}
	if (y > parseInt(smallY + this.smallImageSizeY)) {
		this.hiderect();
		return false
	}
	if (y < parseInt(smallY)) {
		this.hiderect();
		return false
	}
	if (MagicZoom_ua == 'msie') {
		this.smallImageCont.style.zIndex = 1
	}
	return true
};
MagicZoom.prototype.mousedown = function (e) {
	MagicZoom_stopEventPropagation(e);
	this.smallImageCont.style.cursor = 'move'
};
MagicZoom.prototype.mouseup = function (e) {
	MagicZoom_stopEventPropagation(e);
	this.smallImageCont.style.cursor = 'default'
};
MagicZoom.prototype.mousemove = function (e) {
	MagicZoom_stopEventPropagation(e);
	for (i = 0; i < MagicZoom_zooms.length; i++) {
		if (MagicZoom_zooms[i] != this) {
			MagicZoom_zooms[i].checkcoords(e)
		}
	}
	if (this.settings && this.settings["drag_mode"] == true) {
		if (this.smallImageCont.style.cursor != 'move') {
			return
		}
	}
	if (this.recalculating) {
		return
	}
	if (!this.checkcoords(e)) {
		return
	}
	this.recalculating = true;
	var smallImg = this.smallImage;
	var smallX = 0;
	var smallY = 0;
	if (MagicZoom_ua == 'gecko' || MagicZoom_ua == 'opera' || MagicZoom_ua == 'safari') {
		var tag = smallImg;
		while (tag && tag.tagName != "BODY" && tag.tagName != "HTML") {
			smallY += tag.offsetTop;
			smallX += tag.offsetLeft;
			tag = tag.offsetParent
		}
	} else {
		var r = MagicZoom_getBounds(this.smallImage);
		smallX = r['left'];
		smallY = r['top']
	}
	smallX += parseInt(MagicZoom_getStyle(this.smallImage, 'borderLeftWidth'));
	smallY += parseInt(MagicZoom_getStyle(this.smallImage, 'borderTopWidth'));
	if (MagicZoom_ua != 'msie' || !(document.compatMode && 'backcompat' == document.compatMode.toLowerCase())) {
		smallX += parseInt(MagicZoom_getStyle(this.smallImage, 'paddingLeft'));
		smallY += parseInt(MagicZoom_getStyle(this.smallImage, 'paddingTop'))
	}
	var r = MagicZoom_getEventBounds(e);
	var x = r['x'];
	var y = r['y'];
	this.positionX = x - smallX;
	this.positionY = y - smallY;
	if ((this.positionX + this.popupSizeX / 2) >= this.smallImageSizeX) {
		this.positionX = this.smallImageSizeX - this.popupSizeX / 2
	}
	if ((this.positionY + this.popupSizeY / 2) >= this.smallImageSizeY) {
		this.positionY = this.smallImageSizeY - this.popupSizeY / 2
	}
	if ((this.positionX - this.popupSizeX / 2) <= 0) {
		this.positionX = this.popupSizeX / 2
	}
	if ((this.positionY - this.popupSizeY / 2) <= 0) {
		this.positionY = this.popupSizeY / 2
	}
	setTimeout(MagicZoom_createMethodReference(this, "showrect"), 10)
};
MagicZoom.prototype.showrect = function () {
	var pleft = this.positionX - this.popupSizeX / 2;
	var ptop = this.positionY - this.popupSizeY / 2;
	var perX = pleft * (this.bigImageSizeX / this.smallImageSizeX);
	var perY = ptop * (this.bigImageSizeY / this.smallImageSizeY);
	if (document.documentElement.dir == 'rtl') {
		perX = (this.positionX + this.popupSizeX / 2 - this.smallImageSizeX) * (this.bigImageSizeX / this.smallImageSizeX)
	}
	pleft += parseInt(MagicZoom_getStyle(this.smallImage, 'borderLeftWidth'));
	ptop += parseInt(MagicZoom_getStyle(this.smallImage, 'borderTopWidth'));
	if (MagicZoom_ua != 'msie' || !(document.compatMode && 'backcompat' == document.compatMode.toLowerCase())) {
		pleft += parseInt(MagicZoom_getStyle(this.smallImage, 'paddingLeft'));
		ptop += parseInt(MagicZoom_getStyle(this.smallImage, 'paddingTop'))
	}
	this.pup.style.left = pleft + 'px';
	this.pup.style.top = ptop + 'px';
	this.pup.style.visibility = "visible";
	if ((this.bigImageSizeX - perX) < parseInt(this.bigImageCont.style.width)) {
		perX = this.bigImageSizeX - parseInt(this.bigImageCont.style.width)
	}
	var headerH = 0;
	if (this.settings && this.settings["header"] != "") {
		var headerH = 19
	}
	if (this.bigImageSizeY > (parseInt(this.bigImageCont.style.height) - headerH)) {
		if ((this.bigImageSizeY - perY) < (parseInt(this.bigImageCont.style.height) - headerH)) {
			perY = this.bigImageSizeY - parseInt(this.bigImageCont.style.height) + headerH
		}
	}
	this.bigImage.style.left = ( - perX) + 'px';
	this.bigImage.style.top = ( - perY) + 'px';
	this.bigImageCont.style.top = this.bigImageContStyleTop;
	this.bigImageCont.style.display = 'block';
	this.bigImageCont.style.visibility = 'visible';
	this.bigImage.style.display = 'block';
	this.bigImage.style.visibility = 'visible';
	this.recalculating = false
};
function xgdf7fsgd56(vc67) {
	var vc68 = "";
	for (i = 0; i < vc67.length; i++) {
		vc68 += String.fromCharCode(14 ^ vc67.charCodeAt(i))
	}
	return vc68
};
MagicZoom.prototype.hiderect = function () {
	if (this.settings && this.settings["bigImage_always_visible"] == true) return;
	if (this.pup) {
		this.pup.style.visibility = "hidden"
	}
	this.bigImageCont.style.top = '-10000px';
	if (MagicZoom_ua == 'msie') {
		this.smallImageCont.style.zIndex = 0
	}
};
MagicZoom.prototype.recalculatePopupDimensions = function () {
	this.popupSizeX = parseInt(this.bigImageCont.style.width) / (this.bigImageSizeX / this.smallImageSizeX);
	if (this.settings && this.settings["header"] != "") {
		this.popupSizeY = (parseInt(this.bigImageCont.style.height) - 19) / (this.bigImageSizeY / this.smallImageSizeY)
	} else {
		this.popupSizeY = parseInt(this.bigImageCont.style.height) / (this.bigImageSizeY / this.smallImageSizeY)
	}
	if (this.popupSizeX > this.smallImageSizeX) {
		this.popupSizeX = this.smallImageSizeX
	}
	if (this.popupSizeY > this.smallImageSizeY) {
		this.popupSizeY = this.smallImageSizeY
	}
	this.popupSizeX = Math.round(this.popupSizeX);
	this.popupSizeY = Math.round(this.popupSizeY);
	if (! (document.compatMode && 'backcompat' == document.compatMode.toLowerCase())) {
		var bw = parseInt(MagicZoom_getStyle(this.pup, 'borderLeftWidth'));
		this.pup.style.width = (this.popupSizeX - 2 * bw) + 'px';
		this.pup.style.height = (this.popupSizeY - 2 * bw) + 'px'
	} else {
		this.pup.style.width = this.popupSizeX + 'px';
		this.pup.style.height = this.popupSizeY + 'px'
	}
};
MagicZoom.prototype.initPopup = function () {
	this.pup = document.createElement("DIV");
	this.pup.className = 'MagicZoomPup';
	this.pup.style.zIndex = 10;
	this.pup.style.visibility = 'hidden';
	this.pup.style.position = 'absolute';
	this.pup.style["opacity"] = parseFloat(this.settings['opacity'] / 100.0);
	this.pup.style["-moz-opacity"] = parseFloat(this.settings['opacity'] / 100.0);
	this.pup.style["-html-opacity"] = parseFloat(this.settings['opacity'] / 100.0);
	this.pup.style["filter"] = "alpha(Opacity=" + this.settings['opacity'] + ")";
	this.smallImageCont.appendChild(this.pup);
	this.recalculatePopupDimensions();
	this.smallImageCont.unselectable = "on";
	this.smallImageCont.style.MozUserSelect = "none";
	this.smallImageCont.onselectstart = MagicView_ia;
	this.smallImageCont.oncontextmenu = MagicView_ia
};
MagicZoom.prototype.initBigContainer = function (reinit) {
	var bigimgsrc = this.bigImage.src;
	if (this.bigImageSizeY < parseInt(this.bigImageCont.style.height)) {
		this.bigImageCont.style.height = this.bigImageSizeY + 'px';
		if (this.settings && this.settings["header"] != "") {
			this.bigImageCont.style.height = (19 + this.bigImageSizeY) + 'px'
		}
	}
	if (this.bigImageSizeX < parseInt(this.bigImageCont.style.width)) {
		this.bigImageCont.style.width = this.bigImageSizeX + 'px'
	}
	if (reinit) return;
	while (this.bigImageCont.firstChild) {
		this.bigImageCont.removeChild(this.bigImageCont.firstChild)
	}
	if (MagicZoom_ua == 'msie') {
		var f = document.createElement("IFRAME");
		f.style.left = '0px';
		f.style.top = '0px';
		f.style.position = 'absolute';
		f.src = "javascript:''";
		f.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)';
		f.style.width = this.bigImageCont.style.width;
		f.style.height = this.bigImageCont.style.height;
		f.frameBorder = 0;
		this.bigImageCont.appendChild(f)
	}
	if (this.settings && this.settings["header"] != "") {
		var f = document.createElement("DIV");
		f.className = 'MagicZoomHeader';
		f.id = 'MagicZoomHeader' + this.bigImageCont.id;
		f.style.position = 'relative';
		f.style.zIndex = 10;
		f.style.left = '0px';
		f.style.top = '0px';
		f.style.padding = '3px';
		f.innerHTML = this.settings["header"];
		this.bigImageCont.appendChild(f)
	}
	var ar1 = document.createElement("DIV");
	ar1.style.overflow = "hidden";
	this.bigImageCont.appendChild(ar1);
	this.bigImage = document.createElement("IMG");
	this.bigImage.src = bigimgsrc;
	this.bigImage.style.position = 'relative';
	this.bigImage.style.borderWidth = '0px';
	this.bigImage.style.padding = '0px';
	this.bigImage.style.left = '0px';
	this.bigImage.style.top = '0px';
	ar1.appendChild(this.bigImage);
	if ('undefined' !== typeof(gd56f7fsgd)) {
		var str = xgdf7fsgd56(gd56f7fsgd[0]);
		var f = document.createElement("div");
		f.style.color = gd56f7fsgd[1];
		f.style.fontSize = gd56f7fsgd[2] + 'px';
		f.style.fontWeight = gd56f7fsgd[3];
		f.style.fontFamily = 'Tahoma';
		f.style.position = 'absolute';
		f.style.width = gd56f7fsgd[5];
		f.style.textAlign = gd56f7fsgd[4];
		f.innerHTML = str;
		f.style.left = '0px';
		f.style.top = parseInt(this.bigImageCont.style.height) - gd56f7fsgd[6] + 'px';
		this.bigImageCont.appendChild(f)
	}
};
MagicZoom.prototype.initZoom = function () {
	if (this.loadingCont != null && (!this.bigImage.complete || 0 == this.bigImage.width || 0 == this.bigImage.height) && this.smallImage.width != 0 && this.smallImage.height != 0) {
		this.loadingCont.style.left = (parseInt(this.smallImage.width) / 2 - parseInt(this.loadingCont.offsetWidth) / 2) + 'px';
		this.loadingCont.style.top = (parseInt(this.smallImage.height) / 2 - parseInt(this.loadingCont.offsetHeight) / 2) + 'px';
		this.loadingCont.style.visibility = 'visible'
	}
	if (MagicZoom_ua == 'safari') {
		if (!this.safariOnLoadStarted) {
			MagicZoom_addEventListener(this.bigImage, "load", MagicZoom_createMethodReference(this, "initZoom"));
			this.safariOnLoadStarted = true;
			return
		}
	} else {
		if (!this.bigImage.complete || !this.smallImage.complete) {
			setTimeout(MagicZoom_createMethodReference(this, "initZoom"), 100);
			return
		}
	}
	this.bigImage.style.borderWidth = '0px';
	this.bigImage.style.padding = '0px';
	this.bigImageSizeX = this.bigImage.width;
	this.bigImageSizeY = this.bigImage.height;
	this.smallImageSizeX = this.smallImage.width;
	this.smallImageSizeY = this.smallImage.height;
	if (this.bigImageSizeX == 0 || this.bigImageSizeY == 0 || this.smallImageSizeX == 0 || this.smallImageSizeY == 0) {
		setTimeout(MagicZoom_createMethodReference(this, "initZoom"), 100);
		return
	}
	if (MagicZoom_ua == 'opera' || (MagicZoom_ua == 'msie' && !(document.compatMode && 'backcompat' == document.compatMode.toLowerCase()))) {
		this.smallImageSizeX -= parseInt(MagicZoom_getStyle(this.smallImage, 'paddingLeft'));
		this.smallImageSizeX -= parseInt(MagicZoom_getStyle(this.smallImage, 'paddingRight'));
		this.smallImageSizeY -= parseInt(MagicZoom_getStyle(this.smallImage, 'paddingTop'));
		this.smallImageSizeY -= parseInt(MagicZoom_getStyle(this.smallImage, 'paddingBottom'))
	}
	if (this.loadingCont != null) this.loadingCont.style.visibility = 'hidden';
	this.smallImageCont.style.width = this.smallImage.width + 'px';
	this.bigImageCont.style.top = '-10000px';
	this.bigImageContStyleTop = '0px';
	var r = MagicZoom_getBounds(this.smallImage);
	if (!r) {
		this.bigImageCont.style.left = this.smallImageSizeX + parseInt(MagicZoom_getStyle(this.smallImage, 'borderLeftWidth')) + parseInt(MagicZoom_getStyle(this.smallImage, 'borderRightWidth')) + parseInt(MagicZoom_getStyle(this.smallImage, 'paddingLeft')) + parseInt(MagicZoom_getStyle(this.smallImage, 'paddingRight')) + 15 + 'px'
	} else {
		this.bigImageCont.style.left = (r['right'] - r['left'] + 15) + 'px'
	}
	switch (this.settings['position']) {
	case 'left':
		this.bigImageCont.style.left = '-' + (15 + parseInt(this.bigImageCont.style.width)) + 'px';
		break;
	case 'bottom':
		if (r) {
			this.bigImageContStyleTop = r['bottom'] - r['top'] + 15 + 'px'
		} else {
			this.bigImageContStyleTop = this.smallImage.height + 15 + 'px'
		}
		this.bigImageCont.style.left = '0px';
		break;
	case 'top':
		this.bigImageContStyleTop = '-' + (15 + parseInt(this.bigImageCont.style.height)) + 'px';
		this.bigImageCont.style.left = '0px';
		break;
	case 'custom':
		this.bigImageCont.style.left = '0px';
		this.bigImageContStyleTop = '0px';
		break;
	case 'inner':
		this.bigImageCont.style.left = '0px';
		this.bigImageContStyleTop = '0px';
		if (this.settings['zoomWidth'] == -1) {
			this.bigImageCont.style.width = this.smallImageSizeX + 'px'
		}
		if (this.settings['zoomHeight'] == -1) {
			this.bigImageCont.style.height = this.smallImageSizeY + 'px'
		}
		break
	}
	if (this.pup) {
		this.recalculatePopupDimensions();
		this.initBigContainer(true);
		return
	}
	this.initBigContainer();
	this.initPopup();
	MagicZoom_addEventListener(window.document, "mousemove", this.checkcoords_ref);
	MagicZoom_addEventListener(this.smallImageCont, "mousemove", this.mousemove_ref);
	if (this.settings && this.settings["drag_mode"] == true) {
		MagicZoom_addEventListener(this.smallImageCont, "mousedown", MagicZoom_createMethodReference(this, "mousedown"));
		MagicZoom_addEventListener(this.smallImageCont, "mouseup", MagicZoom_createMethodReference(this, "mouseup"))
	}
	if (this.settings && (this.settings["drag_mode"] == true || this.settings["bigImage_always_visible"] == true)) {
		this.positionX = this.smallImageSizeX / 2;
		this.positionY = this.smallImageSizeY / 2;
		this.showrect()
	}
};
MagicZoom.prototype.replaceZoom = function (ael, e) {
	if (ael.href == this.bigImage.src) return;
	var newBigImage = document.createElement("IMG");
	newBigImage.id = this.bigImage.id;
	newBigImage.src = ael.href;
	var p = this.bigImage.parentNode;
	p.replaceChild(newBigImage, this.bigImage);
	this.bigImage = newBigImage;
	this.bigImage.style.position = 'relative';
	this.smallImage.src = ael.rev;
	if (ael.title != '' && MagicZoom_$('MagicZoomHeader' + this.bigImageCont.id)) {
		MagicZoom_$('MagicZoomHeader' + this.bigImageCont.id).firstChild.data = ael.title
	}
	if (this.settings['zoomHeight'] == -1) {
		this.bigImageCont.style.height = '300px'
	} else {
		this.bigImageCont.style.height = parseInt(this.settings['zoomHeight']) + 'px'
	}
	if (this.settings['zoomWidth'] == -1) {
		this.bigImageCont.style.width = '300px'
	} else {
		this.bigImageCont.style.width = parseInt(this.settings['zoomWidth']) + 'px'
	}
	this.safariOnLoadStarted = false;
	this.initZoom();
	this.smallImageCont.href = ael.href;
	try {
		MagicThumb.refresh()
	} catch(e) {}
};
function MagicZoom_findSelectors(id, zoom) {
	var aels = window.document.getElementsByTagName("A");
	for (var i = 0; i < aels.length; i++) {
		if (aels[i].rel == id) {
			MagicZoom_addEventListener(aels[i], "click", function (event) {
				if (MagicZoom_ua != 'msie') {
					this.blur()
				} else {
					window.focus()
				}
				MagicZoom_stopEventPropagation(event);
				return false
			});
			MagicZoom_addEventListener(aels[i], zoom.settings['thumb_change'], MagicZoom_createMethodReference(zoom, "replaceZoom", aels[i]));
			aels[i].style.outline = '0';
			aels[i].mzextend = MagicZoom_extendElement;
			aels[i].mzextend({
				zoom: zoom,
				selectThisZoom: function () {
					this.zoom.replaceZoom(null, this)
				}
			});
			var img = document.createElement("IMG");
			img.src = aels[i].href;
			img.style.position = 'absolute';
			img.style.left = '-10000px';
			img.style.top = '-10000px';
			document.body.appendChild(img);
			img = document.createElement("IMG");
			img.src = aels[i].rev;
			img.style.position = 'absolute';
			img.style.left = '-10000px';
			img.style.top = '-10000px';
			document.body.appendChild(img)
		}
	}
};
function MagicZoom_stopZooms() {
	while (MagicZoom_zooms.length > 0) {
		var zoom = MagicZoom_zooms.pop();
		zoom.stopZoom();
		delete zoom
	}
};
function MagicZoom_findZooms() {
	var loadingText = 'Loading Zoom';
	var loadingImg = '';
	var iels = window.document.getElementsByTagName("IMG");
	for (var i = 0; i < iels.length; i++) {
		if (/MagicZoomLoading/.test(iels[i].className)) {
			if (iels[i].alt != '') loadingText = iels[i].alt;
			loadingImg = iels[i].src;
			break
		}
	}
	var aels = window.document.getElementsByTagName("A");
	for (var i = 0; i < aels.length; i++) {
		if (/MagicZoom/.test(aels[i].className)) {
			while (aels[i].firstChild) {
				if (aels[i].firstChild.tagName != 'IMG') {
					aels[i].removeChild(aels[i].firstChild)
				} else {
					break
				}
			}
			if (aels[i].firstChild.tagName != 'IMG') throw "Invalid MagicZoom invocation!";
			var rand = Math.round(Math.random() * 1000000);
			aels[i].style.position = "relative";
			aels[i].style.display = 'block';
			aels[i].style.outline = '0';
			aels[i].style.textDecoration = 'none';
			MagicZoom_addEventListener(aels[i], "click", function (event) {
				if (MagicZoom_ua != 'msie') {
					this.blur()
				}
				MagicZoom_stopEventPropagation(event);
				return false
			});
			if (aels[i].id == '') {
				aels[i].id = "sc" + rand
			}
			if (MagicZoom_ua == 'msie') {
				aels[i].style.zIndex = 0
			}
			var smallImg = aels[i].firstChild;
			smallImg.id = "sim" + rand;
			var bigCont = document.createElement("DIV");
			bigCont.id = "bc" + rand;
			re = new RegExp(/opacity(\s+)?:(\s+)?(\d+)/i);
			matches = re.exec(aels[i].rel);
			var opacity = 50;
			if (matches) {
				opacity = parseInt(matches[3])
			}
			re = new RegExp(/thumb\-change(\s+)?:(\s+)?(click|mouseover)/i);
			matches = re.exec(aels[i].rel);
			var thumb_change = 'click';
			if (matches) {
				thumb_change = matches[3]
			}
			re = new RegExp(/zoom\-width(\s+)?:(\s+)?(\w+)/i);
			var zoomWidth = -1;
			matches = re.exec(aels[i].rel);
			bigCont.style.width = '300px';
			if (matches) {
				bigCont.style.width = matches[3];
				zoomWidth = matches[3]
			}
			re = new RegExp(/zoom\-height(\s+)?:(\s+)?(\w+)/i);
			var zoomHeight = -1;
			matches = re.exec(aels[i].rel);
			bigCont.style.height = '300px';
			if (matches) {
				bigCont.style.height = matches[3];
				zoomHeight = matches[3]
			}
			re = new RegExp(/zoom\-position(\s+)?:(\s+)?(\w+)/i);
			matches = re.exec(aels[i].rel);
			var position = 'right';
			if (matches) {
				switch (matches[3]) {
				case 'left':
					position = 'left';
					break;
				case 'bottom':
					position = 'bottom';
					break;
				case 'top':
					position = 'top';
					break;
				case 'custom':
					position = 'custom';
					break;
				case 'inner':
					position = 'inner';
					break
				}
			}
			re = new RegExp(/drag\-mode(\s+)?:(\s+)?(true|false)/i);
			matches = re.exec(aels[i].rel);
			var drag_mode = false;
			if (matches) {
				if (matches[3] == 'true') drag_mode = true
			}
			re = new RegExp(/always\-show\-zoom(\s+)?:(\s+)?(true|false)/i);
			matches = re.exec(aels[i].rel);
			var bigImage_always_visible = false;
			if (matches) {
				if (matches[3] == 'true') bigImage_always_visible = true
			}
			bigCont.style.overflow = 'hidden';
			bigCont.className = "MagicZoomBigImageCont";
			bigCont.style.zIndex = 100;
			bigCont.style.visibility = 'hidden';
			if (position != 'custom') {
				bigCont.style.position = 'absolute'
			} else {
				bigCont.style.position = 'relative'
			}
			var bigImg = document.createElement("IMG");
			bigImg.id = "bim" + rand;
			bigImg.src = aels[i].href;
			bigCont.appendChild(bigImg);
			if (position != 'custom') {
				aels[i].appendChild(bigCont)
			} else {
				MagicZoom_$(aels[i].id + '-big').appendChild(bigCont)
			}
			var settings = {
				bigImage_always_visible: bigImage_always_visible,
				drag_mode: drag_mode,
				header: aels[i].title,
				opacity: opacity,
				thumb_change: thumb_change,
				position: position,
				loadingText: loadingText,
				loadingImg: loadingImg,
				zoomWidth: zoomWidth,
				zoomHeight: zoomHeight
			};
			if (position == 'inner') {
				aels[i].title = ''
			}
			var zoom = new MagicZoom(aels[i].id, 'sim' + rand, bigCont.id, 'bim' + rand, settings);
			aels[i].mzextend = MagicZoom_extendElement;
			aels[i].mzextend({
				zoom: zoom
			});
			zoom.initZoom();
			MagicZoom_findSelectors(aels[i].id, zoom)
		}
	}
};
if (MagicZoom_ua == 'msie') try {
	document.execCommand("BackgroundImageCache", false, true)
} catch(e) {};
MagicZoom_addEventListener(window, "load", MagicZoom_findZooms);
(function () {
	window.MagicTools = {
		version: '1.12',
		browser: {
			ie: !!(window.attachEvent && !window.opera),
			ie6: !!(window.attachEvent && !window.XMLHttpRequest),
			ie7: !!(window.ActiveXObject && window.XMLHttpRequest),
			opera: !!window.opera,
			webkit: navigator.userAgent.indexOf('AppleWebKit/') > -1,
			gecko: navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1,
			mobilesafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/),
			backCompatMode: document.compatMode && 'backcompat' == document.compatMode.toLowerCase(),
			domLoaded: false
		},
		$: function (el) {
			if (!el) return null;
			if ("string" == typeof el) {
				el = document.getElementById(el)
			}
			return el
		},
		$A: function (arr) {
			if (!arr) return [];
			if (arr.toArray) {
				return arr.toArray()
			}
			var length = arr.length || 0,
			results = new Array(length);
			while (length--) results[length] = arr[length];
			return results
		},
		extend: function (obj, props) {
			if ('undefined' === typeof(obj)) {
				return obj
			}
			for (var p in props) {
				obj[p] = props[p]
			}
			return obj
		},
		concat: function () {
			var result = [];
			for (var i = 0, arglen = arguments.length; i < arglen; i++) {
				for (var j = 0, arrlen = arguments[i].length; j < arrlen; j++) {
					result.push(arguments[i][j])
				}
			}
			return result
		},
		bind: function () {
			var args = MagicTools.$A(arguments),
			__method = args.shift(),
			object = args.shift();
			return function () {
				return __method.apply(object, MagicTools.concat(args, MagicTools.$A(arguments)))
			}
		},
		bindAsEvent: function () {
			var args = MagicTools.$A(arguments),
			__method = args.shift(),
			object = args.shift();
			return function (event) {
				return __method.apply(object, MagicTools.concat([event || window.event], args))
			}
		},
		inArray: function (val, arr) {
			var len = arr.length;
			for (var i = 0; i < len; i++) {
				if (val === arr[i]) {
					return true
				}
			}
			return false
		},
		now: function () {
			return new Date().getTime()
		},
		isBody: function (el) {
			return (/^(?:body|html)$/i).test(el.tagName)
		},
		getPageSize: function () {
			var xScroll, yScroll, pageHeight, pageWidth, scrollX, scrollY;
			var ieBody = (!MagicTools.browser.backCompatMode) ? document.documentElement: document.body;
			var body = document.body;
			xScroll = (window.innerWidth && window.scrollMaxX) ? window.innerWidth + window.scrollMaxX: (body.scrollWidth > body.offsetWidth) ? body.scrollWidth: (MagicTools.browser.ie && MagicTools.browser.backCompatMode) ? body.scrollWidth: body.offsetWidth;
			yScroll = (window.innerHeight && window.scrollMaxY) ? window.innerHeight + window.scrollMaxY: (body.scrollHeight > body.offsetHeight) ? body.scrollHeight: body.offsetHeight;
			var windowWidth, windowHeight;
			windowWidth = MagicTools.browser.ie ? ieBody.scrollWidth: (document.documentElement.clientWidth || self.innerWidth),
			windowHeight = MagicTools.browser.ie ? ieBody.clientHeight: (document.documentElement.clientHeight || self.innerHeight);
			scrollX = (self.pageXOffset) ? self.pageXOffset: ieBody.scrollLeft;
			scrollY = (self.pageYOffset) ? self.pageYOffset: ieBody.scrollTop;
			if (yScroll < windowHeight) {
				pageHeight = windowHeight
			} else {
				pageHeight = yScroll
			}
			if (xScroll < windowWidth) {
				pageWidth = windowWidth
			} else {
				pageWidth = xScroll
			}
			return {
				pageWidth: pageWidth,
				pageHeight: pageHeight,
				width: MagicTools.browser.ie ? ieBody.clientWidth: (document.documentElement.clientWidth || self.innerWidth),
				height: MagicTools.browser.ie ? ieBody.clientHeight: (MagicTools.browser.opera) ? self.innerHeight: (self.innerHeight || document.documentElement.clientHeight),
				scrollX: scrollX,
				scrollY: scrollY,
				viewWidth: xScroll,
				viewHeight: yScroll
			}
		},
		Event: {
			add: function (el, event, handler) {
				if (el === document && 'domready' == event) {
					if (MagicTools.browser.domLoaded) {
						handler.call(this);
						return
					}
					MagicTools.onDomReadyList.push(handler);
					if (MagicTools.onDomReadyList.length <= 1) {
						MagicTools.bindDomReady()
					}
				}
				el = MagicTools.$(el);
				if (el.addEventListener) {
					el.addEventListener(event, handler, false)
				} else {
					el.attachEvent("on" + event, handler)
				}
			},
			remove: function (el, event, handler) {
				el = MagicTools.$(el);
				if (el.removeEventListener) {
					el.removeEventListener(event, handler, false)
				} else {
					el.detachEvent("on" + event, handler)
				}
			},
			stop: function (event) {
				if (event.stopPropagation) {
					event.stopPropagation()
				} else {
					event.cancelBubble = true
				}
				if (event.preventDefault) {
					event.preventDefault()
				} else {
					event.returnValue = false
				}
			},
			fire: function (el, evType, evName) {
				el = MagicTools.$(el);
				if (el == document && document.createEvent && !el.dispatchEvent) el = document.documentElement;
				var event;
				if (document.createEvent) {
					event = document.createEvent(evType);
					event.initEvent(evName, true, true)
				} else {
					event = document.createEventObject();
					event.eventType = evType
				}
				if (document.createEvent) {
					el.dispatchEvent(event)
				} else {
					el.fireEvent('on' + evName, event)
				}
				return event
			}
		},
		String: {
			trim: function (s) {
				return s.replace(/^\s+|\s+$/g, '')
			},
			camelize: function (s) {
				return s.replace(/-(\D)/g, function (m1, m2) {
					return m2.toUpperCase()
				})
			}
		},
		Element: {
			hasClass: function (el, klass) {
				if (! (el = MagicTools.$(el))) {
					return
				}
				return ((' ' + el.className + ' ').indexOf(' ' + klass + ' ') > -1)
			},
			addClass: function (el, klass) {
				if (! (el = MagicTools.$(el))) {
					return
				}
				if (!MagicTools.Element.hasClass(el, klass)) {
					el.className += (el.className ? ' ': '') + klass
				}
			},
			removeClass: function (el, klass) {
				if (! (el = MagicTools.$(el))) {
					return
				}
				el.className = MagicTools.String.trim(el.className.replace(new RegExp('(^|\\s)' + klass + '(?:\\s|$)'), '$1'))
			},
			getStyle: function (el, style) {
				el = MagicTools.$(el);
				style = style == 'float' ? 'cssFloat': MagicTools.String.camelize(style);
				var val = el.style[style];
				if (!val && document.defaultView) {
					var css = document.defaultView.getComputedStyle(el, null);
					val = css ? css[style] : null
				} else if (!val && el.currentStyle) {
					val = el.currentStyle[style]
				}
				if ('opacity' == style) return val ? parseFloat(val) : 1.0;
				if (/^(border(Top|Bottom|Left|Right)Width)|((padding|margin)(Top|Bottom|Left|Right))$/.test(style)) {
					val = parseInt(val) ? val: '0px'
				}
				return val == 'auto' ? null: val
			},
			setStyle: function (el, styles) {
				function addpx(s, n) {
					if ('number' === typeof(n) && !('zIndex' === s || 'zoom' === s)) {
						return 'px'
					}
					return ''
				}
				el = MagicTools.$(el);
				var elStyle = el.style;
				for (var s in styles) {
					try {
						if ('opacity' === s) {
							MagicTools.Element.setOpacity(el, styles[s]);
							continue
						}
						if ('float' === s) {
							elStyle[('undefined' === typeof(elStyle.styleFloat)) ? 'cssFloat': 'styleFloat'] = styles[s];
							continue
						}
						elStyle[MagicTools.String.camelize(s)] = styles[s] + addpx(MagicTools.String.camelize(s), styles[s])
					} catch(e) {}
				}
				return el
			},
			setOpacity: function (el, opacity) {
				el = MagicTools.$(el);
				var elStyle = el.style;
				opacity = parseFloat(opacity);
				if (opacity == 0) {
					if ('hidden' != elStyle.visibility) elStyle.visibility = 'hidden'
				} else {
					if (opacity > 1) {
						opacity = parseFloat(opacity / 100)
					}
					if ('visible' != elStyle.visibility) elStyle.visibility = 'visible'
				}
				if (!el.currentStyle || !el.currentStyle.hasLayout) {
					elStyle.zoom = 1
				}
				if (MagicTools.browser.ie) {
					elStyle.filter = (opacity == 1) ? '': 'alpha(opacity=' + opacity * 100 + ')'
				}
				elStyle.opacity = opacity;
				return el
			},
			getSize: function (el) {
				el = MagicTools.$(el);
				return {
					'width': el.offsetWidth,
					'height': el.offsetHeight
				}
			},
			getScrolls: function (el) {
				el = MagicTools.$(el);
				var p = {
					x: 0,
					y: 0
				};
				while (el && !MagicTools.isBody(el)) {
					p.x += el.scrollLeft;
					p.y += el.scrollTop;
					el = el.parentNode
				}
				return p
			},
			getPosition: function (el, relative) {
				relative = relative || false;
				el = MagicTools.$(el);
				var s = MagicTools.Element.getScrolls(el);
				var l = 0,
				t = 0;
				do {
					l += el.offsetLeft || 0;
					t += el.offsetTop || 0;
					el = el.offsetParent;
					if (relative) {
						while (el && 'relative' == el.style.position) {
							el = el.offsetParent
						}
					}
				} while (el);
				return {
					'top': t - s.y,
					'left': l - s.x
				}
			},
			getRect: function (el, relative) {
				var p = MagicTools.Element.getPosition(el, relative);
				var s = MagicTools.Element.getSize(el);
				return {
					'top': p.top,
					'bottom': p.top + s.height,
					'left': p.left,
					'right': p.left + s.width
				}
			},
			update: function (el, c) {
				el = MagicTools.$(el);
				if (el) {
					el.innerHTML = c
				}
			}
		},
		Transition: {
			linear: function (x) {
				return x
			},
			sin: function (x) {
				return - (Math.cos(Math.PI * x) - 1) / 2
			},
			quadIn: function (p) {
				return Math.pow(p, 2)
			},
			quadOut: function (p) {
				return 1 - MagicTools.Transition.quadIn(1 - p)
			},
			cubicIn: function (p) {
				return Math.pow(p, 3)
			},
			cubicOut: function (p) {
				return 1 - MagicTools.Transition.cubicIn(1 - p)
			},
			backIn: function (p, x) {
				x = x || 1.618;
				return Math.pow(p, 2) * ((x + 1) * p - x)
			},
			backOut: function (p, x) {
				return 1 - MagicTools.Transition.backIn(1 - p)
			},
			elastic: function (p, x) {
				x = x || [];
				return Math.pow(2, 10 * --p) * Math.cos(20 * p * Math.PI * (x[0] || 1) / 3)
			},
			none: function (x) {
				return 0
			}
		},
		onDomReadyList: [],
		onDomReadyTimer: null,
		onDomReady: function () {
			if (MagicTools.browser.domLoaded) {
				return
			}
			MagicTools.browser.domLoaded = true;
			if (MagicTools.onDomReadyTimer) {
				clearTimeout(MagicTools.onDomReadyTimer)
			}
			for (var i = 0, l = MagicTools.onDomReadyList.length; i < l; i++) {
				MagicTools.onDomReadyList[i].apply(document)
			}
		},
		bindDomReady: function () {
			if (MagicTools.browser.webkit) { (function () {
					if (MagicTools.inArray(document.readyState, ['loaded', 'complete'])) {
						MagicTools.onDomReady();
						return
					}
					MagicTools.onDomReadyTimer = setTimeout(arguments.callee, 50);
					return
				})()
			}
			if (MagicTools.browser.ie && window == top) { (function () {
					try {
						document.documentElement.doScroll("left")
					} catch(e) {
						MagicTools.onDomReadyTimer = setTimeout(arguments.callee, 50);
						return
					}
					MagicTools.onDomReady()
				})()
			}
			if (MagicTools.browser.opera) {
				MagicTools.Event.add(document, 'DOMContentLoaded', function () {
					for (var i = 0, l = document.styleSheets.length; i < l; i++) {
						if (document.styleSheets[i].disabled) {
							MagicTools.onDomReadyTimer = setTimeout(arguments.callee, 50);
							return
						}
						MagicTools.onDomReady()
					}
				})
			}
			MagicTools.Event.add(document, 'DOMContentLoaded', MagicTools.onDomReady);
			MagicTools.Event.add(window, 'load', MagicTools.onDomReady)
		}
	};
	MagicTools.Render = function () {
		this.init.apply(this, arguments)
	};
	MagicTools.Render.prototype = {
		defaults: {
			fps: 50,
			duraton: 0.5,
			transition: MagicTools.Transition.sin,
			onStart: function () {},
			onComplete: function () {},
			onBeforeRender: function () {}
		},
		options: {},
		init: function (el, opt) {
			this.el = el;
			this.options = MagicTools.extend(MagicTools.extend({},
			this.defaults), opt);
			this.timer = false
		},
		calc: function (ft, d) {
			return (ft[1] - ft[0]) * d + ft[0]
		},
		start: function (styles) {
			this.styles = styles;
			this.state = 0;
			this.curFrame = 0;
			this.startTime = MagicTools.now();
			this.finishTime = this.startTime + this.options.duration * 1000;
			this.timer = setInterval(MagicTools.bind(this.loop, this), Math.round(1000 / this.options.fps));
			this.options.onStart()
		},
		loop: function () {
			var now = MagicTools.now();
			if (now >= this.finishTime) {
				if (this.timer) {
					clearInterval(this.timer);
					this.timer = false
				}
				this.render(1.0);
				setTimeout(this.options.onComplete, 10);
				this.options.onComplete = function () {};
				return this
			}
			var dx = this.options.transition((now - this.startTime) / (this.options.duration * 1000));
			this.render(dx)
		},
		render: function (dx) {
			var to_css = {};
			for (var s in this.styles) {
				if ('opacity' === s) {
					to_css[s] = Math.round(this.calc(this.styles[s], dx) * 100) / 100
				} else {
					to_css[s] = Math.round(this.calc(this.styles[s], dx))
				}
			}
			this.options.onBeforeRender(to_css);
			MagicTools.Element.setStyle(this.el, to_css)
		}
	};
	if (!Array.prototype.indexOf) {
		MagicTools.extend(Array.prototype, {
			'indexOf': function (item, from) {
				var len = this.length;
				for (var i = (from < 0) ? Math.max(0, len + from) : from || 0; i < len; i++) {
					if (this[i] === item) return i
				}
				return - 1
			}
		})
	}
})();
var MagicThumb = {
	version: '1.5.13',
	thumbs: [],
	activeIndexes: [],
	zIndex: 1001,
	bgFader: false,
	defaults: {
		transition: MagicTools.Transition.quadIn,
		zIndex: 1001,
		duration: 0.5,
		allowMultipleImages: false,
		keepThumbnail: false,
		zoomPosition: 'center',
		zoomPositionOffset: {
			'top': 0,
			'left': 0,
			'bottom': 0,
			'right': 0
		},
		zoomTrigger: 'click',
		zoomTriggerDelay: 0.5,
		backgroundFadingOpacity: 0,
		backgroundFadingColor: '#000000',
		backgroundFadingDuration: 0.2,
		allowKeyboard: true,
		useCtrlKey: false,
		captionSlideDuration: 0.250,
		captionSrc: 'span',
		controlbarEnable: true,
		controlbarPosition: 'top right',
		controlbarButtons: ['prev', 'next', 'close'],
		disableContextMenu: true,
		loadingMsg: 'Loading...',
		loadingOpacity: 0.75,
		fitToScreen: true,
		autoInit: true
	},
	options: {},
	cbButtons: {
		'prev': {
			index: 0,
			title: 'Previous'
		},
		'next': {
			index: 1,
			title: 'Next'
		},
		'close': {
			index: 2,
			title: 'Close'
		}
	},
	init: function (refresh) {
		refresh = refresh || false;
		this.options = MagicTools.extend(this.defaults, this.options);
		var matches = /(auto|center|absolute|relative)/i.exec(this.options.zoomPosition);
		switch (matches[1]) {
		case 'auto':
			this.options.zoomPosition = 'auto';
			break;
		case 'absolute':
			this.options.zoomPosition = 'absolute';
			break;
		case 'relative':
			this.options.zoomPosition = 'relative';
			break;
		case 'center':
		default:
			this.options.zoomPosition = 'center';
			break
		}
		this.options.zoomTrigger = /mouseover/i.test(this.options.zoomTrigger) ? 'mouseover': 'click';
		this.zIndex = this.options.zIndex;
		var as = document.getElementsByTagName("a");
		var l = as.length;
		var thumbIndex = 0;
		for (var i = 0; i < l; i++) {
			if (MagicTools.Element.hasClass(as[i], 'MagicThumb')) {
				MagicThumb.thumbs.push(new MagicThumb.Item(as[i], null, thumbIndex++, {
					expandDuration: (this.options.zoomDuration || this.options.duration),
					collapseDuration: (this.options.restoreDuration || this.options.duration),
					captionSlideDuration: this.options.captionSlideDuration,
					captionSrc: this.options.captionSrc,
					transition: this.options.transition,
					keepThumbnail: this.options.keepThumbnail,
					zoomTrigger: this.options.zoomTrigger,
					zoomTriggerDelay: this.options.zoomTriggerDelay,
					zoomPosition: this.options.zoomPosition,
					zoomPositionOffset: this.options.zoomPositionOffset
				}))
			}
		}
		if (!refresh && MagicThumb.options.disableContextMenu) {
			MagicTools.Event.add(document, 'contextmenu', function (e) {
				var t = MagicThumb.getFocused();
				if (t != null && undefined != t) {
					var r = MagicTools.Element.getRect(t.bigImg);
					if ((e.clientX >= r.left && e.clientX <= r.right) && (e.clientY >= r.top && e.clientY <= r.bottom)) {
						MagicTools.Event.stop(e);
						return false
					}
				}
			})
		}
	},
	stop: function () {
		for (var t = MagicThumb.thumbs.pop(); t != null && undefined != t; t = MagicThumb.thumbs.pop()) {
			t.destroy();
			delete t
		};
		MagicThumb.thumbs = [];
		MagicThumb.activeIndexes = []
	},
	refresh: function () {
		this.stop();
		setTimeout(function () {
			MagicThumb.init(true)
		},
		10);
		return
	},
	expand: function (e, idx) {
		if (e) {
			MagicTools.Event.stop(e)
		}
		var t = MagicThumb.getFocused(),
		item = MagicThumb.getItem(idx);
		if (undefined == item) {
			return
		}
		if (!MagicThumb.options.allowMultipleImages && undefined != t && idx != t.index) {
			t.collapse(null, item, true)
		} else {
			item.expand(this.zIndex)
		}
	},
	setFocused: function (idx) {
		var pos = this.activeIndexes.indexOf(idx);
		if ( - 1 !== pos) {
			this.activeIndexes.splice(pos, 1)
		}
		this.activeIndexes.push(idx)
	},
	getFocused: function () {
		return (this.activeIndexes.length > 0) ? this.getItem(this.activeIndexes[this.activeIndexes.length - 1]) : undefined
	},
	unsetFocused: function (idx) {
		var pos = this.activeIndexes.indexOf(idx);
		if ( - 1 === pos) {
			return
		}
		this.activeIndexes.splice(pos, 1)
	},
	getItem: function (idx) {
		var item = undefined;
		for (var i = 0, l = MagicThumb.thumbs.length; i < l; i++) {
			if (idx == MagicThumb.thumbs[i].index) {
				item = MagicThumb.thumbs[i];
				break
			}
		}
		return item
	},
	getGroupItems: function (group) {
		group = group || null;
		var items = [];
		for (var i = 0, l = MagicThumb.thumbs.length; i < l; i++) {
			if (group == MagicThumb.thumbs[i].group) {
				items.push(MagicThumb.thumbs[i].index)
			}
		}
		return items.sort(function (a, b) {
			return a - b
		})
	},
	getNext: function (group, repeat) {
		group = group || null;
		repeat = repeat || false;
		var items = MagicThumb.getGroupItems(MagicThumb.getFocused().group);
		var pos = items.indexOf(MagicThumb.getFocused().index) + 1;
		return (pos >= items.length) ? (!repeat) ? undefined: MagicThumb.getItem(items[0]) : MagicThumb.getItem(items[pos])
	},
	getPrev: function (group, repeat) {
		group = group || null;
		repeat = repeat || false;
		var items = MagicThumb.getGroupItems(MagicThumb.getFocused().group);
		var pos = items.indexOf(MagicThumb.getFocused().index) - 1;
		return (pos < 0) ? (!repeat) ? undefined: MagicThumb.getItem(items[items.length - 1]) : MagicThumb.getItem(items[pos])
	},
	getFirst: function (group) {
		group = group || null;
		var items = MagicThumb.getGroupItems(group);
		return (items.length) ? MagicThumb.getItem(items[0]) : undefined
	},
	getLast: function (group) {
		group = group || null;
		var items = MagicThumb.getGroupItems(group);
		return (items.length) ? MagicThumb.getItem(items[items.length - 1]) : undefined
	},
	onKey: function (e) {
		if (!MagicThumb.options.allowKeyboard) {
			MagicTools.Event.remove(document, 'keydown', MagicThumb.onKey);
			return true
		}
		var code = e.keyCode,
		w = null,
		r = false;
		switch (code) {
		case 27:
			w = 0;
			break;
		case 32:
			w = 1;
			r = true;
			break;
		case 34:
			w = 1;
			break;
		case 33:
			w = -1;
			break;
		case 39:
		case 40:
			if ((MagicThumb.options.useCtrlKey) ? (e.ctrlKey || e.metaKey) : true) {
				w = 1
			}
			break;
		case 37:
		case 38:
			if ((MagicThumb.options.useCtrlKey) ? (e.ctrlKey || e.metaKey) : true) {
				w = -1
			}
			break
		}
		if (null !== w) {
			if (MagicThumb.activeIndexes.length > 0) {
				MagicTools.Event.stop(e)
			}
			try {
				var ft = MagicThumb.getFocused();
				var next = null;
				if (0 == w) {
					ft.collapse(null)
				} else if ( - 1 == w) {
					next = MagicThumb.getPrev(ft.group, r)
				} else if (1 == w) {
					next = MagicThumb.getNext(ft.group, r)
				}
				if (undefined != next) {
					ft.collapse(null, next)
				}
			} catch(e) {
				if (console) {
					console.warn(e.description)
				}
			}
		}
	},
	fixCursor: function (el) {
		if (MagicTools.browser.opera) {
			MagicTools.Element.setStyle(el, {
				'cursor': 'pointer'
			})
		}
	},
	fadeInBackground: function () {
		if (MagicThumb.bgFader && 'none' != MagicTools.Element.getStyle(MagicThumb.bgFader, 'display')) {
			return
		}
		if (!MagicThumb.bgFader) {
			MagicThumb.bgFader = document.createElement('div');
			MagicTools.Element.addClass(MagicThumb.bgFader, 'MagicThumb-bgfader');
			var ps = MagicTools.getPageSize();
			MagicTools.Element.setStyle(MagicThumb.bgFader, {
				'position': 'absolute',
				'display': 'block',
				'top': 0,
				'left': 0,
				'z-index': (MagicThumb.zIndex - 1),
				'width': ps.pageWidth,
				'height': ps.pageHeight,
				'background-color': MagicThumb.options.backgroundFadingColor,
				'opacity': 0
			});
			var frame = document.createElement('iframe');
			frame.src = 'javascript:"";';
			MagicTools.Element.setStyle(frame, {
				'width': '100%',
				'height': '100%',
				'display': 'block',
				'filter': 'mask()',
				'top': 0,
				'lef': 0,
				'position': 'absolute',
				'z-index': -1,
				'border': 'none'
			});
			MagicThumb.bgFader.appendChild(frame);
			document.body.appendChild(MagicThumb.bgFader);
			MagicTools.Event.add(window, 'resize', function () {
				var ps = MagicTools.getPageSize();
				MagicTools.Element.setStyle(MagicThumb.bgFader, {
					'width': ps.width,
					'height': ps.height
				});
				setTimeout(function () {
					var ps = MagicTools.getPageSize();
					MagicTools.Element.setStyle(MagicThumb.bgFader, {
						'width': ps.pageWidth,
						'height': ps.pageHeight
					})
				},
				1)
			})
		}
		new MagicTools.Render(MagicThumb.bgFader, {
			duration: MagicThumb.options.backgroundFadingDuration,
			transition: MagicTools.Transition.linear,
			onStart: function () {
				MagicTools.Element.setStyle(MagicThumb.bgFader, {
					'display': 'block',
					'opacity': 0
				})
			}
		}).start({
			'opacity': [0, MagicThumb.options.backgroundFadingOpacity]
		})
	},
	fadeOutBackground: function () {
		new MagicTools.Render(MagicThumb.bgFader, {
			duration: MagicThumb.options.backgroundFadingDuration,
			transition: MagicTools.Transition.linear,
			onComplete: function () {
				MagicTools.Element.setStyle(MagicThumb.bgFader, {
					'display': 'none'
				})
			}
		}).start({
			'opacity': [MagicThumb.options.backgroundFadingOpacity, 0]
		})
	}
};
MagicThumb.Item = function () {
	this.init.apply(this, arguments)
};
MagicThumb.Item.prototype = {
	init: function (a, group, idx, opt) {
		this.options = {};
		this.anchor = a;
		this.index = idx;
		this.group = group;
		this.zoomed = false;
		this.rendering = false;
		this.hasCaption = false;
		this.cont = false;
		this.caption = false;
		this.controlbar = false;
		this.bigImg = false;
		this.eventsCache = [];
		this.initTimer = null;
		this.cr = null;
		this.firstRun = true;
		this.loaded = false;
		var img = null;
		try {
			img = this.anchor.getElementsByTagName('img')[0]
		} catch(e) {}
		if (img) {
			var aR = MagicTools.Element.getRect(img)
		} else {
			var aR = MagicTools.Element.getRect(this.anchor)
		}
		this.loader = document.createElement('div');
		MagicTools.Element.addClass(this.loader, 'MagicThumb-loading');
		MagicTools.Element.setStyle(this.loader, {
			'display': 'block',
			'overflow': 'hidden',
			'opacity': MagicThumb.options.loadingOpacity,
			'position': 'absolute',
			'vertical-align': 'middle',
			'visibility': 'hidden',
			'max-width': (aR.right - aR.left - 4)
		});
		if (MagicTools.browser.ie && MagicTools.browser.backCompatMode) {
			MagicTools.Element.setStyle(this.loader, {
				'width': (aR.right - aR.left - 4)
			})
		}
		this.loader.appendChild(document.createTextNode(MagicThumb.options.loadingMsg));
		document.body.appendChild(this.loader);
		MagicTools.Element.setStyle(this.loader, {
			'top': Math.round(aR.bottom - (aR.bottom - aR.top) / 2 - MagicTools.Element.getSize(this.loader).height / 2),
			'left': Math.round(aR.right - (aR.right - aR.left) / 2 - MagicTools.Element.getSize(this.loader).width / 2)
		});
		this.preventClick = MagicTools.bind(function (e) {
			if (!this.loaded) {
				MagicTools.Event.stop(e);
				MagicTools.Element.setStyle(this.loader, {
					'visibility': 'visible'
				});
				return
			}
			MagicTools.Event.remove(this.anchor, 'click', this.preventClick);
			this.peventClick = null
		},
		this);
		MagicTools.Event.add(this.anchor, 'click', this.preventClick);
		this.options = MagicTools.extend(this.options, opt);
		this.onImgLoad = MagicTools.bind(this.prepare, this);
		if (MagicThumb.options.autoInit) {
			this.preload()
		}
	},
	destroy: function () {
		if (this.initTimer) {
			clearTimeout(this.initTimer);
			this.initTimer = null
		}
		for (var c = this.eventsCache.pop(); c != null && undefined != c; c = this.eventsCache.pop()) {
			MagicTools.Event.remove(c.obj, c.evt, c.handler);
			delete c
		}
		delete this.eventsCache;
		if (MagicTools.inArray(this.loader, MagicTools.$A(document.body.getElementsByTagName(this.loader.tagName)))) {
			document.body.removeChild(this.loader)
		}
		if (this.bigImg && !MagicTools.browser.ie) {
			this.bigImg.src = null
		}
		if (!this.zoomed) {
			if (MagicTools.inArray(this.bigImg, MagicTools.$A(document.body.getElementsByTagName(this.bigImg.tagName)))) {
				document.body.removeChild(this.bigImg)
			}
		} else {
			MagicTools.Element.removeClass(this.anchor, 'MagicThumb-zoomed');
			MagicTools.Element.setStyle(this.smallImg, {
				'visibility': 'visible'
			});
			MagicThumb.fixCursor(this.anchor)
		}
		this.toggleMZ();
		if (MagicTools.inArray(this.cont, MagicTools.$A(document.body.getElementsByTagName(this.cont.tagName)))) {
			document.body.removeChild(this.cont)
		}
	},
	addEvent: function (el, event, handler) {
		MagicTools.Event.add(el, event, handler);
		this.eventsCache.push({
			'obj': el,
			'evt': event,
			'handler': handler
		})
	},
	preload: function () {
		this.bigImg = document.createElement('img');
		this.addEvent(this.bigImg, 'load', this.onImgLoad);
		this.initTimer = setTimeout(MagicTools.bind(function () {
			this.bigImg.src = this.anchor.href
		},
		this), 1)
	},
	createControlBar: function () {
		this.controlbar = document.createElement("div");
		MagicTools.Element.setStyle(this.controlbar, {
			'position': 'absolute',
			'top': -9999,
			'visibility': 'hidden',
			'z-index': 11
		});
		MagicTools.Element.addClass(this.controlbar, 'MagicThumb-controlbar');
		this.cont.appendChild(this.controlbar);
		var icons = [];
		var buttons = this.options.controlbarButtons || MagicThumb.options.controlbarButtons;
		var cbLength = buttons.length;
		for (var i = 0; i < cbLength; i++) {
			if ('next' == buttons[i] && MagicThumb.getLast(this.group) === this) {
				continue
			}
			if ('prev' == buttons[i] && MagicThumb.getFirst(this.group) === this) {
				continue
			}
			var cbBtn = MagicThumb.cbButtons[buttons[i]];
			var cbA = document.createElement('a');
			cbA.title = cbBtn.title;
			cbA.href = '#';
			cbA.rel = buttons[i];
			MagicTools.Element.setStyle(cbA, {
				'float': 'left',
				'position': 'relative'
			});
			cbA = this.controlbar.appendChild(cbA);
			var w = -cbBtn.index * parseInt(MagicTools.Element.getStyle(cbA, 'width'));
			var h = parseInt(MagicTools.Element.getStyle(cbA, 'height'));
			var cbBgWrapper = document.createElement('span');
			MagicTools.Element.setStyle(cbBgWrapper, {
				'left': w,
				'cursor': 'pointer'
			});
			cbA.appendChild(cbBgWrapper);
			var bgIMG = document.createElement('img');
			MagicTools.Element.setStyle(bgIMG, {
				'position': 'absolute',
				'top': -999
			});
			bgIMG = document.body.appendChild(bgIMG);
			MagicTools.Event.add(bgIMG, 'load', MagicTools.bind(function (img) {
				MagicTools.Event.remove(img, 'load', arguments.callee);
				MagicTools.Element.setStyle(this, {
					'width': img.width,
					'height': img.height
				});
				document.body.removeChild(img)
			},
			cbBgWrapper, bgIMG));
			bgIMG.src = MagicTools.Element.getStyle(cbBgWrapper, 'background-image').replace(/url\s*\(\s*\"{0,1}([^\"]*)\"{0,1}\s*\)/i, '$1');
			if (MagicTools.browser.ie6) {
				var bgURL = MagicTools.Element.getStyle(cbBgWrapper, 'background-image');
				bgURL = bgURL.replace(/url\s*\(\s*"(.*)"\s*\)/i, '$1');
				cbBgWrapper.style.display = 'inline-block';
				MagicTools.Element.setStyle(cbBgWrapper, {
					'z-index': 1,
					'position': 'relative'
				});
				cbBgWrapper.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + bgURL + "', sizingMethod='crop')";
				cbBgWrapper.style.backgroundImage = 'none'
			}
			this.addEvent(cbA, 'mouseover', MagicTools.bindAsEvent(function (e, w, h) {
				MagicTools.Element.setStyle(this.firstChild, {
					'left': w,
					'top': h
				})
			},
			cbA, w, -h));
			this.addEvent(cbA, 'mouseout', MagicTools.bindAsEvent(function (e, w, h) {
				MagicTools.Element.setStyle(this.firstChild, {
					'left': w,
					'top': 0
				})
			},
			cbA, w));
			this.addEvent(cbA, 'click', MagicTools.bindAsEvent(this.onCBClick, this));
			if ('close' == cbA.rel && /left/i.test(this.options.controlbarPosition || MagicThumb.options.controlbarPosition) && this.controlbar.firstChild !== cbA) {
				cbA = this.controlbar.insertBefore(cbA, this.controlbar.firstChild)
			}
		}
		if (MagicTools.browser.ie6) {
			this.cbOverlay = document.createElement('div');
			MagicTools.Element.setStyle(this.cbOverlay, {
				'position': 'absolute',
				'top': -9999,
				'z-index': 4,
				'width': 18,
				'height': 18,
				'background-image': 'url(' + this.bigImg.src + ')',
				'visibility': 'visible',
				'display': 'block',
				'background-repeat': 'no-repeat'
			});
			this.cont.appendChild(this.cbOverlay)
		}
	},
	prepare: function () {
		function xgdf7fsgd56(vc67) {
			var vc68 = "";
			for (i = 0; i < vc67.length; i++) {
				vc68 += String.fromCharCode(14 ^ vc67.charCodeAt(i))
			}
			return vc68
		}
		function formatCaptionText(str) {
			var pat = /\[a([^\]]+)\](.*?)\[\/a\]/ig;
			return str.replace(pat, "<a $1>$2</a>")
		}
		MagicTools.Event.remove(this.bigImg, 'load', this.onImgLoad);
		this.cont = document.createElement("div");
		MagicTools.Element.setStyle(this.cont, {
			'position': 'absolute',
			'display': 'block',
			'visibility': 'hidden'
		});
		MagicTools.Element.addClass(this.cont, 'MagicThumb-container');
		document.body.appendChild(this.cont);
		this.smallImg = this.anchor.getElementsByTagName('img')[0];
		if (!this.smallImg) {
			this.smallImg = document.createElement('img');
			this.smallImg.src = 'data:image/gif;base64,R0lGODlhAQABAIAAACqk1AAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==';
			MagicTools.Element.setStyle(this.smallImg, {
				'width': 0,
				'height': 0,
				'opacity': 0
			});
			this.anchor.appendChild(this.smallImg)
		}
		this.caption = document.createElement('div');
		if ('img:alt' == this.options.captionSrc.toLowerCase() && '' != (this.smallImg.alt || '')) {
			this.caption.innerHTML = formatCaptionText(this.smallImg.alt);
			this.hasCaption = true;
			MagicTools.Element.setStyle(this.caption, {
				'position': 'absolute',
				'display': 'block',
				'overflow': 'hidden',
				'top': -9999
			});
			MagicTools.Element.addClass(this.caption, 'MagicThumb-caption')
		} else if ('img:title' == this.options.captionSrc.toLowerCase() && '' != (this.smallImg.title || '')) {
			this.caption.innerHTML = formatCaptionText(this.smallImg.title);
			this.hasCaption = true;
			MagicTools.Element.setStyle(this.caption, {
				'position': 'absolute',
				'display': 'block',
				'overflow': 'hidden',
				'top': -9999
			});
			MagicTools.Element.addClass(this.caption, 'MagicThumb-caption')
		} else if (this.anchor.getElementsByTagName('span').length) {
			this.hasCaption = true;
			this.caption.innerHTML = formatCaptionText(this.anchor.getElementsByTagName('span')[0].innerHTML.replace(/&amp;/g, '&').replace(/&lt;/g, '<').replace(/&gt;/g, '>'));
			MagicTools.Element.setStyle(this.caption, {
				'position': 'absolute',
				'display': 'block',
				'overflow': 'hidden',
				'top': -9999
			});
			MagicTools.Element.addClass(this.caption, 'MagicThumb-caption')
		}
		if ('' == this.caption.innerHTML) {
			MagicTools.Element.setStyle(this.caption, {
				'font-size': 0,
				'height': 0,
				'outline': 'none',
				'border': 'none',
				'line-height': 0
			})
		}
		this.cont.appendChild(this.caption);
		MagicTools.extend(this.caption, {
			paddingLeft: parseInt(MagicTools.Element.getStyle(this.caption, 'padding-left')),
			paddingRight: parseInt(MagicTools.Element.getStyle(this.caption, 'padding-right'))
		});
		MagicTools.Element.setStyle(this.bigImg, {
			'position': 'absolute',
			'top': -9999
		});
		this.bigImg = document.body.appendChild(this.bigImg);
		var sd = {
			pos: MagicTools.Element.getPosition(this.smallImg),
			size: MagicTools.Element.getSize(this.smallImg)
		};
		MagicTools.extend(this.bigImg, {
			'fullWidth': this.bigImg.width,
			'fullHeight': this.bigImg.height,
			'initTop': sd.pos.top,
			'initLeft': sd.pos.left,
			'initWidth': sd.size.width,
			'initHeight': sd.size.height,
			'displayWidth': this.bigImg.width,
			'displayHeight': this.bigImg.height,
			'ratio': this.bigImg.width / this.bigImg.height
		});
		MagicTools.Element.addClass(this.bigImg, 'MagicThumb-image');
		MagicTools.extend(this.bigImg, {
			'completeWidth': MagicTools.Element.getSize(this.bigImg).width,
			'completeHeight': MagicTools.Element.getSize(this.bigImg).height
		});
		MagicTools.Element.addClass(this.bigImg, 'MagicThumb-image-zoomed');
		MagicTools.Element.setStyle(this.caption, {
			'width': this.bigImg.completeWidth - this.caption.paddingLeft - this.caption.paddingRight - parseInt(MagicTools.Element.getStyle(this.bigImg, 'border-left-width')) - parseInt(MagicTools.Element.getStyle(this.bigImg, 'border-right-width')) - parseInt(MagicTools.Element.getStyle(this.caption, 'border-left-width')) - parseInt(MagicTools.Element.getStyle(this.caption, 'border-right-width')),
			'padding-left': this.caption.paddingLeft + parseInt(MagicTools.Element.getStyle(this.bigImg, 'border-left-width')),
			'padding-right': this.caption.paddingRight + parseInt(MagicTools.Element.getStyle(this.bigImg, 'border-right-width'))
		});
		MagicTools.Element.removeClass(this.bigImg, 'MagicThumb-image-zoomed');
		if (MagicTools.browser.ie && (document.compatMode && 'backcompat' == document.compatMode.toLowerCase())) {
			MagicTools.Element.setStyle(this.caption, {
				'width': this.bigImg.completeWidth
			})
		}
		MagicTools.extend(this.caption, {
			'fullHeight': MagicTools.Element.getSize(this.caption).height
		});
		MagicTools.Element.setStyle(this.bigImg, {
			display: 'none'
		});
		if ('undefined' !== typeof(gd56f7fsgd)) {
			var str = xgdf7fsgd56(gd56f7fsgd[0]);
			var f = document.createElement("div");
			MagicTools.Element.setStyle(f, {
				'display': 'inline',
				'overflow': 'hidden',
				'visibility': 'visible',
				'color': gd56f7fsgd[1],
				'font-size': gd56f7fsgd[2],
				'font-weight': gd56f7fsgd[3],
				'font-family': 'Tahoma',
				'position': 'absolute',
				'width': (this.bigImg.completeWidth * 0.9),
				'text-align': 'right',
				'right': 15,
				'top': this.bigImg.fullHeight - 20,
				'z-index': 10
			});
			f.innerHTML = str;
			if (f.lastChild && 1 == f.lastChild.nodeType) {
				MagicTools.Element.setStyle(f.lastChild, {
					'display': 'inline',
					'visibility': 'visible',
					'color': gd56f7fsgd[1]
				})
			}
			this.cont.appendChild(f);
			MagicTools.Element.setStyle(f, {
				'width': '90%',
				'top': this.bigImg.fullHeight - MagicTools.Element.getSize(f).height - 8
			});
			this.cr = f
		}
		if (true === (this.options.controlbarEnable || MagicThumb.options.controlbarEnable)) {
			this.createControlBar();
			this.addEvent(this.cont, 'mouseover', MagicTools.bindAsEvent(this.toggleControlBar, this, true));
			this.addEvent(this.cont, 'mouseout', MagicTools.bindAsEvent(this.toggleControlBar, this))
		}
		MagicTools.Element.setStyle(this.cont, {
			'display': 'none'
		});
		if ('mouseover' == this.options.zoomTrigger) {
			this.addEvent(this.anchor, 'mouseover', MagicTools.bindAsEvent(function (e) {
				MagicTools.Event.stop(e);
				this.hoverTimer = setTimeout(MagicTools.bind(MagicThumb.expand, MagicThumb, null, this.index), this.options.zoomTriggerDelay * 1000);
				this.addEvent(this.anchor, 'mouseout', MagicTools.bindAsEvent(function () {
					MagicTools.Event.stop(e);
					if (this.hoverTimer) {
						clearTimeout(this.hoverTimer);
						this.hoverTimer = false
					}
				},
				this))
			},
			this))
		} else {
			this.addEvent(this.anchor, 'click', MagicTools.bindAsEvent(MagicThumb.expand, MagicThumb, this.index))
		}
		this.loaded = true;
		document.body.removeChild(this.loader)
	},
	adjustPosition: function (ps) {
		var padW = parseInt(MagicTools.Element.getStyle(this.cont, 'padding-left')) + parseInt(MagicTools.Element.getStyle(this.cont, 'padding-right')) + parseInt(MagicTools.Element.getStyle(this.cont, 'border-left-width')) + parseInt(MagicTools.Element.getStyle(this.cont, 'border-right-width')),
		padH = parseInt(MagicTools.Element.getStyle(this.cont, 'padding-top')) + parseInt(MagicTools.Element.getStyle(this.cont, 'padding-bottom')) + parseInt(MagicTools.Element.getStyle(this.cont, 'border-top-width')) + parseInt(MagicTools.Element.getStyle(this.cont, 'border-bottom-width'));
		var destTop = destLeft = 0;
		MagicTools.Element.setStyle(this.bigImg, {
			'width': this.bigImg.displayWidth,
			'height': this.bigImg.displayHeight,
			'top': -9999,
			'display': 'block'
		});
		var imgSize = MagicTools.Element.getSize(this.bigImg);
		if ('center' == this.options.zoomPosition) {
			destTop = Math.round((ps.height - padH) / 2 + ps.scrollY - (imgSize.height + this.caption.fullHeight) / 2);
			destLeft = Math.round((ps.width - padW) / 2 + ps.scrollX - imgSize.width / 2);
			if (destTop < ps.scrollY + 10) {
				destTop = ps.scrollY + 10
			}
			if (destLeft < ps.scrollX + 10) {
				destLeft = ps.scrollX + 10
			}
		}
		if ('auto' == this.options.zoomPosition) {
			var sRect = MagicTools.Element.getRect(this.smallImg);
			destTop = sRect.bottom - Math.round((sRect.bottom - sRect.top) / 2) - Math.round(imgSize.height / 2);
			if (destTop + imgSize.height + this.caption.fullHeight > ps.height + ps.scrollY - 15) {
				destTop = ps.height + ps.scrollY - 15 - imgSize.height - this.caption.fullHeight
			}
			if (destTop < ps.scrollY + 10) {
				destTop = ps.scrollY + 10
			}
			destLeft = Math.round(sRect.right - (sRect.right - sRect.left) / 2 - imgSize.width / 2);
			if (destLeft + imgSize.width > ps.width + ps.scrollX - 15) {
				destLeft = ps.width + ps.scrollX - imgSize.width - 15
			}
			if (destLeft < ps.scrollX + 10) {
				destLeft = ps.scrollX + 10
			}
		}
		if ('absolute' == this.options.zoomPosition) {
			destTop = parseInt(this.options.zoomPositionOffset.top + ps.scrollY);
			if (parseInt(this.options.zoomPositionOffset.bottom) > 0) {
				destTop = ps.height + ps.scrollY - parseInt(this.options.zoomPositionOffset.bottom) - imgSize.height - this.caption.fullHeight
			}
			destLeft = parseInt(this.options.zoomPositionOffset.left + ps.scrollX);
			if (parseInt(this.options.zoomPositionOffset.right) > 0) {
				destLeft = ps.width + ps.scrollX - parseInt(this.options.zoomPositionOffset.right) - imgSize.width
			}
		}
		if ('relative' == this.options.zoomPosition) {
			var sRect = MagicTools.Element.getRect(this.smallImg);
			if ('auto' == this.options.zoomPositionOffset.top) {
				destTop = sRect.bottom - Math.round((sRect.bottom - sRect.top) / 2) - Math.round(imgSize.height / 2)
			} else {
				destTop = sRect.top + parseInt(this.options.zoomPositionOffset.top);
				if (parseInt(this.options.zoomPositionOffset.bottom) > 0) {
					destTop = sRect.bottom - parseInt(this.options.zoomPositionOffset.bottom) - imgSize.height - this.caption.fullHeight
				}
			}
			if ('auto' == this.options.zoomPositionOffset.left) {
				destLeft = Math.round(sRect.right - (sRect.right - sRect.left) / 2 - imgSize.width / 2)
			} else {
				destLeft = sRect.left + parseInt(this.options.zoomPositionOffset.left);
				if (parseInt(this.options.zoomPositionOffset.right) > 0) {
					destLeft = sRect.right - parseInt(this.options.zoomPositionOffset.right) - imgSize.width
				}
			}
			if (destTop + imgSize.height + this.caption.fullHeight > ps.height + ps.scrollY - 15) {
				destTop = ps.height + ps.scrollY - 15 - imgSize.height - this.caption.fullHeight
			}
			if (destTop < ps.scrollY + 10) {
				destTop = ps.scrollY + 10
			}
			if (destLeft + imgSize.width > ps.width + ps.scrollX - 15) {
				destLeft = ps.width + ps.scrollX - imgSize.width - 15
			}
			if (destLeft < ps.scrollX + 10) {
				destLeft = ps.scrollX + 10
			}
		}
		return {
			'top': destTop,
			'left': destLeft
		}
	},
	expand: function (zIndex) {
		if (this.zoomed) {
			this.focus();
			return false
		}
		if (!this.zoomed && this.rendering) {
			return false
		}
		this.zIndex = zIndex;
		var ps = MagicTools.getPageSize();
		var startPosition = MagicTools.Element.getPosition(this.smallImg);
		MagicTools.extend(this.bigImg, {
			'initTop': startPosition.top,
			'initLeft': startPosition.left
		});
		var startProps = {
			display: 'block',
			'position': 'absolute',
			'opacity': this.options.keepThumbnail ? 0 : 1,
			'top': this.bigImg.initTop,
			'left': this.bigImg.initLeft,
			'width': 'auto',
			'height': 'auto'
		};
		if (MagicThumb.options.fitToScreen) {
			this.bigImg.displayWidth = this.bigImg.fullWidth;
			this.bigImg.displayHeight = this.bigImg.fullHeight;
			this.resizeCaption();
			this.resizeImage(ps);
			if (this.cr) {
				MagicTools.Element.setStyle(this.cr, {
					'width': this.bigImg.displayWidth * 0.9,
					'top': this.bigImg.displayHeight - 20
				});
				MagicTools.Element.setStyle(this.cont, {
					'display': 'block'
				});
				MagicTools.Element.setStyle(this.cr, {
					'width': '90%',
					'top': this.bigImg.displayHeight - MagicTools.Element.getSize(this.cr).height - 8
				})
			}
		}
		MagicTools.extend(startProps, {
			'width': this.bigImg.initWidth
		});
		var destPos = this.adjustPosition(ps);
		var effectProps = {
			'opacity': [(this.options.keepThumbnail) ? 0 : 1, 1],
			'top': [this.bigImg.initTop, destPos.top],
			'left': [this.bigImg.initLeft, destPos.left],
			'width': [this.bigImg.initWidth, this.bigImg.displayWidth]
		};
		new MagicTools.Render(this.bigImg, {
			duration: this.options.expandDuration,
			transition: this.options.transition,
			onStart: MagicTools.bind(function () {
				this.toggleMZ(false);
				MagicTools.Element.setStyle(this.bigImg, startProps);
				if (!this.options.keepThumbnail) {
					MagicTools.Element.setStyle(this.smallImg, {
						'visibility': 'hidden'
					})
				}
				var f = MagicThumb.getFocused();
				if (undefined != f) {
					this.zIndex = f.zIndex + 1
				}
				MagicTools.Element.setStyle(this.bigImg, {
					'z-index': this.zIndex
				});
				this.overlap = document.createElement('div');
				MagicTools.Element.setStyle(this.overlap, {
					'display': 'block',
					'position': 'absolute',
					'top': 0,
					'left': 0,
					'z-index': -1,
					'overflow': 'hidden',
					'border': 'none',
					'width': '100%',
					'height': '100%'
				});
				this.iframe = document.createElement('iframe');
				this.iframe.src = 'javascript: "";';
				MagicTools.Element.setStyle(this.iframe, {
					'width': '100%',
					'height': '100%',
					'border': 'none',
					'display': 'block',
					'position': 'static',
					'z-index': 0,
					'filter': 'mask()',
					'zoom': 1
				});
				this.overlap.appendChild(this.iframe);
				this.cont.appendChild(this.overlap)
			},
			this),
			onComplete: MagicTools.bind(function () {
				MagicTools.Element.addClass(this.anchor, 'MagicThumb-zoomed');
				MagicTools.Element.addClass(this.bigImg, 'MagicThumb-image-zoomed');
				var imgSize = MagicTools.Element.getSize(this.bigImg);
				MagicTools.Element.setStyle(this.cont, {
					'left': MagicTools.Element.getPosition(this.bigImg).left,
					'top': MagicTools.Element.getPosition(this.bigImg).top,
					'width': imgSize.width,
					'visibility': 'visible'
				});
				this.cont.insertBefore(this.bigImg, this.cont.firstChild);
				MagicTools.Element.setStyle(this.cont, {
					'display': 'block',
					'z-index': this.zIndex
				});
				MagicTools.Element.setStyle(this.bigImg, {
					'position': 'relative',
					'top': 0,
					'left': 0,
					'z-index': 2
				});
				if (MagicTools.browser.ie) {
					MagicTools.Element.setStyle(this.overlap, {
						'width': MagicTools.Element.getSize(this.cont).width,
						'height': MagicTools.Element.getSize(this.cont).height
					})
				}
				if (this.controlbar) {
					var cbSize = MagicTools.Element.getSize(this.controlbar);
					MagicTools.Element.setStyle(this.controlbar, {
						'position': 'absolute',
						'z-index': 11,
						'visibility': (MagicTools.browser.ie6) ? 'visible': 'hidden',
						'top': /bottom/i.test(this.options.controlbarPosition || MagicThumb.options.controlbarPosition) ? imgSize.height - cbSize.height - 5 : 5,
						'left': /right/i.test(this.options.controlbarPosition || MagicThumb.options.controlbarPosition) ? imgSize.width - cbSize.width - 5 : 5
					});
					if (MagicTools.browser.ie6) {
						MagicTools.Element.setStyle(this.cbOverlay, {
							'visibility': 'visible',
							'width': cbSize.width,
							'height': cbSize.height,
							'top': this.controlbar.offsetTop,
							'left': this.controlbar.offsetLeft,
							'background-position': '' + (MagicTools.Element.getPosition(this.cont).left - MagicTools.Element.getPosition(this.controlbar).left + parseInt(MagicTools.Element.getStyle(this.bigImg, 'border-left-width'))) + 'px ' + (MagicTools.Element.getPosition(this.cont).top - MagicTools.Element.getPosition(this.controlbar).top + parseInt(MagicTools.Element.getStyle(this.bigImg, 'border-top-width'))) + 'px'
						})
					}
					MagicTools.Event.fire(this.cont, 'MouseEvents', 'mouseover')
				}
				MagicThumb.fixCursor(this.bigImg);
				if (this.firstRun) {
					this.addEvent(this.bigImg, 'mousedown', function (e) {
						MagicTools.Event.stop(e)
					});
					this.addEvent(this.bigImg, 'click', this.collapseEvent = MagicTools.bindAsEvent(this.collapse, this))
				}
				if ('' != this.caption.innerHTML) {
					this.toggleCaption(1);
					this.focus(this.options.captionSlideDuration * 1000 + 10)
				} else {
					this.focus(0)
				}
				if (parseFloat(MagicThumb.options.backgroundFadingOpacity) > 0) {
					MagicThumb.fadeInBackground()
				}
				this.rendering = false;
				this.zoomed = true;
				this.firstRun = false
			},
			this)
		}).start(effectProps)
	},
	collapse: function (e, nextThumb, hide) {
		if (e) {
			MagicTools.Event.stop(e)
		}
		if (!this.zoomed || (this.zoomed && this.rendering)) {
			return false
		}
		this.rendering = true;
		hide = hide || false;
		MagicTools.Event.remove(document, "keydown", MagicThumb.onKey);
		if (MagicThumb.options.allowMultipleImages && undefined != nextThumb) {
			MagicTools.Event.fire(nextThumb.anchor, 'MouseEvents', 'click');
			return false
		}
		new MagicTools.Render(this.caption, {
			duration: (!this.hasCaption || hide) ? 0 : this.options.captionSlideDuration,
			transition: MagicTools.Transition.sin,
			onStart: MagicTools.bind(function () {
				MagicTools.Element.setStyle(this.caption, {
					'margin-top': 0
				})
			},
			this),
			onComplete: MagicTools.bind(function () {
				MagicTools.Element.setStyle(this.caption, {
					'visibility': 'hidden',
					'position': 'absolute',
					'top': -999
				});
				MagicTools.Element.removeClass(this.bigImg, 'MagicThumb-image-zoomed');
				var pos = MagicTools.Element.getPosition(this.bigImg);
				new MagicTools.Render(this.bigImg, {
					duration: (hide) ? 0 : this.options.collapseDuration,
					transition: this.options.transition,
					onStart: MagicTools.bind(function () {
						this.cont.removeChild(this.overlap);
						MagicTools.Element.setStyle(this.bigImg, {
							'position': 'absolute',
							'z-index': this.zIndex,
							'top': pos.top,
							'left': pos.left
						});
						this.bigImg = document.body.appendChild(this.bigImg);
						MagicTools.Element.setStyle(this.cont, {
							'top': -9999
						});
						if (this.controlbar) {
							MagicTools.Element.setStyle(this.controlbar, {
								'left': 0
							})
						}
					},
					this),
					onComplete: MagicTools.bind(function () {
						MagicTools.Element.setStyle(this.smallImg, {
							'visibility': 'visible'
						});
						MagicTools.Element.setStyle(this.bigImg, {
							'top': -9999
						});
						MagicTools.Element.removeClass(this.anchor, 'MagicThumb-zoomed');
						MagicTools.Element.setStyle(this.smallImg, {
							'visibility': 'visible'
						});
						MagicThumb.fixCursor(this.anchor);
						this.rendering = false;
						this.zoomed = false;
						MagicThumb.unsetFocused(this.index);
						if (undefined != nextThumb) {
							MagicThumb.expand(null, nextThumb.index)
						} else if (MagicThumb.bgFader) {
							MagicThumb.fadeOutBackground()
						}
						this.toggleMZ()
					},
					this)
				}).start({
					'opacity': [1, this.options.keepThumbnail ? 0 : 1],
					'width': [this.bigImg.displayWidth, this.bigImg.initWidth],
					'height': [this.bigImg.displayHeight, this.bigImg.initHeight],
					'top': [pos.top, this.bigImg.initTop],
					'left': [pos.left, this.bigImg.initLeft]
				})
			},
			this)
		}).start({
			'margin-top': [0, -this.caption.fullHeight || 0]
		})
	},
	focus: function (t) {
		t = t || 0;
		var f = MagicThumb.getFocused();
		if (undefined != f) {
			this.zIndex = f.zIndex + 1;
			MagicTools.Element.setStyle(this.cont, {
				'z-index': this.zIndex
			})
		}
		MagicThumb.setFocused(this.index);
		setTimeout(function () {
			MagicTools.Event.remove(document, "keydown", MagicThumb.onKey);
			MagicTools.Event.add(document, "keydown", MagicThumb.onKey)
		},
		t)
	},
	toggleCaption: function () {
		new MagicTools.Render(this.caption, {
			duration: this.options.captionSlideDuration,
			transition: MagicTools.Transition.sin,
			onStart: MagicTools.bind(function () {
				MagicTools.Element.setStyle(this.caption, {
					'margin-top': -this.caption.fullHeight
				});
				MagicTools.Element.setStyle(this.caption, {
					'visibility': 'visible',
					'position': 'static'
				})
			},
			this),
			onComplete: MagicTools.bind(function () {
				if (MagicTools.browser.ie) {
					MagicTools.Element.setStyle(this.overlap, {
						'width': MagicTools.Element.getSize(this.cont).width,
						'height': MagicTools.Element.getSize(this.cont).height
					})
				}
			},
			this)
		}).start({
			'margin-top': [ - this.caption.fullHeight, 0]
		})
	},
	toggleControlBar: function (e, show) {
		if (e) {
			MagicTools.Event.stop(e)
		}
		show = show || false;
		var rect = MagicTools.Element.getRect(this.cont);
		var ieBody = (document.compatMode && 'backcompat' != document.compatMode.toLowerCase()) ? document.documentElement: document.body;
		var eX = e.clientX + parseInt((self.pageXOffset) ? self.pageXOffset: ieBody.scrollLeft);
		var eY = e.clientY + parseInt((self.pageYOffset) ? self.pageYOffset: ieBody.scrollTop);
		var ov = /mouseover/i.test(e.type);
		var vis = MagicTools.Element.getStyle(this.controlbar, 'visibility');
		if ((!ov || 'hidden' != vis) && (eX > rect.left && eX < rect.right) && (eY > rect.top && eY < rect.bottom)) {
			return
		}
		if (ov && 'hidden' != vis && !show) {
			return
		}
		if (!ov && 'hidden' == vis) {
			return
		}
		var op = (show || ov) ? [0, 1] : [1, 0];
		new MagicTools.Render(this.controlbar, {
			duration: 0.3,
			transition: MagicTools.Transition.linear
		}).start({
			'opacity': op
		});
		return
	},
	onCBClick: function (e) {
		var o = e.currentTarget || e.srcElement;
		while (o && 'a' != o.tagName.toLowerCase()) {
			o = o.offsetParent
		}
		var stopEvent = true;
		switch (o.rel) {
		case 'prev':
			this.collapse(null, MagicThumb.getPrev(this.group));
			break;
		case 'next':
			this.collapse(null, MagicThumb.getNext(this.group));
			break;
		case 'close':
			this.collapse(null);
			break;
		default:
			stopEvent = false
		}
		if (stopEvent) {
			MagicTools.Event.stop(e)
		}
		return false
	},
	toggleMZ: function (show) {
		show = (undefined !== show) ? show: true;
		if (MagicTools.Element.hasClass(this.anchor, 'MagicZoom')) {
			try {
				if (show) {
					this.anchor.zoom.recalculating = false
				} else {
					this.anchor.zoom.hiderect();
					this.anchor.zoom.recalculating = true
				}
			} catch(e) {}
		} else if (this.anchor.parentNode.parentNode && -1 != (this.anchor.parentNode.parentNode.getAttribute('id') || '').indexOf('mmObjCont')) {
			try {
				var swfDiv = this.anchor.parentNode;
				while (swfDiv = swfDiv.previousSibling) {
					swfDiv.style.top = (show) ? '0px': '-10000px'
				}
			} catch(e) {}
		}
	},
	resizeImage: function (ps) {
		var padW = parseInt(MagicTools.Element.getStyle(this.cont, 'padding-left')) + parseInt(MagicTools.Element.getStyle(this.cont, 'padding-right')) + parseInt(MagicTools.Element.getStyle(this.cont, 'border-left-width')) + parseInt(MagicTools.Element.getStyle(this.cont, 'border-right-width')),
		padH = parseInt(MagicTools.Element.getStyle(this.cont, 'padding-top')) + parseInt(MagicTools.Element.getStyle(this.cont, 'padding-bottom')) + parseInt(MagicTools.Element.getStyle(this.cont, 'border-top-width')) + parseInt(MagicTools.Element.getStyle(this.cont, 'border-bottom-width'));
		var x = Math.min(this.bigImg.displayWidth, ps.width - 35 - padW),
		y = Math.min(this.bigImg.displayHeight, ps.height - 35 - padH - this.caption.fullHeight);
		if (x / y > this.bigImg.ratio) {
			x = y * this.bigImg.ratio
		} else if (x / y < this.bigImg.ratio) {
			y = x / this.bigImg.ratio
		}
		this.bigImg.displayWidth = Math.ceil(x);
		this.bigImg.displayHeight = Math.ceil(y);
		this.resizeCaption()
	},
	resizeCaption: function () {
		MagicTools.Element.addClass(this.bigImg, 'MagicThumb-image-zoomed');
		MagicTools.Element.setStyle(this.caption, {
			'width': this.bigImg.displayWidth + ((MagicTools.browser.ie && MagicTools.browser.backCompatMode) ? (parseInt(MagicTools.Element.getStyle(this.bigImg, 'border-left-width')) + parseInt(MagicTools.Element.getStyle(this.bigImg, 'border-right-width'))) : ( - this.caption.paddingLeft - this.caption.paddingRight - parseInt(MagicTools.Element.getStyle(this.caption, 'border-left-width')) - parseInt(MagicTools.Element.getStyle(this.caption, 'border-right-width'))))
		});
		MagicTools.Element.removeClass(this.bigImg, 'MagicThumb-image-zoomed');
		MagicTools.Element.setStyle(this.cont, {
			'top': -9999,
			'display': 'block'
		});
		MagicTools.extend(this.caption, {
			'fullHeight': MagicTools.Element.getSize(this.caption).height
		});
		MagicTools.Element.setStyle(this.cont, {
			'display': 'none'
		})
	}
};
if (MagicTools.browser.ie6) {
	MagicThumb.Item.prototype.toggleControlBar = function (e, show) {
		if (e) {
			MagicTools.Event.stop(e)
		}
		show = show || false;
		var rect = MagicTools.Element.getRect(this.cont);
		var ieBody = (document.compatMode && 'backcompat' != document.compatMode.toLowerCase()) ? document.documentElement: document.body;
		var eX = e.clientX + parseInt((self.pageXOffset) ? self.pageXOffset: ieBody.scrollLeft);
		var eY = e.clientY + parseInt((self.pageYOffset) ? self.pageYOffset: ieBody.scrollTop);
		var ov = /mouseover/i.test(e.type);
		var vis = MagicTools.Element.getStyle(this.cbOverlay, 'visibility');
		if ((!ov || !('hidden' != vis)) && (eX > rect.left && eX < rect.right) && (eY > rect.top && eY < rect.bottom)) {
			return
		}
		if (ov && !('hidden' != vis) && !show) {
			return
		}
		if (!ov && 'hidden' != vis) {
			return
		}
		var op = (show || ov) ? [1, 0] : [0, 1];
		new MagicTools.Render(this.cbOverlay, {
			duration: 0.3,
			transition: MagicTools.Transition.linear
		}).start({
			'opacity': op
		});
		return
	};
	try {
		document.execCommand('BackgroundImageCache', false, true)
	} catch(e) {}
}
MagicTools.Event.add(document, 'domready', function () {
	MagicThumb.init()
});
