﻿// (c)2011 北创软件 www.northcreate.com

/*MSClass (Class Of Marquee Scroll - General Uninterrupted Scrolling(JS)) Ver 2.85*\

@ Code By : Yongxiang Cui(333) E-Mail:zhadan007@21cn.com http://www.popub.net
@ Update　: 2011-07-08 (Ver 2.85)
@ Download: http://www.popub.net/script/MSClass.html

\***================Please keep the above copyright information================***/


/**==================The following instructions can be deleted=================**\
　Explain:
　　include <script type="text/javascript" src="MSClass.js"></script> 
　Create Examples:
　　I
　　new Marquee("Marquee") 
　　new Marquee("Marquee","top")
　　......
　　new Marquee("Marquee",0,1,760,52)
　　new Marquee("Marquee","top",1,760,52,50,5000)
　　......
　　new Marquee("Marquee",0,1,760,104,50,5000,3000,52)
　　new Marquee("Marquee",null,null,760,104,null,5000,null,-1)

　　II
　　var Marquee1 = new Marquee("Marquee")　*required 
　　Marquee1.Direction = "top";　or　Marquee1.Direction = 0; 
　　Marquee1.Step = 1; 
　　Marquee1.Width = 760; 
　　Marquee1.Height = 52; 
　　Marquee1.Timer = 50; 
　　Marquee1.DelayTime = 5000; 
　　Marquee1.WaitTime = 3000; 
　　Marquee1.ScrollStep = 52; 
　　Marquee1.Start(); 

　　III
　　new Marquee( 
　　{ 
　　　MSClassID : "Marquee", 
　　　Direction : "top", 
　　　Step　 : 1, 
　　　Width　 : 760, 
　　　Height　 : 52, 
　　　Timer　 : 50, 
　　　DelayTime : 5000, 
　　　WaitTime : 3000, 
　　　ScrollStep: 52, 
　　　AutoStart : 1 
　　}); 

　Parameters:
　　ID　　　　　 "Marquee"　Container ID　　　(required) 
　　Direction　　(0)　　　　Scroll direction　(optional,Default 0)(Values:0 Up, 1 Down, 2 Left, 3 Right, -1 Vertical alternate, 4 Transverse alternate) 
　　Step　　　　 (1)　　　　Scrolling step　　(optional,Default 2) 
　　Width　　　　(760)　　　Visual width　　　(optional,Default is container width) 
　　Height　　　 (52)　　　 Visual height　　 (optional,Default is container height) 
　　Timer　　　　(50)　　　 Running timer　　 (optional,Default 30) 
　　DelayTime　　(5000)　　 Pause delay time　(optional,Default 0 - not pause) 
　　WaitTime　　 (3000)　　 Waiting time　　　(optional,Default 0 - not wait) 
　　ScrollStep　 (52)　　　 Scroll spacing　　(optional,Default is visual width or visual height) 
　　SwitchType　 (0)　　　　Wheel show type 　(optional,Default 0 - scroll)(Values:0 Scroll, 1 Cut in, 2 Fade in)

\***all rights reserved:Yongxiang Cui(333) E-Mail:zhadan007@21cn.com Website:http://www.popub.net***/ 

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}('13 2r(){16 b=1k,a=1M;b.$=13(c){15 1h.3K(c)};b.t=(b.F=["3M 2.78.77","76 74 2r 2s","73 72 71(70)","6Z://6Y.6X.6W/6V/3M.6U","6T 6S(6R) 6Q@6P.6O"]).4x("\\n");b.a=a[0]["3M"]||a[0]||a[0][0];b.b=(b.c=1L b.a=="3l"?b.$(b.a[0])||b.$(b.a.4K):b.$(b.a))&&b.6N.1U().2S(4N>>>4M,14>>4L)==b.F[1].2S(4N>>>4M,14>>4L);11(!b.c||!b.b){15 2u("4k ["+(b.a.4K||b.a[0]||b.a)+"] 6M 6L!")||(b.c=-1)}b.2Y=1+(b.i=b.2d=-1);b.f=b.q=b.r=b.s=b.B=b.u=b.k=b.e=b.d=b.j=0;b.18=a[1]||a[0]["18"]||0;b.1a=a[2]||a[0]["1a"]||1;b.1F=a[3]||a[0]["1F"]||0;b.1N=a[4]||a[0]["1N"]||0;b.1T=a[5]||a[0]["1T"]||30;b.1n=a[6]||a[0]["1n"]||0;b.1S=a[7]||a[0]["1S"]||2G;b.1b=a[8]||a[0]["1b"]||-10;b.1m=a[9]||a[0]["1m"]||0;b.2j=a[10]||a[0]["2j"];b.38=b.$(a[0]["6K"])||0;b.37=b.$(a[0]["6J"])||0;b.1Q=a[0]["1Q"]||[];b.c.12.3e=b.c.12.4f=b.c.12.4e="2O";b.3O=(6I.6H.2v().6G("6F")==-1);b.m=(1h.3B)?1:0;11(a.1j>=7||a[0]["6E"]==1){b.4J()}}2r.3Y.4J=13(){11(1k.c==-1||1k.i>=0){11(1k.i==2){1k.2B()}15 1g}16 f=1k,G,r,P,K,u,O,e="6D",N=2r,E=0,p=[],D=0,B=0,n,b=0,L={6C:-1,6B:-1,1t:0,6A:0,2o:1,6z:1,1x:2,3G:3,6y:4},h=0,A=0,T=0,w=0,t=0,q=0,F=0,M=0,a=[],S=1A;16 g=13(m,j,i){i?0:i=0;15 f.m?(m.2a[j]!="4I"&&m.2a[j]!="4H"&&m.2a[j]!="3I"&&m.2a[j]!="6x"&&m.2a[j]!="6w"&&m.2a[j]!="3v")?m.2a[j]:i:(1i.2p(m,1A)[j]!="4I"&&1i.2p(m,1A)[j]!="4H"&&1i.2p(m,1A)[j]!="3I"&&1i.2p(m,1A)[j]!="2z"&&1i.2p(m,1A)[j]!="3v")?1i.2p(m,1A)[j]:i};16 v=13(j){16 i=j||1i.1v;3L=i.3L||i.6v;11(3L==6u){2u(f.t)}};f.c.12.1G=g(f.c,"1G","4G");16 H={b:13(){15\'<1s><1p 1D="8"><1E 12="1o:0;1o-1t:1z 1I #2X;1o-2o:1z 1I #29;1O:0;28:0;1O-2o:-4F;"></1E></1p></1s>\'},c:13(i,j){15 6t(j)?\'<1s><1p 6s="2o" 1D="17" 1R="1k.12.2n=\\\'#3E\\\';1k.12.1P=\\\'#29\\\';" 1W="1k.12.2n=\\\'\\\';1k.12.1P=\\\'#3D\\\';" 32="\'+j+\'">\'+i+"</1p></1s>":"<1s><1p 1D=\\"17\\" 1R=\\"1k.12.2n=\'#3E\';1k.12.1P=\'#29\';1h.3K(\'"+n+"3J"+R+"\').12.1w=\'1B\';\\" 1W=\\"1k.12.2n=\'\';1k.12.1P=\'#3D\';1h.3K(\'"+n+"3J"+R+\'\\\').12.1w=\\\'\\\';" ><1E 12="1D:6r;1G:4G;"><1E 2q="\'+n+"3J"+R+\'" 12="1G:2x;1x:1z;1t:6q;1P:#29;z-4D:0;2W-3F:2z;1y:2w%;1o:0;1O:0;28:0;">\'+i+\'</1E><1E 12="1G:2x;1x:3I;1t:4F;1P:#2X;-4A-4z-4y:1B;2W-3F:2z;1y:2w%;1o:0;1O:0;28:0;">\'+i+"</1E></1E></1p></1s>"},f:13(){16 i=f.$(n);11(!i){15 1g}i.12.1w="1B"},d:13(j){16 m=f.$(n);11(!m){15 1g}16 i=j||1i.1v;m.12.1t=(i.2F+(1h.6p.3z||1h.2V.3z))+"1f";m.12.1x=1h.2V.6o-i.2c<=4E?(i.2c-4E)+"1f":i.2c+"1f";m.12.1w="";15 1g},a:13(){11(!N.c){N.c=1;f.m?1h.1Y("6n",v):1h.1X("6m",v,1J)}11(!f.1Q[0]){15 1g}f.c.3C=13(){15 1g};16 j=1h.4g("6l");n=j.2q="M"+(19.3c().1U().6k(-6));j.12.6j="1w:1B;z-4D:2w;1G:2x;1x:0;1t:-4n;1y:6i;1o-1x:1z 1I #3H;1o-1t:1z 1I #3H;1o-3G:1z 1I #4C;1o-2o:1z 1I #4C;1O:0;28:0;";16 i=\'<1E 12="2W-6h:\\\'\\6g\\6f\\\',6e;2E:6d;6c-1P:#3H;1y:6b;1o-1x:1z 1I #29;1o-1t:1z 1I #29;1o-3G:1z 1I #2X;1o-2o:1z 1I #2X;1O:0;28:0;"><2l 1o="0" 3A="0" 12="2W-3F:2z;4B-6a:69;1O:1z;1y:68;4B-67:1x;-4A-4z-4y:1B; 1o-2m:2m" 66="15 1g;" 3C="15 1g">\';1C(R=1;R<f.1Q.1j;R++){i+=(!f.1Q[R]||!f.1Q[R][0]||f.1Q[R][0]=="")?H.b():H.c(f.1Q[R][0],f.1Q[R][1]||R)}i+=H.b();i+="<1s><1p 1D=\\"17\\" 1R=\\"1k.12.2n=\'#3E\';1k.12.1P=\'#29\';\\" 1W=\\"1k.12.2n=\'\';1k.12.1P=\'#3D\';\\" 32=\\"2u(\'"+f.F.4x("\\\\n")+"\')\\">65 "+f.F[0]+"</1p></1s></2l></1E>";j.1q=i;11(f.m){1i.1Y("64",13(){1h.2V.2K(j)});f.c.1Y("3C",H.d);1h.1Y("2J",H.f)}1e{1i.1X("63",13(){1h.2V.2K(j)},1J);f.c.1X("62",H.d,1J);1h.1X("61",H.f,1J)}}};H.a();11(f.1T<20){f.1T=20}11(f.1S<2G){f.1S=2G}11(f.1F==0){f.1F=1l(f.c.12.1y)}11(f.1N==0){f.1N=1l(f.c.12.1D)}f.c.12.1y=f.1F+"1f";f.c.12.1D=f.1N+"1f";11(1L f.18=="2t"){f.18=L[f.18.1U().2v()]}G=f.18>1?"<2l 4s=\'0\' 3A=\'0\' 12=\'1o-2m:2m;1w:3u;\'><1s><1p 3h=1J 12=\'4w-4v: 3g;4u-2I:4t-3B;\'>2h</1p><1p 3h=1J 12=\'4w-4v: 3g;4u-2I:4t-3B;\'>2h</1p></1s></2l>":"<2l 4s=\'0\' 3A=\'0\' 12=\'1o-2m:2m;\'><1s><1p>2h</1p></1s><1s><1p>2h</1p></1s></2l>";r=f.18>1?f.1F:f.1N;P=f.18>1?"60":"5Z";f.d=f.18>1?"5Y":"3z";f.w=f.18>1?"1x":"1t";11(f.18>4){f.18=2}11(f.18<-1){f.18=0}f.n=f.c.1q;16 c={0:13(){15 1},5X:13(i,m,j){15 m*(i/=j)*i},5W:13(i,m,j){15-m*(i/=j)*(i-2)},5V:13(i,m,j){11((i/=j/2)<1){15 m/2*i*i}15-m/2*((--i)*(i-2)-1)},5U:13(i,m,j){15 m*(i/=j)*i*i},5T:13(i,m,j){15 m*((i=i/j-1)*i*i+1)},5S:13(i,m,j){11((i/=j/2)<1){15 m/2*i*i*i}15 m/2*((i-=2)*i*i+2)},5R:13(i,m,j){15 m*(i/=j)*i*i*i},5Q:13(i,m,j){15-m*((i=i/j-1)*i*i*i-1)},5P:13(i,m,j){11((i/=j/2)<1){15 m/2*i*i*i*i}15-m/2*((i-=2)*i*i*i-2)},5O:13(i,m,j){15 m*(i/=j)*i*i*i*i},5N:13(i,m,j){15 m*((i=i/j-1)*i*i*i*i+1)},5M:13(i,m,j){11((i/=j/2)<1){15 m/2*i*i*i*i*i}15 m/2*((i-=2)*i*i*i*i+2)},5L:13(i,m,j){15-m*19.4r(i/j*(19.1H/2))+m},5K:13(i,m,j){15 m*19.2A(i/j*(19.1H/2))},5J:13(i,m,j){15-m/2*(19.4r(19.1H*i/j)-1)},5I:13(i,m,j){15(i==0)?0:m*19.1V(2,10*(i/j-1))},5H:13(i,m,j){15(i==j)?m:m*(-19.1V(2,-10*i/j)+1)},5G:13(i,m,j){11(i==0){15 0}11(i==j){15 m}11((i/=j/2)<1){15 m/2*19.1V(2,10*(i-1))}15 m/2*(-19.1V(2,-10*--i)+2)},5F:13(i,m,j){15-m*(19.2U(1-(i/=j)*i)-1)},5E:13(i,m,j){15 m*19.2U(1-(i=i/j-1)*i)},5D:13(i,m,j){11((i/=j/2)<1){15-m/2*(19.2U(1-i*i)-1)}15 m/2*(19.2U(1-(i-=2)*i)+1)},2N:13(j,W,V){16 m=1.2k;16 U=0;16 i=W;11(j==0){15 0}11((j/=V)==1){15 W}11(!U){U=V*0.3}11(i<19.2D(W)){i=W;16 m=U/4}1e{16 m=U/(2*19.1H)*19.3y(W/i)}15-(i*19.1V(2,10*(j-=1))*19.2A((j*V-m)*(2*19.1H)/U))},4b:13(j,W,V){16 m=1.2k;16 U=0;16 i=W;11(j==0){15 0}11((j/=V)==1){15 W}11(!U){U=V*0.3}11(i<19.2D(W)){i=W;16 m=U/4}1e{16 m=U/(2*19.1H)*19.3y(W/i)}15 i*19.1V(2,-10*j)*19.2A((j*V-m)*(2*19.1H)/U)+W},5C:13(j,W,V){16 m=1.2k;16 U=0;16 i=W;11(j==0){15 0}11((j/=V/2)==2){15 W}11(!U){U=V*(0.3*1.5)}11(i<19.2D(W)){i=W;16 m=U/4}1e{16 m=U/(2*19.1H)*19.3y(W/i)}11(j<1){15-0.5*(i*19.1V(2,10*(j-=1))*19.2A((j*V-m)*(2*19.1H)/U))}15 i*19.1V(2,-10*(j-=1))*19.2A((j*V-m)*(2*19.1H)/U)*0.5+W},3b:13(i,U,m,j){11(j==3x){j=1.2k}15 U*(i/=m)*i*((j+1)*i-j)},4a:13(i,U,m,j){11(j==3x){j=1.2k}15 U*((i=i/m-1)*i*((j+1)*i+j)+1)},5B:13(i,U,m,j){11(j==3x){j=1.2k}11((i/=m/2)<1){15 U/2*(i*i*(((j*=(1.4q))+1)*i-j))}15 U/2*((i-=2)*i*(((j*=(1.4q))+1)*i+j)+2)},4p:13(i,m,j){15 m-c.3w(j-i,m,j)},3w:13(i,m,j){11((i/=j)<(1/2.75)){15 m*(7.2T*i*i)}1e{11(i<(2/2.75)){15 m*(7.2T*(i-=(1.5/2.75))*i+0.75)}1e{11(i<(2.5/2.75)){15 m*(7.2T*(i-=(2.25/2.75))*i+0.5A)}1e{15 m*(7.2T*(i-=(2.5z/2.75))*i+0.5y)}}}},5x:13(i,m,j){11(i<j/2){15 c.4p(i*2,m,j)*0.5}15 c.3w(i*2-j,m,j)*0.5+m*0.5}};11(f.1a.1j){f.k=(13(i){f.1a=f.1a[0]<1?4o(f.1a[0].1U().3f("0.","")):4o(f.1a[0]);1C(R 5w c){16 j=++j||0;11((R.2S(4)==i||i.2S(4)==R||R==i||i==j)&&j>0){E=j;15 R}}})(f.1a[1].1U().2v()).1U()}11(f.1a<1){f.k=f.1a}11(f.1m>0||(f.1n>0&&f.1b==-10)){f.1b=r}11(f.1b==-10){f.1b=1A}f.2Y=f.1a;11(f.1m>1){11(f.1m==3){f.1m=0;f.e=M=1}1e{f.1m==2?D=1:f.q=f.m?f.1m:1-(D=1);11(f.m&&f.q>0){f.c.12.39="21(5v="+(f.1n/5u*0.2)+",3d="+(f.q-10)+")";11(f.q>=33||f.q<10){f.c.2g.21.3d=19.2b(19.3c()*22)}f.c.2g.21.4d();f.c.2g.21.4c()}f.1a=r;f.k=1-(f.1m=1)}}11(f.2j){16 J=(1L f.2j)=="2t"?[f.2j]:f.2j;1C(R=0;R<J.1j;R++){16 y=f.$(J[R]);11(y&&y.12.1w=="1B"){f.f=1;p[R]=[y,g(y,"1G","3v"),g(y,"1t")];y.12.1G="2x";y.12.41="2O";y.12.1t="-4n";y.12.1w="4m"}}}f.G=13(){11(1L f.a=="3l"&&(!f.a.1j||f.a.1j>0)){f.D=f.$(f.a[1])||f.$(f.a.5t);11(f.D){16 2i=0;16 m=0;11(f.D.3j=="4l"){f.D.12.2Q="0"}f.D.12.1w="3u-4m";f.D.12.1O=f.D.12.28=0;f.D.12.3k="1B";1C(16 W=0,V=f.D.1u.1j;W<V;W++){16 1d=f.D.1u[W];11(1d.3i==1){m++;1d.12.3k="1B";1d.12.4i=1d.12.4h="1x";1d.12.1w="3u";11(f.18>1){1d.12.3t=g(1d,"3t");1d.12.3s=g(1d,"3s");1d.12.3r=g(1d,"3r");1d.12.3q=g(1d,"3q");2i+=1d[P]+1l(1d.12.3t)+1l(1d.12.3s)+1l(1d.12.3r)+1l(1d.12.3q)}1e{1d.12.3p=g(1d,"3p");1d.12.3o=g(1d,"3o");1d.12.3n=g(1d,"3n");1d.12.3m=g(1d,"3m");2i+=1d[P]+1l(1d.12.3p)+1l(1d.12.3o)+1l(1d.12.3n)+1l(1d.12.3m)}11(M){a[a.1j]=1d}}}f.18>1?(f.D.12.1y=2i+"1f")||(f.D.12.1D=f.1N+"1f"):(f.D.12.1D=2i+"1f")||(f.D.12.1y=f.1F+"1f");f.C=1l(f.c[P]/f.1b);f.B=f.1c=1;f.v=[];11(1L f.a=="3l"&&(!f.a.1j||f.a.1j>1)){16 Z=f.$(f.a[2])||f.a[2]||f.$(f.a.5s);11(Z&&(Z.1j||Z.3j)){16 Y=(f.a[3]||f.a.5r||"1R").1U().2v();(Y=="1R"||Y=="2J")?0:Y="1R";16 U=(f.a[4]||f.a.5q||0);f.1b=r;11(f.1a>=f.1b){f.1a=r-1}16 2y=1l(f.c[P]/f.1b);l=Z.1j||1;16 X=0,1r=Z;1C(16 2R=0;2R<l;2R++){11(l>1){1r=f.$(Z[2R])}1r.12.1O=1r.12.28=0;1r.12.3k="1B";11(1r.3j=="4l"){1r.12.2Q="0"}f.C=1r.1u.1j;1C(16 W=0;W<f.C;W++){11(1r.1u[W].3i==1){11(2y==X){1r.1u[W].12.1w="1B";5p}1r.1u[W].12.2Q=g(1r.1u[W],"2Q","2z");1r.1u[W].12.3e="2O";f.v[X]=1r.1u[W];f.v[X][Y]=(13(i){15 13(){F=1K(13(){f.u=1;1C(16 2P=0;2P<f.v.1j;2P++){f.v[2P].2f=""}f.v[i].2f=e;s(i)},U)}})(X);f.v[X].1W=(13(i){15 13(){1Z(F);11(f.u==1){f.u=0;11(f.i==0){2e(t);t=2M(w,f.1T)}1e{1Z(q);q=1K(k,f.1n)}C(i)}}})(X);X+=1}}}f.C=X;f.r=f.C>1?1:0;11(f.v.1j>0){f.v[0].2f=e}11(2y>f.C){f.s=2y-f.C;1C(16 V=0;V<f.v.1j;V++){f.v[V].1R=f.v[V].1W=13(){}}f.C=2y;2u("4k ["+f.c.2q+"] 4j 5o 5n 5m 5l ["+f.s+"] 5k 5j 4j!")||0}}}11(M==0&&f.1m==0&&D==0&&f.q==0&&f.18>=0&&f.18<=3){11(f.18>1){f.D.12.1y=2i*2+"1f";f.D.12.1D=f.1N+"1f";f.D.1q+=f.D.1q}1e{f.D.12.4i=f.D.12.4h="1x";f.D.12.1y=f.1F+"1f";f.c.1q+=f.c.1q}}}}};f.G();11(f.B==0&&M){1C(16 R=0,Q=f.c.1u.1j;R<Q;R++){11(f.c.1u[R].3i==1){a[a.1j]=f.c.1u[R]}}}11(f.B==0&&M==0&&(f.18==0||f.18==1)){f.c.1q=G.3f(/2h/g,f.c.1q)}1e{11(f.B==0&&M==0&&(f.18==2||f.18==3)){f.c.3h=1J;f.c.12.5i="3g";(f.1b==0&&f.1n==0)?f.c.1q+=f.c.1q:f.c.1q=G.3f(/2h/g,f.c.1q)}1e{11(f.18==4||f.18==-1){f.18=6%f.18;f.e=1}}}K=f.1b;u=f.18;O=f.k;11(f.1m>0){f.E=1h.4g("1E");f.E.12.1y=f.1F+"1f";f.E.12.1D=f.1N+"1f";f.E.12.1G="2x";f.E.12[f.w]=f.18%2?-r+"1f":r+"1f";f.18>1?f.E.12.1t="0":f.E.12.1x="0";f.E.1q=f.c.1q;f.E.12.3e=f.E.12.4f=f.E.12.4e="2O";f.c.2K(f.E);f.E[f.d]=r}16 w=13(){f.k>0?f.1a=19.5h((f.1b-b)*f.k):0;f.2s()};16 C=13(j){11(f.i==2){15 1g}11(f.1m>0&&(D==1||f.q>0)){j+1>=f.C?f.E[f.d]=0:f.E[f.d]=r*(j+1)}};16 s=13(j){11(f.i==2){15 1g}1Z(q);2e(t);11(f.1m==0){f.1c=1l(f.c[f.d]/K)+1;11(f.1c>f.C){f.1c-=f.C}j+=1;f.u=1;11(j<=f.1c){f.1b=K*(f.1c-j)+f.c[f.d]%K;f.18=f.18>1?3:1}1e{11(j-f.1c==f.C-1){11(E==24){f.k="2N"}11(E==27||E==26){f.k="3b"}}11(f.1c<=2&&j==f.C&&E==23){f.k="2N"}f.1b=K*(j-f.1c)-f.c[f.d]%K;f.18=f.18>1?2:0}}1e{11(f.i==0&&f.e==1){f.18=f.18>1?5-f.18:1-f.18;u=f.18}f.18%2?f.E.12[f.w]=-r+f.c[f.d]+"1f":f.E.12[f.w]=r+f.c[f.d]+"1f";j==f.C?f.E[f.d]=1-(f.1c=1):f.E[f.d]=r*(j);f.1c=j+1}b=0;11(f.1b>0){k()}};16 I=13(m){1Z(B);16 j=m||f.c;16 i=5;(13(){f.m?j.12.39="46(2L="+i+")":j.12.2L=(i/2w);i+=5;11(i<=2w){B=1K(1M.5g,20)}})()};16 k=13(){16 m=f.18%2;11(D==1){I()}11(f.q>0){11(f.q>=33||f.q<10){f.c.2g.21.3d=19.2b(19.3c()*22)}f.c.2g.21.4d();f.c.2g.21.4c()}11(f.j==1){q=1K(k,f.1n)}1e{2e(t);h=A=b=f.i=0;11(f.e==1&&f.k>0){11((f.18==2||f.18==0)&&f.c[P]-r-f.c[f.d]<f.1b){f.1b=f.c[P]-r-f.c[f.d]}11(m&&f.c[f.d]<f.1b){f.1b=f.c[f.d]}}11(f.B==1&&f.u==0){f.1c=1l(f.c[f.d]/K)+2;11(f.e==1){11(f.1m==1){11(f.1c>f.C){f.1c=1}}1e{11(m){f.1c-=2;11(f.1c<=0){f.1c=1}}1e{11(f.1c>=f.C){f.1c=f.C}}}}1e{11(f.1c>f.C){f.1c-=f.C}}11(f.r==1&&f.s==0){1C(16 j=0;j<f.C;j++){f.v[j].2f=""}f.e==0&&D==0&&f.q==0&&f.1m==0&&m?f.v[f.1c+f.C-2>f.C?f.1c-3:f.1c+f.C-3].2f=e:f.v[f.1c-1].2f=e}}11(f.e==1&&f.C>1){11(((E==22||E==24)&&!m&&f.1c==2)||((E==22||E==24)&&m&&f.1c==f.C-1)){f.k="4b"}11(((E==23||E==24)&&!m&&f.1c==f.C)||((E==23||E==24)&&m&&f.1c==1)){f.k="2N"}11(((E==25||E==27)&&!m&&f.1c==2)||((E==25||E==27)&&m&&f.1c==f.C-1)){f.k="4a"}11(((E==26||E==27)&&!m&&f.1c==f.C)||((E==26||E==27)&&m&&f.1c==1)){f.k="3b"}}11(f.e==1&&f.2d>=0){f.2d=-1;f.49()}t=2M(w,f.1T);f.48()}};f.36=13(j){11(f.i==1){16 i=-1;11(1L 1M[0]=="5f"){i=1M[0]}11(1L 1M[0]=="2t"){u=i=L[1M[0].1U().2v()]}11(i<0||i>3){2u("5e 5d 5c!");15 1g}11(f.2d==i){15 1g}f.18=i;11(1L 1M[0]=="2t"||f.e==1){u=f.18}f.3a()}};f.45=f.49=f.48=f.44=13(){};f.3a=13(){1Z(q);q=1K(k,1M[0])};f.5b=13(){f.47();f.c[f.d]=f.i=h=A=0;f.i=-1};f.2B=13(){11(f.i==2&&!1M[0]){f.i=b>1?0:1;t=2M(w,f.1T);15 1g}11(f.i==0){2e(t);t=2M(w,f.1T)}11(f.i==1){f.3a(f.1n)}};f.47=13(){11(f.i!=2){f.2C();f.i=2}};f.2C=f.5a=f.59=13(){1Z(F);2e(t);1Z(q)};16 x=13(){11(S){I(S)}16 j=f.B==0?f.c:f.D,U=f.18%2;16 m=U?a.1j-1:0;S=a[m].58(1J);f.1b=a[m][P];f.m?S.12.39="46(2L = 0)":S.12.2L=0;U?j.57(S,j.1u[0]):j.2K(S);j.56(a[m]);U?f.c[f.d]=f.1b:f.c[f.d]=f.c[P]-r-f.1b;11(U){a.55(S);a.54()}1e{a.53(S);a.52()}};16 o=13(){2e(t);h=A=b=1-(f.i=1);f.1b=K;f.18=u;f.k=O;11(f.u==1){15 1g}11(f.e==1){11(f.1m==1){u=f.18=f.18>1?5-f.18:1-f.18}1e{11(f.c[f.d]==0||f.c[f.d]>=f.c[P]-r){11(M){x()}1e{f.2d=f.18;f.45();u=f.18=f.18>1?5-f.18:1-f.18}}}}f.44();q=1K(k,f.1n)};16 z=13(){f.G();1K(d,0)};16 d=13(){f.y=f.c[P]/2;11(f.1m==0&&f.y<=r+f.1a&&f.e==0){11(f.B==1){16 j=f.c.51("43")/1+1||1;f.c.50("43",j);11(j<5){z()}}1e{f.c.1q=f.n;42(f.n)}15 1g}42(f.n);11(f.e==1){f.2d=f.18>1?5-f.18:1-f.18}11(f.f==1){1C(R=0;R<p.1j;R++){16 i=p[R][0];i.12.1G=p[R][1];i.12.1w="1B";i.12.41="4Z";i.12.1t=p[R][2]}}11(f.1n>0&&f.38){f.38.2J=13(){f.36(f.18>1?5-f.18:1-f.18)}}11(f.1n>0&&f.37){f.37.2J=13(){f.36(f.18)}}f.c[f.d]=f.i=h=A=0;11(M){x()}T=19.2b(f.1b/f.1a);11(f.1S>=4Y){f.i=1;11(f.1S==4X){f.1n=40}f.1S=40;15}1K(13(){11((f.1b>=0&&(f.B==0||(f.B==1&&(f.r==0||f.r==1)))&&f.l)||(f.1n==0&&f.1b==-2&&f.l)){f.l()}k()},f.1S)};11(f.1m==1){f.2s=13(){16 i=f.18%2;b+=f.1a;11(b>=f.1b&&f.1n>0){i?f.E.12[f.w]=(1l(f.E.12[f.w])-(f.1b-f.1a-b))+"1f":f.E.12[f.w]=(1l(f.E.12[f.w])+(f.1b-f.1a-b))+"1f";o();f.c[f.d]=f.E[f.d];i?f.E.12[f.w]=-r+f.c[f.d]+"1f":f.E.12[f.w]=r+f.c[f.d]+"1f";f.1c==f.C?f.1c=1-(f.E[f.d]=0):f.E[f.d]=r*(f.1c);15}3Z(i){2H 0:f.E.12[f.w]=(1l(f.E.12[f.w])-f.1a)+"1f";2I;2H 1:f.E.12[f.w]=(1l(f.E.12[f.w])+f.1a)+"1f"}}}1e{11(1L f.k=="2t"){f.2s=13(){b+=h;11(h<=T){A+=(f.1a=19.2b(c[f.k](h++,f.1b,T))-A);11(f.c[f.d]<=f.1a&&f.e==0){f.c[f.d]+=f.y}f.18%2?f.c[f.d]-=f.1a:f.c[f.d]+=f.1a}1e{11(f.c[f.d]>f.y&&f.e==0){f.c[f.d]-=f.y}o()}}}1e{f.2s=13(){16 i=f.18%2;b+=f.1a;11((b>=f.1b&&f.1n>0)||(f.e==1&&b>f.1a&&(f.c[f.d]<=0||f.c[f.d]>=f.c[P]-r))){i?f.c[f.d]-=f.1b+f.1a-b:f.c[f.d]+=f.1b+f.1a-b;o();15}3Z(i){2H 0:11(f.c[f.d]>=f.y&&f.e==0){f.c[f.d]-=f.y}f.c[f.d]+=f.1a;2I;2H 1:11(f.c[f.d]<=f.1a&&f.e==0){f.c[f.d]+=f.y}f.c[f.d]-=f.1a}}}}1K(d,2G)};2r.3Y.l=13(){16 g=1k,f=1A,j=1A,k=0,m=0,b=0,d=0,i=0,h=19.2b(g.1F/2);16 a=13(n){16 n=n||1i.1v;11(g.1n!=0||(n.3X&&n.3X!=1)||(n.3W&&n.3W!=1)||g.i==2||g.i==-1){15 1g}11(k==0){g.i=k=1;g.2C();n.3V?n.3V():n.4W=1J;n.3U?n.3U():n.4V=1g;b=g.c[g.d];m=g.18>1?1i.1v?n.2c:n.35:1i.1v?n.2F:n.34;f=n.2Z||n.4U;j=f.12.2E;f.12.2E="4T";11(g.m){f.4S();1h.1Y("31",e);1h.1Y("3S",c)}1e{1h.1X("3R",e,1g);1h.1X("3P",c,1g)}}};16 e=13(o){16 o=o||1i.1v;d=g.18>1?1i.1v?o.2c:o.35:1i.1v?o.2F:o.34;16 n=m-d+b;11(n<=0||n>=g.y){n<=0?g.c[g.d]+=g.y:g.c[g.d]=g.y-n;m=g.18>1?1i.1v?o.2c:o.35:1i.1v?o.2F:o.34;b=g.c[g.d];n=m-d+b}g.c[g.d]=n};16 c=13(n){11(g.m){f.4R();1h.3T("31",e);1h.3T("3S",c)}1e{1h.3Q("3R",e,1g);1h.3Q("3P",c,1g)}k=g.j=0;f.12.2E=j;g.2B()};11(g.e==0){g.m?g.c.1Y("32",a):g.c.1X("4Q",a,1g)}11(g.1b==-2){g.c.31=13(n){11(g.18>1){16 n=n||1i.1v;11(1i.1v){11(g.3O){i=n.2Z.2q==g.c.2q?n.3N-g.c[g.d]:n.2Z.4P-g.c[g.d]+n.3N}1e{g.1b=1A;15}}1e{i=n.4O-g.c[g.d]}g.18=i>h?3:2;g.1a=19.2b(19.2D(h-i)*(g.2Y*2)/h)}};g.c.1W=13(){11(g.1a==0){g.1a=1}}}1e{g.c.1R=13(){11((g.i==0&&g.1n>0)||g.i==2||g.i==-1){15 1g}g.j=1;g.2C()};g.c.1W=13(){11(g.j==1){g.j=0;g.2B()}}}};',62,443,'|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||if|style|function||return|var||Direction|Math|Step|ScrollStep|Counter|ae|else|px|false|document|window|length|this|parseInt|SwitchType|DelayTime|border|td|innerHTML|ad|tr|top|childNodes|event|display|left|width|1px|null|none|for|height|div|Width|position|PI|solid|true|setTimeout|typeof|arguments|Height|margin|color|ContextMenu|onmouseover|WaitTime|Timer|toString|pow|onmouseout|addEventListener|attachEvent|clearTimeout||revealTrans|||||||padding|FFF|currentStyle|round|clientX|Bound|clearInterval|className|filters|MSCLASS_TEMP_HTML|ab|HiddenID|70158|table|collapse|backgroundColor|bottom|getComputedStyle|id|Marquee|Scroll|string|alert|toLowerCase|100|absolute|ac|12px|sin|Continue|Pause|abs|cursor|clientY|800|case|break|onclick|appendChild|opacity|setInterval|inelastic|hidden|af|fontSize|aa|substr|5625|sqrt|body|font|808080|BakStep|srcElement||onmousemove|onmousedown||pageY|pageX|Run|NextBtn|PrevBtn|filter|Play|inback|random|Transition|overflow|replace|nowrap|noWrap|nodeType|tagName|listStyle|object|borderBottomWidth|borderTopWidth|marginBottom|marginTop|borderRightWidth|borderLeftWidth|marginRight|marginLeft|inline|static|outbounce|undefined|asin|scrollTop|cellpadding|all|oncontextmenu|000|0A246A|size|right|D4D0C8|0px|_|getElementById|keyCode|MSClass|offsetX|IsNotOpera|mouseup|removeEventListener|mousemove|onmouseup|detachEvent|preventDefault|stopPropagation|button|which|prototype|switch|3600000|visibility|delete|fixnum|OnPause|OnBound|alpha|Stop|OnScroll|UnBound|outback|outelastic|play|apply|overflowY|overflowX|createElement|cssFloat|styleFloat|pages|The|UL|block|10000px|parseFloat|inbounce|525|cos|cellspacing|keep|word|space|white|join|select|user|moz|text|404040|index|170|2px|relative|medium|auto|Start|MSClassID|97|99|79|layerX|offsetLeft|mousedown|releaseCapture|setCapture|move|target|returnValue|cancelBuble|100000|60000|visible|setAttribute|getAttribute|shift|push|pop|unshift|removeChild|insertBefore|cloneNode|Terminate|Destroy|Reset|wrong|set|Parameters|number|callee|ceil|whiteSpace|actual|than|less|numbers|tab|or|continue|TabTimeout|TabEvent|TabID|ContentID|1000|Duration|in|inoutbounce|984375|625|9375|inoutback|inoutelastic|inoutcirc|outcirc|incirc|inoutexpo|outexpo|inexpo|inoutsine|outsine|insine|inoutquint|outquint|inquint|inoutquart|outquart|inquart|inoutcubic|outcubic|incubic|inoutquad|outquad|inquad|scrollLeft|scrollHeight|scrollWidth|click|contextmenu|load|onload|About|onselectstart|align|166px|10px|indent|168px|background|default|arial|u4F53|u5B8B|family|170px|cssText|slice|DIV|keydown|onkeydown|clientWidth|documentElement|3px|17px|valign|isNaN|113|witch|1em|30pt|alterleft|down|up|alterup|altertop|active|AutoStart|opera|indexOf|userAgent|navigator|NextBtnID|PrevBtnID|error|initialization|constructor|com|21cn|zhadan007|333|Cui|Yongxiang|html|script|net|popub|www|http|JS|Scrolling|Uninterrupted|General|Of||Class|110708|85'.split('|'),0,{}))



/*MSClass (Class Of Marquee Scroll - General Uninterrupted Scrolling(JS)) Ver 2.85*\

@ Code By : Yongxiang Cui(333) E-Mail:zhadan007@21cn.com http://www.popub.net
@ Update　: 2011-07-08 (Ver 2.85)
@ Download: http://www.popub.net/script/MSClass.html

\***================Please keep the above copyright information================***/


/**==================The following instructions can be deleted=================**\
　Explain:
　　include <script type="text/javascript" src="MSClass.js"></script> 
　Create Examples:
　　I
　　new Marquee("Marquee") 
　　new Marquee("Marquee","top")
　　......
　　new Marquee("Marquee",0,1,760,52)
　　new Marquee("Marquee","top",1,760,52,50,5000)
　　......
　　new Marquee("Marquee",0,1,760,104,50,5000,3000,52)
　　new Marquee("Marquee",null,null,760,104,null,5000,null,-1)

　　II
　　var Marquee1 = new Marquee("Marquee")　*required 
　　Marquee1.Direction = "top";　or　Marquee1.Direction = 0; 
　　Marquee1.Step = 1; 
　　Marquee1.Width = 760; 
　　Marquee1.Height = 52; 
　　Marquee1.Timer = 50; 
　　Marquee1.DelayTime = 5000; 
　　Marquee1.WaitTime = 3000; 
　　Marquee1.ScrollStep = 52; 
　　Marquee1.Start(); 

　　III
　　new Marquee( 
　　{ 
　　　MSClassID : "Marquee", 
　　　Direction : "top", 
　　　Step　 : 1, 
　　　Width　 : 760, 
　　　Height　 : 52, 
　　　Timer　 : 50, 
　　　DelayTime : 5000, 
　　　WaitTime : 3000, 
　　　ScrollStep: 52, 
　　　AutoStart : 1 
　　}); 

　Parameters:
　　ID　　　　　 "Marquee"　Container ID　　　(required) 
　　Direction　　(0)　　　　Scroll direction　(optional,Default 0)(Values:0 Up, 1 Down, 2 Left, 3 Right, -1 Vertical alternate, 4 Transverse alternate) 
　　Step　　　　 (1)　　　　Scrolling step　　(optional,Default 2) 
　　Width　　　　(760)　　　Visual width　　　(optional,Default is container width) 
　　Height　　　 (52)　　　 Visual height　　 (optional,Default is container height) 
　　Timer　　　　(50)　　　 Running timer　　 (optional,Default 30) 
　　DelayTime　　(5000)　　 Pause delay time　(optional,Default 0 - not pause) 
　　WaitTime　　 (3000)　　 Waiting time　　　(optional,Default 0 - not wait) 
　　ScrollStep　 (52)　　　 Scroll spacing　　(optional,Default is visual width or visual height) 
　　SwitchType　 (0)　　　　Wheel show type 　(optional,Default 0 - scroll)(Values:0 Scroll, 1 Cut in, 2 Fade in)

\***all rights reserved:Yongxiang Cui(333) E-Mail:zhadan007@21cn.com Website:http://www.popub.net***/ 

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}('13 2r(){16 b=1k,a=1M;b.$=13(c){15 1h.3K(c)};b.t=(b.F=["3M 2.78.77","76 74 2r 2s","73 72 71(70)","6Z://6Y.6X.6W/6V/3M.6U","6T 6S(6R) 6Q@6P.6O"]).4x("\\n");b.a=a[0]["3M"]||a[0]||a[0][0];b.b=(b.c=1L b.a=="3l"?b.$(b.a[0])||b.$(b.a.4K):b.$(b.a))&&b.6N.1U().2S(4N>>>4M,14>>4L)==b.F[1].2S(4N>>>4M,14>>4L);11(!b.c||!b.b){15 2u("4k ["+(b.a.4K||b.a[0]||b.a)+"] 6M 6L!")||(b.c=-1)}b.2Y=1+(b.i=b.2d=-1);b.f=b.q=b.r=b.s=b.B=b.u=b.k=b.e=b.d=b.j=0;b.18=a[1]||a[0]["18"]||0;b.1a=a[2]||a[0]["1a"]||1;b.1F=a[3]||a[0]["1F"]||0;b.1N=a[4]||a[0]["1N"]||0;b.1T=a[5]||a[0]["1T"]||30;b.1n=a[6]||a[0]["1n"]||0;b.1S=a[7]||a[0]["1S"]||2G;b.1b=a[8]||a[0]["1b"]||-10;b.1m=a[9]||a[0]["1m"]||0;b.2j=a[10]||a[0]["2j"];b.38=b.$(a[0]["6K"])||0;b.37=b.$(a[0]["6J"])||0;b.1Q=a[0]["1Q"]||[];b.c.12.3e=b.c.12.4f=b.c.12.4e="2O";b.3O=(6I.6H.2v().6G("6F")==-1);b.m=(1h.3B)?1:0;11(a.1j>=7||a[0]["6E"]==1){b.4J()}}2r.3Y.4J=13(){11(1k.c==-1||1k.i>=0){11(1k.i==2){1k.2B()}15 1g}16 f=1k,G,r,P,K,u,O,e="6D",N=2r,E=0,p=[],D=0,B=0,n,b=0,L={6C:-1,6B:-1,1t:0,6A:0,2o:1,6z:1,1x:2,3G:3,6y:4},h=0,A=0,T=0,w=0,t=0,q=0,F=0,M=0,a=[],S=1A;16 g=13(m,j,i){i?0:i=0;15 f.m?(m.2a[j]!="4I"&&m.2a[j]!="4H"&&m.2a[j]!="3I"&&m.2a[j]!="6x"&&m.2a[j]!="6w"&&m.2a[j]!="3v")?m.2a[j]:i:(1i.2p(m,1A)[j]!="4I"&&1i.2p(m,1A)[j]!="4H"&&1i.2p(m,1A)[j]!="3I"&&1i.2p(m,1A)[j]!="2z"&&1i.2p(m,1A)[j]!="3v")?1i.2p(m,1A)[j]:i};16 v=13(j){16 i=j||1i.1v;3L=i.3L||i.6v;11(3L==6u){2u(f.t)}};f.c.12.1G=g(f.c,"1G","4G");16 H={b:13(){15\'<1s><1p 1D="8"><1E 12="1o:0;1o-1t:1z 1I #2X;1o-2o:1z 1I #29;1O:0;28:0;1O-2o:-4F;"></1E></1p></1s>\'},c:13(i,j){15 6t(j)?\'<1s><1p 6s="2o" 1D="17" 1R="1k.12.2n=\\\'#3E\\\';1k.12.1P=\\\'#29\\\';" 1W="1k.12.2n=\\\'\\\';1k.12.1P=\\\'#3D\\\';" 32="\'+j+\'">\'+i+"</1p></1s>":"<1s><1p 1D=\\"17\\" 1R=\\"1k.12.2n=\'#3E\';1k.12.1P=\'#29\';1h.3K(\'"+n+"3J"+R+"\').12.1w=\'1B\';\\" 1W=\\"1k.12.2n=\'\';1k.12.1P=\'#3D\';1h.3K(\'"+n+"3J"+R+\'\\\').12.1w=\\\'\\\';" ><1E 12="1D:6r;1G:4G;"><1E 2q="\'+n+"3J"+R+\'" 12="1G:2x;1x:1z;1t:6q;1P:#29;z-4D:0;2W-3F:2z;1y:2w%;1o:0;1O:0;28:0;">\'+i+\'</1E><1E 12="1G:2x;1x:3I;1t:4F;1P:#2X;-4A-4z-4y:1B;2W-3F:2z;1y:2w%;1o:0;1O:0;28:0;">\'+i+"</1E></1E></1p></1s>"},f:13(){16 i=f.$(n);11(!i){15 1g}i.12.1w="1B"},d:13(j){16 m=f.$(n);11(!m){15 1g}16 i=j||1i.1v;m.12.1t=(i.2F+(1h.6p.3z||1h.2V.3z))+"1f";m.12.1x=1h.2V.6o-i.2c<=4E?(i.2c-4E)+"1f":i.2c+"1f";m.12.1w="";15 1g},a:13(){11(!N.c){N.c=1;f.m?1h.1Y("6n",v):1h.1X("6m",v,1J)}11(!f.1Q[0]){15 1g}f.c.3C=13(){15 1g};16 j=1h.4g("6l");n=j.2q="M"+(19.3c().1U().6k(-6));j.12.6j="1w:1B;z-4D:2w;1G:2x;1x:0;1t:-4n;1y:6i;1o-1x:1z 1I #3H;1o-1t:1z 1I #3H;1o-3G:1z 1I #4C;1o-2o:1z 1I #4C;1O:0;28:0;";16 i=\'<1E 12="2W-6h:\\\'\\6g\\6f\\\',6e;2E:6d;6c-1P:#3H;1y:6b;1o-1x:1z 1I #29;1o-1t:1z 1I #29;1o-3G:1z 1I #2X;1o-2o:1z 1I #2X;1O:0;28:0;"><2l 1o="0" 3A="0" 12="2W-3F:2z;4B-6a:69;1O:1z;1y:68;4B-67:1x;-4A-4z-4y:1B; 1o-2m:2m" 66="15 1g;" 3C="15 1g">\';1C(R=1;R<f.1Q.1j;R++){i+=(!f.1Q[R]||!f.1Q[R][0]||f.1Q[R][0]=="")?H.b():H.c(f.1Q[R][0],f.1Q[R][1]||R)}i+=H.b();i+="<1s><1p 1D=\\"17\\" 1R=\\"1k.12.2n=\'#3E\';1k.12.1P=\'#29\';\\" 1W=\\"1k.12.2n=\'\';1k.12.1P=\'#3D\';\\" 32=\\"2u(\'"+f.F.4x("\\\\n")+"\')\\">65 "+f.F[0]+"</1p></1s></2l></1E>";j.1q=i;11(f.m){1i.1Y("64",13(){1h.2V.2K(j)});f.c.1Y("3C",H.d);1h.1Y("2J",H.f)}1e{1i.1X("63",13(){1h.2V.2K(j)},1J);f.c.1X("62",H.d,1J);1h.1X("61",H.f,1J)}}};H.a();11(f.1T<20){f.1T=20}11(f.1S<2G){f.1S=2G}11(f.1F==0){f.1F=1l(f.c.12.1y)}11(f.1N==0){f.1N=1l(f.c.12.1D)}f.c.12.1y=f.1F+"1f";f.c.12.1D=f.1N+"1f";11(1L f.18=="2t"){f.18=L[f.18.1U().2v()]}G=f.18>1?"<2l 4s=\'0\' 3A=\'0\' 12=\'1o-2m:2m;1w:3u;\'><1s><1p 3h=1J 12=\'4w-4v: 3g;4u-2I:4t-3B;\'>2h</1p><1p 3h=1J 12=\'4w-4v: 3g;4u-2I:4t-3B;\'>2h</1p></1s></2l>":"<2l 4s=\'0\' 3A=\'0\' 12=\'1o-2m:2m;\'><1s><1p>2h</1p></1s><1s><1p>2h</1p></1s></2l>";r=f.18>1?f.1F:f.1N;P=f.18>1?"60":"5Z";f.d=f.18>1?"5Y":"3z";f.w=f.18>1?"1x":"1t";11(f.18>4){f.18=2}11(f.18<-1){f.18=0}f.n=f.c.1q;16 c={0:13(){15 1},5X:13(i,m,j){15 m*(i/=j)*i},5W:13(i,m,j){15-m*(i/=j)*(i-2)},5V:13(i,m,j){11((i/=j/2)<1){15 m/2*i*i}15-m/2*((--i)*(i-2)-1)},5U:13(i,m,j){15 m*(i/=j)*i*i},5T:13(i,m,j){15 m*((i=i/j-1)*i*i+1)},5S:13(i,m,j){11((i/=j/2)<1){15 m/2*i*i*i}15 m/2*((i-=2)*i*i+2)},5R:13(i,m,j){15 m*(i/=j)*i*i*i},5Q:13(i,m,j){15-m*((i=i/j-1)*i*i*i-1)},5P:13(i,m,j){11((i/=j/2)<1){15 m/2*i*i*i*i}15-m/2*((i-=2)*i*i*i-2)},5O:13(i,m,j){15 m*(i/=j)*i*i*i*i},5N:13(i,m,j){15 m*((i=i/j-1)*i*i*i*i+1)},5M:13(i,m,j){11((i/=j/2)<1){15 m/2*i*i*i*i*i}15 m/2*((i-=2)*i*i*i*i+2)},5L:13(i,m,j){15-m*19.4r(i/j*(19.1H/2))+m},5K:13(i,m,j){15 m*19.2A(i/j*(19.1H/2))},5J:13(i,m,j){15-m/2*(19.4r(19.1H*i/j)-1)},5I:13(i,m,j){15(i==0)?0:m*19.1V(2,10*(i/j-1))},5H:13(i,m,j){15(i==j)?m:m*(-19.1V(2,-10*i/j)+1)},5G:13(i,m,j){11(i==0){15 0}11(i==j){15 m}11((i/=j/2)<1){15 m/2*19.1V(2,10*(i-1))}15 m/2*(-19.1V(2,-10*--i)+2)},5F:13(i,m,j){15-m*(19.2U(1-(i/=j)*i)-1)},5E:13(i,m,j){15 m*19.2U(1-(i=i/j-1)*i)},5D:13(i,m,j){11((i/=j/2)<1){15-m/2*(19.2U(1-i*i)-1)}15 m/2*(19.2U(1-(i-=2)*i)+1)},2N:13(j,W,V){16 m=1.2k;16 U=0;16 i=W;11(j==0){15 0}11((j/=V)==1){15 W}11(!U){U=V*0.3}11(i<19.2D(W)){i=W;16 m=U/4}1e{16 m=U/(2*19.1H)*19.3y(W/i)}15-(i*19.1V(2,10*(j-=1))*19.2A((j*V-m)*(2*19.1H)/U))},4b:13(j,W,V){16 m=1.2k;16 U=0;16 i=W;11(j==0){15 0}11((j/=V)==1){15 W}11(!U){U=V*0.3}11(i<19.2D(W)){i=W;16 m=U/4}1e{16 m=U/(2*19.1H)*19.3y(W/i)}15 i*19.1V(2,-10*j)*19.2A((j*V-m)*(2*19.1H)/U)+W},5C:13(j,W,V){16 m=1.2k;16 U=0;16 i=W;11(j==0){15 0}11((j/=V/2)==2){15 W}11(!U){U=V*(0.3*1.5)}11(i<19.2D(W)){i=W;16 m=U/4}1e{16 m=U/(2*19.1H)*19.3y(W/i)}11(j<1){15-0.5*(i*19.1V(2,10*(j-=1))*19.2A((j*V-m)*(2*19.1H)/U))}15 i*19.1V(2,-10*(j-=1))*19.2A((j*V-m)*(2*19.1H)/U)*0.5+W},3b:13(i,U,m,j){11(j==3x){j=1.2k}15 U*(i/=m)*i*((j+1)*i-j)},4a:13(i,U,m,j){11(j==3x){j=1.2k}15 U*((i=i/m-1)*i*((j+1)*i+j)+1)},5B:13(i,U,m,j){11(j==3x){j=1.2k}11((i/=m/2)<1){15 U/2*(i*i*(((j*=(1.4q))+1)*i-j))}15 U/2*((i-=2)*i*(((j*=(1.4q))+1)*i+j)+2)},4p:13(i,m,j){15 m-c.3w(j-i,m,j)},3w:13(i,m,j){11((i/=j)<(1/2.75)){15 m*(7.2T*i*i)}1e{11(i<(2/2.75)){15 m*(7.2T*(i-=(1.5/2.75))*i+0.75)}1e{11(i<(2.5/2.75)){15 m*(7.2T*(i-=(2.25/2.75))*i+0.5A)}1e{15 m*(7.2T*(i-=(2.5z/2.75))*i+0.5y)}}}},5x:13(i,m,j){11(i<j/2){15 c.4p(i*2,m,j)*0.5}15 c.3w(i*2-j,m,j)*0.5+m*0.5}};11(f.1a.1j){f.k=(13(i){f.1a=f.1a[0]<1?4o(f.1a[0].1U().3f("0.","")):4o(f.1a[0]);1C(R 5w c){16 j=++j||0;11((R.2S(4)==i||i.2S(4)==R||R==i||i==j)&&j>0){E=j;15 R}}})(f.1a[1].1U().2v()).1U()}11(f.1a<1){f.k=f.1a}11(f.1m>0||(f.1n>0&&f.1b==-10)){f.1b=r}11(f.1b==-10){f.1b=1A}f.2Y=f.1a;11(f.1m>1){11(f.1m==3){f.1m=0;f.e=M=1}1e{f.1m==2?D=1:f.q=f.m?f.1m:1-(D=1);11(f.m&&f.q>0){f.c.12.39="21(5v="+(f.1n/5u*0.2)+",3d="+(f.q-10)+")";11(f.q>=33||f.q<10){f.c.2g.21.3d=19.2b(19.3c()*22)}f.c.2g.21.4d();f.c.2g.21.4c()}f.1a=r;f.k=1-(f.1m=1)}}11(f.2j){16 J=(1L f.2j)=="2t"?[f.2j]:f.2j;1C(R=0;R<J.1j;R++){16 y=f.$(J[R]);11(y&&y.12.1w=="1B"){f.f=1;p[R]=[y,g(y,"1G","3v"),g(y,"1t")];y.12.1G="2x";y.12.41="2O";y.12.1t="-4n";y.12.1w="4m"}}}f.G=13(){11(1L f.a=="3l"&&(!f.a.1j||f.a.1j>0)){f.D=f.$(f.a[1])||f.$(f.a.5t);11(f.D){16 2i=0;16 m=0;11(f.D.3j=="4l"){f.D.12.2Q="0"}f.D.12.1w="3u-4m";f.D.12.1O=f.D.12.28=0;f.D.12.3k="1B";1C(16 W=0,V=f.D.1u.1j;W<V;W++){16 1d=f.D.1u[W];11(1d.3i==1){m++;1d.12.3k="1B";1d.12.4i=1d.12.4h="1x";1d.12.1w="3u";11(f.18>1){1d.12.3t=g(1d,"3t");1d.12.3s=g(1d,"3s");1d.12.3r=g(1d,"3r");1d.12.3q=g(1d,"3q");2i+=1d[P]+1l(1d.12.3t)+1l(1d.12.3s)+1l(1d.12.3r)+1l(1d.12.3q)}1e{1d.12.3p=g(1d,"3p");1d.12.3o=g(1d,"3o");1d.12.3n=g(1d,"3n");1d.12.3m=g(1d,"3m");2i+=1d[P]+1l(1d.12.3p)+1l(1d.12.3o)+1l(1d.12.3n)+1l(1d.12.3m)}11(M){a[a.1j]=1d}}}f.18>1?(f.D.12.1y=2i+"1f")||(f.D.12.1D=f.1N+"1f"):(f.D.12.1D=2i+"1f")||(f.D.12.1y=f.1F+"1f");f.C=1l(f.c[P]/f.1b);f.B=f.1c=1;f.v=[];11(1L f.a=="3l"&&(!f.a.1j||f.a.1j>1)){16 Z=f.$(f.a[2])||f.a[2]||f.$(f.a.5s);11(Z&&(Z.1j||Z.3j)){16 Y=(f.a[3]||f.a.5r||"1R").1U().2v();(Y=="1R"||Y=="2J")?0:Y="1R";16 U=(f.a[4]||f.a.5q||0);f.1b=r;11(f.1a>=f.1b){f.1a=r-1}16 2y=1l(f.c[P]/f.1b);l=Z.1j||1;16 X=0,1r=Z;1C(16 2R=0;2R<l;2R++){11(l>1){1r=f.$(Z[2R])}1r.12.1O=1r.12.28=0;1r.12.3k="1B";11(1r.3j=="4l"){1r.12.2Q="0"}f.C=1r.1u.1j;1C(16 W=0;W<f.C;W++){11(1r.1u[W].3i==1){11(2y==X){1r.1u[W].12.1w="1B";5p}1r.1u[W].12.2Q=g(1r.1u[W],"2Q","2z");1r.1u[W].12.3e="2O";f.v[X]=1r.1u[W];f.v[X][Y]=(13(i){15 13(){F=1K(13(){f.u=1;1C(16 2P=0;2P<f.v.1j;2P++){f.v[2P].2f=""}f.v[i].2f=e;s(i)},U)}})(X);f.v[X].1W=(13(i){15 13(){1Z(F);11(f.u==1){f.u=0;11(f.i==0){2e(t);t=2M(w,f.1T)}1e{1Z(q);q=1K(k,f.1n)}C(i)}}})(X);X+=1}}}f.C=X;f.r=f.C>1?1:0;11(f.v.1j>0){f.v[0].2f=e}11(2y>f.C){f.s=2y-f.C;1C(16 V=0;V<f.v.1j;V++){f.v[V].1R=f.v[V].1W=13(){}}f.C=2y;2u("4k ["+f.c.2q+"] 4j 5o 5n 5m 5l ["+f.s+"] 5k 5j 4j!")||0}}}11(M==0&&f.1m==0&&D==0&&f.q==0&&f.18>=0&&f.18<=3){11(f.18>1){f.D.12.1y=2i*2+"1f";f.D.12.1D=f.1N+"1f";f.D.1q+=f.D.1q}1e{f.D.12.4i=f.D.12.4h="1x";f.D.12.1y=f.1F+"1f";f.c.1q+=f.c.1q}}}}};f.G();11(f.B==0&&M){1C(16 R=0,Q=f.c.1u.1j;R<Q;R++){11(f.c.1u[R].3i==1){a[a.1j]=f.c.1u[R]}}}11(f.B==0&&M==0&&(f.18==0||f.18==1)){f.c.1q=G.3f(/2h/g,f.c.1q)}1e{11(f.B==0&&M==0&&(f.18==2||f.18==3)){f.c.3h=1J;f.c.12.5i="3g";(f.1b==0&&f.1n==0)?f.c.1q+=f.c.1q:f.c.1q=G.3f(/2h/g,f.c.1q)}1e{11(f.18==4||f.18==-1){f.18=6%f.18;f.e=1}}}K=f.1b;u=f.18;O=f.k;11(f.1m>0){f.E=1h.4g("1E");f.E.12.1y=f.1F+"1f";f.E.12.1D=f.1N+"1f";f.E.12.1G="2x";f.E.12[f.w]=f.18%2?-r+"1f":r+"1f";f.18>1?f.E.12.1t="0":f.E.12.1x="0";f.E.1q=f.c.1q;f.E.12.3e=f.E.12.4f=f.E.12.4e="2O";f.c.2K(f.E);f.E[f.d]=r}16 w=13(){f.k>0?f.1a=19.5h((f.1b-b)*f.k):0;f.2s()};16 C=13(j){11(f.i==2){15 1g}11(f.1m>0&&(D==1||f.q>0)){j+1>=f.C?f.E[f.d]=0:f.E[f.d]=r*(j+1)}};16 s=13(j){11(f.i==2){15 1g}1Z(q);2e(t);11(f.1m==0){f.1c=1l(f.c[f.d]/K)+1;11(f.1c>f.C){f.1c-=f.C}j+=1;f.u=1;11(j<=f.1c){f.1b=K*(f.1c-j)+f.c[f.d]%K;f.18=f.18>1?3:1}1e{11(j-f.1c==f.C-1){11(E==24){f.k="2N"}11(E==27||E==26){f.k="3b"}}11(f.1c<=2&&j==f.C&&E==23){f.k="2N"}f.1b=K*(j-f.1c)-f.c[f.d]%K;f.18=f.18>1?2:0}}1e{11(f.i==0&&f.e==1){f.18=f.18>1?5-f.18:1-f.18;u=f.18}f.18%2?f.E.12[f.w]=-r+f.c[f.d]+"1f":f.E.12[f.w]=r+f.c[f.d]+"1f";j==f.C?f.E[f.d]=1-(f.1c=1):f.E[f.d]=r*(j);f.1c=j+1}b=0;11(f.1b>0){k()}};16 I=13(m){1Z(B);16 j=m||f.c;16 i=5;(13(){f.m?j.12.39="46(2L="+i+")":j.12.2L=(i/2w);i+=5;11(i<=2w){B=1K(1M.5g,20)}})()};16 k=13(){16 m=f.18%2;11(D==1){I()}11(f.q>0){11(f.q>=33||f.q<10){f.c.2g.21.3d=19.2b(19.3c()*22)}f.c.2g.21.4d();f.c.2g.21.4c()}11(f.j==1){q=1K(k,f.1n)}1e{2e(t);h=A=b=f.i=0;11(f.e==1&&f.k>0){11((f.18==2||f.18==0)&&f.c[P]-r-f.c[f.d]<f.1b){f.1b=f.c[P]-r-f.c[f.d]}11(m&&f.c[f.d]<f.1b){f.1b=f.c[f.d]}}11(f.B==1&&f.u==0){f.1c=1l(f.c[f.d]/K)+2;11(f.e==1){11(f.1m==1){11(f.1c>f.C){f.1c=1}}1e{11(m){f.1c-=2;11(f.1c<=0){f.1c=1}}1e{11(f.1c>=f.C){f.1c=f.C}}}}1e{11(f.1c>f.C){f.1c-=f.C}}11(f.r==1&&f.s==0){1C(16 j=0;j<f.C;j++){f.v[j].2f=""}f.e==0&&D==0&&f.q==0&&f.1m==0&&m?f.v[f.1c+f.C-2>f.C?f.1c-3:f.1c+f.C-3].2f=e:f.v[f.1c-1].2f=e}}11(f.e==1&&f.C>1){11(((E==22||E==24)&&!m&&f.1c==2)||((E==22||E==24)&&m&&f.1c==f.C-1)){f.k="4b"}11(((E==23||E==24)&&!m&&f.1c==f.C)||((E==23||E==24)&&m&&f.1c==1)){f.k="2N"}11(((E==25||E==27)&&!m&&f.1c==2)||((E==25||E==27)&&m&&f.1c==f.C-1)){f.k="4a"}11(((E==26||E==27)&&!m&&f.1c==f.C)||((E==26||E==27)&&m&&f.1c==1)){f.k="3b"}}11(f.e==1&&f.2d>=0){f.2d=-1;f.49()}t=2M(w,f.1T);f.48()}};f.36=13(j){11(f.i==1){16 i=-1;11(1L 1M[0]=="5f"){i=1M[0]}11(1L 1M[0]=="2t"){u=i=L[1M[0].1U().2v()]}11(i<0||i>3){2u("5e 5d 5c!");15 1g}11(f.2d==i){15 1g}f.18=i;11(1L 1M[0]=="2t"||f.e==1){u=f.18}f.3a()}};f.45=f.49=f.48=f.44=13(){};f.3a=13(){1Z(q);q=1K(k,1M[0])};f.5b=13(){f.47();f.c[f.d]=f.i=h=A=0;f.i=-1};f.2B=13(){11(f.i==2&&!1M[0]){f.i=b>1?0:1;t=2M(w,f.1T);15 1g}11(f.i==0){2e(t);t=2M(w,f.1T)}11(f.i==1){f.3a(f.1n)}};f.47=13(){11(f.i!=2){f.2C();f.i=2}};f.2C=f.5a=f.59=13(){1Z(F);2e(t);1Z(q)};16 x=13(){11(S){I(S)}16 j=f.B==0?f.c:f.D,U=f.18%2;16 m=U?a.1j-1:0;S=a[m].58(1J);f.1b=a[m][P];f.m?S.12.39="46(2L = 0)":S.12.2L=0;U?j.57(S,j.1u[0]):j.2K(S);j.56(a[m]);U?f.c[f.d]=f.1b:f.c[f.d]=f.c[P]-r-f.1b;11(U){a.55(S);a.54()}1e{a.53(S);a.52()}};16 o=13(){2e(t);h=A=b=1-(f.i=1);f.1b=K;f.18=u;f.k=O;11(f.u==1){15 1g}11(f.e==1){11(f.1m==1){u=f.18=f.18>1?5-f.18:1-f.18}1e{11(f.c[f.d]==0||f.c[f.d]>=f.c[P]-r){11(M){x()}1e{f.2d=f.18;f.45();u=f.18=f.18>1?5-f.18:1-f.18}}}}f.44();q=1K(k,f.1n)};16 z=13(){f.G();1K(d,0)};16 d=13(){f.y=f.c[P]/2;11(f.1m==0&&f.y<=r+f.1a&&f.e==0){11(f.B==1){16 j=f.c.51("43")/1+1||1;f.c.50("43",j);11(j<5){z()}}1e{f.c.1q=f.n;42(f.n)}15 1g}42(f.n);11(f.e==1){f.2d=f.18>1?5-f.18:1-f.18}11(f.f==1){1C(R=0;R<p.1j;R++){16 i=p[R][0];i.12.1G=p[R][1];i.12.1w="1B";i.12.41="4Z";i.12.1t=p[R][2]}}11(f.1n>0&&f.38){f.38.2J=13(){f.36(f.18>1?5-f.18:1-f.18)}}11(f.1n>0&&f.37){f.37.2J=13(){f.36(f.18)}}f.c[f.d]=f.i=h=A=0;11(M){x()}T=19.2b(f.1b/f.1a);11(f.1S>=4Y){f.i=1;11(f.1S==4X){f.1n=40}f.1S=40;15}1K(13(){11((f.1b>=0&&(f.B==0||(f.B==1&&(f.r==0||f.r==1)))&&f.l)||(f.1n==0&&f.1b==-2&&f.l)){f.l()}k()},f.1S)};11(f.1m==1){f.2s=13(){16 i=f.18%2;b+=f.1a;11(b>=f.1b&&f.1n>0){i?f.E.12[f.w]=(1l(f.E.12[f.w])-(f.1b-f.1a-b))+"1f":f.E.12[f.w]=(1l(f.E.12[f.w])+(f.1b-f.1a-b))+"1f";o();f.c[f.d]=f.E[f.d];i?f.E.12[f.w]=-r+f.c[f.d]+"1f":f.E.12[f.w]=r+f.c[f.d]+"1f";f.1c==f.C?f.1c=1-(f.E[f.d]=0):f.E[f.d]=r*(f.1c);15}3Z(i){2H 0:f.E.12[f.w]=(1l(f.E.12[f.w])-f.1a)+"1f";2I;2H 1:f.E.12[f.w]=(1l(f.E.12[f.w])+f.1a)+"1f"}}}1e{11(1L f.k=="2t"){f.2s=13(){b+=h;11(h<=T){A+=(f.1a=19.2b(c[f.k](h++,f.1b,T))-A);11(f.c[f.d]<=f.1a&&f.e==0){f.c[f.d]+=f.y}f.18%2?f.c[f.d]-=f.1a:f.c[f.d]+=f.1a}1e{11(f.c[f.d]>f.y&&f.e==0){f.c[f.d]-=f.y}o()}}}1e{f.2s=13(){16 i=f.18%2;b+=f.1a;11((b>=f.1b&&f.1n>0)||(f.e==1&&b>f.1a&&(f.c[f.d]<=0||f.c[f.d]>=f.c[P]-r))){i?f.c[f.d]-=f.1b+f.1a-b:f.c[f.d]+=f.1b+f.1a-b;o();15}3Z(i){2H 0:11(f.c[f.d]>=f.y&&f.e==0){f.c[f.d]-=f.y}f.c[f.d]+=f.1a;2I;2H 1:11(f.c[f.d]<=f.1a&&f.e==0){f.c[f.d]+=f.y}f.c[f.d]-=f.1a}}}}1K(d,2G)};2r.3Y.l=13(){16 g=1k,f=1A,j=1A,k=0,m=0,b=0,d=0,i=0,h=19.2b(g.1F/2);16 a=13(n){16 n=n||1i.1v;11(g.1n!=0||(n.3X&&n.3X!=1)||(n.3W&&n.3W!=1)||g.i==2||g.i==-1){15 1g}11(k==0){g.i=k=1;g.2C();n.3V?n.3V():n.4W=1J;n.3U?n.3U():n.4V=1g;b=g.c[g.d];m=g.18>1?1i.1v?n.2c:n.35:1i.1v?n.2F:n.34;f=n.2Z||n.4U;j=f.12.2E;f.12.2E="4T";11(g.m){f.4S();1h.1Y("31",e);1h.1Y("3S",c)}1e{1h.1X("3R",e,1g);1h.1X("3P",c,1g)}}};16 e=13(o){16 o=o||1i.1v;d=g.18>1?1i.1v?o.2c:o.35:1i.1v?o.2F:o.34;16 n=m-d+b;11(n<=0||n>=g.y){n<=0?g.c[g.d]+=g.y:g.c[g.d]=g.y-n;m=g.18>1?1i.1v?o.2c:o.35:1i.1v?o.2F:o.34;b=g.c[g.d];n=m-d+b}g.c[g.d]=n};16 c=13(n){11(g.m){f.4R();1h.3T("31",e);1h.3T("3S",c)}1e{1h.3Q("3R",e,1g);1h.3Q("3P",c,1g)}k=g.j=0;f.12.2E=j;g.2B()};11(g.e==0){g.m?g.c.1Y("32",a):g.c.1X("4Q",a,1g)}11(g.1b==-2){g.c.31=13(n){11(g.18>1){16 n=n||1i.1v;11(1i.1v){11(g.3O){i=n.2Z.2q==g.c.2q?n.3N-g.c[g.d]:n.2Z.4P-g.c[g.d]+n.3N}1e{g.1b=1A;15}}1e{i=n.4O-g.c[g.d]}g.18=i>h?3:2;g.1a=19.2b(19.2D(h-i)*(g.2Y*2)/h)}};g.c.1W=13(){11(g.1a==0){g.1a=1}}}1e{g.c.1R=13(){11((g.i==0&&g.1n>0)||g.i==2||g.i==-1){15 1g}g.j=1;g.2C()};g.c.1W=13(){11(g.j==1){g.j=0;g.2B()}}}};',62,443,'|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||if|style|function||return|var||Direction|Math|Step|ScrollStep|Counter|ae|else|px|false|document|window|length|this|parseInt|SwitchType|DelayTime|border|td|innerHTML|ad|tr|top|childNodes|event|display|left|width|1px|null|none|for|height|div|Width|position|PI|solid|true|setTimeout|typeof|arguments|Height|margin|color|ContextMenu|onmouseover|WaitTime|Timer|toString|pow|onmouseout|addEventListener|attachEvent|clearTimeout||revealTrans|||||||padding|FFF|currentStyle|round|clientX|Bound|clearInterval|className|filters|MSCLASS_TEMP_HTML|ab|HiddenID|70158|table|collapse|backgroundColor|bottom|getComputedStyle|id|Marquee|Scroll|string|alert|toLowerCase|100|absolute|ac|12px|sin|Continue|Pause|abs|cursor|clientY|800|case|break|onclick|appendChild|opacity|setInterval|inelastic|hidden|af|fontSize|aa|substr|5625|sqrt|body|font|808080|BakStep|srcElement||onmousemove|onmousedown||pageY|pageX|Run|NextBtn|PrevBtn|filter|Play|inback|random|Transition|overflow|replace|nowrap|noWrap|nodeType|tagName|listStyle|object|borderBottomWidth|borderTopWidth|marginBottom|marginTop|borderRightWidth|borderLeftWidth|marginRight|marginLeft|inline|static|outbounce|undefined|asin|scrollTop|cellpadding|all|oncontextmenu|000|0A246A|size|right|D4D0C8|0px|_|getElementById|keyCode|MSClass|offsetX|IsNotOpera|mouseup|removeEventListener|mousemove|onmouseup|detachEvent|preventDefault|stopPropagation|button|which|prototype|switch|3600000|visibility|delete|fixnum|OnPause|OnBound|alpha|Stop|OnScroll|UnBound|outback|outelastic|play|apply|overflowY|overflowX|createElement|cssFloat|styleFloat|pages|The|UL|block|10000px|parseFloat|inbounce|525|cos|cellspacing|keep|word|space|white|join|select|user|moz|text|404040|index|170|2px|relative|medium|auto|Start|MSClassID|97|99|79|layerX|offsetLeft|mousedown|releaseCapture|setCapture|move|target|returnValue|cancelBuble|100000|60000|visible|setAttribute|getAttribute|shift|push|pop|unshift|removeChild|insertBefore|cloneNode|Terminate|Destroy|Reset|wrong|set|Parameters|number|callee|ceil|whiteSpace|actual|than|less|numbers|tab|or|continue|TabTimeout|TabEvent|TabID|ContentID|1000|Duration|in|inoutbounce|984375|625|9375|inoutback|inoutelastic|inoutcirc|outcirc|incirc|inoutexpo|outexpo|inexpo|inoutsine|outsine|insine|inoutquint|outquint|inquint|inoutquart|outquart|inquart|inoutcubic|outcubic|incubic|inoutquad|outquad|inquad|scrollLeft|scrollHeight|scrollWidth|click|contextmenu|load|onload|About|onselectstart|align|166px|10px|indent|168px|background|default|arial|u4F53|u5B8B|family|170px|cssText|slice|DIV|keydown|onkeydown|clientWidth|documentElement|3px|17px|valign|isNaN|113|witch|1em|30pt|alterleft|down|up|alterup|altertop|active|AutoStart|opera|indexOf|userAgent|navigator|NextBtnID|PrevBtnID|error|initialization|constructor|com|21cn|zhadan007|333|Cui|Yongxiang|html|script|net|popub|www|http|JS|Scrolling|Uninterrupted|General|Of||Class|110708|85'.split('|'),0,{}))

/*
 * Date prototype extensions. Doesn't depend on any
 * other code. Doens't overwrite existing methods.
 *
 * Adds dayNames, abbrDayNames, monthNames and abbrMonthNames static properties and isLeapYear,
 * isWeekend, isWeekDay, getDaysInMonth, getDayName, getMonthName, getDayOfYear, getWeekOfYear,
 * setDayOfYear, addYears, addMonths, addDays, addHours, addMinutes, addSeconds methods
 *
 * Copyright (c) 2006 Jörn Zaefferer and Brandon Aaron (brandon.aaron@gmail.com || http://brandonaaron.net)
 *
 * Additional methods and properties added by Kelvin Luck: firstDayOfWeek, dateFormat, zeroTime, asString, fromString -
 * I've added my name to these methods so you know who to blame if they are broken!
 * 
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 *
 */

/**
 * An Array of day names starting with Sunday.
 * 
 * @example dayNames[0]
 * @result 'Sunday'
 *
 * @name dayNames
 * @type Array
 * @cat Plugins/Methods/Date
 */
Date.dayNames = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];

/**
 * An Array of abbreviated day names starting with Sun.
 * 
 * @example abbrDayNames[0]
 * @result 'Sun'
 *
 * @name abbrDayNames
 * @type Array
 * @cat Plugins/Methods/Date
 */
Date.abbrDayNames = ['星期天', '星期一', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];

/**
 * An Array of month names starting with Janurary.
 * 
 * @example monthNames[0]
 * @result 'January'
 *
 * @name monthNames
 * @type Array
 * @cat Plugins/Methods/Date
 */
Date.monthNames = ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'];

/**
 * An Array of abbreviated month names starting with Jan.
 * 
 * @example abbrMonthNames[0]
 * @result 'Jan'
 *
 * @name monthNames
 * @type Array
 * @cat Plugins/Methods/Date
 */
Date.abbrMonthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];

/**
 * The first day of the week for this locale.
 *
 * @name firstDayOfWeek
 * @type Number
 * @cat Plugins/Methods/Date
 * @author Kelvin Luck
 */
Date.firstDayOfWeek = 1;

/**
 * The format that string dates should be represented as (e.g. 'dd/mm/yyyy' for UK, 'mm/dd/yyyy' for US, 'yyyy-mm-dd' for Unicode etc).
 *
 * @name format
 * @type String
 * @cat Plugins/Methods/Date
 * @author Kelvin Luck
 */
//Date.format = 'dd/mm/yyyy';
//Date.format = 'mm/dd/yyyy';
Date.format = 'yyyy-mm-dd';
//Date.format = 'dd mmm yy';

/**
 * The first two numbers in the century to be used when decoding a two digit year. Since a two digit year is ambiguous (and date.setYear
 * only works with numbers < 99 and so doesn't allow you to set years after 2000) we need to use this to disambiguate the two digit year codes.
 *
 * @name format
 * @type String
 * @cat Plugins/Methods/Date
 * @author Kelvin Luck
 */
Date.fullYearStart = '20';

(function() {

	/**
	 * Adds a given method under the given name 
	 * to the Date prototype if it doesn't
	 * currently exist.
	 *
	 * @private
	 */
	function add(name, method) {
		if( !Date.prototype[name] ) {
			Date.prototype[name] = method;
		}
	};
	
	/**
	 * Checks if the year is a leap year.
	 *
	 * @example var dtm = new Date("01/12/2008");
	 * dtm.isLeapYear();
	 * @result true
	 *
	 * @name isLeapYear
	 * @type Boolean
	 * @cat Plugins/Methods/Date
	 */
	add("isLeapYear", function() {
		var y = this.getFullYear();
		return (y%4==0 && y%100!=0) || y%400==0;
	});
	
	/**
	 * Checks if the day is a weekend day (Sat or Sun).
	 *
	 * @example var dtm = new Date("01/12/2008");
	 * dtm.isWeekend();
	 * @result false
	 *
	 * @name isWeekend
	 * @type Boolean
	 * @cat Plugins/Methods/Date
	 */
	add("isWeekend", function() {
		return this.getDay()==0 || this.getDay()==6;
	});
	
	/**
	 * Check if the day is a day of the week (Mon-Fri)
	 * 
	 * @example var dtm = new Date("01/12/2008");
	 * dtm.isWeekDay();
	 * @result false
	 * 
	 * @name isWeekDay
	 * @type Boolean
	 * @cat Plugins/Methods/Date
	 */
	add("isWeekDay", function() {
		return !this.isWeekend();
	});
	
	/**
	 * Gets the number of days in the month.
	 * 
	 * @example var dtm = new Date("01/12/2008");
	 * dtm.getDaysInMonth();
	 * @result 31
	 * 
	 * @name getDaysInMonth
	 * @type Number
	 * @cat Plugins/Methods/Date
	 */
	add("getDaysInMonth", function() {
		return [31,(this.isLeapYear() ? 29:28),31,30,31,30,31,31,30,31,30,31][this.getMonth()];
	});
	
	/**
	 * Gets the name of the day.
	 * 
	 * @example var dtm = new Date("01/12/2008");
	 * dtm.getDayName();
	 * @result 'Saturday'
	 * 
	 * @example var dtm = new Date("01/12/2008");
	 * dtm.getDayName(true);
	 * @result 'Sat'
	 * 
	 * @param abbreviated Boolean When set to true the name will be abbreviated.
	 * @name getDayName
	 * @type String
	 * @cat Plugins/Methods/Date
	 */
	add("getDayName", function(abbreviated) {
		return abbreviated ? Date.abbrDayNames[this.getDay()] : Date.dayNames[this.getDay()];
	});

	/**
	 * Gets the name of the month.
	 * 
	 * @example var dtm = new Date("01/12/2008");
	 * dtm.getMonthName();
	 * @result 'Janurary'
	 *
	 * @example var dtm = new Date("01/12/2008");
	 * dtm.getMonthName(true);
	 * @result 'Jan'
	 * 
	 * @param abbreviated Boolean When set to true the name will be abbreviated.
	 * @name getDayName
	 * @type String
	 * @cat Plugins/Methods/Date
	 */
	add("getMonthName", function(abbreviated) {
		return abbreviated ? Date.abbrMonthNames[this.getMonth()] : Date.monthNames[this.getMonth()];
	});

	/**
	 * Get the number of the day of the year.
	 * 
	 * @example var dtm = new Date("01/12/2008");
	 * dtm.getDayOfYear();
	 * @result 11
	 * 
	 * @name getDayOfYear
	 * @type Number
	 * @cat Plugins/Methods/Date
	 */
	add("getDayOfYear", function() {
		var tmpdtm = new Date("1/1/" + this.getFullYear());
		return Math.floor((this.getTime() - tmpdtm.getTime()) / 86400000);
	});
	
	/**
	 * Get the number of the week of the year.
	 * 
	 * @example var dtm = new Date("01/12/2008");
	 * dtm.getWeekOfYear();
	 * @result 2
	 * 
	 * @name getWeekOfYear
	 * @type Number
	 * @cat Plugins/Methods/Date
	 */
	add("getWeekOfYear", function() {
		return Math.ceil(this.getDayOfYear() / 7);
	});

	/**
	 * Set the day of the year.
	 * 
	 * @example var dtm = new Date("01/12/2008");
	 * dtm.setDayOfYear(1);
	 * dtm.toString();
	 * @result 'Tue Jan 01 2008 00:00:00'
	 * 
	 * @name setDayOfYear
	 * @type Date
	 * @cat Plugins/Methods/Date
	 */
	add("setDayOfYear", function(day) {
		this.setMonth(0);
		this.setDate(day);
		return this;
	});
	
	/**
	 * Add a number of years to the date object.
	 * 
	 * @example var dtm = new Date("01/12/2008");
	 * dtm.addYears(1);
	 * dtm.toString();
	 * @result 'Mon Jan 12 2009 00:00:00'
	 * 
	 * @name addYears
	 * @type Date
	 * @cat Plugins/Methods/Date
	 */
	add("addYears", function(num) {
		this.setFullYear(this.getFullYear() + num);
		return this;
	});
	
	/**
	 * Add a number of months to the date object.
	 * 
	 * @example var dtm = new Date("01/12/2008");
	 * dtm.addMonths(1);
	 * dtm.toString();
	 * @result 'Tue Feb 12 2008 00:00:00'
	 * 
	 * @name addMonths
	 * @type Date
	 * @cat Plugins/Methods/Date
	 */
	add("addMonths", function(num) {
		var tmpdtm = this.getDate();
		
		this.setMonth(this.getMonth() + num);
		
		if (tmpdtm > this.getDate())
			this.addDays(-this.getDate());
		
		return this;
	});
	
	/**
	 * Add a number of days to the date object.
	 * 
	 * @example var dtm = new Date("01/12/2008");
	 * dtm.addDays(1);
	 * dtm.toString();
	 * @result 'Sun Jan 13 2008 00:00:00'
	 * 
	 * @name addDays
	 * @type Date
	 * @cat Plugins/Methods/Date
	 */
	add("addDays", function(num) {
		//this.setDate(this.getDate() + num);
		this.setTime(this.getTime() + (num*86400000) );
		return this;
	});
	
	/**
	 * Add a number of hours to the date object.
	 * 
	 * @example var dtm = new Date("01/12/2008");
	 * dtm.addHours(24);
	 * dtm.toString();
	 * @result 'Sun Jan 13 2008 00:00:00'
	 * 
	 * @name addHours
	 * @type Date
	 * @cat Plugins/Methods/Date
	 */
	add("addHours", function(num) {
		this.setHours(this.getHours() + num);
		return this;
	});

	/**
	 * Add a number of minutes to the date object.
	 * 
	 * @example var dtm = new Date("01/12/2008");
	 * dtm.addMinutes(60);
	 * dtm.toString();
	 * @result 'Sat Jan 12 2008 01:00:00'
	 * 
	 * @name addMinutes
	 * @type Date
	 * @cat Plugins/Methods/Date
	 */
	add("addMinutes", function(num) {
		this.setMinutes(this.getMinutes() + num);
		return this;
	});
	
	/**
	 * Add a number of seconds to the date object.
	 * 
	 * @example var dtm = new Date("01/12/2008");
	 * dtm.addSeconds(60);
	 * dtm.toString();
	 * @result 'Sat Jan 12 2008 00:01:00'
	 * 
	 * @name addSeconds
	 * @type Date
	 * @cat Plugins/Methods/Date
	 */
	add("addSeconds", function(num) {
		this.setSeconds(this.getSeconds() + num);
		return this;
	});
	
	/**
	 * Sets the time component of this Date to zero for cleaner, easier comparison of dates where time is not relevant.
	 * 
	 * @example var dtm = new Date();
	 * dtm.zeroTime();
	 * dtm.toString();
	 * @result 'Sat Jan 12 2008 00:01:00'
	 * 
	 * @name zeroTime
	 * @type Date
	 * @cat Plugins/Methods/Date
	 * @author Kelvin Luck
	 */
	add("zeroTime", function() {
		this.setMilliseconds(0);
		this.setSeconds(0);
		this.setMinutes(0);
		this.setHours(0);
		return this;
	});
	
	/**
	 * Returns a string representation of the date object according to Date.format.
	 * (Date.toString may be used in other places so I purposefully didn't overwrite it)
	 * 
	 * @example var dtm = new Date("01/12/2008");
	 * dtm.asString();
	 * @result '12/01/2008' // (where Date.format == 'dd/mm/yyyy'
	 * 
	 * @name asString
	 * @type Date
	 * @cat Plugins/Methods/Date
	 * @author Kelvin Luck
	 */
	add("asString", function(format) {
		var r = format || Date.format;
		if (r.split('mm').length>1) { // ugly workaround to make sure we don't replace the m's in e.g. noveMber
			r = r.split('mmmm').join(this.getMonthName(false))
				.split('mmm').join(this.getMonthName(true))
				.split('mm').join(_zeroPad(this.getMonth()+1))
		} else {
			r = r.split('m').join(this.getMonth()+1);
		}
		r = r.split('yyyy').join(this.getFullYear())
			.split('yy').join((this.getFullYear() + '').substring(2))
			.split('dd').join(_zeroPad(this.getDate()))
			.split('d').join(this.getDate());
		return r;
	});
	
	/**
	 * Returns a new date object created from the passed String according to Date.format or false if the attempt to do this results in an invalid date object
	 * (We can't simple use Date.parse as it's not aware of locale and I chose not to overwrite it incase it's functionality is being relied on elsewhere)
	 *
	 * @example var dtm = Date.fromString("12/01/2008");
	 * dtm.toString();
	 * @result 'Sat Jan 12 2008 00:00:00' // (where Date.format == 'dd/mm/yyyy'
	 * 
	 * @name fromString
	 * @type Date
	 * @cat Plugins/Methods/Date
	 * @author Kelvin Luck
	 */
	Date.fromString = function(s)
	{
		var f = Date.format;
		
		var d = new Date('01/01/1970');
		
		if (s == '') return d;

		s = s.toLowerCase();
		var matcher = '';
		var order = [];
		var r = /(dd?d?|mm?m?|yy?yy?)+([^(m|d|y)])?/g;
		var results;
		while ((results = r.exec(f)) != null)
		{
			switch (results[1]) {
				case 'd':
				case 'dd':
				case 'm':
				case 'mm':
				case 'yy':
				case 'yyyy':
					matcher += '(\\d+\\d?\\d?\\d?)+';
					order.push(results[1].substr(0, 1));
					break;
				case 'mmm':
					matcher += '([a-z]{3})';
					order.push('M');
					break;
			}
			if (results[2]) {
				matcher += results[2];
			}
			
		}
		var dm = new RegExp(matcher);
		var result = s.match(dm);
		for (var i=0; i<order.length; i++) {
			var res = result[i+1];
			switch(order[i]) {
				case 'd':
					d.setDate(res);
					break;
				case 'm':
					d.setMonth(Number(res)-1);
					break;
				case 'M':
					for (var j=0; j<Date.abbrMonthNames.length; j++) {
						if (Date.abbrMonthNames[j].toLowerCase() == res) break;
					}
					d.setMonth(j);
					break;
				case 'y':
					d.setYear(res);
					break;
			}
		}

		return d;
	};
	
	// utility method
	var _zeroPad = function(num) {
		var s = '0'+num;
		return s.substring(s.length-2)
		//return ('0'+num).substring(-2); // doesn't work on IE :(
	};
	
})();


/**
 * reflex.js 1.5 (10-Aug-2010)
 * (c) by Christian Effenberger 
 * All Rights Reserved
 * Source: reflex.netzgesta.de
 * Distributed under Netzgestade Software License Agreement
 * http://www.netzgesta.de/cvi/LICENSE.txt
 * License permits free of charge
 * use on non-commercial and 
 * private web sites only 
**/

var tmp = navigator.appName == 'Microsoft Internet Explorer' && navigator.userAgent.indexOf('Opera') < 1 ? 1 : 0;
if(tmp) var isIE = document.namespaces && ( !document.documentMode || document.documentMode < 9 ) ? 1 : 0;

if(isIE) {
	if(document.namespaces['v']==null) {
		var e=["shape","shapetype","group","background","path","formulas","handles","fill","stroke","shadow","textbox","textpath","imagedata","line","polyline","curve","roundrect","oval","rect","arc","image"],s=document.createStyleSheet(); 
		for(var i=0; i<e.length; i++) {s.addRule("v\\:"+e[i],"behavior: url(#default#VML);");} document.namespaces.add("v","urn:schemas-microsoft-com:vml");
	} 
}

function getImages(className){
	var children = document.getElementsByTagName('img'); 
	var elements = new Array(); var i = 0;
	var child; var classNames; var j = 0;
	for (i=0;i<children.length;i++) {
		child = children[i];
		classNames = child.className.split(' ');
		for (var j = 0; j < classNames.length; j++) {
			if (classNames[j] == className) {
				elements.push(child);
				break;
			}
		}
	}
	return elements;
}

function getClasses(classes,string){
	var temp = '';
	for (var j=0;j<classes.length;j++) {
		if (classes[j] != string) {
			if (temp) {
				temp += ' '
			}
			temp += classes[j];
		}
	}
	return temp;
}

function getClassValue(classes,string){
	var temp = 0; var pos = string.length;
	for (var j=0;j<classes.length;j++) {
		if (classes[j].indexOf(string) == 0) {
			temp = Math.min(classes[j].substring(pos),100);
			break;
		}
	}
	return Math.max(0,temp);
}
function getClassColor(classes,string){
	var temp = 0; var str = ''; var pos = string.length;
	for (var j=0;j<classes.length;j++) {
		if (classes[j].indexOf(string) == 0) {
			temp = classes[j].substring(pos);
			str = '#' + temp.toLowerCase();
			break;
		}
	}
	if(str.match(/^#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]$/i)) {return str; }else {return 0;}
}
function getClassAttribute(classes,string){
	var temp = 0; var pos = string.length;
	for (var j=0;j<classes.length;j++) {
		if (classes[j].indexOf(string) == 0) {
			temp = 1; 
			break;
		}
	}
	return temp;
}

function clipPolyRight(ctx,x,y,w,h,t,d,s) {
	var z = (h-t-t)/h;
	ctx.beginPath(); 
	ctx.moveTo(x,y); ctx.lineTo(w,y+t); ctx.lineTo(w,y+h-t); ctx.lineTo(x,y+h);
	if(d>0) {ctx.lineTo(x,y+h-s); ctx.lineTo(w,y+h-t-(z*s)); ctx.lineTo(w,y+h-t-(z*(s+d))); ctx.lineTo(x,y+h-s-d);}
	ctx.closePath();
}	

function clipPolyLeft(ctx,x,y,w,h,t,d,s) {
	var z = (h-t-t)/h;
	ctx.beginPath(); 
	ctx.moveTo(x,y+t); ctx.lineTo(w,y+1); ctx.lineTo(w,y+h); ctx.lineTo(x,y+h-t);
	if(d>0) {ctx.lineTo(x,y+h-t-(z*s)); ctx.lineTo(w,y+h-s); ctx.lineTo(w,y+h-s-d); ctx.lineTo(x,y+h-t-(z*(s+d))); }
	ctx.closePath();
}
	
function strokePolyRight(ctx,x,y,w,h,t,d,s,b) {
	var z = (h-t-t)/h; var n = (b>=1?1:0);
	ctx.beginPath(); 
	ctx.moveTo(x+b,y+b); ctx.lineTo(w-b,y+t+b-n); ctx.lineTo(w-b,y+h-t-(z*(s+d))-b); ctx.lineTo(x+b,y+h-s-d-b);
	ctx.closePath();
}
function strokePolyLeft(ctx,x,y,w,h,t,d,s,b) {
	var z = (h-t-t)/h; var n = (b>=1?1:0);
	ctx.beginPath(); 
	ctx.moveTo(x+b,y+t+b-n); ctx.lineTo(w-b,y+b); ctx.lineTo(w-b,y+h-s-d-b); ctx.lineTo(x+b,y+h-t-(z*(s+d))-b);
	ctx.closePath();
}

function clipReflex(ctx,x,y,w,h,t,d,s,o) {
	var z = (h-t-t)/h;
	ctx.beginPath();
	if(o=='r') {
		ctx.moveTo(x,y+h-s); ctx.lineTo(w,y+h-t-(z*s)); ctx.lineTo(w,y+h-t+2); ctx.lineTo(x,y+h+2);
	}else {
		ctx.moveTo(w,y+h+2); ctx.lineTo(w,y+h-s); ctx.lineTo(x,y+h-t-(z*s)); ctx.lineTo(x,y+h-t+2); 
	}
	ctx.closePath();
}

function clearReflex(ctx,x,y,w,h,t,d,s,o) {
	var z = (h-t-t)/h;
	ctx.beginPath();
	if(o=='r') {
		ctx.moveTo(x,y+h-1); ctx.lineTo(w,y+h-t-1); ctx.lineTo(w,y+h-t+1); ctx.lineTo(x,y+h+1);
	}else {
		ctx.moveTo(w,y+h-1); ctx.lineTo(x,y+h-t-1); ctx.lineTo(x,y+h-t+1); ctx.lineTo(w,y+h+1);
	}
	ctx.closePath();
}

function addIEReflex() {
	var theimages = getImages('reflex');
	var image, object, vml, display, flt, classes, newClasses, head, fill, flex, foot;  
	var i, j, z, q, p, dist, stl, iter, rest, radi, higt, divs, opac, colr, bord, wide, half, ih, iw, ww, hh, fb, xb;  
	var itiltright, itiltnone, itiltleft, iheight, iopacity, idistance, iborder, icolor, iradius;
	var children = document.getElementsByTagName('img'); var tilt = 'r';
	for(i=0;i<theimages.length;i++) {	
		image = theimages[i]; object = image.parentNode; j = 0;
		itiltright = 0; itiltnone = 0; itiltleft = 0; 
		iheight = 33; iopacity = 33; idistance = 0;
		iborder = 0; icolor = '#000000'; iradius = 0; 
		if(image.width>=32 && image.height>=32) {
			classes = image.className.split(' ');
			iradius = getClassValue(classes,"iradius");
			iborder = getClassValue(classes,"iborder");
			iheight = getClassValue(classes,"iheight");
			iopacity = getClassValue(classes,"iopacity");
			idistance = getClassValue(classes,"idistance");
			icolor = getClassColor(classes,"icolor");
			itiltleft = getClassAttribute(classes,"itiltleft");
			itiltright = getClassAttribute(classes,"itiltright");
			itiltnone = getClassAttribute(classes,"itiltnone");
			if(itiltright==true) tilt = 'r';
			if(itiltnone==true) tilt = 'n';
			if(itiltleft==true) tilt = 'l';
			newClasses = getClasses(classes,"reflex");	
			ih = image.height; iw = image.width; dist = idistance; 
			radi = Math.min(iradius,Math.max(iw,ih)/10);
			colr = (icolor!=0?icolor:'#000000');
			opac = (iopacity>0?iopacity:33);
			divs = 100/(iheight>=10?iheight:33); 
			p = (iheight>=10?iheight:33)/100;
			higt = Math.floor(ih/divs); wide = 12;
			if(iborder==1) { bord = 0; }else {
				iborder = Math.floor(Math.round(Math.min(Math.min(iborder,higt/4),Math.max(iw,ih)/20))/2)*2;
				bord = (iborder>0?iborder/2:0); 
			}
			ww = parseInt(iw/20); q = 1;
			iter = Math.floor((iw-ww-ww)/wide); 
			rest = ((iw-ww-ww)%wide); half = (((iw-ww-ww)/wide)-1)/2;
			hh = iter+(rest>0?1:0); z = (ih-hh-hh)/ih;
			display = (image.currentStyle.display.toLowerCase()=='block')?'block':'inline-block';
			vml = document.createElement(['<var style="overflow:hidden;display:' + display + ';width:' + iw + 'px;height:' + (ih+higt+dist) + 'px;padding:0;">'].join(''));
			flt = image.currentStyle.styleFloat.toLowerCase();
			display = (flt=='left'||flt=='right')?'inline':display;
			head = '<v:group style="zoom:1; display:' + display + '; margin:-1px 0 0 -1px; padding:0; position:relative; width:' + iw + 'px;height:' + (ih+higt+dist) + 'px;" coordsize="' + iw + ',' + (ih+higt+dist) + '">';
			if(tilt=='n') {
				fill = '<v:rect strokeweight="0" filled="t" stroked="f" fillcolor="#ffffff" style="position:absolute; margin:-1px 0 0 -1px; padding:0; top:0px; left:0px; width:' + iw + 'px;height:' + ih + 'px;"><v:fill src="' + image.src + '" type="frame" /></v:rect>';
				fb = '<v:rect strokeweight="'+iborder+'" strokecolor="'+colr+'" filled="f" stroked="'+(bord>0||iborder>0?'t':'f')+'" fillcolor="#ffffff" style="position:absolute; margin:-1px 0 0 -1px; padding:0; top:'+bord+'px; left:'+bord+'px; width:'+(iw-bord-bord)+'px;height:'+(ih-bord-bord)+'px;"></v:rect>';
				xb = '<v:rect strokeweight="'+iborder+'" strokecolor="'+colr+'" filled="f" stroked="'+(bord>0||iborder>0?'t':'f')+'" fillcolor="#ffffff" style="position:absolute; margin:-1px 0 0 -1px; padding:0; top:'+(ih+dist+bord)+'px; left:'+bord+'px; width:'+(iw-bord-bord)+'px;height:'+(higt-bord-bord)+'px; filter: progid:DXImageTransform.Microsoft.Alpha(opacity='+opac+',style=1,finishOpacity=0,startx=0,starty=0,finishx=0,finishy='+parseInt(ih*0.66)+');"></v:rect>';
				flex = '<v:rect strokeweight="0" filled="t" stroked="f" fillcolor="#ffffff" style="position:absolute; margin:-1px 0 0 -1px; padding:0; top:'+(ih+dist)+'px; left:0px; width:' + iw + 'px;height:' + higt + 'px; filter:flipv progid:DXImageTransform.Microsoft.Alpha(opacity='+opac+',style=1,finishOpacity=0,startx=0,starty=0,finishx=0,finishy='+ih+');"><v:fill origin="0,0" position="0,-'+(divs/2-0.5)+'" size="1,'+(1*divs)+'" src="' + image.src + '" type="frame" /></v:rect>';
			}else if(tilt=='r') {
				fill = '<v:rect strokeweight="0" filled="t" stroked="f" fillcolor="#808080" style="position:absolute; margin:-1px 0 0 -1px;padding:0 ;width:' + iw + 'px;height:' + (ih+higt+dist) + 'px;"><v:fill color="#808080" opacity="0.0" /></v:rect><v:shape strokeweight="0" filled="t" stroked="f" fillcolor="#ffffff" coordorigin="0,0" coordsize="'+iw+','+ih+'" path="m '+ww+',0 l '+ww+','+ih+','+(iw-ww)+','+(ih-hh)+','+(iw-ww)+','+hh+' x e" style="position:absolute; margin:-1px 0 0 -1px; padding:0; top:0px; left:0px; width:' + iw + 'px;height:' + ih + 'px;"><v:fill src="' + image.src + '" type="frame" /></v:shape>';
				for(j=0;j<iter;j++) {
					if(j==(iter-1)) q = (rest>0?1:0);
					fill += '<v:shape strokeweight="0" filled="t" stroked="f" fillcolor="#808080" coordorigin="0,0" coordsize="'+iw+','+ih+'" path="m '+(ww+(j*wide))+','+j+' l '+(q+ww+((j+1)*wide))+','+(j+1)+','+(q+ww+((j+1)*wide))+','+(ih-1-j)+','+(ww+(j*wide))+','+(ih-j)+' x e" style="position:absolute; margin: -1px 0 0 -1px; padding:0px; top:0px; left:0px; width:' + iw + 'px; height:' + ih + 'px;"><v:fill origin="0,0" position="'+(half-j)+',0" size="'+((iw-ww-ww)/wide)+',1" type="frame" src="' + image.src + '" /></v:shape>';
				}
				if(rest>0) {
					fill += '<v:shape strokeweight="0" filled="t" stroked="f" fillcolor="#808080" coordorigin="0,0" coordsize="'+iw+','+ih+'" path="m '+(ww+(j*wide))+','+j+' l '+(ww+((j+1)*wide))+','+(j+1)+','+(ww+((j+1)*wide))+','+(ih-1-j)+','+(ww+(j*wide))+','+(ih-j)+' x e" style="position:absolute; margin: -1px 0 0 -1px; padding:0px; top:0px; left:0px; width:' + iw + 'px; height:' + ih + 'px;"><v:fill origin="0,0" position="'+(half-j)+',0" size="'+((iw-ww-ww)/wide)+',1" type="frame" src="' + image.src + '" /></v:shape>';
				}
				q = ((iter*z)/(ih/100))/2; 
				if(bord>0||iborder>0) {
					fb = '<v:shape strokeweight="'+iborder+'" strokecolor="'+colr+'" filled="f" stroked="'+(bord>0||iborder>0?'t':'f')+'" coordorigin="0,0" coordsize="'+iw+','+ih+'" path="m '+(ww+bord)+','+bord+' l '+(ww+bord)+','+(ih-bord)+','+(iw-ww-bord)+','+(ih-hh-bord)+','+(iw-ww-bord)+','+(hh+bord)+' x e" style="position:absolute; margin:-1px 0 0 -1px; padding:0; top:0px; left:0px; width:' + iw + 'px;height:' + ih + 'px;"></v:shape>';
					xb = '<v:shape strokeweight="'+iborder+'" strokecolor="'+colr+'" stroked="'+(bord>0||iborder>0?'t':'f')+'" filled="f" coordorigin="0,0" coordsize="'+iw+','+(hh+higt+dist)+'" path="m '+(ww+bord)+','+(hh+dist+bord)+' l '+(ww+bord)+','+(higt+hh+dist-bord)+','+(iw-ww-bord)+','+(parseInt((higt+dist)*z)-bord)+','+(iw-ww-bord)+','+(parseInt(dist*z)+bord)+' x e" style="position:absolute; margin:-1px 0 0 -1px; padding:0; top:'+(ih-hh+dist)+'px; left:0px; width:' + iw + 'px;height:' + (hh+higt+dist) + 'px; flip: y; filter:flipv progid:DXImageTransform.Microsoft.Alpha(opacity='+opac+',style=1,finishOpacity=0,startx=0,starty=0,finishx='+q+',finishy=80);"></v:shape>';
				}else {fb = ''; xb = ''; }	
				flex = '<v:shape strokeweight="0" stroked="f" filled="t" fillcolor="#808080" coordorigin="0,0" coordsize="'+iw+','+(hh+higt+dist)+'" path="m '+ww+','+(hh+dist)+' l '+ww+','+(higt+hh+dist)+','+(iw-ww)+','+parseInt((higt+dist)*z)+','+(iw-ww)+','+parseInt(dist*z)+' x e" style="position:absolute; margin:-1px 0 0 -1px; padding:0; top:'+(ih-hh+dist)+'px; left:0px; width:' + iw + 'px;height:' + (hh+higt+dist) + 'px; flip: y; filter:flipv progid:DXImageTransform.Microsoft.Alpha(opacity='+opac+',style=1,finishOpacity=0,startx=0,starty=0,finishx='+q+',finishy=90);"><v:fill origin="0,0" position="0,-'+((divs/2)-0.5)+'" size="1,'+(divs)+'" src="' + image.src + '" type="frame" /></v:shape>';
			}else if(tilt=='l') {
				fill = '<v:rect strokeweight="0" filled="t" stroked="f" fillcolor="#808080" style="position:absolute; margin:-1px 0 0 -1px;padding:0 ;width:' + iw + 'px;height:' + (ih+higt+dist) + 'px;"><v:fill color="#808080" opacity="0.0" /></v:rect><v:shape strokeweight="0" filled="t" stroked="f" fillcolor="#ffffff" coordorigin="0,0" coordsize="'+iw+','+ih+'" path="m '+ww+','+hh+' l '+ww+','+(ih-hh)+','+(iw-ww)+','+ih+','+(iw-ww)+',0 x e" style="position:absolute; margin:-1px 0 0 -1px; padding:0; top:0px; left:0px; width:' + iw + 'px;height:' + ih + 'px;"><v:fill src="' + image.src + '" type="frame" /></v:shape>';
				for(j=0;j<iter;j++) {
					if(j==(iter-1)) q = (rest>0?1:0);
					fill += '<v:shape strokeweight="0" filled="t" stroked="f" fillcolor="#808080" coordorigin="0,0" coordsize="'+iw+','+ih+'" path="m '+(ww+(j*wide))+','+(iter-j)+' l '+(q+ww+((j+1)*wide))+','+(iter-1-j)+','+(q+ww+((j+1)*wide))+','+(ih-1-iter+j)+','+(ww+(j*wide))+','+(ih-iter+j)+' x e" style="position:absolute; margin: -1px 0 0 -1px; padding:0px; top:0px; left:0px; width:' + iw + 'px; height:' + ih + 'px;"><v:fill origin="0,0" position="'+(half-j)+',0" size="'+((iw-ww-ww)/wide)+',1" type="frame" src="' + image.src + '" /></v:shape>';
				}
				if(rest>0) {
					fill += '<v:shape strokeweight="0" filled="t" stroked="f" fillcolor="#808080" coordorigin="0,0" coordsize="'+iw+','+ih+'" path="m '+(ww+(j*wide))+','+(iter-j)+' l '+(ww+((j+1)*wide))+','+(iter-1-j)+','+(ww+((j+1)*wide))+','+(ih-1-iter+j)+','+(ww+(j*wide))+','+(ih-iter+j)+' x e" style="position:absolute; margin: -1px 0 0 -1px; padding:0px; top:0px; left:0px; width:' + iw + 'px; height:' + ih + 'px;"><v:fill origin="0,0" position="'+(half-j)+',0" size="'+((iw-ww-ww)/wide)+',1" type="frame" src="' + image.src + '" /></v:shape>';
				}
				q = 100-(((iter*z)/(ih/100))/2); 
				if(bord>0||iborder>0) {
					fb = '<v:shape strokeweight="'+iborder+'" strokecolor="'+colr+'" filled="f" stroked="'+(bord>0||iborder>0?'t':'f')+'" coordorigin="0,0" coordsize="'+iw+','+ih+'" path="m '+(ww+bord)+','+(hh+bord)+' l '+(ww+bord)+','+(ih-hh-bord)+','+(iw-ww-bord)+','+(ih-bord)+','+(iw-ww-bord)+','+bord+' x e" style="position:absolute; margin:-1px 0 0 -1px; padding:0; top:0px; left:0px; width:' + iw + 'px;height:' + ih + 'px;"></v:shape>';
					xb = '<v:shape strokeweight="'+iborder+'" strokecolor="'+colr+'" stroked="'+(bord>0||iborder>0?'t':'f')+'" filled="f" coordorigin="0,0" coordsize="'+iw+','+(hh+higt+dist)+'" path="m '+(ww+bord)+','+(parseInt(dist*z)+bord)+' l '+(ww+bord)+','+(parseInt((higt+dist)*z)-bord)+','+(iw-ww-bord)+','+(higt+hh+dist-bord)+','+(iw-ww-bord)+','+(hh+dist+bord)+' x e" style="position:absolute; margin:-1px 0 0 -1px; padding:0; top:'+(ih-hh+dist)+'px; left:0px; width:' + iw + 'px;height:' + (hh+higt+dist) + 'px; flip: y; filter:flipv progid:DXImageTransform.Microsoft.Alpha(opacity='+opac+',style=1,finishOpacity=0,startx=100,starty=0,finishx='+q+',finishy=80);"></v:shape>';
				}else {fb = ''; xb = ''; }
				flex = '<v:shape strokeweight="0" filled="t" stroked="f" fillcolor="#808080" coordorigin="0,0" coordsize="'+iw+','+(hh+higt+dist)+'" path="m '+ww+','+parseInt(dist*z)+' l '+ww+','+parseInt((higt+dist)*z)+','+(iw-ww)+','+(higt+hh+dist)+','+(iw-ww)+','+(hh+dist)+' x e" style="position:absolute; margin:-1px 0 0 -1px; padding:0; top:'+(ih-hh+dist)+'px; left:0px; width:' + iw + 'px;height:' + (hh+higt+dist) + 'px; flip: y; filter:flipv progid:DXImageTransform.Microsoft.Alpha(opacity='+opac+',style=1,finishOpacity=0,startx=100,starty=0,finishx='+q+',finishy=90);"><v:fill origin="0,0" position="0,-'+((divs/2)-0.5)+'" size="1,'+(divs)+'" src="' + image.src + '" type="frame" /></v:shape>';
			}
			foot = '</v:group>';
			vml.innerHTML = head+flex+xb+fill+fb+foot;
			vml.className = newClasses;
			vml.style.cssText = image.style.cssText;
			vml.style.height = ih+higt+dist+'px'; vml.width = iw;
			vml.height = ih+higt+dist; vml.style.width = iw+'px';
			vml.src = image.src; vml.alt = image.alt;
			if(image.id!='') vml.id = image.id; 
			if(image.title!='') vml.title = image.title;
			if(image.getAttribute('onclick')!='') vml.setAttribute('onclick',image.getAttribute('onclick'));
			object.replaceChild(vml,image);
			if(tilt=='r') {tilt='n';}else if(tilt=='n') {tilt='l';}else if(tilt=='l') {tilt='r';}
			vml.style.visibility = 'visible';
		}
	}
}

function addReflex() {
	var theimages = getImages('reflex');
	var image, object, canvas, context, classes, newClasses, resource, tmp;  
	var i, j, dist, stl, iter, rest, radi, higt, divs, opac, colr, bord, wide, ih, iw;  
	var itiltright, itiltnone, itiltleft, iheight, iopacity, idistance, iborder, icolor, iradius;
	var children = document.getElementsByTagName('img'); var tilt = 'r';
	var tmp = navigator.userAgent.indexOf('WebKit')!=-1?true:false;
	var isWK=(tmp==true?window.postMessage?false:window.external?false:true:false);
	var isCR=(tmp==true&&window.external?true:false);
	for(i=0;i<theimages.length;i++) {	
		image = theimages[i]; object = image.parentNode; tmp = 0;
		itiltright = 0; itiltnone = 0; itiltleft = 0; 
		iheight = 33; iopacity = 33; idistance = 0;
		iborder = 0; icolor = '#000000'; iradius = 0; 
		canvas = document.createElement('canvas');
		if(canvas.getContext && image.width>=32 && image.height>=32) {
			classes = image.className.split(' ');
			iradius = getClassValue(classes,"iradius");
			iborder = getClassValue(classes,"iborder");
			iheight = getClassValue(classes,"iheight");
			iopacity = getClassValue(classes,"iopacity");
			idistance = getClassValue(classes,"idistance");
			icolor = getClassColor(classes,"icolor");
			itiltleft = getClassAttribute(classes,"itiltleft");
			itiltright = getClassAttribute(classes,"itiltright");
			itiltnone = getClassAttribute(classes,"itiltnone");
			if(itiltright==true) tilt = 'r';
			if(itiltnone==true) tilt = 'n';
			if(itiltleft==true) tilt = 'l';
			newClasses = getClasses(classes,"reflex");	
			ih = image.height; iw = image.width; dist = idistance; 
			radi = Math.min(iradius,Math.max(iw,ih)/10);
			colr = (icolor!=0?icolor:'#000000');
			opac = (100-(iopacity>0?iopacity:33))/100;
			divs = 100/(iheight>=10?iheight:33);
			higt = Math.floor(image.height/divs);
			iborder = Math.round(Math.min(Math.min(iborder,higt/4),Math.max(iw,ih)/20));
			wide = 12; bord = (iborder>0?iborder/2:0);
			canvas.className = newClasses;
			canvas.style.cssText = image.style.cssText;
			canvas.style.height = ih+higt+dist+'px'; canvas.width = iw;
			canvas.style.width = iw+'px'; canvas.height = ih+higt+dist;
			canvas.src = image.src; canvas.alt = image.alt;
			if(image.id!='') canvas.id = image.id;
			if(image.title!='') canvas.title = image.title;
			if(image.getAttribute('onclick')!='') canvas.setAttribute('onclick',image.getAttribute('onclick'));
			iter = Math.floor(canvas.width/wide); rest = (canvas.width%wide);
			if(tilt=='l'||tilt=='r') {
				resource = document.createElement('canvas');
				if(resource.getContext) {
					resource.style.position = 'fixed';
					resource.style.left = -9999+'px';
					resource.style.top = 0+'px';
					resource.height = canvas.height;
					resource.width = canvas.width;
					resource.style.height = canvas.height+'px';
					resource.style.width = canvas.width+'px';
					if(isWK) {object.appendChild(resource);}
				}
			}
			context = canvas.getContext("2d");
			object.replaceChild(canvas,image);
			context.clearRect(0,0,canvas.width,canvas.height);
			if(!isCR) {
				context.globalCompositeOperation = "source-over";
				context.fillStyle = "rgba(0,0,0,0)";
				context.fillRect(0,0,canvas.width,canvas.height);
			}
			context.save();
			context.translate(0,canvas.height);
			context.scale(1,-1);
			context.drawImage(image,0,-(canvas.height-higt-higt-dist),canvas.width,canvas.height-higt-dist);
			context.restore();
			if(iborder>0) {
				context.strokeStyle = colr;
				context.lineWidth = iborder;
				context.beginPath(); 
				context.rect(bord,canvas.height-higt+bord,canvas.width-iborder,higt);
				context.closePath();
				context.stroke();
			}
			if(!isWK||tilt=='n') {
				context.globalCompositeOperation = "destination-out";
				stl = context.createLinearGradient(0,canvas.height-higt,0,canvas.height);
				stl.addColorStop(1,"rgba(0,0,0,1.0)");
				stl.addColorStop(0,"rgba(0,0,0,"+opac+")");
				context.fillStyle = stl;
			}
			if(isWK) {
				context.beginPath(); 
				context.rect(0,canvas.height-higt,canvas.width,higt);
				context.closePath();
				context.fill();
			}else {
				context.fillRect(0,canvas.height-higt,canvas.width,higt);
			}
			context.globalCompositeOperation = "source-over";
			context.drawImage(image,0,0,iw,ih);
			context.save();
			if(isWK&&dist>0&&tilt!='n') {
				context.fillStyle = '#808080';
				context.fillRect(0,canvas.height-higt-dist,canvas.width,dist);
			}
			if(iborder>0) {
				if(tilt=='n') {
					context.beginPath(); 
					context.rect(bord,bord,canvas.width-iborder,canvas.height-higt-dist-iborder);
					context.closePath();
					context.stroke();
				}
			}
			if(tilt=='l'||tilt=='r') {
				if(resource.getContext) {
					context = resource.getContext("2d");
					context.globalCompositeOperation = "source-over";
					context.clearRect(0,0,resource.width,resource.height);					
					if(tilt=='r') {
						for(j=0;j<iter;j++) {
							context.drawImage(canvas,j*wide,0,wide,resource.height,j*wide,j*1,wide,resource.height-(j*2));
						}
						if(rest>0) {
							rest = canvas.width-(iter*wide);
							context.drawImage(canvas,j*wide,0,rest,resource.height,j*wide,j*1,rest,resource.height-(j*2));
						}
					}else {
						for(j=0;j<iter;j++) {
							context.drawImage(canvas,j*wide,0,wide,resource.height,j*wide,(iter-j)*1,wide,resource.height-((iter-j)*2));
						}
						if(rest>0) {
							rest = canvas.width-(iter*wide);
							context.drawImage(canvas,j*wide,0,rest,resource.height,j*wide,0,rest,resource.height);
						}
					}
					context.save();
					if(canvas.getContext) {
						context = canvas.getContext("2d");
						context.clearRect(0,0,canvas.width,canvas.height);						
						if(tilt=='r') {
							clipPolyRight(context,canvas.width/20,0,canvas.width*0.95,canvas.height,iter+(rest>0?1:0),dist,higt);
						}else {
							clipPolyLeft(context,canvas.width/20,0,canvas.width*0.95,canvas.height,iter+(rest>0?1:1),dist,higt);
						}
						context.clip();
						context.drawImage(resource,parseInt(canvas.width/20),0,parseInt(canvas.width*0.9),canvas.height);
						context.save();
						if(iborder>0) {
							context.lineWidth = iborder;
							if(tilt=='r') {
								strokePolyRight(context,canvas.width/20,0,canvas.width*0.95,canvas.height,iter+(rest>0?1:0),dist,higt,bord);
								context.stroke();
							}else {
								strokePolyLeft(context,canvas.width/20,0,canvas.width*0.95,canvas.height,iter+(rest>0?1:0),dist,higt,bord);
								context.stroke();
							}
						}
						if(isWK) {
							context.globalCompositeOperation = "destination-out";
							stl = context.createLinearGradient((tilt=='l'?canvas.width:0),canvas.height-higt,(tilt=='l'?canvas.width-parseInt(wide/divs):parseInt(wide/divs)),canvas.height);
							stl.addColorStop(1,"rgba(255,0,0,1.0)");
							stl.addColorStop(0,"rgba(255,0,0,"+opac+")");
							context.fillStyle = stl;
							clipReflex(context,canvas.width/20,0,canvas.width*0.95,canvas.height,iter+(rest>0?1:0),dist,higt,tilt);
							context.fill();
							globalCompositeOperation = "source-in";
							clearReflex(context,canvas.width/20,0,canvas.width*0.95,canvas.height,iter+(rest>0?1:0),dist,higt,tilt);
							context.clip();
							context.clearRect(0,0,canvas.width,canvas.height);
							context.clearRect(0,0,canvas.width,canvas.height);
							context.clearRect(0,0,canvas.width,canvas.height);
							context.clearRect(0,0,canvas.width,canvas.height);
							if(isWK) {object.removeChild(resource);}
						}
					}
				}
			}
			if(tilt=='r') {tilt='n';}else if(tilt=='n') {tilt='l';}else if(tilt=='l') {tilt='r';}
			context.save();
			canvas.style.visibility = 'visible';
		}
	}
}

if(window.addEventListener) window.addEventListener("load",addReflex,false);
else window.attachEvent("onload",addIEReflex);

/**
 * Cookie plugin
 *
 * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 */

/**
 * Create a cookie with the given name and value and other optional parameters.
 *
 * @example $.cookie('the_cookie', 'the_value');
 * @desc Set the value of a cookie.
 * @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true });
 * @desc Create a cookie with all available options.
 * @example $.cookie('the_cookie', 'the_value');
 * @desc Create a session cookie.
 * @example $.cookie('the_cookie', null);
 * @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain
 *       used when the cookie was set.
 *
 * @param String name The name of the cookie.
 * @param String value The value of the cookie.
 * @param Object options An object literal containing key/value pairs to provide optional cookie attributes.
 * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.
 *                             If a negative value is specified (e.g. a date in the past), the cookie will be deleted.
 *                             If set to null or omitted, the cookie will be a session cookie and will not be retained
 *                             when the the browser exits.
 * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).
 * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).
 * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will
 *                        require a secure protocol (like HTTPS).
 * @type undefined
 *
 * @name $.cookie
 * @cat Plugins/Cookie
 * @author Klaus Hartl/klaus.hartl@stilbuero.de
 */

/**
 * Get the value of a cookie with the given name.
 *
 * @example $.cookie('the_cookie');
 * @desc Get the value of a cookie.
 *
 * @param String name The name of the cookie.
 * @return The value of the cookie.
 * @type String
 *
 * @name $.cookie
 * @cat Plugins/Cookie
 * @author Klaus Hartl/klaus.hartl@stilbuero.de
 */
jQuery.cookie = function(name, value, options) {
    if (typeof value != 'undefined') { // name and value given, set cookie
        options = options || {};
        if (value === null) {
            value = '';
            options.expires = -1;
        }
        var expires = '';
        if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
            var date;
            if (typeof options.expires == 'number') {
                date = new Date();
                date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
            } else {
                date = options.expires;
            }
            expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
        }
        // CAUTION: Needed to parenthesize options.path and options.domain
        // in the following expressions, otherwise they evaluate to undefined
        // in the packed version for some reason...
        var path = options.path ? '; path=' + (options.path) : '';
        var domain = options.domain ? '; domain=' + (options.domain) : '';
        var secure = options.secure ? '; secure' : '';
        document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
    } else { // only name given, get cookie
        var cookieValue = null;
        if (document.cookie && document.cookie != '') {
            var cookies = document.cookie.split(';');
            for (var i = 0; i < cookies.length; i++) {
                var cookie = jQuery.trim(cookies[i]);
                // Does this cookie string begin with the name we want?
                if (cookie.substring(0, name.length + 1) == (name + '=')) {
                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }
};

/**
 * Coin Slider - Unique jQuery Image Slider
 * @version: 1.0 - (2010/04/04)
 * @requires jQuery v1.2.2 or later 
 * @author Ivan Lazarevic
 * Examples and documentation at: http://workshop.rs/projects/coin-slider/
 
 * Licensed under MIT licence:
 *   http://www.opensource.org/licenses/mit-license.php
**/

(function($){var params=new Array;var order=new Array;var images=new Array;var links=new Array;var linksTarget=new Array;var titles=new Array;var interval=new Array;var imagePos=new Array;var appInterval=new Array;var squarePos=new Array;var reverse=new Array;$.fn.coinslider=$.fn.CoinSlider=function(options){init=function(el){order[el.id]=new Array();images[el.id]=new Array();links[el.id]=new Array();linksTarget[el.id]=new Array();titles[el.id]=new Array();imagePos[el.id]=0;squarePos[el.id]=0;reverse[el.id]=1;params[el.id]=$.extend({},$.fn.coinslider.defaults,options);$.each($('#'+el.id+' img'),function(i,item){images[el.id][i]=$(item).attr('src');links[el.id][i]=$(item).parent().is('a')?$(item).parent().attr('href'):'';linksTarget[el.id][i]=$(item).parent().is('a')?$(item).parent().attr('target'):'';titles[el.id][i]=$(item).next().is('span')?$(item).next().html():'';$(item).hide();$(item).next().hide();});$(el).css({'background-image':'url('+images[el.id][0]+')','width':params[el.id].width,'height':params[el.id].height,'position':'relative','background-position':'top left'}).wrap("<div class='coin-slider' id='coin-slider-"+el.id+"' />");$('#'+el.id).append("<div class='cs-title' id='cs-title-"+el.id+"' style='position: absolute; bottom:0; left: 0; z-index: 1000;'></div>");$.setFields(el);if(params[el.id].navigation)
$.setNavigation(el);$.transition(el,0);$.transitionCall(el);}
$.setFields=function(el){tWidth=sWidth=parseInt(params[el.id].width/params[el.id].spw);tHeight=sHeight=parseInt(params[el.id].height/params[el.id].sph);counter=sLeft=sTop=0;tgapx=gapx=params[el.id].width-params[el.id].spw*sWidth;tgapy=gapy=params[el.id].height-params[el.id].sph*sHeight;for(i=1;i<=params[el.id].sph;i++){gapx=tgapx;if(gapy>0){gapy--;sHeight=tHeight+1;}else{sHeight=tHeight;}
for(j=1;j<=params[el.id].spw;j++){if(gapx>0){gapx--;sWidth=tWidth+1;}else{sWidth=tWidth;}
order[el.id][counter]=i+''+j;counter++;if(params[el.id].links)
$('#'+el.id).append("<a href='"+links[el.id][0]+"' class='cs-"+el.id+"' id='cs-"+el.id+i+j+"' style='width:"+sWidth+"px; height:"+sHeight+"px; float: left; position: absolute;'></a>");else
$('#'+el.id).append("<div class='cs-"+el.id+"' id='cs-"+el.id+i+j+"' style='width:"+sWidth+"px; height:"+sHeight+"px; float: left; position: absolute;'></div>");$("#cs-"+el.id+i+j).css({'background-position':-sLeft+'px '+(-sTop+'px'),'left':sLeft,'top':sTop});sLeft+=sWidth;}
sTop+=sHeight;sLeft=0;}
$('.cs-'+el.id).mouseover(function(){$('#cs-navigation-'+el.id).show();});$('.cs-'+el.id).mouseout(function(){$('#cs-navigation-'+el.id).hide();});$('#cs-title-'+el.id).mouseover(function(){$('#cs-navigation-'+el.id).show();});$('#cs-title-'+el.id).mouseout(function(){$('#cs-navigation-'+el.id).hide();});if(params[el.id].hoverPause){$('.cs-'+el.id).mouseover(function(){params[el.id].pause=true;});$('.cs-'+el.id).mouseout(function(){params[el.id].pause=false;});$('#cs-title-'+el.id).mouseover(function(){params[el.id].pause=true;});$('#cs-title-'+el.id).mouseout(function(){params[el.id].pause=false;});}};$.transitionCall=function(el){clearInterval(interval[el.id]);delay=params[el.id].delay+params[el.id].spw*params[el.id].sph*params[el.id].sDelay;interval[el.id]=setInterval(function(){$.transition(el)},delay);}
$.transition=function(el,direction){if(params[el.id].pause==true)return;$.effect(el);squarePos[el.id]=0;appInterval[el.id]=setInterval(function(){$.appereance(el,order[el.id][squarePos[el.id]])},params[el.id].sDelay);$(el).css({'background-image':'url('+images[el.id][imagePos[el.id]]+')'});if(typeof(direction)=="undefined")
imagePos[el.id]++;else
if(direction=='prev')
imagePos[el.id]--;else
imagePos[el.id]=direction;if(imagePos[el.id]==images[el.id].length){imagePos[el.id]=0;}
if(imagePos[el.id]==-1){imagePos[el.id]=images[el.id].length-1;}
$('.cs-button-'+el.id).removeClass('cs-active');$('#cs-button-'+el.id+"-"+(imagePos[el.id]+1)).addClass('cs-active');if(titles[el.id][imagePos[el.id]]){$('#cs-title-'+el.id).css({'opacity':0}).animate({'opacity':params[el.id].opacity},params[el.id].titleSpeed);$('#cs-title-'+el.id).html(titles[el.id][imagePos[el.id]]);}else{$('#cs-title-'+el.id).css('opacity',0);}};$.appereance=function(el,sid){$('.cs-'+el.id).attr('href',links[el.id][imagePos[el.id]]).attr('target',linksTarget[el.id][imagePos[el.id]]);if(squarePos[el.id]==params[el.id].spw*params[el.id].sph){clearInterval(appInterval[el.id]);return;}
$('#cs-'+el.id+sid).css({opacity:0,'background-image':'url('+images[el.id][imagePos[el.id]]+')'});$('#cs-'+el.id+sid).animate({opacity:1},300);squarePos[el.id]++;};$.setNavigation=function(el){$(el).append("<div id='cs-navigation-"+el.id+"'></div>");$('#cs-navigation-'+el.id).hide();$('#cs-navigation-'+el.id).append("<a href='#' id='cs-prev-"+el.id+"' class='cs-prev'>上一张</a>");$('#cs-navigation-'+el.id).append("<a href='#' id='cs-next-"+el.id+"' class='cs-next'>下一张</a>");$('#cs-prev-'+el.id).css({'position':'absolute','top':params[el.id].height/2-15,'left':0,'z-index':1001,'line-height':'30px','opacity':params[el.id].opacity}).click(function(e){e.preventDefault();$.transition(el,'prev');$.transitionCall(el);}).mouseover(function(){$('#cs-navigation-'+el.id).show()});$('#cs-next-'+el.id).css({'position':'absolute','top':params[el.id].height/2-15,'right':0,'z-index':1001,'line-height':'30px','opacity':params[el.id].opacity}).click(function(e){e.preventDefault();$.transition(el);$.transitionCall(el);}).mouseover(function(){$('#cs-navigation-'+el.id).show()});$("<div id='cs-buttons-"+el.id+"' class='cs-buttons'></div>").appendTo($('#coin-slider-'+el.id));for(k=1;k<images[el.id].length+1;k++){$('#cs-buttons-'+el.id).append("<a href='#' class='cs-button-"+el.id+"' id='cs-button-"+el.id+"-"+k+"'>"+k+"</a>");}
$.each($('.cs-button-'+el.id),function(i,item){$(item).click(function(e){$('.cs-button-'+el.id).removeClass('cs-active');$(this).addClass('cs-active');e.preventDefault();$.transition(el,i);$.transitionCall(el);})});$('#cs-navigation-'+el.id+' a').mouseout(function(){$('#cs-navigation-'+el.id).hide();params[el.id].pause=false;});$("#cs-buttons-"+el.id).css({'left':'50%','margin-left':-images[el.id].length*15/2-5,'position':'relative'});}
$.effect=function(el){effA=['random','swirl','rain','straight'];if(params[el.id].effect=='')
eff=effA[Math.floor(Math.random()*(effA.length))];else
eff=params[el.id].effect;order[el.id]=new Array();if(eff=='random'){counter=0;for(i=1;i<=params[el.id].sph;i++){for(j=1;j<=params[el.id].spw;j++){order[el.id][counter]=i+''+j;counter++;}}
$.random(order[el.id]);}
if(eff=='rain'){$.rain(el);}
if(eff=='swirl')
$.swirl(el);if(eff=='straight')
$.straight(el);reverse[el.id]*=-1;if(reverse[el.id]>0){order[el.id].reverse();}}
$.random=function(arr){var i=arr.length;if(i==0)return false;while(--i){var j=Math.floor(Math.random()*(i+1));var tempi=arr[i];var tempj=arr[j];arr[i]=tempj;arr[j]=tempi;}}
$.swirl=function(el){var n=params[el.id].sph;var m=params[el.id].spw;var x=1;var y=1;var going=0;var num=0;var c=0;var dowhile=true;while(dowhile){num=(going==0||going==2)?m:n;for(i=1;i<=num;i++){order[el.id][c]=x+''+y;c++;if(i!=num){switch(going){case 0:y++;break;case 1:x++;break;case 2:y--;break;case 3:x--;break;}}}
going=(going+1)%4;switch(going){case 0:m--;y++;break;case 1:n--;x++;break;case 2:m--;y--;break;case 3:n--;x--;break;}
check=$.max(n,m)-$.min(n,m);if(m<=check&&n<=check)
dowhile=false;}}
$.rain=function(el){var n=params[el.id].sph;var m=params[el.id].spw;var c=0;var to=to2=from=1;var dowhile=true;while(dowhile){for(i=from;i<=to;i++){order[el.id][c]=i+''+parseInt(to2-i+1);c++;}
to2++;if(to<n&&to2<m&&n<m){to++;}
if(to<n&&n>=m){to++;}
if(to2>m){from++;}
if(from>to)dowhile=false;}}
$.straight=function(el){counter=0;for(i=1;i<=params[el.id].sph;i++){for(j=1;j<=params[el.id].spw;j++){order[el.id][counter]=i+''+j;counter++;}}}
$.min=function(n,m){if(n>m)return m;else return n;}
$.max=function(n,m){if(n<m)return m;else return n;}
this.each(function(){init(this);});};$.fn.coinslider.defaults={width:320,height:212,spw:7,sph:5,delay:6000,sDelay:30,opacity:0.7,titleSpeed:500,effect:'',navigation:true,links:true,hoverPause:true};})(jQuery);

/**
 * History/Remote - jQuery plugin for enabling history support and bookmarking
 * @requires jQuery v1.0.3
 *
 * http://stilbuero.de/jquery/history/
 *
 * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 * Version: 0.2.3
 */
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(2($){$.D=16 2(){4 c=\'15\';4 k=7.6;4 d=z;4 g;5.o=2(){};4 h=2(){$(\'.x-R\').1i()};$(8).K(c,h);3($.v.19){4 e,p=q;$(2(){e=$(\'<H 13="12: Z;"></H>\').E(8.U).1o(0);4 a=e.C.8;a.P();a.M();3(k&&k!=\'#\'){a.7.6=k.B(\'#\',\'\')}});5.o=2(a){k=a;4 b=e.C.8;b.P();b.M();b.7.6=a.B(\'#\',\'\')};g=2(){4 a=e.C.8;4 b=a.7.6;3(b!=k){k=b;3(b&&b!=\'#\'){$(\'a[@l$="\'+b+\'"]\').m();7.6=b}n 3(p){7.6=\'\';$(8).u(c)}}p=A}}n 3($.v.18||$.v.17){5.o=2(a){k=a};g=2(){3(7.6){3(k!=7.6){k=7.6;$(\'a[@l$="\'+k+\'"]\').m()}}n 3(k){k=\'\';$(8).u(c)}}}n 3($.v.14){4 f,r,t;$(2(){f=[];f.9=y.9;r=[]});4 j=q,p=q;t=2(a){f.G(a);r.9=0;j=q};5.o=2(a){k=a;t(k)};g=2(){4 b=y.9-f.9;3(b){j=q;3(b<0){F(4 i=0;i<11.10(b);i++)r.Y(f.X())}n{F(4 i=0;i<b;i++)f.G(r.W())}4 a=f[f.9-1];$(\'a[@l$="\'+a+\'"]\').m();k=7.6}n 3(f[f.9-1]==T&&!j){3(8.S.1n(\'#\')>=0){$(\'a[@l$="\'+\'#\'+8.S.1m(\'#\')[1]+\'"]\').m()}n 3(p){$(8).u(c)}j=A}p=A}}5.1l=2(a){3(w a==\'2\'){$(8).1k(c,h).K(c,a)}3(7.6&&w t==\'T\'){$(\'a[@l$="\'+7.6+\'"]\').u(\'m\')}3(g&&d==z){d=1j(g,1h)}}};$.Q.x=2(g,f,c){c=c||2(){};3(w f==\'2\'){c=f}f=$.1g({O:\'x-\'},f||{});4 d=$(g).1f()&&$(g)||$(\'<I></I>\').E(\'U\');d.1e(\'x-R\');L 5.1d(2(i){4 a=5.l;4 b=\'#\'+(5.N&&5.N.B(/\\s/g,\'1c\')||f.O+(i+1));5.l=b;$(5).m(2(e){3(!d[\'J\']){3(e.V){$.D.o(b)}d.1b(a,2(){d[\'J\']=z;c()})}})})};$.Q.y=2(a){L 5.m(2(e){3(e.V){$.D.o(5.6)}w a==\'2\'&&a()})}})(1a);',62,87,'||function|if|var|this|hash|location|document|length||||||||||||href|click|else|update|initialized|false|_forwardStack||_addHistory|trigger|browser|typeof|remote|history|null|true|replace|contentWindow|ajaxHistory|appendTo|for|push|iframe|div|locked|bind|return|close|title|hashPrefix|open|fn|output|URL|undefined|body|clientX|shift|pop|unshift|none|abs|Math|display|style|safari|historyReset|new|opera|mozilla|msie|jQuery|load|_|each|addClass|size|extend|200|empty|setInterval|unbind|initialize|split|indexOf|get'.split('|'),0,{}))

/**
 * jquery.tab.pack.js
 */
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(4($){$.2l({z:{2k:0}});$.1P.z=4(x,w){3(O x==\'2Y\')w=x;w=$.2l({K:(x&&O x==\'1Z\'&&x>0)?--x:0,12:C,J:$.1f?2h:T,18:T,1r:\'2X&#2Q;\',21:\'18-2F-\',1m:C,1u:C,1l:C,1F:C,1x:\'2u\',2r:C,2p:C,2m:T,2i:C,1d:C,1c:C,1j:\'z-1M\',H:\'z-2b\',14:\'z-12\',16:\'z-26\',1q:\'z-1H\',1L:\'z-2L\',2j:\'10\'},w||{});$.8.1D=$.8.U&&($.8.1Y&&$.8.1Y<7||/2A 6.0/.2y(2x.2w));4 1w(){1V(0,0)}F 5.Y(4(){2 p=5;2 r=$(\'13.\'+w.1j,p);r=r.V()&&r||$(\'>13:9(0)\',p);2 j=$(\'a\',r);3(w.18){j.Y(4(){2 c=w.21+(++$.z.2k),B=\'#\'+c,2f=5.1O;5.1O=B;$(\'<10 S="\'+c+\'" 34="\'+w.16+\'"></10>\').2c(p);$(5).19(\'1B\',4(e,a){2 b=$(5).I(w.1L),X=$(\'X\',5)[0],27=X.1J;3(w.1r){X.1J=\'<24>\'+w.1r+\'</24>\'}1p(4(){$(B).2T(2f,4(){3(w.1r){X.1J=27}b.17(w.1L);a&&a()})},0)})})}2 n=$(\'10.\'+w.16,p);n=n.V()&&n||$(\'>\'+w.2j,p);r.P(\'.\'+w.1j)||r.I(w.1j);n.Y(4(){2 a=$(5);a.P(\'.\'+w.16)||a.I(w.16)});2 s=$(\'A\',r).20($(\'A.\'+w.H,r)[0]);3(s>=0){w.K=s}3(1e.B){j.Y(4(i){3(5.B==1e.B){w.K=i;3(($.8.U||$.8.2E)&&!w.18){2 a=$(1e.B);2 b=a.15(\'S\');a.15(\'S\',\'\');1p(4(){a.15(\'S\',b)},2D)}1w();F T}})}3($.8.U){1w()}n.1a(\':9(\'+w.K+\')\').1C().1n().2C(\':9(\'+w.K+\')\').I(w.1q);$(\'A\',r).17(w.H).9(w.K).I(w.H);j.9(w.K).N(\'1B\').1n();3(w.2m){2 l=4(d){2 c=$.2B(n.1t(),4(a){2 h,1A=$(a);3(d){3($.8.1D){a.Z.2z(\'1X\');a.Z.G=\'\';a.1k=C}h=1A.L({\'1h-G\':\'\'}).G()}E{h=1A.G()}F h}).2v(4(a,b){F b-a});3($.8.1D){n.Y(4(){5.1k=c[0]+\'1W\';5.Z.2t(\'1X\',\'5.Z.G = 5.1k ? 5.1k : "2s"\')})}E{n.L({\'1h-G\':c[0]+\'1W\'})}};l();2 q=p.1U;2 m=p.1v;2 v=$(\'#z-2q-2o-V\').1t(0)||$(\'<X S="z-2q-2o-V">M</X>\').L({1T:\'2n\',3a:\'39\',38:\'37\'}).2c(Q.1S).1t(0);2 o=v.1v;36(4(){2 b=p.1U;2 a=p.1v;2 c=v.1v;3(a>m||b!=q||c!=o){l((b>q||c<o));q=b;m=a;o=c}},35)}2 u={},11={},1R=w.2r||w.1x,1Q=w.2p||w.1x;3(w.1u||w.1m){3(w.1u){u[\'G\']=\'1C\';11[\'G\']=\'1H\'}3(w.1m){u[\'W\']=\'1C\';11[\'W\']=\'1H\'}}E{3(w.1l){u=w.1l}E{u[\'1h-2g\']=0;1R=1}3(w.1F){11=w.1F}E{11[\'1h-2g\']=0;1Q=1}}2 t=w.2i,1d=w.1d,1c=w.1c;j.19(\'2e\',4(){2 c=$(5).1g(\'A:9(0)\');3(p.1i||c.P(\'.\'+w.H)||c.P(\'.\'+w.14)){F T}2 a=5.B;3($.8.U){$(5).N(\'1b\');3(w.J){$.1f.1N(a);1e.B=a.1z(\'#\',\'\')}}E 3($.8.1y){2 b=$(\'<2d 33="\'+a+\'"><10><32 31="2a" 30="h" /></10></2d>\').1t(0);b.2a();$(5).N(\'1b\');3(w.J){$.1f.1N(a)}}E{3(w.J){1e.B=a.1z(\'#\',\'\')}E{$(5).N(\'1b\')}}});j.19(\'1E\',4(){2 a=$(5).1g(\'A:9(0)\');3($.8.1y){a.1o({W:0},1,4(){a.L({W:\'\'})})}a.I(w.14)});3(w.12&&w.12.1K){29(2 i=0,k=w.12.1K;i<k;i++){j.9(--w.12[i]).N(\'1E\').1n()}};j.19(\'28\',4(){2 a=$(5).1g(\'A:9(0)\');a.17(w.14);3($.8.1y){a.1o({W:1},1,4(){a.L({W:\'\'})})}});j.19(\'1b\',4(e){2 g=e.2Z;2 d=5,A=$(5).1g(\'A:9(0)\'),D=$(5.B),R=n.1a(\':2W\');3(p[\'1i\']||A.P(\'.\'+w.H)||A.P(\'.\'+w.14)||O t==\'4\'&&t(5,D[0],R[0])===T){5.25();F T}p[\'1i\']=2h;3(D.V()){3($.8.U&&w.J){2 c=5.B.1z(\'#\',\'\');D.15(\'S\',\'\');1p(4(){D.15(\'S\',c)},0)}2 f={1T:\'\',2V:\'\',G:\'\'};3(!$.8.U){f[\'W\']=\'\'}4 1I(){3(w.J&&g){$.1f.1N(d.B)}R.1o(11,1Q,4(){$(d).1g(\'A:9(0)\').I(w.H).2U().17(w.H);R.I(w.1q).L(f);3(O 1d==\'4\'){1d(d,D[0],R[0])}3(!(w.1u||w.1m||w.1l)){D.L(\'1T\',\'2n\')}D.1o(u,1R,4(){D.17(w.1q).L(f);3($.8.U){R[0].Z.1a=\'\';D[0].Z.1a=\'\'}3(O 1c==\'4\'){1c(d,D[0],R[0])}p[\'1i\']=C})})}3(!w.18){1I()}E{$(d).N(\'1B\',[1I])}}E{2S(\'2R P 2P 2O 26.\')}2 a=1G.2N||Q.1s&&Q.1s.23||Q.1S.23||0;2 b=1G.2M||Q.1s&&Q.1s.22||Q.1S.22||0;1p(4(){1G.1V(a,b)},0);5.25();F w.J&&!!g});3(w.J){$.1f.2K(4(){j.9(w.K).N(\'1b\').1n()})}})};2 y=[\'2e\',\'1E\',\'28\'];29(2 i=0;i<y.1K;i++){$.1P[y[i]]=(4(d){F 4(c){F 5.Y(4(){2 b=$(\'13.z-1M\',5);b=b.V()&&b||$(\'>13:9(0)\',5);2 a;3(!c||O c==\'1Z\'){a=$(\'A a\',b).9((c&&c>0&&c-1||0))}E 3(O c==\'2J\'){a=$(\'A a[@1O$="#\'+c+\'"]\',b)}a.N(d)})}})(y[i])}$.1P.2I=4(){2 c=[];5.Y(4(){2 a=$(\'13.z-1M\',5);a=a.V()&&a||$(\'>13:9(0)\',5);2 b=$(\'A\',a);c.2H(b.20(b.1a(\'.z-2b\')[0])+1)});F c[0]}})(2G);',62,197,'||var|if|function|this|||browser|eq||||||||||||||||||||||||||tabs|li|hash|null|toShow|else|return|height|selectedClass|addClass|bookmarkable|initial|css||trigger|typeof|is|document|toHide|id|false|msie|size|opacity|span|each|style|div|hideAnim|disabled|ul|disabledClass|attr|containerClass|removeClass|remote|bind|filter|click|onShow|onHide|location|ajaxHistory|parents|min|locked|navClass|minHeight|fxShow|fxFade|end|animate|setTimeout|hideClass|spinner|documentElement|get|fxSlide|offsetHeight|unFocus|fxSpeed|safari|replace|jq|loadRemoteTab|show|msie6|disableTab|fxHide|window|hide|switchTab|innerHTML|length|loadingClass|nav|update|href|fn|hideSpeed|showSpeed|body|display|offsetWidth|scrollTo|px|behaviour|version|number|index|hashPrefix|scrollTop|scrollLeft|em|blur|container|tabTitle|enableTab|for|submit|selected|appendTo|form|triggerTab|url|width|true|onClick|tabStruct|remoteCount|extend|fxAutoHeight|block|font|fxHideSpeed|watch|fxShowSpeed|1px|setExpression|normal|sort|userAgent|navigator|test|removeExpression|MSIE|map|not|500|opera|tab|jQuery|push|activeTab|string|initialize|loading|pageYOffset|pageXOffset|such|no|8230|There|alert|load|siblings|overflow|visible|Loading|object|clientX|value|type|input|action|class|50|setInterval|hidden|visibility|absolute|position'.split('|'),0,{}))

/**
 * SWFObject v1.5: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
 *
 * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 *
 */
if(typeof deconcept=="undefined"){var deconcept=new Object();}if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a){if(!document.getElementById){return;}this.DETECT_KEY=_a?_a:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params=new Object();this.variables=new Object();this.attributes=new Array();if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id",id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height",h);}if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7){deconcept.SWFObject.doPrepUnload=true;}if(c){this.addParam("bgcolor",c);}var q=_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpressInstall",false);this.setAttribute("doExpressInstall",false);var _c=(_8)?_8:window.location;this.setAttribute("xiRedirectUrl",_c);this.setAttribute("redirectUrl","");if(_9){this.setAttribute("redirectUrl",_9);}};deconcept.SWFObject.prototype={useExpressInstall:function(_d){this.xiSWFPath=!_d?"expressinstall.swf":_d;this.setAttribute("useExpressInstall",true);},setAttribute:function(_e,_f){this.attributes[_e]=_f;},getAttribute:function(_10){return this.attributes[_10];},addParam:function(_11,_12){this.params[_11]=_12;},getParams:function(){return this.params;},addVariable:function(_13,_14){this.variables[_13]=_14;},getVariable:function(_15){return this.variables[_15];},getVariables:function(){return this.variables;},getVariablePairs:function(){var _16=new Array();var key;var _18=this.getVariables();for(key in _18){_16[_16.length]=key+"="+_18[key];}return _16;},getSWFHTML:function(){var _19="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute("swf",this.xiSWFPath);}_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\"";_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";var _1a=this.getParams();for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}var _1c=this.getVariablePairs().join("&");if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",this.xiSWFPath);}_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\">";_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";var _1d=this.getParams();for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}var _1f=this.getVariablePairs().join("&");if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";}return _19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var _21=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title);}}if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){var n=(typeof _20=="string")?document.getElementById(_20):_20;n.innerHTML=this.getSWFHTML();return true;}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}return false;}};deconcept.SWFObjectUtil.getPlayerVersion=function(){var _23=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){var axo=1;var _26=3;while(axo){try{_26++;axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+_26);_23=new deconcept.PlayerVersion([_26,0,0]);}catch(e){axo=null;}}}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}}return _23;};deconcept.PlayerVersion=function(_29){this.major=_29[0]!=null?parseInt(_29[0]):0;this.minor=_29[1]!=null?parseInt(_29[1]):0;this.rev=_29[2]!=null?parseInt(_29[2]):0;};deconcept.PlayerVersion.prototype.versionIsValid=function(fv){if(this.major<fv.major){return false;}if(this.major>fv.major){return true;}if(this.minor<fv.minor){return false;}if(this.minor>fv.minor){return true;}if(this.rev<fv.rev){return false;}return true;};deconcept.util={getRequestParameter:function(_2b){var q=document.location.search||document.location.hash;if(_2b==null){return q;}if(q){var _2d=q.substring(1).split("&");for(var i=0;i<_2d.length;i++){if(_2d[i].substring(0,_2d[i].indexOf("="))==_2b){return _2d[i].substring((_2d[i].indexOf("=")+1));}}}return "";}};deconcept.SWFObjectUtil.cleanupSWFs=function(){var _2f=document.getElementsByTagName("OBJECT");for(var i=_2f.length-1;i>=0;i--){_2f[i].style.display="none";for(var x in _2f[i]){if(typeof _2f[i][x]=="function"){_2f[i][x]=function(){};}}}};if(deconcept.SWFObject.doPrepUnload){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window.attachEvent("onunload",deconcept.SWFObjectUtil.cleanupSWFs);};window.attachEvent("onbeforeunload",deconcept.SWFObjectUtil.prepUnload);deconcept.unloadSet=true;}}if(!document.getElementById&&document.all){document.getElementById=function(id){return document.all[id];};}var getQueryParamValue=deconcept.util.getRequestParameter;var FlashObject=deconcept.SWFObject;var SWFObject=deconcept.SWFObject;
//date_CTC.js
function CAL()
 {
	FIRSTYEAR = 1998;
	LASTYEAR = 2031;

	today = new Date();
	SolarYear = today.getFullYear();
	SolarMonth = today.getMonth() + 1;
	SolarDate = today.getDate();
	Weekday = today.getDay();
	LunarCal = [
 new tagLunarCal( 27, 5, 3, 43, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1 ),
 new tagLunarCal( 46, 0, 4, 48, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1 ), /* 88 */
 new tagLunarCal( 35, 0, 5, 53, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1 ), /* 89 */
 new tagLunarCal( 23, 4, 0, 59, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1 ),
 new tagLunarCal( 42, 0, 1, 4, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1 ),
 new tagLunarCal( 31, 0, 2, 9, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0 ),
 new tagLunarCal( 21, 2, 3, 14, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1 ), /* 93 */
 new tagLunarCal( 39, 0, 5, 20, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1 ),
 new tagLunarCal( 28, 7, 6, 25, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1 ),
 new tagLunarCal( 48, 0, 0, 30, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1 ),
 new tagLunarCal( 37, 0, 1, 35, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1 ), /* 97 */
 new tagLunarCal( 25, 5, 3, 41, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1 ),
 new tagLunarCal( 44, 0, 4, 46, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1 ),
 new tagLunarCal( 33, 0, 5, 51, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1 ),
 new tagLunarCal( 22, 4, 6, 56, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0 ), /* 101 */
 new tagLunarCal( 40, 0, 1, 2, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0 ),
 new tagLunarCal( 30, 9, 2, 7, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1 ),
 new tagLunarCal( 49, 0, 3, 12, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1 ),
 new tagLunarCal( 38, 0, 4, 17, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0 ), /* 105 */
 new tagLunarCal( 27, 6, 6, 23, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1 ),
 new tagLunarCal( 46, 0, 0, 28, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0 ),
 new tagLunarCal( 35, 0, 1, 33, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0 ),
 new tagLunarCal( 24, 4, 2, 38, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1 ), /* 109 */
 new tagLunarCal( 42, 0, 4, 44, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1 ),
 new tagLunarCal( 31, 0, 5, 49, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0 ),
 new tagLunarCal( 21, 2, 6, 54, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1 ),
 new tagLunarCal( 40, 0, 0, 59, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1 ), /* 113 */
 new tagLunarCal( 28, 6, 2, 5, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0 ),
 new tagLunarCal( 47, 0, 3, 10, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1 ),
 new tagLunarCal( 36, 0, 4, 15, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1 ),
 new tagLunarCal( 25, 5, 5, 20, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0 ), /* 117 */
 new tagLunarCal( 43, 0, 0, 26, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1 ),
 new tagLunarCal( 32, 0, 1, 31, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0 ),
 new tagLunarCal( 22, 3, 2, 36, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0 ) ];
 /* 民国年月日 Codes by / */
 SolarCal = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];
SolarDays = [ 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365, 396, 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366, 397 ];
	
	
	if ( SolarYear <= FIRSTYEAR || SolarYear > LASTYEAR ) return 1;
	sm = SolarMonth - 1;
		if ( sm < 0 || sm > 11 ) return 2;
		leap = GetLeap( SolarYear );
	if ( sm == 1 )
		d = leap + 28;
	else
		d = SolarCal[sm];
	if ( SolarDate < 1 || SolarDate > d ) return 3;
	y = SolarYear - FIRSTYEAR;
	acc = SolarDays[ leap*14 + sm ] + SolarDate;
	kc = acc + LunarCal[y].BaseKanChih;
	Kan = kc % 10;//http://www.lrcode.com
	Chih = kc % 12;
	
	Age = kc % 60;
	if ( Age < 22 )
		Age = 22 - Age;
	else
		Age = 82 - Age;
	
	if ( acc <= LunarCal[y].BaseDays ) {
		y--;
		LunarYear = SolarYear - 1;
		leap = GetLeap( LunarYear );
		sm += 12;
		acc = SolarDays[leap*14 + sm] + SolarDate;
	 }
	else
		LunarYear = SolarYear;
			l1 = LunarCal[y].BaseDays;
	for ( i=0; i<13; i++ ) {
		l2 = l1 + LunarCal[y].MonthDays[i] + 29;
		if ( acc <= l2 ) break;
		l1 = l2;
	 }
	LunarMonth = i + 1;
	LunarDate = acc - l1;
	im = LunarCal[y].Intercalation;
	if ( im != 0 && LunarMonth > im ) {
		LunarMonth--;
		if ( LunarMonth == im ) LunarMonth = -im;
	 }
	if ( LunarMonth > 12 ) LunarMonth -= 12;
 today=new Date();
 function initArray(){
 this.length=initArray.arguments.length
 for(var i=0;i<this.length;i++)
 this[i+1]=initArray.arguments[i] }
 var d=new initArray("星期日","星期一","星期二","星期三","星期四","星期五","星期六");
 document.write("", today.getFullYear(),"年",today.getMonth()+1,"月",today.getDate(),"日&nbsp;"); months = ["一","二","三","四","五","六","七","八","九","十","十一","十二"]; days = ["初一","初二","初三","初四","初五","初六","初七","初八","初九","初十","十一","十二","十三","十四","十五","十六","十七","十八","十九","二十","廿一","廿二","廿三","廿四","廿五","廿六","廿七","廿八","廿九","三十"];
 document.write( "【农历"+months[LunarMonth-1]+"月" + days[LunarDate-1] + "】");
 return 0; 
}
 /* 是否有闰年, 0 平年, 1 闰年 */
function GetLeap( year )
 {
 if ( year % 400 == 0 )
 return 1;
 else if ( year % 100 == 0 )
 return 0;
 else if ( year % 4 == 0 )
 return 1;
 else
 return 0;
 }
function tagLunarCal( d, i, w, k, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13) {
 this.BaseDays = d; 
 this.Intercalation = i; /* 0代表此年沒有闰月 */
 this.BaseWeekday = w; /* 民国1月1日星期減 1 */
 this.BaseKanChih = k; /* 民国1月1日干支序号减 1 */
 this.MonthDays = [ m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13 ]; /* 此農曆年每月之大小, 0==小月(29日), 1==大月(30日) */
}

/*!
 * jQuery Cycle Plugin (with Transition Definitions)
 * Examples and documentation at: http://jquery.malsup.com/cycle/
 * Copyright (c) 2007-2009 M. Alsup
 * Version: 2.74 (03-FEB-2010)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 * Requires: jQuery v1.2.6 or later
 */
;(function($) {
var ver = '2.74';
// if $.support is not defined (pre jQuery 1.3) add what I need
if ($.support == undefined) {
	$.support = {
		opacity: !($.browser.msie)
	};
}
function debug(s) {
	if ($.fn.cycle.debug)
		log(s);
}		
function log() {
	if (window.console && window.console.log)
		window.console.log('[cycle] ' + Array.prototype.join.call(arguments,' '));
};

// the options arg can be...
//   a number  - indicates an immediate transition should occur to the given slide index
//   a string  - 'stop', 'pause', 'resume', 'next', 'prev', or the name of a transition effect (ie, 'fade', 'zoom', etc)
//   an object - properties to control the slideshow
//
// the arg2 arg can be...
//   the name of an fx (only used in conjunction with a numeric value for 'options')
//   the value true (only used in first arg == 'resume') and indicates
//	 that the resume should occur immediately (not wait for next timeout)

$.fn.cycle = function(options, arg2) {
	var o = { s: this.selector, c: this.context };

	// in 1.3+ we can fix mistakes with the ready state
	if (this.length === 0 && options != 'stop') {
		if (!$.isReady && o.s) {
			log('DOM not ready, queuing slideshow');
			$(function() {
				$(o.s,o.c).cycle(options,arg2);
			});
			return this;
		}
		// is your DOM ready?  http://docs.jquery.com/Tutorials:Introducing_$(document).ready()
		log('terminating; zero elements found by selector' + ($.isReady ? '' : ' (DOM not ready)'));
		return this;
	}

	// iterate the matched nodeset
	return this.each(function() {
		var opts = handleArguments(this, options, arg2);
		if (opts === false)
			return;

		// stop existing slideshow for this container (if there is one)
		if (this.cycleTimeout)
			clearTimeout(this.cycleTimeout);
		this.cycleTimeout = this.cyclePause = 0;

		var $cont = $(this);
		var $slides = opts.slideExpr ? $(opts.slideExpr, this) : $cont.children();
		var els = $slides.get();
		if (els.length < 2) {
			log('terminating; too few slides: ' + els.length);
			return;
		}

		var opts2 = buildOptions($cont, $slides, els, opts, o);
		if (opts2 === false)
			return;

		var startTime = opts2.continuous ? 10 : getTimeout(opts2.currSlide, opts2.nextSlide, opts2, !opts2.rev);

		// if it's an auto slideshow, kick it off
		if (startTime) {
			startTime += (opts2.delay || 0);
			if (startTime < 10)
				startTime = 10;
			debug('first timeout: ' + startTime);
			this.cycleTimeout = setTimeout(function(){go(els,opts2,0,!opts2.rev)}, startTime);
		}
	});
};

// process the args that were passed to the plugin fn
function handleArguments(cont, options, arg2) {
	if (cont.cycleStop == undefined)
		cont.cycleStop = 0;
	if (options === undefined || options === null)
		options = {};
	if (options.constructor == String) {
		switch(options) {
		case 'stop':
			cont.cycleStop++; // callbacks look for change
			if (cont.cycleTimeout)
				clearTimeout(cont.cycleTimeout);
			cont.cycleTimeout = 0;
			$(cont).removeData('cycle.opts');
			return false;
		case 'toggle':
			cont.cyclePause = (cont.cyclePause === 1) ? 0 : 1;
			return false;
		case 'pause':
			cont.cyclePause = 1;
			return false;
		case 'resume':
			cont.cyclePause = 0;
			if (arg2 === true) { // resume now!
				options = $(cont).data('cycle.opts');
				if (!options) {
					log('options not found, can not resume');
					return false;
				}
				if (cont.cycleTimeout) {
					clearTimeout(cont.cycleTimeout);
					cont.cycleTimeout = 0;
				}
				go(options.elements, options, 1, 1);
			}
			return false;
		case 'prev':
		case 'next':
			var opts = $(cont).data('cycle.opts');
			if (!opts) {
				log('options not found, "prev/next" ignored');
				return false;
			}
			$.fn.cycle[options](opts);
			return false;
		default:
			options = { fx: options };
		};
		return options;
	}
	else if (options.constructor == Number) {
		// go to the requested slide
		var num = options;
		options = $(cont).data('cycle.opts');
		if (!options) {
			log('options not found, can not advance slide');
			return false;
		}
		if (num < 0 || num >= options.elements.length) {
			log('invalid slide index: ' + num);
			return false;
		}
		options.nextSlide = num;
		if (cont.cycleTimeout) {
			clearTimeout(cont.cycleTimeout);
			cont.cycleTimeout = 0;
		}
		if (typeof arg2 == 'string')
			options.oneTimeFx = arg2;
		go(options.elements, options, 1, num >= options.currSlide);
		return false;
	}
	return options;
};

function removeFilter(el, opts) {
	if (!$.support.opacity && opts.cleartype && el.style.filter) {
		try { el.style.removeAttribute('filter'); }
		catch(smother) {} // handle old opera versions
	}
};

// one-time initialization
function buildOptions($cont, $slides, els, options, o) {
	// support metadata plugin (v1.0 and v2.0)
	var opts = $.extend({}, $.fn.cycle.defaults, options || {}, $.metadata ? $cont.metadata() : $.meta ? $cont.data() : {});
	if (opts.autostop)
		opts.countdown = opts.autostopCount || els.length;

	var cont = $cont[0];
	$cont.data('cycle.opts', opts);
	opts.$cont = $cont;
	opts.stopCount = cont.cycleStop;
	opts.elements = els;
	opts.before = opts.before ? [opts.before] : [];
	opts.after = opts.after ? [opts.after] : [];
	opts.after.unshift(function(){ opts.busy=0; });

	// push some after callbacks
	if (!$.support.opacity && opts.cleartype)
		opts.after.push(function() { removeFilter(this, opts); });
	if (opts.continuous)
		opts.after.push(function() { go(els,opts,0,!opts.rev); });

	saveOriginalOpts(opts);

	// clearType corrections
	if (!$.support.opacity && opts.cleartype && !opts.cleartypeNoBg)
		clearTypeFix($slides);

	// container requires non-static position so that slides can be position within
	if ($cont.css('position') == 'static')
		$cont.css('position', 'relative');
	if (opts.width)
		$cont.width(opts.width);
	if (opts.height && opts.height != 'auto')
		$cont.height(opts.height);

	if (opts.startingSlide)
		opts.startingSlide = parseInt(opts.startingSlide);

	// if random, mix up the slide array
	if (opts.random) {
		opts.randomMap = [];
		for (var i = 0; i < els.length; i++)
			opts.randomMap.push(i);
		opts.randomMap.sort(function(a,b) {return Math.random() - 0.5;});
		opts.randomIndex = 0;
		opts.startingSlide = opts.randomMap[0];
	}
	else if (opts.startingSlide >= els.length)
		opts.startingSlide = 0; // catch bogus input
	opts.currSlide = opts.startingSlide = opts.startingSlide || 0;
	var first = opts.startingSlide;

	// set position and zIndex on all the slides
	$slides.css({position: 'absolute', top:0, left:0}).hide().each(function(i) {
		var z = first ? i >= first ? els.length - (i-first) : first-i : els.length-i;
		$(this).css('z-index', z)
	});

	// make sure first slide is visible
	$(els[first]).css('opacity',1).show(); // opacity bit needed to handle restart use case
	removeFilter(els[first], opts);

	// stretch slides
	if (opts.fit && opts.width)
		$slides.width(opts.width);
	if (opts.fit && opts.height && opts.height != 'auto')
		$slides.height(opts.height);

	// stretch container
	var reshape = opts.containerResize && !$cont.innerHeight();
	if (reshape) { // do this only if container has no size http://tinyurl.com/da2oa9
		var maxw = 0, maxh = 0;
		for(var j=0; j < els.length; j++) {
			var $e = $(els[j]), e = $e[0], w = $e.outerWidth(), h = $e.outerHeight();
			if (!w) w = e.offsetWidth;
			if (!h) h = e.offsetHeight;
			maxw = w > maxw ? w : maxw;
			maxh = h > maxh ? h : maxh;
		}
		if (maxw > 0 && maxh > 0)
			$cont.css({width:maxw+'px',height:maxh+'px'});
	}

	if (opts.pause)
		$cont.hover(function(){this.cyclePause++;},function(){this.cyclePause--;});

	if (supportMultiTransitions(opts) === false)
		return false;

	// apparently a lot of people use image slideshows without height/width attributes on the images.
	// Cycle 2.50+ requires the sizing info for every slide; this block tries to deal with that.
	var requeue = false;
	options.requeueAttempts = options.requeueAttempts || 0;
	$slides.each(function() {
		// try to get height/width of each slide
		var $el = $(this);
		this.cycleH = (opts.fit && opts.height) ? opts.height : $el.height();
		this.cycleW = (opts.fit && opts.width) ? opts.width : $el.width();

		if ( $el.is('img') ) {
			// sigh..  sniffing, hacking, shrugging...  this crappy hack tries to account for what browsers do when
			// an image is being downloaded and the markup did not include sizing info (height/width attributes);
			// there seems to be some "default" sizes used in this situation
			var loadingIE	= ($.browser.msie  && this.cycleW == 28 && this.cycleH == 30 && !this.complete);
			var loadingFF	= ($.browser.mozilla && this.cycleW == 34 && this.cycleH == 19 && !this.complete);
			var loadingOp	= ($.browser.opera && ((this.cycleW == 42 && this.cycleH == 19) || (this.cycleW == 37 && this.cycleH == 17)) && !this.complete);
			var loadingOther = (this.cycleH == 0 && this.cycleW == 0 && !this.complete);
			// don't requeue for images that are still loading but have a valid size
			if (loadingIE || loadingFF || loadingOp || loadingOther) {
				if (o.s && opts.requeueOnImageNotLoaded && ++options.requeueAttempts < 100) { // track retry count so we don't loop forever
					log(options.requeueAttempts,' - img slide not loaded, requeuing slideshow: ', this.src, this.cycleW, this.cycleH);
					setTimeout(function() {$(o.s,o.c).cycle(options)}, opts.requeueTimeout);
					requeue = true;
					return false; // break each loop
				}
				else {
					log('could not determine size of image: '+this.src, this.cycleW, this.cycleH);
				}
			}
		}
		return true;
	});

	if (requeue)
		return false;

	opts.cssBefore = opts.cssBefore || {};
	opts.animIn = opts.animIn || {};
	opts.animOut = opts.animOut || {};

	$slides.not(':eq('+first+')').css(opts.cssBefore);
	if (opts.cssFirst)
		$($slides[first]).css(opts.cssFirst);

	if (opts.timeout) {
		opts.timeout = parseInt(opts.timeout);
		// ensure that timeout and speed settings are sane
		if (opts.speed.constructor == String)
			opts.speed = $.fx.speeds[opts.speed] || parseInt(opts.speed);
		if (!opts.sync)
			opts.speed = opts.speed / 2;
		while((opts.timeout - opts.speed) < 250) // sanitize timeout
			opts.timeout += opts.speed;
	}
	if (opts.easing)
		opts.easeIn = opts.easeOut = opts.easing;
	if (!opts.speedIn)
		opts.speedIn = opts.speed;
	if (!opts.speedOut)
		opts.speedOut = opts.speed;

	opts.slideCount = els.length;
	opts.currSlide = opts.lastSlide = first;
	if (opts.random) {
		opts.nextSlide = opts.currSlide;
		if (++opts.randomIndex == els.length)
			opts.randomIndex = 0;
		opts.nextSlide = opts.randomMap[opts.randomIndex];
	}
	else
		opts.nextSlide = opts.startingSlide >= (els.length-1) ? 0 : opts.startingSlide+1;

	// run transition init fn
	if (!opts.multiFx) {
		var init = $.fn.cycle.transitions[opts.fx];
		if ($.isFunction(init))
			init($cont, $slides, opts);
		else if (opts.fx != 'custom' && !opts.multiFx) {
			log('unknown transition: ' + opts.fx,'; slideshow terminating');
			return false;
		}
	}

	// fire artificial events
	var e0 = $slides[first];
	if (opts.before.length)
		opts.before[0].apply(e0, [e0, e0, opts, true]);
	if (opts.after.length > 1)
		opts.after[1].apply(e0, [e0, e0, opts, true]);

	if (opts.next)
		$(opts.next).bind(opts.prevNextEvent,function(){return advance(opts,opts.rev?-1:1)});
	if (opts.prev)
		$(opts.prev).bind(opts.prevNextEvent,function(){return advance(opts,opts.rev?1:-1)});
	if (opts.pager)
		buildPager(els,opts);

	exposeAddSlide(opts, els);

	return opts;
};

// save off original opts so we can restore after clearing state
function saveOriginalOpts(opts) {
	opts.original = { before: [], after: [] };
	opts.original.cssBefore = $.extend({}, opts.cssBefore);
	opts.original.cssAfter  = $.extend({}, opts.cssAfter);
	opts.original.animIn	= $.extend({}, opts.animIn);
	opts.original.animOut   = $.extend({}, opts.animOut);
	$.each(opts.before, function() { opts.original.before.push(this); });
	$.each(opts.after,  function() { opts.original.after.push(this); });
};

function supportMultiTransitions(opts) {
	var i, tx, txs = $.fn.cycle.transitions;
	// look for multiple effects
	if (opts.fx.indexOf(',') > 0) {
		opts.multiFx = true;
		opts.fxs = opts.fx.replace(/\s*/g,'').split(',');
		// discard any bogus effect names
		for (i=0; i < opts.fxs.length; i++) {
			var fx = opts.fxs[i];
			tx = txs[fx];
			if (!tx || !txs.hasOwnProperty(fx) || !$.isFunction(tx)) {
				log('discarding unknown transition: ',fx);
				opts.fxs.splice(i,1);
				i--;
			}
		}
		// if we have an empty list then we threw everything away!
		if (!opts.fxs.length) {
			log('No valid transitions named; slideshow terminating.');
			return false;
		}
	}
	else if (opts.fx == 'all') {  // auto-gen the list of transitions
		opts.multiFx = true;
		opts.fxs = [];
		for (p in txs) {
			tx = txs[p];
			if (txs.hasOwnProperty(p) && $.isFunction(tx))
				opts.fxs.push(p);
		}
	}
	if (opts.multiFx && opts.randomizeEffects) {
		// munge the fxs array to make effect selection random
		var r1 = Math.floor(Math.random() * 20) + 30;
		for (i = 0; i < r1; i++) {
			var r2 = Math.floor(Math.random() * opts.fxs.length);
			opts.fxs.push(opts.fxs.splice(r2,1)[0]);
		}
		debug('randomized fx sequence: ',opts.fxs);
	}
	return true;
};

// provide a mechanism for adding slides after the slideshow has started
function exposeAddSlide(opts, els) {
	opts.addSlide = function(newSlide, prepend) {
		var $s = $(newSlide), s = $s[0];
		if (!opts.autostopCount)
			opts.countdown++;
		els[prepend?'unshift':'push'](s);
		if (opts.els)
			opts.els[prepend?'unshift':'push'](s); // shuffle needs this
		opts.slideCount = els.length;

		$s.css('position','absolute');
		$s[prepend?'prependTo':'appendTo'](opts.$cont);

		if (prepend) {
			opts.currSlide++;
			opts.nextSlide++;
		}

		if (!$.support.opacity && opts.cleartype && !opts.cleartypeNoBg)
			clearTypeFix($s);

		if (opts.fit && opts.width)
			$s.width(opts.width);
		if (opts.fit && opts.height && opts.height != 'auto')
			$slides.height(opts.height);
		s.cycleH = (opts.fit && opts.height) ? opts.height : $s.height();
		s.cycleW = (opts.fit && opts.width) ? opts.width : $s.width();

		$s.css(opts.cssBefore);

		if (opts.pager)
			$.fn.cycle.createPagerAnchor(els.length-1, s, $(opts.pager), els, opts);

		if ($.isFunction(opts.onAddSlide))
			opts.onAddSlide($s);
		else
			$s.hide(); // default behavior
	};
}

// reset internal state; we do this on every pass in order to support multiple effects
$.fn.cycle.resetState = function(opts, fx) {
	fx = fx || opts.fx;
	opts.before = []; opts.after = [];
	opts.cssBefore = $.extend({}, opts.original.cssBefore);
	opts.cssAfter  = $.extend({}, opts.original.cssAfter);
	opts.animIn	= $.extend({}, opts.original.animIn);
	opts.animOut   = $.extend({}, opts.original.animOut);
	opts.fxFn = null;
	$.each(opts.original.before, function() { opts.before.push(this); });
	$.each(opts.original.after,  function() { opts.after.push(this); });

	// re-init
	var init = $.fn.cycle.transitions[fx];
	if ($.isFunction(init))
		init(opts.$cont, $(opts.elements), opts);
};

// this is the main engine fn, it handles the timeouts, callbacks and slide index mgmt
function go(els, opts, manual, fwd) {
	// opts.busy is true if we're in the middle of an animation
	if (manual && opts.busy && opts.manualTrump) {
		// let manual transitions requests trump active ones
		$(els).stop(true,true);
		opts.busy = false;
	}
	// don't begin another timeout-based transition if there is one active
	if (opts.busy)
		return;

	var p = opts.$cont[0], curr = els[opts.currSlide], next = els[opts.nextSlide];

	// stop cycling if we have an outstanding stop request
	if (p.cycleStop != opts.stopCount || p.cycleTimeout === 0 && !manual)
		return;

	// check to see if we should stop cycling based on autostop options
	if (!manual && !p.cyclePause &&
		((opts.autostop && (--opts.countdown <= 0)) ||
		(opts.nowrap && !opts.random && opts.nextSlide < opts.currSlide))) {
		if (opts.end)
			opts.end(opts);
		return;
	}

	// if slideshow is paused, only transition on a manual trigger
	if (manual || !p.cyclePause) {
		var fx = opts.fx;
		// keep trying to get the slide size if we don't have it yet
		curr.cycleH = curr.cycleH || $(curr).height();
		curr.cycleW = curr.cycleW || $(curr).width();
		next.cycleH = next.cycleH || $(next).height();
		next.cycleW = next.cycleW || $(next).width();

		// support multiple transition types
		if (opts.multiFx) {
			if (opts.lastFx == undefined || ++opts.lastFx >= opts.fxs.length)
				opts.lastFx = 0;
			fx = opts.fxs[opts.lastFx];
			opts.currFx = fx;
		}

		// one-time fx overrides apply to:  $('div').cycle(3,'zoom');
		if (opts.oneTimeFx) {
			fx = opts.oneTimeFx;
			opts.oneTimeFx = null;
		}

		$.fn.cycle.resetState(opts, fx);

		// run the before callbacks
		if (opts.before.length)
			$.each(opts.before, function(i,o) {
				if (p.cycleStop != opts.stopCount) return;
				o.apply(next, [curr, next, opts, fwd]);
			});

		// stage the after callacks
		var after = function() {
			$.each(opts.after, function(i,o) {
				if (p.cycleStop != opts.stopCount) return;
				o.apply(next, [curr, next, opts, fwd]);
			});
		};

		if (opts.nextSlide != opts.currSlide) {
			// get ready to perform the transition
			opts.busy = 1;
			if (opts.fxFn) // fx function provided?
				opts.fxFn(curr, next, opts, after, fwd);
			else if ($.isFunction($.fn.cycle[opts.fx])) // fx plugin ?
				$.fn.cycle[opts.fx](curr, next, opts, after);
			else
				$.fn.cycle.custom(curr, next, opts, after, manual && opts.fastOnEvent);
		}

		// calculate the next slide
		opts.lastSlide = opts.currSlide;
		if (opts.random) {
			opts.currSlide = opts.nextSlide;
			if (++opts.randomIndex == els.length)
				opts.randomIndex = 0;
			opts.nextSlide = opts.randomMap[opts.randomIndex];
		}
		else { // sequence
			var roll = (opts.nextSlide + 1) == els.length;
			opts.nextSlide = roll ? 0 : opts.nextSlide+1;
			opts.currSlide = roll ? els.length-1 : opts.nextSlide-1;
		}

		if (opts.pager)
			$.fn.cycle.updateActivePagerLink(opts.pager, opts.currSlide);
	}

	// stage the next transition
	var ms = 0;
	if (opts.timeout && !opts.continuous)
		ms = getTimeout(curr, next, opts, fwd);
	else if (opts.continuous && p.cyclePause) // continuous shows work off an after callback, not this timer logic
		ms = 10;
	if (ms > 0)
		p.cycleTimeout = setTimeout(function(){ go(els, opts, 0, !opts.rev) }, ms);
};

// invoked after transition
$.fn.cycle.updateActivePagerLink = function(pager, currSlide) {
	$(pager).each(function() {
		$(this).find('a').removeClass('activeSlide').filter('a:eq('+currSlide+')').addClass('activeSlide');
	});
};

// calculate timeout value for current transition
function getTimeout(curr, next, opts, fwd) {
	if (opts.timeoutFn) {
		// call user provided calc fn
		var t = opts.timeoutFn(curr,next,opts,fwd);
		while ((t - opts.speed) < 250) // sanitize timeout
			t += opts.speed;
		debug('calculated timeout: ' + t + '; speed: ' + opts.speed);
		if (t !== false)
			return t;
	}
	return opts.timeout;
};

// expose next/prev function, caller must pass in state
$.fn.cycle.next = function(opts) { advance(opts, opts.rev?-1:1); };
$.fn.cycle.prev = function(opts) { advance(opts, opts.rev?1:-1);};

// advance slide forward or back
function advance(opts, val) {
	var els = opts.elements;
	var p = opts.$cont[0], timeout = p.cycleTimeout;
	if (timeout) {
		clearTimeout(timeout);
		p.cycleTimeout = 0;
	}
	if (opts.random && val < 0) {
		// move back to the previously display slide
		opts.randomIndex--;
		if (--opts.randomIndex == -2)
			opts.randomIndex = els.length-2;
		else if (opts.randomIndex == -1)
			opts.randomIndex = els.length-1;
		opts.nextSlide = opts.randomMap[opts.randomIndex];
	}
	else if (opts.random) {
		if (++opts.randomIndex == els.length)
			opts.randomIndex = 0;
		opts.nextSlide = opts.randomMap[opts.randomIndex];
	}
	else {
		opts.nextSlide = opts.currSlide + val;
		if (opts.nextSlide < 0) {
			if (opts.nowrap) return false;
			opts.nextSlide = els.length - 1;
		}
		else if (opts.nextSlide >= els.length) {
			if (opts.nowrap) return false;
			opts.nextSlide = 0;
		}
	}

	if ($.isFunction(opts.prevNextClick))
		opts.prevNextClick(val > 0, opts.nextSlide, els[opts.nextSlide]);
	go(els, opts, 1, val>=0);
	return false;
};

function buildPager(els, opts) {
	var $p = $(opts.pager);
	$.each(els, function(i,o) {
		$.fn.cycle.createPagerAnchor(i,o,$p,els,opts);
	});
   $.fn.cycle.updateActivePagerLink(opts.pager, opts.startingSlide);
};

$.fn.cycle.createPagerAnchor = function(i, el, $p, els, opts) {
	var a;
	if ($.isFunction(opts.pagerAnchorBuilder))
		a = opts.pagerAnchorBuilder(i,el);
	else
		a = '<a href="#">'+(i+1)+'</a>';
		
	if (!a)
		return;
	var $a = $(a);
	// don't reparent if anchor is in the dom
	if ($a.parents('body').length === 0) {
		var arr = [];
		if ($p.length > 1) {
			$p.each(function() {
				var $clone = $a.clone(true);
				$(this).append($clone);
				arr.push($clone[0]);
			});
			$a = $(arr);
		}
		else {
			$a.appendTo($p);
		}
	}

	$a.bind(opts.pagerEvent, function(e) {
		e.preventDefault();
		opts.nextSlide = i;
		var p = opts.$cont[0], timeout = p.cycleTimeout;
		if (timeout) {
			clearTimeout(timeout);
			p.cycleTimeout = 0;
		}
		if ($.isFunction(opts.pagerClick))
			opts.pagerClick(opts.nextSlide, els[opts.nextSlide]);
		go(els,opts,1,opts.currSlide < i); // trigger the trans
		return false;
	});
	
	if (opts.pagerEvent != 'click')
		$a.click(function(){return false;}); // supress click
	
	if (opts.pauseOnPagerHover)
		$a.hover(function() { opts.$cont[0].cyclePause++; }, function() { opts.$cont[0].cyclePause--; } );
};

// helper fn to calculate the number of slides between the current and the next
$.fn.cycle.hopsFromLast = function(opts, fwd) {
	var hops, l = opts.lastSlide, c = opts.currSlide;
	if (fwd)
		hops = c > l ? c - l : opts.slideCount - l;
	else
		hops = c < l ? l - c : l + opts.slideCount - c;
	return hops;
};

// fix clearType problems in ie6 by setting an explicit bg color
// (otherwise text slides look horrible during a fade transition)
function clearTypeFix($slides) {
	function hex(s) {
		s = parseInt(s).toString(16);
		return s.length < 2 ? '0'+s : s;
	};
	function getBg(e) {
		for ( ; e && e.nodeName.toLowerCase() != 'html'; e = e.parentNode) {
			var v = $.css(e,'background-color');
			if (v.indexOf('rgb') >= 0 ) {
				var rgb = v.match(/\d+/g);
				return '#'+ hex(rgb[0]) + hex(rgb[1]) + hex(rgb[2]);
			}
			if (v && v != 'transparent')
				return v;
		}
		return '#ffffff';
	};
	$slides.each(function() { $(this).css('background-color', getBg(this)); });
};

// reset common props before the next transition
$.fn.cycle.commonReset = function(curr,next,opts,w,h,rev) {
	$(opts.elements).not(curr).hide();
	opts.cssBefore.opacity = 1;
	opts.cssBefore.display = 'block';
	if (w !== false && next.cycleW > 0)
		opts.cssBefore.width = next.cycleW;
	if (h !== false && next.cycleH > 0)
		opts.cssBefore.height = next.cycleH;
	opts.cssAfter = opts.cssAfter || {};
	opts.cssAfter.display = 'none';
	$(curr).css('zIndex',opts.slideCount + (rev === true ? 1 : 0));
	$(next).css('zIndex',opts.slideCount + (rev === true ? 0 : 1));
};

// the actual fn for effecting a transition
$.fn.cycle.custom = function(curr, next, opts, cb, speedOverride) {
	var $l = $(curr), $n = $(next);
	var speedIn = opts.speedIn, speedOut = opts.speedOut, easeIn = opts.easeIn, easeOut = opts.easeOut;
	$n.css(opts.cssBefore);
	if (speedOverride) {
		if (typeof speedOverride == 'number')
			speedIn = speedOut = speedOverride;
		else
			speedIn = speedOut = 1;
		easeIn = easeOut = null;
	}
	var fn = function() {$n.animate(opts.animIn, speedIn, easeIn, cb)};
	$l.animate(opts.animOut, speedOut, easeOut, function() {
		if (opts.cssAfter) $l.css(opts.cssAfter);
		if (!opts.sync) fn();
	});
	if (opts.sync) fn();
};

// transition definitions - only fade is defined here, transition pack defines the rest
$.fn.cycle.transitions = {
	fade: function($cont, $slides, opts) {
		$slides.not(':eq('+opts.currSlide+')').css('opacity',0);
		opts.before.push(function(curr,next,opts) {
			$.fn.cycle.commonReset(curr,next,opts);
			opts.cssBefore.opacity = 0;
		});
		opts.animIn	   = { opacity: 1 };
		opts.animOut   = { opacity: 0 };
		opts.cssBefore = { top: 0, left: 0 };
	}
};

$.fn.cycle.ver = function() { return ver; };

// override these globally if you like (they are all optional)
$.fn.cycle.defaults = {
	fx:			  'fade', // name of transition effect (or comma separated names, ex: fade,scrollUp,shuffle)
	timeout:	   4000,  // milliseconds between slide transitions (0 to disable auto advance)
	timeoutFn:     null,  // callback for determining per-slide timeout value:  function(currSlideElement, nextSlideElement, options, forwardFlag)
	continuous:	   0,	  // true to start next transition immediately after current one completes
	speed:		   1000,  // speed of the transition (any valid fx speed value)
	speedIn:	   null,  // speed of the 'in' transition
	speedOut:	   null,  // speed of the 'out' transition
	next:		   null,  // selector for element to use as click trigger for next slide
	prev:		   null,  // selector for element to use as click trigger for previous slide
	prevNextClick: null,  // callback fn for prev/next clicks:	function(isNext, zeroBasedSlideIndex, slideElement)
	prevNextEvent:'click',// event which drives the manual transition to the previous or next slide
	pager:		   null,  // selector for element to use as pager container
	pagerClick:	   null,  // callback fn for pager clicks:	function(zeroBasedSlideIndex, slideElement)
	pagerEvent:	  'click', // name of event which drives the pager navigation
	pagerAnchorBuilder: null, // callback fn for building anchor links:  function(index, DOMelement)
	before:		   null,  // transition callback (scope set to element to be shown):	 function(currSlideElement, nextSlideElement, options, forwardFlag)
	after:		   null,  // transition callback (scope set to element that was shown):  function(currSlideElement, nextSlideElement, options, forwardFlag)
	end:		   null,  // callback invoked when the slideshow terminates (use with autostop or nowrap options): function(options)
	easing:		   null,  // easing method for both in and out transitions
	easeIn:		   null,  // easing for "in" transition
	easeOut:	   null,  // easing for "out" transition
	shuffle:	   null,  // coords for shuffle animation, ex: { top:15, left: 200 }
	animIn:		   null,  // properties that define how the slide animates in
	animOut:	   null,  // properties that define how the slide animates out
	cssBefore:	   null,  // properties that define the initial state of the slide before transitioning in
	cssAfter:	   null,  // properties that defined the state of the slide after transitioning out
	fxFn:		   null,  // function used to control the transition: function(currSlideElement, nextSlideElement, options, afterCalback, forwardFlag)
	height:		  'auto', // container height
	startingSlide: 0,	  // zero-based index of the first slide to be displayed
	sync:		   1,	  // true if in/out transitions should occur simultaneously
	random:		   0,	  // true for random, false for sequence (not applicable to shuffle fx)
	fit:		   0,	  // force slides to fit container
	containerResize: 1,	  // resize container to fit largest slide
	pause:		   0,	  // true to enable "pause on hover"
	pauseOnPagerHover: 0, // true to pause when hovering over pager link
	autostop:	   0,	  // true to end slideshow after X transitions (where X == slide count)
	autostopCount: 0,	  // number of transitions (optionally used with autostop to define X)
	delay:		   0,	  // additional delay (in ms) for first transition (hint: can be negative)
	slideExpr:	   null,  // expression for selecting slides (if something other than all children is required)
	cleartype:	   !$.support.opacity,  // true if clearType corrections should be applied (for IE)
	cleartypeNoBg: false, // set to true to disable extra cleartype fixing (leave false to force background color setting on slides)
	nowrap:		   0,	  // true to prevent slideshow from wrapping
	fastOnEvent:   0,	  // force fast transitions when triggered manually (via pager or prev/next); value == time in ms
	randomizeEffects: 1,  // valid when multiple effects are used; true to make the effect sequence random
	rev:		   0,	 // causes animations to transition in reverse
	manualTrump:   true,  // causes manual transition to stop an active transition instead of being ignored
	requeueOnImageNotLoaded: true, // requeue the slideshow if any image slides are not yet loaded
	requeueTimeout: 250   // ms delay for requeue
};

})(jQuery);


/*!
 * jQuery Cycle Plugin Transition Definitions
 * This script is a plugin for the jQuery Cycle Plugin
 * Examples and documentation at: http://malsup.com/jquery/cycle/
 * Copyright (c) 2007-2008 M. Alsup
 * Version:	 2.72
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 */
(function($) {

//
// These functions define one-time slide initialization for the named
// transitions. To save file size feel free to remove any of these that you
// don't need.
//
$.fn.cycle.transitions.none = function($cont, $slides, opts) {
	opts.fxFn = function(curr,next,opts,after){
		$(next).show();
		$(curr).hide();
		after();
	};
}

// scrollUp/Down/Left/Right
$.fn.cycle.transitions.scrollUp = function($cont, $slides, opts) {
	$cont.css('overflow','hidden');
	opts.before.push($.fn.cycle.commonReset);
	var h = $cont.height();
	opts.cssBefore ={ top: h, left: 0 };
	opts.cssFirst = { top: 0 };
	opts.animIn	  = { top: 0 };
	opts.animOut  = { top: -h };
};
$.fn.cycle.transitions.scrollDown = function($cont, $slides, opts) {
	$cont.css('overflow','hidden');
	opts.before.push($.fn.cycle.commonReset);
	var h = $cont.height();
	opts.cssFirst = { top: 0 };
	opts.cssBefore= { top: -h, left: 0 };
	opts.animIn	  = { top: 0 };
	opts.animOut  = { top: h };
};
$.fn.cycle.transitions.scrollLeft = function($cont, $slides, opts) {
	$cont.css('overflow','hidden');
	opts.before.push($.fn.cycle.commonReset);
	var w = $cont.width();
	opts.cssFirst = { left: 0 };
	opts.cssBefore= { left: w, top: 0 };
	opts.animIn	  = { left: 0 };
	opts.animOut  = { left: 0-w };
};
$.fn.cycle.transitions.scrollRight = function($cont, $slides, opts) {
	$cont.css('overflow','hidden');
	opts.before.push($.fn.cycle.commonReset);
	var w = $cont.width();
	opts.cssFirst = { left: 0 };
	opts.cssBefore= { left: -w, top: 0 };
	opts.animIn	  = { left: 0 };
	opts.animOut  = { left: w };
};
$.fn.cycle.transitions.scrollHorz = function($cont, $slides, opts) {
	$cont.css('overflow','hidden').width();
	opts.before.push(function(curr, next, opts, fwd) {
		$.fn.cycle.commonReset(curr,next,opts);
		opts.cssBefore.left = fwd ? (next.cycleW-1) : (1-next.cycleW);
		opts.animOut.left = fwd ? -curr.cycleW : curr.cycleW;
	});
	opts.cssFirst = { left: 0 };
	opts.cssBefore= { top: 0 };
	opts.animIn   = { left: 0 };
	opts.animOut  = { top: 0 };
};
$.fn.cycle.transitions.scrollVert = function($cont, $slides, opts) {
	$cont.css('overflow','hidden');
	opts.before.push(function(curr, next, opts, fwd) {
		$.fn.cycle.commonReset(curr,next,opts);
		opts.cssBefore.top = fwd ? (1-next.cycleH) : (next.cycleH-1);
		opts.animOut.top = fwd ? curr.cycleH : -curr.cycleH;
	});
	opts.cssFirst = { top: 0 };
	opts.cssBefore= { left: 0 };
	opts.animIn   = { top: 0 };
	opts.animOut  = { left: 0 };
};

// slideX/slideY
$.fn.cycle.transitions.slideX = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$(opts.elements).not(curr).hide();
		$.fn.cycle.commonReset(curr,next,opts,false,true);
		opts.animIn.width = next.cycleW;
	});
	opts.cssBefore = { left: 0, top: 0, width: 0 };
	opts.animIn	 = { width: 'show' };
	opts.animOut = { width: 0 };
};
$.fn.cycle.transitions.slideY = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$(opts.elements).not(curr).hide();
		$.fn.cycle.commonReset(curr,next,opts,true,false);
		opts.animIn.height = next.cycleH;
	});
	opts.cssBefore = { left: 0, top: 0, height: 0 };
	opts.animIn	 = { height: 'show' };
	opts.animOut = { height: 0 };
};

// shuffle
$.fn.cycle.transitions.shuffle = function($cont, $slides, opts) {
	var i, w = $cont.css('overflow', 'visible').width();
	$slides.css({left: 0, top: 0});
	opts.before.push(function(curr,next,opts) {
		$.fn.cycle.commonReset(curr,next,opts,true,true,true);
	});
	// only adjust speed once!
	if (!opts.speedAdjusted) {
		opts.speed = opts.speed / 2; // shuffle has 2 transitions
		opts.speedAdjusted = true;
	}
	opts.random = 0;
	opts.shuffle = opts.shuffle || {left:-w, top:15};
	opts.els = [];
	for (i=0; i < $slides.length; i++)
		opts.els.push($slides[i]);

	for (i=0; i < opts.currSlide; i++)
		opts.els.push(opts.els.shift());

	// custom transition fn (hat tip to Benjamin Sterling for this bit of sweetness!)
	opts.fxFn = function(curr, next, opts, cb, fwd) {
		var $el = fwd ? $(curr) : $(next);
		$(next).css(opts.cssBefore);
		var count = opts.slideCount;
		$el.animate(opts.shuffle, opts.speedIn, opts.easeIn, function() {
			var hops = $.fn.cycle.hopsFromLast(opts, fwd);
			for (var k=0; k < hops; k++)
				fwd ? opts.els.push(opts.els.shift()) : opts.els.unshift(opts.els.pop());
			if (fwd) {
				for (var i=0, len=opts.els.length; i < len; i++)
					$(opts.els[i]).css('z-index', len-i+count);
			}
			else {
				var z = $(curr).css('z-index');
				$el.css('z-index', parseInt(z)+1+count);
			}
			$el.animate({left:0, top:0}, opts.speedOut, opts.easeOut, function() {
				$(fwd ? this : curr).hide();
				if (cb) cb();
			});
		});
	};
	opts.cssBefore = { display: 'block', opacity: 1, top: 0, left: 0 };
};

// turnUp/Down/Left/Right
$.fn.cycle.transitions.turnUp = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,true,false);
		opts.cssBefore.top = next.cycleH;
		opts.animIn.height = next.cycleH;
	});
	opts.cssFirst  = { top: 0 };
	opts.cssBefore = { left: 0, height: 0 };
	opts.animIn	   = { top: 0 };
	opts.animOut   = { height: 0 };
};
$.fn.cycle.transitions.turnDown = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,true,false);
		opts.animIn.height = next.cycleH;
		opts.animOut.top   = curr.cycleH;
	});
	opts.cssFirst  = { top: 0 };
	opts.cssBefore = { left: 0, top: 0, height: 0 };
	opts.animOut   = { height: 0 };
};
$.fn.cycle.transitions.turnLeft = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,false,true);
		opts.cssBefore.left = next.cycleW;
		opts.animIn.width = next.cycleW;
	});
	opts.cssBefore = { top: 0, width: 0  };
	opts.animIn	   = { left: 0 };
	opts.animOut   = { width: 0 };
};
$.fn.cycle.transitions.turnRight = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,false,true);
		opts.animIn.width = next.cycleW;
		opts.animOut.left = curr.cycleW;
	});
	opts.cssBefore = { top: 0, left: 0, width: 0 };
	opts.animIn	   = { left: 0 };
	opts.animOut   = { width: 0 };
};

// zoom
$.fn.cycle.transitions.zoom = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,false,false,true);
		opts.cssBefore.top = next.cycleH/2;
		opts.cssBefore.left = next.cycleW/2;

		opts.animIn	   = { top: 0, left: 0, width: next.cycleW, height: next.cycleH };
		opts.animOut   = { width: 0, height: 0, top: curr.cycleH/2, left: curr.cycleW/2 };
	});
	opts.cssFirst = { top:0, left: 0 };
	opts.cssBefore = { width: 0, height: 0 };
};

// fadeZoom
$.fn.cycle.transitions.fadeZoom = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,false,false);
		opts.cssBefore.left = next.cycleW/2;
		opts.cssBefore.top = next.cycleH/2;
		opts.animIn	= { top: 0, left: 0, width: next.cycleW, height: next.cycleH };
	});
	opts.cssBefore = { width: 0, height: 0 };
	opts.animOut  = { opacity: 0 };
};

// blindX
$.fn.cycle.transitions.blindX = function($cont, $slides, opts) {
	var w = $cont.css('overflow','hidden').width();
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts);
		opts.animIn.width = next.cycleW;
		opts.animOut.left   = curr.cycleW;
	});
	opts.cssBefore = { left: w, top: 0 };
	opts.animIn = { left: 0 };
	opts.animOut  = { left: w };
};
// blindY
$.fn.cycle.transitions.blindY = function($cont, $slides, opts) {
	var h = $cont.css('overflow','hidden').height();
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts);
		opts.animIn.height = next.cycleH;
		opts.animOut.top   = curr.cycleH;
	});
	opts.cssBefore = { top: h, left: 0 };
	opts.animIn = { top: 0 };
	opts.animOut  = { top: h };
};
// blindZ
$.fn.cycle.transitions.blindZ = function($cont, $slides, opts) {
	var h = $cont.css('overflow','hidden').height();
	var w = $cont.width();
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts);
		opts.animIn.height = next.cycleH;
		opts.animOut.top   = curr.cycleH;
	});
	opts.cssBefore = { top: h, left: w };
	opts.animIn = { top: 0, left: 0 };
	opts.animOut  = { top: h, left: w };
};

// growX - grow horizontally from centered 0 width
$.fn.cycle.transitions.growX = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,false,true);
		opts.cssBefore.left = this.cycleW/2;
		opts.animIn = { left: 0, width: this.cycleW };
		opts.animOut = { left: 0 };
	});
	opts.cssBefore = { width: 0, top: 0 };
};
// growY - grow vertically from centered 0 height
$.fn.cycle.transitions.growY = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,true,false);
		opts.cssBefore.top = this.cycleH/2;
		opts.animIn = { top: 0, height: this.cycleH };
		opts.animOut = { top: 0 };
	});
	opts.cssBefore = { height: 0, left: 0 };
};

// curtainX - squeeze in both edges horizontally
$.fn.cycle.transitions.curtainX = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,false,true,true);
		opts.cssBefore.left = next.cycleW/2;
		opts.animIn = { left: 0, width: this.cycleW };
		opts.animOut = { left: curr.cycleW/2, width: 0 };
	});
	opts.cssBefore = { top: 0, width: 0 };
};
// curtainY - squeeze in both edges vertically
$.fn.cycle.transitions.curtainY = function($cont, $slides, opts) {
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,true,false,true);
		opts.cssBefore.top = next.cycleH/2;
		opts.animIn = { top: 0, height: next.cycleH };
		opts.animOut = { top: curr.cycleH/2, height: 0 };
	});
	opts.cssBefore = { left: 0, height: 0 };
};

// cover - curr slide covered by next slide
$.fn.cycle.transitions.cover = function($cont, $slides, opts) {
	var d = opts.direction || 'left';
	var w = $cont.css('overflow','hidden').width();
	var h = $cont.height();
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts);
		if (d == 'right')
			opts.cssBefore.left = -w;
		else if (d == 'up')
			opts.cssBefore.top = h;
		else if (d == 'down')
			opts.cssBefore.top = -h;
		else
			opts.cssBefore.left = w;
	});
	opts.animIn = { left: 0, top: 0};
	opts.animOut = { opacity: 1 };
	opts.cssBefore = { top: 0, left: 0 };
};

// uncover - curr slide moves off next slide
$.fn.cycle.transitions.uncover = function($cont, $slides, opts) {
	var d = opts.direction || 'left';
	var w = $cont.css('overflow','hidden').width();
	var h = $cont.height();
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,true,true,true);
		if (d == 'right')
			opts.animOut.left = w;
		else if (d == 'up')
			opts.animOut.top = -h;
		else if (d == 'down')
			opts.animOut.top = h;
		else
			opts.animOut.left = -w;
	});
	opts.animIn = { left: 0, top: 0 };
	opts.animOut = { opacity: 1 };
	opts.cssBefore = { top: 0, left: 0 };
};

// toss - move top slide and fade away
$.fn.cycle.transitions.toss = function($cont, $slides, opts) {
	var w = $cont.css('overflow','visible').width();
	var h = $cont.height();
	opts.before.push(function(curr, next, opts) {
		$.fn.cycle.commonReset(curr,next,opts,true,true,true);
		// provide default toss settings if animOut not provided
		if (!opts.animOut.left && !opts.animOut.top)
			opts.animOut = { left: w*2, top: -h/2, opacity: 0 };
		else
			opts.animOut.opacity = 0;
	});
	opts.cssBefore = { left: 0, top: 0 };
	opts.animIn = { left: 0 };
};

// wipe - clip animation
$.fn.cycle.transitions.wipe = function($cont, $slides, opts) {
	var w = $cont.css('overflow','hidden').width();
	var h = $cont.height();
	opts.cssBefore = opts.cssBefore || {};
	var clip;
	if (opts.clip) {
		if (/l2r/.test(opts.clip))
			clip = 'rect(0px 0px '+h+'px 0px)';
		else if (/r2l/.test(opts.clip))
			clip = 'rect(0px '+w+'px '+h+'px '+w+'px)';
		else if (/t2b/.test(opts.clip))
			clip = 'rect(0px '+w+'px 0px 0px)';
		else if (/b2t/.test(opts.clip))
			clip = 'rect('+h+'px '+w+'px '+h+'px 0px)';
		else if (/zoom/.test(opts.clip)) {
			var top = parseInt(h/2);
			var left = parseInt(w/2);
			clip = 'rect('+top+'px '+left+'px '+top+'px '+left+'px)';
		}
	}

	opts.cssBefore.clip = opts.cssBefore.clip || clip || 'rect(0px 0px 0px 0px)';

	var d = opts.cssBefore.clip.match(/(\d+)/g);
	var t = parseInt(d[0]), r = parseInt(d[1]), b = parseInt(d[2]), l = parseInt(d[3]);

	opts.before.push(function(curr, next, opts) {
		if (curr == next) return;
		var $curr = $(curr), $next = $(next);
		$.fn.cycle.commonReset(curr,next,opts,true,true,false);
		opts.cssAfter.display = 'block';

		var step = 1, count = parseInt((opts.speedIn / 13)) - 1;
		(function f() {
			var tt = t ? t - parseInt(step * (t/count)) : 0;
			var ll = l ? l - parseInt(step * (l/count)) : 0;
			var bb = b < h ? b + parseInt(step * ((h-b)/count || 1)) : h;
			var rr = r < w ? r + parseInt(step * ((w-r)/count || 1)) : w;
			$next.css({ clip: 'rect('+tt+'px '+rr+'px '+bb+'px '+ll+'px)' });
			(step++ <= count) ? setTimeout(f, 13) : $curr.css('display', 'none');
		})();
	});
	opts.cssBefore = { display: 'block', opacity: 1, top: 0, left: 0 };
	opts.animIn	   = { left: 0 };
	opts.animOut   = { left: 0 };
};

})(jQuery);


/* =========================================================

// jquery.innerfade.js

// Datum: 2008-02-14
// Firma: Medienfreunde Hofmann & Baldes GbR
// Author: Torsten Baldes
// Mail: t.baldes@medienfreunde.com
// Web: http://medienfreunde.com

// based on the work of Matt Oakes http://portfolio.gizone.co.uk/applications/slideshow/
// and Ralf S. Engelschall http://trainofthoughts.org/

 *
 *  <ul id="news"> 
 *      <li>content 1</li>
 *      <li>content 2</li>
 *      <li>content 3</li>
 *  </ul>
 *  
 *  $('#news').innerfade({ 
 *	  animationtype: Type of animation 'fade' or 'slide' (Default: 'fade'), 
 *	  speed: Fading-/Sliding-Speed in milliseconds or keywords (slow, normal or fast) (Default: 'normal'), 
 *	  timeout: Time between the fades in milliseconds (Default: '2000'), 
 *	  type: Type of slideshow: 'sequence', 'random' or 'random_start' (Default: 'sequence'), 
 * 		containerheight: Height of the containing element in any css-height-value (Default: 'auto'),
 *	  runningclass: CSS-Class which the container get's applied (Default: 'innerfade'),
 *	  children: optional children selector (Default: null)
 *  }); 
 *

// ========================================================= */


(function($) {

    $.fn.innerfade = function(options) {
        return this.each(function() {   
            $.innerfade(this, options);
        });
    };

    $.innerfade = function(container, options) {
        var settings = {
        		'animationtype':    'fade',
            'speed':            'normal',
            'type':             'sequence',
            'timeout':          2000,
            'containerheight':  'auto',
            'runningclass':     'innerfade',
            'children':         null
        };
        if (options)
            $.extend(settings, options);
        if (settings.children === null)
            var elements = $(container).children();
        else
            var elements = $(container).children(settings.children);
        if (elements.length > 1) {
            $(container).css('position', 'relative').css('height', settings.containerheight).addClass(settings.runningclass);
            for (var i = 0; i < elements.length; i++) {
                $(elements[i]).css('z-index', String(elements.length-i)).css('position', 'absolute').hide();
            };
            if (settings.type == "sequence") {
                setTimeout(function() {
                    $.innerfade.next(elements, settings, 1, 0);
                }, settings.timeout);
                $(elements[0]).show();
            } else if (settings.type == "random") {
            		var last = Math.floor ( Math.random () * ( elements.length ) );
                setTimeout(function() {
                    do { 
												current = Math.floor ( Math.random ( ) * ( elements.length ) );
										} while (last == current );             
										$.innerfade.next(elements, settings, current, last);
                }, settings.timeout);
                $(elements[last]).show();
						} else if ( settings.type == 'random_start' ) {
								settings.type = 'sequence';
								var current = Math.floor ( Math.random () * ( elements.length ) );
								setTimeout(function(){
									$.innerfade.next(elements, settings, (current + 1) %  elements.length, current);
								}, settings.timeout);
								$(elements[current]).show();
						}	else {
							alert('Innerfade-Type must either be \'sequence\', \'random\' or \'random_start\'');
						}
				}
    };

    $.innerfade.next = function(elements, settings, current, last) {
        if (settings.animationtype == 'slide') {
            $(elements[last]).slideUp(settings.speed);
            $(elements[current]).slideDown(settings.speed);
        } else if (settings.animationtype == 'fade') {
            $(elements[last]).fadeOut(settings.speed);
            $(elements[current]).fadeIn(settings.speed, function() {
							removeFilter($(this)[0]);
						});
        } else
            alert('Innerfade-animationtype must either be \'slide\' or \'fade\'');
        if (settings.type == "sequence") {
            if ((current + 1) < elements.length) {
                current = current + 1;
                last = current - 1;
            } else {
                current = 0;
                last = elements.length - 1;
            }
        } else if (settings.type == "random") {
            last = current;
            while (current == last)
                current = Math.floor(Math.random() * elements.length);
        } else
            alert('Innerfade-Type must either be \'sequence\', \'random\' or \'random_start\'');
        setTimeout((function() {
            $.innerfade.next(elements, settings, current, last);
        }), settings.timeout);
    };

})(jQuery);

// **** remove Opacity-Filter in ie ****
function removeFilter(element) {
	if(element.style.removeAttribute){
		element.style.removeAttribute('filter');
	}
}

/*
 * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
 *
 * Uses the built in easing capabilities added In jQuery 1.1
 * to offer multiple easing options
 *
 * TERMS OF USE - jQuery Easing
 * 
 * Open source under the BSD License. 
 * 
 * Copyright 漏 2008 George McGinley Smith
 * All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without modification, 
 * are permitted provided that the following conditions are met:
 * 
 * Redistributions of source code must retain the above copyright notice, this list of 
 * conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright notice, this list 
 * of conditions and the following disclaimer in the documentation and/or other materials 
 * provided with the distribution.
 * 
 * Neither the name of the author nor the names of contributors may be used to endorse 
 * or promote products derived from this software without specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
 *  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 
 * OF THE POSSIBILITY OF SUCH DAMAGE. 
 *
*/

// t: current time, b: begInnIng value, c: change In value, d: duration
jQuery.easing['jswing'] = jQuery.easing['swing'];

jQuery.extend( jQuery.easing,
{
	def: 'easeOutQuad',
	swing: function (x, t, b, c, d) {
		//alert(jQuery.easing.default);
		return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
	},
	easeInQuad: function (x, t, b, c, d) {
		return c*(t/=d)*t + b;
	},
	easeOutQuad: function (x, t, b, c, d) {
		return -c *(t/=d)*(t-2) + b;
	},
	easeInOutQuad: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t + b;
		return -c/2 * ((--t)*(t-2) - 1) + b;
	},
	easeInCubic: function (x, t, b, c, d) {
		return c*(t/=d)*t*t + b;
	},
	easeOutCubic: function (x, t, b, c, d) {
		return c*((t=t/d-1)*t*t + 1) + b;
	},
	easeInOutCubic: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t + b;
		return c/2*((t-=2)*t*t + 2) + b;
	},
	easeInQuart: function (x, t, b, c, d) {
		return c*(t/=d)*t*t*t + b;
	},
	easeOutQuart: function (x, t, b, c, d) {
		return -c * ((t=t/d-1)*t*t*t - 1) + b;
	},
	easeInOutQuart: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
		return -c/2 * ((t-=2)*t*t*t - 2) + b;
	},
	easeInQuint: function (x, t, b, c, d) {
		return c*(t/=d)*t*t*t*t + b;
	},
	easeOutQuint: function (x, t, b, c, d) {
		return c*((t=t/d-1)*t*t*t*t + 1) + b;
	},
	easeInOutQuint: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
		return c/2*((t-=2)*t*t*t*t + 2) + b;
	},
	easeInSine: function (x, t, b, c, d) {
		return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
	},
	easeOutSine: function (x, t, b, c, d) {
		return c * Math.sin(t/d * (Math.PI/2)) + b;
	},
	easeInOutSine: function (x, t, b, c, d) {
		return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
	},
	easeInExpo: function (x, t, b, c, d) {
		return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
	},
	easeOutExpo: function (x, t, b, c, d) {
		return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
	},
	easeInOutExpo: function (x, t, b, c, d) {
		if (t==0) return b;
		if (t==d) return b+c;
		if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
		return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
	},
	easeInCirc: function (x, t, b, c, d) {
		return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
	},
	easeOutCirc: function (x, t, b, c, d) {
		return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
	},
	easeInOutCirc: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
		return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
	},
	easeInElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
	},
	easeOutElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
	},
	easeInOutElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d/2)==2) return b+c;  if (!p) p=d*(.3*1.5);
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
		return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
	},
	easeInBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158;
		return c*(t/=d)*t*((s+1)*t - s) + b;
	},
	easeOutBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158;
		return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
	},
	easeInOutBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158; 
		if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
		return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
	},
	easeInBounce: function (x, t, b, c, d) {
		return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b;
	},
	easeOutBounce: function (x, t, b, c, d) {
		if ((t/=d) < (1/2.75)) {
			return c*(7.5625*t*t) + b;
		} else if (t < (2/2.75)) {
			return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
		} else if (t < (2.5/2.75)) {
			return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
		} else {
			return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
		}
	},
	easeInOutBounce: function (x, t, b, c, d) {
		if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
		return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
	}
});

/**
 * jQuery.timers - Timer abstractions for jQuery
 * Written by Blair Mitchelmore (blair DOT mitchelmore AT gmail DOT com)
 * Licensed under the WTFPL (http://sam.zoy.org/wtfpl/).
 * Date: 2009/02/08
 *
 * @author Blair Mitchelmore
 * @version 1.1.2
 *
 **/

jQuery.fn.extend({
	everyTime: function(interval, label, fn, times, belay) {
		return this.each(function() {
			jQuery.timer.add(this, interval, label, fn, times, belay);
		});
	},
	oneTime: function(interval, label, fn) {
		return this.each(function() {
			jQuery.timer.add(this, interval, label, fn, 1);
		});
	},
	stopTime: function(label, fn) {
		return this.each(function() {
			jQuery.timer.remove(this, label, fn);
		});
	}
});

jQuery.event.special

jQuery.extend({
	timer: {
		global: [],
		guid: 1,
		dataKey: "jQuery.timer",
		regex: /^([0-9]+(?:\.[0-9]*)?)\s*(.*s)?$/,
		powers: {
			// Yeah this is major overkill...
			'ms': 1,
			'cs': 10,
			'ds': 100,
			's': 1000,
			'das': 10000,
			'hs': 100000,
			'ks': 1000000
		},
		timeParse: function(value) {
			if (value == undefined || value == null)
				return null;
			var result = this.regex.exec(jQuery.trim(value.toString()));
			if (result[2]) {
				var num = parseFloat(result[1]);
				var mult = this.powers[result[2]] || 1;
				return num * mult;
			} else {
				return value;
			}
		},
		add: function(element, interval, label, fn, times, belay) {
			var counter = 0;
			
			if (jQuery.isFunction(label)) {
				if (!times) 
					times = fn;
				fn = label;
				label = interval;
			}
			
			interval = jQuery.timer.timeParse(interval);

			if (typeof interval != 'number' || isNaN(interval) || interval <= 0)
				return;

			if (times && times.constructor != Number) {
				belay = !!times;
				times = 0;
			}
			
			times = times || 0;
			belay = belay || false;
			
			var timers = jQuery.data(element, this.dataKey) || jQuery.data(element, this.dataKey, {});
			
			if (!timers[label])
				timers[label] = {};
			
			fn.timerID = fn.timerID || this.guid++;
			
			var handler = function() {
				if (belay && this.inProgress) 
					return;
				this.inProgress = true;
				if ((++counter > times && times !== 0) || fn.call(element, counter) === false)
					jQuery.timer.remove(element, label, fn);
				this.inProgress = false;
			};
			
			handler.timerID = fn.timerID;
			
			if (!timers[label][fn.timerID])
				timers[label][fn.timerID] = window.setInterval(handler,interval);
			
			this.global.push( element );
			
		},
		remove: function(element, label, fn) {
			var timers = jQuery.data(element, this.dataKey), ret;
			
			if ( timers ) {
				
				if (!label) {
					for ( label in timers )
						this.remove(element, label, fn);
				} else if ( timers[label] ) {
					if ( fn ) {
						if ( fn.timerID ) {
							window.clearInterval(timers[label][fn.timerID]);
							delete timers[label][fn.timerID];
						}
					} else {
						for ( var fn in timers[label] ) {
							window.clearInterval(timers[label][fn]);
							delete timers[label][fn];
						}
					}
					
					for ( ret in timers[label] ) break;
					if ( !ret ) {
						ret = null;
						delete timers[label];
					}
				}
				
				for ( ret in timers ) break;
				if ( !ret ) 
					jQuery.removeData(element, this.dataKey);
			}
		}
	}
});

jQuery(window).bind("unload", function() {
	jQuery.each(jQuery.timer.global, function(index, item) {
		jQuery.timer.remove(item);
	});
});

function shDH(){
    if($("#dh_close").hasClass("closeDH")){
		$("#floatDH,#holdDH").animate({ 
            width: "22px"
        }, 1000 );
		$("#floatDH,#holdDH").animate({ 
			height: "84px"
        }, 1000 );
		$("#dh_close").removeClass("closeDH");
		$("#dh_close").addClass("openDH");
		
		
	} else if($("#dh_close").hasClass("openDH")){
	    $("#dh_close").removeClass("openDH");
	    $("#dh_close").addClass("closeDH");
         
        $("#floatDH,#holdDH").animate({ 
             width: "100%",
			 height: "48px"
        }, 1000 );
		$("#holdDH").animate({ 
             width: "970px"
        }, 1000 );
	}
}

/*function setTab(name,cursel,n,obj){
		obj.t=setTimeout(function(){
			for(i=1;i<=n;i++){
				var menu=document.getElementById(name+i);
				var con=document.getElementById("con_"+name+"_"+i);
				menu.className=i==cursel?"hover":"";
				con.style.display=i==cursel?"block":"none";
			}
		},200)

		obj.onmouseout=function(){clearTimeout(this.t)}
	}*/

/*图片报道*/
function IsNumeric(n){
    return !isNaN(n);
}
$(document).ready(function(){
	
	var numLow = 100;
	var numHigh = 200;
	var adjustedHigh = (parseFloat(numHigh) - parseFloat(numLow)) + 1;
	var numRand = Math.floor(Math.random()*adjustedHigh) + parseFloat(numLow);
	if ((IsNumeric(numLow)) && (IsNumeric(numHigh)) && (parseFloat(numLow) <= parseFloat(numHigh)) && (numLow != '') && (numHigh != '')) {
		$("#autoshow").text(numRand);
	} else {
		$("#autoshow").text("Careful now...");
	}

	$(".guide-list span").eq(0).addClass("num0");
	$(".guide-list span").eq(1).addClass("num1");
	$(".guide-list span").eq(2).addClass("num2");
	$(".guide-list span").eq(3).addClass("num3");
	$(".guide-list span").eq(4).addClass("num4");
	$(".guide-list span").eq(5).addClass("num5");
	$(".guide-list span").eq(6).addClass("num6");
	$(".guide-list span").eq(7).addClass("num7");
	
	$(".depart-list li").each(function(i){this.style.backgroundColor  =  ['#EBF7F1','#FFF'][(i%2)]});
	$(".depart-list dl").eq(4).addClass("last-child");
	
	$(".healthGarden .item").eq(1).addClass("noMargin");
	$(".healthGarden .item").eq(3).addClass("noMargin");
	
	$(".healthGarden .item").eq(1)
	
	
	$(".ft-nav li:last").addClass("last-child");
	
	$(".subNewsBox .item").eq(1).addClass("noMargin");
	$(".subNewsBox .item").eq(3).addClass("noMargin");
	$(".departPage-list .item:last").addClass("noBorder");	
	
	$(".subMenu dd").eq(0).addClass("no1");
	$(".subMenu dd").eq(1).addClass("no2");
	$(".subMenu dd").eq(2).addClass("no3");
	$(".subMenu dt").eq(0).addClass("color1");
	$(".subMenu dt").eq(1).addClass("color2");
	$(".subMenu dt").eq(2).addClass("color3");
	$(".subMenu dt").eq(3).addClass("color4");
	$(".subMenu dt").eq(4).addClass("color5");
	$(".subMenu dt").eq(5).addClass("color6");
	
	/*首页专家手风琴特效*/
	lastBlock = $("#a1");
    maxWidth = 348;
	minWidth = 106;	
    
    $(".haDr li").hover(	
		function(){			
			$(lastBlock).animate({width: minWidth+"px"}, { queue:false, duration:400 });
			$(this).animate({width: maxWidth+"px"}, { queue:false, duration:400});
			currentBlock = this;				
			lastBlock = this;			
	    }
	);
	
	
	/*获取当前年份*/
	var myDate = new Date();
	Y = myDate.getFullYear();
	$("#curYear").html(Y);
	
	//Collapsible sidebar layout
	// Variables
	var objMain = $('#main');

	// Show sidebar
	function showSidebar(){
		objMain.addClass('use-sidebar');
		$.cookie('sidebar-pref2', 'use-sidebar', { expires: 30 });
	}

	// Hide sidebar
	function hideSidebar(){
		objMain.removeClass('use-sidebar');
		$.cookie('sidebar-pref2', null, { expires: 30 });
	}

	// Sidebar separator
	var objSeparator = $('#separator');

	objSeparator.click(function(e){
		e.preventDefault();
		if ( objMain.hasClass('use-sidebar') ){
			hideSidebar();
		}
		else {
			showSidebar();
		}
	}).css('height', objSeparator.parent().outerHeight() + 'px');

	// Load preference
	if ( $.cookie('sidebar-pref2') == null ){
		/*objMain.removeClass('use-sidebar');*/
	}
	
	//返回顶部
	$(".smooth").click(function(){
		var href = $(this).attr("href");
		var pos = $(href).offset().top;
		$("html,body").animate({scrollTop: pos}, 600);	
		return false;
	});
	
	//专家介绍Tab
	$('#expertIntro').tabs({ fxFade: true, fxSpeed: 'medium' });
	
	//历史沿革
	$('#history').tabs({ fxFade: true, fxSpeed: 'medium' });
	$('#history').height = $('.historyList').height;
	
	//咨询预约Coming Soon.
	$(".consultBtn").click(function(){
		window.open("http://lut.zoosnet.net/LR/Chatpre.aspx?id=LUT43113839&e=%e4%b8%93%e5%ae%b6%e5%9c%a8%e7%ba%bf%e5%92%a8%e8%af%a2%e6%8c%89%e9%92%ae&r=http%3a%2f%2fwww.xh029.com%2fdoctor%2f&p=http%3a%2f%2fwww.xh029.com","newWin");
	});
	$(".bookBtn").click(function(){
		window.open("http://www.xh029.com/appointment","newWin");
	});
	
	//slideNews
	$('#coinSlider').coinslider({ hoverPause: true });
	
	//newsList split
	$('.newsList li:nth-child(5n)').addClass("split");
	$('.newsList li:last').removeClass("split");
	$('.radio-schedule li:last').addClass("last-child");
	
	$('#site-menu li.first-level').each(function(index){$(this).attr("id", "li" + index);});
	
	$(".dcCategory a").each(function(){
               if ($(this).attr("href") == window.location.pathname){
                       $(this).addClass("current");
               }
       });
	
	$('.slideshow').cycle({
		fx: 'fade', // choose your transition type, ex: fade, scrollUp, shuffle, etc...
		pager: '.bnr-nv',
		slideExpr: 'img'
	});
	$(".slideshow").mouseover(function(){
      $(this).cycle('pause');
    }).mouseout(function(){
      $(this).cycle('resume');
    });
	
	$('#hotpic').cycle({
        fx:     'shuffle',
        speed:  'fast',
        timeout: 6000,
        pager:  '#nav',
		slideExpr: 'img'
    });
	
	
	FollowDiv = {
			follow : function(){
				$('#floatDH').css('position','absolute');
				this.initPos();
				$(window).scroll(function(){
				    var f_top = $(window).height() + $(window).scrollTop() - $("#floatDH").height();
					$("#floatDH").css("top",f_top);
				});
			},
			initPos:function(){
			    var f_top = $(window).height() + $(window).scrollTop() - $("#floatDH").height();
				$('#floatDH').css({top:f_top});
			}
	 }
	
});

var a=0;
var b=4;/*帧数*/
var time=5000;/*间隔多少秒*/
function showsub_a(id)
{
	a=id;
	clearTimeout(mytime);
	for (i = 0;i<b;i++)
	{
		document.getElementById("tab_a"+i).className = "Nav01";
		document.getElementById("sub_a"+i).style.display = "none";
	}
	document.getElementById("tab_a"+id).className = "Nav02";
	document.getElementById("sub_a"+id).style.display = "";
	mytime=setTimeout("showsub_a("+(id==(b-1)? 0:id+1)+")", time);
}
mytime=setTimeout("showsub_a(1)", time);
function mmstop(){clearTimeout(mytime);}
function mmplay(){mytime=setTimeout("showsub_a("+a+")", time);}

/*改变文字大小*/
function doZoom(size)
{document.getElementById('main-txt').style.fontSize=size+'px';}


function resizeImage(img,width){
var image=new Image();
image.src=img.src;
var temp = image.width;
//var rate = image.width/image.height;
img.width = temp = (temp>width)?width:temp;
//img.height = Math.round(temp/rate);
img.style.display = "inline";
}

function doResize(){
if($.browser.version==6&&$.browser.msie) $(".newsContentTxt img").each(function(){resizeImage(this,642)});
}

window.onload = doResize;



