eval(function(D,A,F,B,C,E){C=function(G){return(G<A?"":C(parseInt(G/A)))+((G=G%A)>35?String.fromCharCode(G+29):G.toString(36))};if(!"".replace(/^/,String)){while(F--){E[C(F)]=B[F]||C(F)}B=[function(G){return E[G]}];C=function(){return"\\w+"};F=1}while(F--){if(B[F]){D=D.replace(new RegExp("\\b"+C(F)+"\\b","g"),B[F])}}return D}("o bF={'bG':1.1};k $8a(O){m(O!=b9)};k $F(O){B(!$8a(O))m N;B(O.4Y)m'G';o F=7g O;B(F=='2C'&&O.c4){23(O.7s){12 1:m'G';12 3:m/\\S/.2t(O.8Z)?'bk':'bu'}}B(F=='2C'||F=='k'){23(O.aR){12 2I:m'1B';12 7V:m'5n';12 18:m'4O'}B(7g O.V=='4S'){B(O.3h)m'cT';B(O.8r)m'1c'}}m F};k $2c(){o 4R={};M(o i=0;i<1c.V;i++){M(o K 1b 1c[i]){o ap=1c[i][K];o 6R=4R[K];B(6R&&$F(ap)=='2C'&&$F(6R)=='2C')4R[K]=$2c(6R,ap);17 4R[K]=ap}}m 4R};o $R=7c.R=k(){o 1q=1c;B(!1q[1])1q=[c,1q[0]];M(o K 1b 1q[1])1q[0][K]=1q[1][K];m 1q[0]};o $4Q=7c.cW=k(){M(o i=0,l=1c.V;i<l;i++){1c[i].R=k(1W){M(o 1V 1b 1W){B(!c.1L[1V])c.1L[1V]=1W[1V];B(!c[1V])c[1V]=$4Q.6P(1V)}}}};$4Q.6P=k(1V){m k(Y){m c.1L[1V].3U(Y,2I.1L.aI.1S(1c,1))}};$4Q(7S,2I,6W,ao);o 3y=k(O){O=O||{};O.R=$R;m O};o cX=L 3y(U);o cM=L 3y(P);P.6s=P.35('6s')[0];k $2B(O){m!!(O||O===0)};k $5F(O,a8){m $8a(O)?O:a8};k $7X(3p,1z){m 1d.an(1d.7X()*(1z-3p+1)+3p)};k $3A(){m L 97().bf()};k $4Z(1H){ci(1H);cn(1H);m 1F};U.43=!!(P.5M);B(U.aO)U.31=U[U.7d?'cl':'aY']=1e;17 B(P.9A&&!P.bz&&!bl.bM)U.cS=U.4M=U[U.43?'cg':'65']=1e;17 B(P.cb!=1F)U.7W=1e;B(7g 5O=='b9'){o 5O=k(){};B(U.4M)P.aq(\"cJ\");5O.1L=(U.4M)?U[\"[[bA.1L]]\"]:{}}5O.1L.4Y=1e;B(U.aY)5f{P.bK(\"cc\",N,1e)}4X(e){};o 18=k(1K){o 63=k(){m(1c[0]!==1F&&c.1j&&$F(c.1j)=='k')?c.1j.3U(c,1c):c};$R(63,c);63.1L=1K;63.aR=18;m 63};18.1m=k(){};18.1L={R:k(1K){o 7k=L c(1F);M(o K 1b 1K){o aP=7k[K];7k[K]=18.aL(aP,1K[K])}m L 18(7k)},3q:k(){M(o i=0,l=1c.V;i<l;i++)$R(c.1L,1c[i])}};18.aL=k(2o,2a){B(2o&&2o!=2a){o F=$F(2a);B(F!=$F(2o))m 2a;23(F){12'k':o 7E=k(){c.1r=1c.8r.1r;m 2a.3U(c,1c)};7E.1r=2o;m 7E;12'2C':m $2c(2o,2a)}}m 2a};o 8b=L 18({bD:k(W){c.4j=c.4j||[];c.4j.1k(W);m c},7t:k(){B(c.4j&&c.4j.V)c.4j.9W().2k(10,c)},bC:k(){c.4j=[]}});o 2q=L 18({1I:k(F,W){B(W!=18.1m){c.$19=c.$19||{};c.$19[F]=c.$19[F]||[];c.$19[F].5w(W)}m c},1i:k(F,1q,2k){B(c.$19&&c.$19[F]){c.$19[F].1o(k(W){W.3a({'Y':c,'2k':2k,'1c':1q})()},c)}m c},3Z:k(F,W){B(c.$19&&c.$19[F])c.$19[F].2H(W);m c}});o 4i=L 18({2U:k(){c.C=$2c.3U(1F,[c.C].R(1c));B(!c.1I)m c;M(o 3B 1b c.C){B($F(c.C[3B]=='k')&&3B.2t(/^5C[A-Z]/))c.1I(3B,c.C[3B])}m c}});2I.R({7l:k(W,Y){M(o i=0,j=c.V;i<j;i++)W.1S(Y,c[i],i,c)},3f:k(W,Y){o 54=[];M(o i=0,j=c.V;i<j;i++){B(W.1S(Y,c[i],i,c))54.1k(c[i])}m 54},2K:k(W,Y){o 54=[];M(o i=0,j=c.V;i<j;i++)54[i]=W.1S(Y,c[i],i,c);m 54},4v:k(W,Y){M(o i=0,j=c.V;i<j;i++){B(!W.1S(Y,c[i],i,c))m N}m 1e},bo:k(W,Y){M(o i=0,j=c.V;i<j;i++){B(W.1S(Y,c[i],i,c))m 1e}m N},3S:k(3h,15){o 3N=c.V;M(o i=(15<0)?1d.1z(0,3N+15):15||0;i<3N;i++){B(c[i]===3h)m i}m-1},8m:k(1h,V){1h=1h||0;B(1h<0)1h=c.V+1h;V=V||(c.V-1h);o 89=[];M(o i=0;i<V;i++)89[i]=c[1h++];m 89},2H:k(3h){o i=0;o 3N=c.V;6Y(i<3N){B(c[i]===3h){c.6y(i,1);3N--}17{i++}}m c},1l:k(3h,15){m c.3S(3h,15)!=-1},bm:k(1P){o O={},V=1d.3p(c.V,1P.V);M(o i=0;i<V;i++)O[1P[i]]=c[i];m O},R:k(1B){M(o i=0,j=1B.V;i<j;i++)c.1k(1B[i]);m c},2c:k(1B){M(o i=0,l=1B.V;i<l;i++)c.5w(1B[i]);m c},5w:k(3h){B(!c.1l(3h))c.1k(3h);m c},bp:k(){m c[$7X(0,c.V-1)]||N},7Y:k(){m c[c.V-1]||N}});2I.1L.1o=2I.1L.7l;2I.1L.2t=2I.1L.1l;k $A(1B){m 2I.8m(1B)};k $1o(3W,W,Y){B(3W&&7g 3W.V=='4S'&&$F(3W)!='2C')2I.7l(3W,W,Y);17 M(o 1w 1b 3W)W.1S(Y||3W,3W[1w],1w)};6W.R({2t:k(6o,2S){m(($F(6o)=='2E')?L 7V(6o,2S):6o).2t(c)},3c:k(){m 5X(c,10)},b4:k(){m 69(c)},7N:k(){m c.3l(/-\\D/g,k(2T){m 2T.7T(1).aJ()})},9o:k(){m c.3l(/\\w[A-Z]/g,k(2T){m(2T.7T(0)+'-'+2T.7T(1).5B())})},8I:k(){m c.3l(/\\b[a-z]/g,k(2T){m 2T.aJ()})},5Y:k(){m c.3l(/^\\s+|\\s+$/g,'')},7w:k(){m c.3l(/\\s{2,}/g,' ').5Y()},5I:k(1B){o 1v=c.2T(/\\d{1,3}/g);m(1v)?1v.5I(1B):N},5H:k(1B){o 3C=c.2T(/^#?(\\w{1,2})(\\w{1,2})(\\w{1,2})$/);m(3C)?3C.aI(1).5H(1B):N},1l:k(2E,s){m(s)?(s+c+s).3S(s+2E+s)>-1:c.3S(2E)>-1},aK:k(){m c.3l(/([.*+?^${}()|[\\]\\/\\\\])/g,'\\\\$1')}});2I.R({5I:k(1B){B(c.V<3)m N;B(c.V==4&&c[3]==0&&!1B)m'c5';o 3C=[];M(o i=0;i<3;i++){o 52=(c[i]-0).4u(16);3C.1k((52.V==1)?'0'+52:52)}m 1B?3C:'#'+3C.2h('')},5H:k(1B){B(c.V!=3)m N;o 1v=[];M(o i=0;i<3;i++){1v.1k(5X((c[i].V==1)?c[i]+c[i]:c[i],16))}m 1B?1v:'1v('+1v.2h(',')+')'}});7S.R({3a:k(C){o W=c;C=$2c({'Y':W,'I':N,'1c':1F,'2k':N,'4f':N,'6J':N},C);B($2B(C.1c)&&$F(C.1c)!='1B')C.1c=[C.1c];m k(I){o 1q;B(C.I){I=I||U.I;1q=[(C.I===1e)?I:L C.I(I)];B(C.1c)1q.R(C.1c)}17 1q=C.1c||1c;o 3P=k(){m W.3U($5F(C.Y,W),1q)};B(C.2k)m 9H(3P,C.2k);B(C.4f)m cI(3P,C.4f);B(C.6J)5f{m 3P()}4X(cE){m N};m 3P()}},cL:k(1q,Y){m c.3a({'1c':1q,'Y':Y})},6J:k(1q,Y){m c.3a({'1c':1q,'Y':Y,'6J':1e})()},Y:k(Y,1q){m c.3a({'Y':Y,'1c':1q})},cU:k(Y,1q){m c.3a({'Y':Y,'I':1e,'1c':1q})},2k:k(2k,Y,1q){m c.3a({'2k':2k,'Y':Y,'1c':1q})()},4f:k(at,Y,1q){m c.3a({'4f':at,'Y':Y,'1c':1q})()}});ao.R({3c:k(){m 5X(c)},b4:k(){m 69(c)},1E:k(3p,1z){m 1d.3p(1z,1d.1z(3p,c))},2r:k(5L){5L=1d.3J(10,5L||0);m 1d.2r(c*5L)/5L},cN:k(W){M(o i=0;i<c;i++)W(i)}});o Q=L 18({1j:k(el,1W){B($F(el)=='2E'){B(U.31&&1W&&(1W.1w||1W.F)){o 1w=(1W.1w)?' 1w=\"'+1W.1w+'\"':'';o F=(1W.F)?' F=\"'+1W.F+'\"':'';5j 1W.1w;5j 1W.F;el='<'+el+1w+F+'>'}el=P.aq(el)}el=$(el);m(!1W||!el)?el:el.2i(1W)}});o 29=L 18({1j:k(T){m(T)?$R(T,c):c}});29.R=k(1W){M(o 1V 1b 1W){c.1L[1V]=1W[1V];c[1V]=$4Q.6P(1V)}};k $(el){B(!el)m N;B(el.4Y)m 33.4V(el);B([U,P].1l(el))m el;o F=$F(el);B(F=='2E'){el=P.7f(el);F=(el)?'G':N}B(F!='G')m N;B(el.4Y)m 33.4V(el);B(['2C','cx'].1l(el.6k.5B()))m el;$R(el,Q.1L);el.4Y=1e;m 33.4V(el)};P.77=P.35;k $$(){o T=[];M(o i=0,j=1c.V;i<j;i++){o 1Q=1c[i];23($F(1Q)){12'G':T.1k(1Q);12'ce':1D;12 N:1D;12'2E':1Q=P.77(1Q,1e);5D:T.R(1Q)}}m $$.5R(T)};$$.5R=k(1B){o T=[];M(o i=0,l=1B.V;i<l;i++){B(1B[i].$6T)6C;o G=$(1B[i]);B(G&&!G.$6T){G.$6T=1e;T.1k(G)}}M(o i=0,l=T.V;i<l;i++)T[i].$6T=1F;m L 29(T)};29.6D=k(K){m k(){o 1q=1c;o 1y=[];o T=1e;M(o i=0,j=c.V,3P;i<j;i++){3P=c[i][K].3U(c[i],1q);B($F(3P)!='G')T=N;1y.1k(3P)};m(T)?$$.5R(1y):1y}};Q.R=k(1K){M(o K 1b 1K){5O.1L[K]=1K[K];Q.1L[K]=1K[K];Q[K]=$4Q.6P(K);o aF=(2I.1L[K])?K+'29':K;29.1L[aF]=29.6D(K)}};Q.R({2i:k(1W){M(o 1V 1b 1W){o 4x=1W[1V];23(1V){12'8A':c.4z(4x);1D;12'19':B(c.6B)c.6B(4x);1D;12'1K':c.6j(4x);1D;5D:c.7b(1V,4x)}}m c},25:k(el,aH){el=$(el);23(aH){12'aA':el.3r.7G(c,el);1D;12'aB':o 3v=el.8x();B(!3v)el.3r.81(c);17 el.3r.7G(c,3v);1D;12'1n':o 84=el.9i;B(84){el.7G(c,84);1D}5D:el.81(c)}m c},8o:k(el){m c.25(el,'aA')},6O:k(el){m c.25(el,'aB')},ca:k(el){m c.25(el,'3O')},ct:k(el){m c.25(el,'1n')},b8:k(){o T=[];$1o(1c,k(4n){T=T.7y(4n)});$$(T).25(c);m c},2H:k(){m c.3r.cv(c)},9M:k(b3){o el=$(c.cp(b3!==N));B(!el.$19)m el;el.$19={};M(o F 1b c.$19)el.$19[F]={'1P':$A(c.$19[F].1P),'1J':$A(c.$19[F].1J)};m el.6G()},ck:k(el){el=$(el);c.3r.cm(el,c);m el},co:k(21){B(U.31){23(c.57()){12'1Z':c.c6.b7=21;m c;12'2W':m c.7b('21',21)}}c.81(P.c7(21));m c},7F:k(1A){m c.1A.1l(1A,' ')},bh:k(1A){B(!c.7F(1A))c.1A=(c.1A+' '+1A).7w();m c},b5:k(1A){c.1A=c.1A.3l(L 7V('(^|\\\\s)'+1A+'(?:\\\\s|$)'),'$1').7w();m c},ch:k(1A){m c.7F(1A)?c.b5(1A):c.bh(1A)},1O:k(K,J){23(K){12'22':m c.bi(69(J));12'by':K=(U.31)?'bn':'bW'}K=K.7N();23($F(J)){12'4S':B(!['bH','am'].1l(K))J+='5a';1D;12'1B':J='1v('+J.2h(',')+')'}c.1Z[K]=J;m c},4z:k(1Y){23($F(1Y)){12'2C':Q.6w(c,'1O',1Y);1D;12'2E':c.1Z.b7=1Y}m c},bi:k(22){B(22==0){B(c.1Z.4G!=\"4y\")c.1Z.4G=\"4y\"}17{B(c.1Z.4G!=\"8D\")c.1Z.4G=\"8D\"}B(!c.71||!c.71.cR)c.1Z.am=1;B(U.31)c.1Z.3f=(22==1)?'':\"6Z(22=\"+22*3b+\")\";c.1Z.22=c.$1X.22=22;m c},2j:k(K){K=K.7N();o 1N=c.1Z[K];B(!$2B(1N)){B(K=='22')m c.$1X.22;o 1N=[];M(o 1Z 1b Q.4e){B(K==1Z){Q.4e[1Z].1o(k(s){o 1Z=c.2j(s);1N.1k(5X(1Z)?1Z:'8W')},c);B(K=='2Y'){o 4v=1N.4v(k(52){m(52==1N[0])});m(4v)?1N[0]:N}m 1N.2h(' ')}}B(K.1l('2Y')){B(Q.4e.2Y.1l(K)){m['8X','82','2M'].2K(k(p){m c.2j(K+p)},c).2h(' ')}17 B(Q.92.1l(K)){m['8S','8T','8U','8V'].2K(k(p){m c.2j('2Y'+p+K.3l('2Y',''))},c).2h(' ')}}B(P.9n)1N=P.9n.bL(c,1F).bN(K.9o());17 B(c.71)1N=c.71[K]}B(U.31)1N=Q.91(K,1N,c);B(1N&&K.2t(/2G/i)&&1N.1l('1v')){m 1N.66('1v').6y(1,4).2K(k(2G){m 2G.5I()}).2h(' ')}m 1N},ba:k(){m Q.7D(c,'2j',1c)},5U:k(6U,1h){6U+='bZ';o el=(1h)?c[1h]:c[6U];6Y(el&&$F(el)!='G')el=el[6U];m $(el)},9F:k(){m c.5U('2o')},8x:k(){m c.5U('3v')},bq:k(){m c.5U('3v','9i')},7Y:k(){m c.5U('2o','bx')},cD:k(){m $(c.3r)},8F:k(){m $$(c.9A)},7Z:k(el){m!!$A(c.35('*')).1l(el)},6n:k(K){o 26=Q.6z[K];B(26)m c[26];B(!U.31)m c.cK(K);o 7z=c.cO[K];m(7z)?7z.8Z:1F},c8:k(K){o 26=Q.6z[K];B(26)c[26]='';17 c.94(K);m c},c9:k(){m Q.7D(c,'6n',1c)},7b:k(K,J){o 26=Q.6z[K];B(26)c[26]=J;17 c.cq(K,J);m c},6j:k(1Y){m Q.6w(c,'7b',1Y)},5Q:k(){c.cH=$A(1c).2h('');m c},57:k(){m c.6k.5B()},1m:k(){33.44(c.35('*'));m c.5Q('')}});Q.91=k(K,1N,G){B($2B(5X(1N)))m 1N;B(['2N','2z'].1l(K)){o 1J=(K=='2z')?['1t','4k']:['1n','3O'];o 3n=0;1J.1o(k(J){3n+=G.2j('2Y-'+J+'-2z').3c()+G.2j('4F-'+J).3c()});m G['1C'+K.8I()]-3n+'5a'}17 B(K.2t(/2Y(.+)8X|34|4F/)){m'8W'}m 1N};Q.4e={'2Y':[],'4F':[],'34':[]};['8S','8T','8U','8V'].1o(k(5Z){M(o 1Z 1b Q.4e)Q.4e[1Z].1k(1Z+5Z)});Q.92=['cr','cs','cj'];Q.7D=k(el,28,1P){o 1N={};$1o(1P,k(1s){1N[1s]=el[28](1s)});m 1N};Q.6w=k(el,28,80){M(o 1s 1b 80)el[28](1s,80[1s]);m el};Q.6z=L 3y({'4O':'1A','M':'cf','cw':'cQ','cP':'cC','cB':'cA','cy':'cz','cF':'cG','cY':'bV','J':'J','7M':'7M','7P':'7P','7O':'7O'});Q.2F={7a:{2A:k(F,W){B(c.7v)c.7v(F,W,N);17 c.bw('5C'+F,W);m c},3j:k(F,W){B(c.ad)c.ad(F,W,N);17 c.bv('5C'+F,W);m c}}};U.R(Q.2F.7a);P.R(Q.2F.7a);Q.R(Q.2F.7a);o 33={T:[],4V:k(el){B(!el.$1X){33.T.1k(el);el.$1X={'22':1}}m el},44:k(T){M(o i=0,j=T.V,el;i<j;i++){B(!(el=T[i])||!el.$1X)6C;B(el.$19)el.1i('44').6G();M(o p 1b el.$1X)el.$1X[p]=1F;M(o p 1b Q.1L)el[p]=1F;el.4Y=el.$1X=el=1F;33.T.2H(el)}},1m:k(){33.4V(U);33.4V(P);33.44(33.T)}};U.2A('bt',k(){U.2A('af',33.1m);B(U.31)U.2A('af',bB)});o 2R=L 18({1j:k(I){B(I&&I.$9J)m I;c.$9J=1e;I=I||U.I;c.I=I;c.F=I.F;c.3u=I.3u||I.bs;B(c.3u.7s==3)c.3u=c.3u.3r;c.9W=I.bU;c.bS=I.bT;c.bX=I.bY;c.c3=I.c2;B(['9L','5r'].1l(c.F)){c.c1=(I.9X)?I.9X/c0:-(I.bR||0)/3}17 B(c.F.1l('1s')){c.6Q=I.9P||I.bQ;M(o 1w 1b 2R.1P){B(2R.1P[1w]==c.6Q){c.1s=1w;1D}}B(c.F=='bI'){o 7i=c.6Q-bE;B(7i>0&&7i<13)c.1s='f'+7i}c.1s=c.1s||6W.bP(c.6Q).5B()}17 B(c.F.2t(/(8p|3i|bO)/)){c.1M={'x':I.7p||I.9h+P.2X.67,'y':I.7q||I.9R+P.2X.6a};c.9d={'x':I.7p?I.7p-U.9v:I.9h,'y':I.7q?I.7q-U.9t:I.9R};c.dw=(I.9P==3)||(I.eJ==2);23(c.F){12'9E':c.2p=I.2p||I.eK;1D;12'9D':c.2p=I.2p||I.8z}c.9U()}m c},1R:k(){m c.6V().76()},6V:k(){B(c.I.6V)c.I.6V();17 c.I.eI=1e;m c},76:k(){B(c.I.76)c.I.76();17 c.I.eH=N;m c}});2R.6d={2p:k(){B(c.2p&&c.2p.7s==3)c.2p=c.2p.3r},9Y:k(){5f{2R.6d.2p.1S(c)}4X(e){c.2p=c.3u}}};2R.1L.9U=(U.7W)?2R.6d.9Y:2R.6d.2p;2R.1P=L 3y({'eG':13,'8B':38,'8C':40,'1t':37,'4k':39,'eL':27,'eM':32,'eR':8,'eS':9,'5j':46});Q.2F.2q={1I:k(F,W){c.$19=c.$19||{};c.$19[F]=c.$19[F]||{'1P':[],'1J':[]};B(c.$19[F].1P.1l(W))m c;c.$19[F].1P.1k(W);o 7u=F;o 2w=Q.2q[F];B(2w){B(2w.7I)2w.7I.1S(c,W);B(2w.2K)W=2w.2K;B(2w.F)7u=2w.F}B(!c.7v)W=W.3a({'Y':c,'I':1e});c.$19[F].1J.1k(W);m c.2A(7u,W)},3Z:k(F,W){B(!c.$19||!c.$19[F])m c;o 1p=c.$19[F].1P.3S(W);B(1p==-1)m c;o 1s=c.$19[F].1P.6y(1p,1)[0];o J=c.$19[F].1J.6y(1p,1)[0];o 2w=Q.2q[F];B(2w){B(2w.2H)2w.2H.1S(c,W);B(2w.F)F=2w.F}m c.3j(F,J)},6B:k(1Y){m Q.6w(c,'1I',1Y)},6G:k(F){B(!c.$19)m c;B(!F){M(o 6t 1b c.$19)c.6G(6t);c.$19=1F}17 B(c.$19[F]){c.$19[F].1P.1o(k(W){c.3Z(F,W)},c);c.$19[F]=1F}m c},1i:k(F,1q,2k){B(!c.$19||!c.$19[F])m c;c.$19[F].1P.1o(k(W){W.3a({'Y':c,'2k':2k,'1c':1q})()},c);m c},9G:k(15,F){B(!15.$19)m c;B(!F){M(o 6t 1b 15.$19)c.9G(15,6t)}17 B(15.$19[F]){15.$19[F].1P.1o(k(W){c.1I(F,W)},c)}m c}};U.R(Q.2F.2q);P.R(Q.2F.2q);Q.R(Q.2F.2q);Q.2q=L 3y({'8k':{F:'9E',2K:k(I){I=L 2R(I);B(I.2p==c||c.7Z(I.2p))m;c.1i('8k',I)}},'8h':{F:'9D',2K:k(I){I=L 2R(I);B(I.2p==c||c.7Z(I.2p))m;c.1i('8h',I)}},'5r':{F:(U.7W)?'9L':'5r'}});7S.R({3g:k(Y,1q){m c.3a({'Y':Y,'1c':1q,'I':2R})}});29.R({eQ:k(a0){m L 29(c.3f(k(el){m(Q.57(el)==a0)}))},ai:k(1A,2D){o T=c.3f(k(el){m(el.1A&&el.1A.1l(1A,' '))});m(2D)?T:L 29(T)},ah:k(4w,2D){o T=c.3f(k(el){m(el.4w==4w)});m(2D)?T:L 29(T)},al:k(1w,7x,J,2D){o T=c.3f(k(el){o 2a=Q.6n(el,1w);B(!2a)m N;B(!7x)m 1e;23(7x){12'=':m(2a==J);12'*=':m(2a.1l(J));12'^=':m(2a.6p(0,J.V)==J);12'$=':m(2a.6p(2a.V-J.V)==J);12'!=':m(2a!=J);12'~=':m 2a.1l(J,' ')}m N});m(2D)?T:L 29(T)}});k $E(1Q,3f){m($(3f)||P).a5(1Q)};k $eP(1Q,3f){m($(3f)||P).77(1Q)};$$.3M={'5n':/^(\\w*|\\*)(?:#([\\w-]+)|\\.([\\w-]+))?(?:\\[(\\w+)(?:([!*^$]?=)[\"']?([^\"'\\]]*)[\"']?)?])?$/,'43':{7C:k(1y,36,1f,i){o 2s=[36.eN?'87:':'',1f[1]];B(1f[2])2s.1k('[@4w=\"',1f[2],'\"]');B(1f[3])2s.1k('[1l(7y(\" \", @4O, \" \"), \" ',1f[3],' \")]');B(1f[4]){B(1f[5]&&1f[6]){23(1f[5]){12'*=':2s.1k('[1l(@',1f[4],', \"',1f[6],'\")]');1D;12'^=':2s.1k('[cZ-eO(@',1f[4],', \"',1f[6],'\")]');1D;12'$=':2s.1k('[eE(@',1f[4],', 2E-V(@',1f[4],') - ',1f[6].V,' + 1) = \"',1f[6],'\"]');1D;12'=':2s.1k('[@',1f[4],'=\"',1f[6],'\"]');1D;12'!=':2s.1k('[@',1f[4],'!=\"',1f[6],'\"]')}}17{2s.1k('[@',1f[4],']')}}1y.1k(2s.2h(''));m 1y},7B:k(1y,36,2D){o T=[];o 43=P.5M('.//'+1y.2h('//'),36,$$.3M.ak,eD.et,1F);M(o i=0,j=43.eu;i<j;i++)T.1k(43.es(i));m(2D)?T:L 29(T.2K($))}},'a3':{7C:k(1y,36,1f,i){B(i==0){B(1f[2]){o el=36.7f(1f[2]);B(!el||((1f[1]!='*')&&(Q.57(el)!=1f[1])))m N;1y=[el]}17{1y=$A(36.35(1f[1]))}}17{1y=$$.3M.35(1y,1f[1]);B(1f[2])1y=29.ah(1y,1f[2],1e)}B(1f[3])1y=29.ai(1y,1f[3],1e);B(1f[4])1y=29.al(1y,1f[4],1f[5],1f[6],1e);m 1y},7B:k(1y,36,2D){m(2D)?1y:$$.5R(1y)}},ak:k(aj){m(aj=='87')?'96://aQ.er.eo/ep/87':N},35:k(36,6k){o 7Q=[];M(o i=0,j=36.V;i<j;i++)7Q.R(36[i].35(6k));m 7Q}};$$.3M.28=(U.43)?'43':'a3';Q.2F.7H={7e:k(1Q,2D){o 1y=[];1Q=1Q.5Y().66(' ');M(o i=0,j=1Q.V;i<j;i++){o a2=1Q[i];o 1f=a2.2T($$.3M.5n);B(!1f)1D;1f[1]=1f[1]||'*';o 2s=$$.3M[$$.3M.28].7C(1y,c,1f,i);B(!2s)1D;1y=2s}m $$.3M[$$.3M.28].7B(1y,c,2D)},a5:k(1Q){m $(c.7e(1Q,1e)[0]||N)},77:k(1Q,2D){o T=[];1Q=1Q.66(',');M(o i=0,j=1Q.V;i<j;i++)T=T.7y(c.7e(1Q[i],1e));m(2D)?T:$$.5R(T)},ew:k(1A){m c.7e('.'+1A)}};Q.R({7f:k(4w){o el=P.7f(4w);B(!el)m N;M(o 1r=el.3r;1r!=c;1r=1r.3r){B(!1r)m N}m el}});P.R(Q.2F.7H);Q.R(Q.2F.7H);Q.R({4b:k(){23(c.57()){12'4o':o 1J=[];$1o(c.C,k(3B){B(3B.eB)1J.1k($5F(3B.J,3B.21))});m(c.7O)?1J:1J[0];12'99':B(!(c.7P&&['eC','eA'].1l(c.F))&&!['4y','21','ez'].1l(c.F))1D;12'9c':m c.J}m N},9b:k(){m $$(c.35('99'),c.35('4o'),c.35('9c'))},5l:k(){o 51=[];c.9b().1o(k(el){o 1w=el.1w;o J=el.4b();B(J===N||!1w||el.7M)m;o 7L=k(4x){51.1k(1w+'='+6e(4x))};B($F(J)=='1B')J.1o(7L);17 7L(J)});m 51.2h('&')}});Q.R({3x:k(x,y){c.67=x;c.6a=y},6N:k(){m{'2J':{'x':c.67,'y':c.6a},'3n':{'x':c.42,'y':c.3T},'6M':{'x':c.6H,'y':c.5N}}},3o:k(2m){2m=2m||[];o el=c,1t=0,1n=0;do{1t+=el.ex||0;1n+=el.ey||0;el=el.eT}6Y(el);2m.1o(k(G){1t-=G.67||0;1n-=G.6a||0});m{'x':1t,'y':1n}},aX:k(2m){m c.3o(2m).y},aW:k(2m){m c.3o(2m).x},4A:k(2m){o 1u=c.3o(2m);o O={'2z':c.42,'2N':c.3T,'1t':1u.x,'1n':1u.y};O.4k=O.1t+O.2z;O.3O=O.1n+O.2N;m O}});Q.2q.7K={7I:k(W){B(U.70){W.1S(c);m}o 5V=k(){B(U.70)m;U.70=1e;U.1H=$4Z(U.1H);c.1i('7K')}.Y(c);B(P.5c&&U.4M){U.1H=k(){B(['70','8q'].1l(P.5c))5V()}.4f(50)}17 B(P.5c&&U.31){B(!$('7J')){o 59=(U.5b.f5=='f7:')?'://0':'8n:f9(0)';P.f3('<2W 4w=\"7J\" eX 59=\"'+59+'\"><\\/2W>');$('7J').6c=k(){B(c.5c=='8q')5V()}}}17{U.2A(\"4r\",5V);P.2A(\"eV\",5V)}}};U.f2=k(W){m c.1I('7K',W)};U.R({8f:k(){B(c.65)m c.f0;B(c.8Y)m P.4H.90;m P.2X.90},8l:k(){B(c.65)m c.eZ;B(c.8Y)m P.4H.9e;m P.2X.9e},9w:k(){B(c.31)m 1d.1z(P.2X.42,P.2X.6H);B(c.4M)m P.4H.6H;m P.2X.6H},9x:k(){B(c.31)m 1d.1z(P.2X.3T,P.2X.5N);B(c.4M)m P.4H.5N;m P.2X.5N},8s:k(){m c.9v||P.2X.67},8u:k(){m c.9t||P.2X.6a},6N:k(){m{'3n':{'x':c.8f(),'y':c.8l()},'6M':{'x':c.9w(),'y':c.9x()},'2J':{'x':c.8s(),'y':c.8u()}}},3o:k(){m{'x':0,'y':0}}});o 1g={f8:{}};1g.2O=L 18({C:{45:18.1m,1T:18.1m,7m:18.1m,2b:k(p){m-(1d.as(1d.85*p)-1)/2},49:eY,2u:'5a',3Q:1e,9z:50},1j:k(C){c.G=c.G||1F;c.2U(C);B(c.C.1j)c.C.1j.1S(c)},2l:k(){o 3A=$3A();B(3A<c.3A+c.C.49){c.4l=c.C.2b((3A-c.3A)/c.C.49);c.4s();c.4p()}17{c.1R(1e);c.2i(c.14);c.1i('1T',c.G,10);c.7t()}},2i:k(14){c.1a=14;c.4p();m c},4s:k(){c.1a=c.4t(c.15,c.14)},4t:k(15,14){m(14-15)*c.4l+15},1h:k(15,14){B(!c.C.3Q)c.1R();17 B(c.1H)m c;c.15=15;c.14=14;c.4h=c.14-c.15;c.3A=$3A();c.1H=c.2l.4f(1d.2r(ax/c.C.9z),c);c.1i('45',c.G);m c},1R:k(2f){B(!c.1H)m c;c.1H=$4Z(c.1H);B(!2f)c.1i('7m',c.G);m c},2w:k(15,14){m c.1h(15,14)},eW:k(2f){m c.1R(2f)}});1g.2O.3q(L 8b,L 2q,L 4i);1g.3s={4o:k(K,14){B(K.2t(/2G/i))m c.2M;B(14.1l&&14.1l(' '))m c.6D;m c.9q},2P:k(el,K,5d){B(!5d.1k)5d=[5d];o 15=5d[0],14=5d[1];B(!14&&14!=0){14=15;15=el.2j(K)}o 1x=c.4o(K,14);m{15:1x.2P(15),14:1x.2P(14),1x:1x}}};1g.3s.9q={2P:k(J){m 69(J)},55:k(15,14,2x){m 2x.4t(15,14)},4b:k(J,2u,K){B(2u=='5a'&&K!='22')J=1d.2r(J);m J+2u}};1g.3s.6D={2P:k(J){m J.1k?J:J.66(' ').2K(k(v){m 69(v)})},55:k(15,14,2x){o 1a=[];M(o i=0;i<15.V;i++)1a[i]=2x.4t(15[i],14[i]);m 1a},4b:k(J,2u,K){B(2u=='5a'&&K!='22')J=J.2K(1d.2r);m J.2h(2u+' ')+2u}};1g.3s.2M={2P:k(J){m J.1k?J:J.5H(1e)},55:k(15,14,2x){o 1a=[];M(o i=0;i<15.V;i++)1a[i]=1d.2r(2x.4t(15[i],14[i]));m 1a},4b:k(J){m'1v('+J.2h(',')+')'}};1g.82=1g.2O.R({1j:k(el,K,C){c.G=$(el);c.K=K;c.1r(C)},5k:k(){m c.2i(0)},4s:k(){c.1a=c.1x.55(c.15,c.14,c)},2i:k(14){c.1x=1g.3s.4o(c.K,14);m c.1r(c.1x.2P(14))},1h:k(15,14){B(c.1H&&c.C.3Q)m c;o 2e=1g.3s.2P(c.G,c.K,[15,14]);c.1x=2e.1x;m c.1r(2e.15,2e.14)},4p:k(){c.G.1O(c.K,c.1x.4b(c.1a,c.C.2u,c.K))}});Q.R({f1:k(K,C){m L 1g.82(c,K,C)}});1g.4e=1g.2O.R({1j:k(el,C){c.G=$(el);c.1r(C)},4s:k(){M(o p 1b c.15)c.1a[p]=c.1x[p].55(c.15[p],c.14[p],c)},2i:k(14){o 2e={};c.1x={};M(o p 1b 14){c.1x[p]=1g.3s.4o(p,14[p]);2e[p]=c.1x[p].2P(14[p])}m c.1r(2e)},1h:k(O){B(c.1H&&c.C.3Q)m c;c.1a={};c.1x={};o 15={},14={};M(o p 1b O){o 2e=1g.3s.2P(c.G,p,O[p]);15[p]=2e.15;14[p]=2e.14;c.1x[p]=2e.1x}m c.1r(15,14)},4p:k(){M(o p 1b c.1a)c.G.1O(p,c.1x[p].4b(c.1a[p],c.C.2u,p))}});Q.R({3t:k(C){m L 1g.4e(c,C)}});1g.29=1g.2O.R({1j:k(T,C){c.T=$$(T);c.1r(C)},4s:k(){M(o i 1b c.15){o 5o=c.15[i],4a=c.14[i],3z=c.1x[i],5s=c.1a[i]={};M(o p 1b 5o)5s[p]=3z[p].55(5o[p],4a[p],c)}},2i:k(14){o 2e={};c.1x={};M(o i 1b 14){o 4a=14[i],3z=c.1x[i]={},9l=2e[i]={};M(o p 1b 4a){3z[p]=1g.3s.4o(p,4a[p]);9l[p]=3z[p].2P(4a[p])}}m c.1r(2e)},1h:k(O){B(c.1H&&c.C.3Q)m c;c.1a={};c.1x={};o 15={},14={};M(o i 1b O){o 7A=O[i],5o=15[i]={},4a=14[i]={},3z=c.1x[i]={};M(o p 1b 7A){o 2e=1g.3s.2P(c.T[i],p,7A[p]);5o[p]=2e.15;4a[p]=2e.14;3z[p]=2e.1x}}m c.1r(15,14)},4p:k(){M(o i 1b c.1a){o 5s=c.1a[i],3z=c.1x[i];M(o p 1b 5s)c.T[i].1O(p,3z[p].4b(5s[p],c.C.2u,p))}}});1g.ac=1g.2O.R({C:{2m:[],1C:{'x':0,'y':0}},1j:k(G,C){c.1a=[];c.G=$(G);c.1G={'1R':c.1R.Y(c,N)};c.1I('45',k(){P.1I('5r',c.1G.1R)}.Y(c));c.3Z('1T',k(){P.3Z('5r',c.1G.1R)}.Y(c));c.1r(C)},4s:k(){M(o i=0;i<2;i++)c.1a[i]=c.4t(c.15[i],c.14[i])},3x:k(x,y){B(c.1H&&c.C.3Q)m c;o el=c.G.6N();o 1J={'x':x,'y':y};M(o z 1b el.3n){o 1z=el.6M[z]-el.3n[z];B($2B(1J[z]))1J[z]=($F(1J[z])=='4S')?1J[z].1E(0,1z):1z;17 1J[z]=el.2J[z];1J[z]+=c.C.1C[z]}m c.1h([el.2J.x,el.2J.y],[1J.x,1J.y])},dr:k(){m c.3x(N,0)},dq:k(){m c.3x(N,'bg')},dl:k(){m c.3x(0,N)},dm:k(){m c.3x('bg',N)},8z:k(el){o 1r=c.G.3o(c.C.2m);o 3u=$(el).3o(c.C.2m);m c.3x(3u.x-1r.x,3u.y-1r.y)},4p:k(){c.G.3x(c.1a[0],c.1a[1])}});1g.dn=1g.2O.R({C:{2d:'8J'},1j:k(el,C){c.G=$(el);c.3d=L Q('4K',{'8A':$R(c.G.ba('34'),{'aT':'4y'})}).6O(c.G).b8(c.G);c.G.1O('34',0);c.2U(C);c.1a=[];c.1r(c.C);B(U.65)c.1I('1T',k(){c.G.2H().25(c.3d)})},4s:k(){M(o i=0;i<2;i++)c.1a[i]=c.4t(c.15[i],c.14[i])},8J:k(){c.34='34-1n';c.5z='2N';c.1C=c.G.3T},8K:k(){c.34='34-1t';c.5z='2z';c.1C=c.G.42},bc:k(2d){c[2d||c.C.2d]();m c.1h([c.G.2j(c.34).3c(),c.3d.2j(c.5z).3c()],[0,c.1C])},be:k(2d){c[2d||c.C.2d]();m c.1h([c.G.2j(c.34).3c(),c.3d.2j(c.5z).3c()],[-c.1C,0])},5k:k(2d){c[2d||c.C.2d]();m c.2i([-c.1C,0])},41:k(2d){c[2d||c.C.2d]();m c.2i([0,c.1C])},en:k(2d){B(c.3d.3T==0||c.3d.42==0)m c.bc(2d);m c.be(2d)},4p:k(){c.G.1O(c.34,c.1a[0]+c.C.2u);c.3d.1O(c.5z,c.1a[1]+c.C.2u)}});1g.86=k(2b,2S){2S=2S||[];B($F(2S)!='1B')2S=[2S];m $R(2b,{dC:k(1p){m 2b(1p,2S)},dD:k(1p){m 1-2b(1-1p,2S)},dE:k(1p){m(1p<=0.5)?2b(2*1p,2S)/2:(2-2b(2*(1-1p),2S))/2}})};1g.3m=L 3y({dB:k(p){m p}});1g.3m.R=k(7R){M(o 2b 1b 7R){1g.3m[2b]=L 1g.86(7R[2b]);1g.3m.88(2b)}};1g.3m.88=k(2b){['dA','dx','dy'].1o(k(83){1g.3m[2b.5B()+83]=1g.3m[2b]['dk'+83]})};1g.3m.R({dj:k(p,x){m 1d.3J(p,x[0]||6)},d6:k(p){m 1d.3J(2,8*(p-1))},d7:k(p){m 1-1d.aD(1d.d8(p))},d5:k(p){m 1-1d.aD((1-p)*1d.85/2)},d4:k(p,x){x=x[0]||1.d0;m 1d.3J(p,2)*((x+1)*p-x)},d1:k(p){o J;M(o a=0,b=1;1;a+=b,b/=2){B(p>=(7-4*a)/11){J=-1d.3J((11-6*a-11*p)/4,2)+b*b;1D}}m J},d2:k(p,x){m 1d.3J(2,10*--p)*1d.as(20*p*1d.85*(x[0]||1)/3)}});['d9','da','dg','dh'].1o(k(2b,i){1g.3m[2b]=L 1g.86(k(p){m 1d.3J(p,[i+2])});1g.3m.88(2b)});o 3Y={};3Y.2O=L 18({C:{3K:N,2u:'5a',45:18.1m,au:18.1m,1T:18.1m,av:18.1m,8M:18.1m,1E:N,3F:{x:'1t',y:'1n'},4E:N,6u:6},1j:k(el,C){c.2U(C);c.G=$(el);c.3K=$(c.C.3K)||c.G;c.3i={'1a':{},'1p':{}};c.J={'1h':{},'1a':{}};c.1G={'1h':c.1h.3g(c),'3V':c.3V.3g(c),'3L':c.3L.3g(c),'1R':c.1R.Y(c)};c.6K();B(c.C.1j)c.C.1j.1S(c)},6K:k(){c.3K.1I('64',c.1G.1h);m c},9K:k(){c.3K.3Z('64',c.1G.1h);m c},1h:k(I){c.1i('au',c.G);c.3i.1h=I.1M;o 1E=c.C.1E;c.1E={'x':[],'y':[]};M(o z 1b c.C.3F){B(!c.C.3F[z])6C;c.J.1a[z]=c.G.2j(c.C.3F[z]).3c();c.3i.1p[z]=I.1M[z]-c.J.1a[z];B(1E&&1E[z]){M(o i=0;i<2;i++){B($2B(1E[z][i]))c.1E[z][i]=($F(1E[z][i])=='k')?1E[z][i]():1E[z][i]}}}B($F(c.C.4E)=='4S')c.C.4E={'x':c.C.4E,'y':c.C.4E};P.2A('2V',c.1G.3V);P.2A('6S',c.1G.1R);c.1i('45',c.G);I.1R()},3V:k(I){o aw=1d.2r(1d.dd(1d.3J(I.1M.x-c.3i.1h.x,2)+1d.3J(I.1M.y-c.3i.1h.y,2)));B(aw>c.C.6u){P.3j('2V',c.1G.3V);P.2A('2V',c.1G.3L);c.3L(I);c.1i('av',c.G)}I.1R()},3L:k(I){c.5K=N;c.3i.1a=I.1M;M(o z 1b c.C.3F){B(!c.C.3F[z])6C;c.J.1a[z]=c.3i.1a[z]-c.3i.1p[z];B(c.1E[z]){B($2B(c.1E[z][1])&&(c.J.1a[z]>c.1E[z][1])){c.J.1a[z]=c.1E[z][1];c.5K=1e}17 B($2B(c.1E[z][0])&&(c.J.1a[z]<c.1E[z][0])){c.J.1a[z]=c.1E[z][0];c.5K=1e}}B(c.C.4E[z])c.J.1a[z]-=(c.J.1a[z]%c.C.4E[z]);c.G.1O(c.C.3F[z],c.J.1a[z]+c.C.2u)}c.1i('8M',c.G);I.1R()},1R:k(){P.3j('2V',c.1G.3V);P.3j('2V',c.1G.3L);P.3j('6S',c.1G.1R);c.1i('1T',c.G)}});3Y.2O.3q(L 2q,L 4i);Q.R({e8:k(C){m L 3Y.2O(c,$2c({3F:{x:'2z',y:'2N'}},C))}});3Y.aM=3Y.2O.R({C:{6q:[],2g:N,2m:[]},1j:k(el,C){c.2U(C);c.G=$(el);c.6q=$$(c.C.6q);c.2g=$(c.C.2g);c.1u={'G':c.G.2j('1u'),'2g':N};B(c.2g)c.1u.2g=c.2g.2j('1u');B(!['3X','7h'].1l(c.1u.G))c.1u.G='3X';o 1n=c.G.2j('1n').3c();o 1t=c.G.2j('1t').3c();B(c.1u.G=='3X'&&!['7h','3X','5S'].1l(c.1u.2g)){1n=$2B(1n)?1n:c.G.aX(c.C.2m);1t=$2B(1t)?1t:c.G.aW(c.C.2m)}17{1n=$2B(1n)?1n:0;1t=$2B(1t)?1t:0}c.G.4z({'1n':1n,'1t':1t,'1u':c.1u.G});c.1r(c.G)},1h:k(I){c.3e=1F;B(c.2g){o 4J=c.2g.4A();o el=c.G.4A();B(c.1u.G=='3X'&&!['7h','3X','5S'].1l(c.1u.2g)){c.C.1E={'x':[4J.1t,4J.4k-el.2z],'y':[4J.1n,4J.3O-el.2N]}}17{c.C.1E={'y':[0,4J.2N-el.2N],'x':[0,4J.2z-el.2z]}}}c.1r(I)},3L:k(I){c.1r(I);o 3e=c.5K?N:c.6q.3f(c.b1,c).7Y();B(c.3e!=3e){B(c.3e)c.3e.1i('e2',[c.G,c]);c.3e=3e?3e.1i('e3',[c.G,c]):1F}m c},b1:k(el){el=el.4A(c.C.2m);o 1a=c.3i.1a;m(1a.x>el.1t&&1a.x<el.4k&&1a.y<el.3O&&1a.y>el.1n)},1R:k(){B(c.3e&&!c.5K)c.3e.1i('eb',[c.G,c]);17 c.G.1i('ec',c);c.1r();m c}});Q.R({ei:k(C){m L 3Y.aM(c,C)}});o 6h=L 18({C:{28:'4T',9p:1e,93:18.1m,4L:18.1m,6E:18.1m,aS:1e,5J:'ej-8',9m:N,4B:{}},7r:k(){c.2y=(U.7d)?L 7d():(U.31?L aO('ek.eh'):N);m c},1j:k(C){c.7r().2U(C);c.C.5G=c.C.5G||c.5G;c.4B={};B(c.C.aS&&c.C.28=='4T'){o 5J=(c.C.5J)?'; eg='+c.C.5J:'';c.5i('9Q-F','ab/x-aQ-ed-ee'+5J)}B(c.C.1j)c.C.1j.1S(c)},9g:k(){B(c.2y.5c!=4||!c.4W)m;c.4W=N;o 4C=0;5f{4C=c.2y.4C}4X(e){};B(c.C.5G.1S(c,4C))c.4L();17 c.6E();c.2y.6c=18.1m},5G:k(4C){m((4C>=e0)&&(4C<dN))},4L:k(){c.3w={'21':c.2y.dO,'5q':c.2y.dP};c.1i('4L',[c.3w.21,c.3w.5q]);c.7t()},6E:k(){c.1i('6E',c.2y)},5i:k(1w,J){c.4B[1w]=J;m c},5y:k(2L,1U){B(c.C.9m)c.98();17 B(c.4W)m c;c.4W=1e;B(1U&&c.C.28=='4N')2L=2L+(2L.1l('?')?'&':'?')+1U,1U=1F;c.2y.dM(c.C.28,2L,c.C.9p);c.2y.6c=c.9g.Y(c);B((c.C.28=='4T')&&c.2y.dL)c.5i('dH','dI');$R(c.4B,c.C.4B);M(o F 1b c.4B)5f{c.2y.dJ(F,c.4B[F])}4X(e){};c.1i('93');c.2y.5y($5F(1U,1F));m c},98:k(){B(!c.4W)m c;c.4W=N;c.2y.aC();c.2y.6c=18.1m;c.7r();c.1i('7m');m c}});6h.3q(L 8b,L 2q,L 4i);o a9=6h.R({C:{1U:1F,7o:1F,1T:18.1m,72:N,7U:N},1j:k(2L,C){c.1I('4L',c.1T);c.2U(C);c.C.1U=c.C.1U||c.C.a7;B(!['4T','4N'].1l(c.C.28)){c.5p='5p='+c.C.28;c.C.28='4T'}c.1r();c.5i('X-dR-dX','7d');c.5i('dY','21/8n, 21/dZ, ab/5q, 21/5q, */*');c.2L=2L},1T:k(){B(c.C.7o)$(c.C.7o).1m().5Q(c.3w.21);B(c.C.72||c.C.7U)c.72();c.1i('1T',[c.3w.21,c.3w.5q],20)},9C:k(1U){1U=1U||c.C.1U;23($F(1U)){12'G':1U=$(1U).5l();1D;12'2C':1U=7c.5l(1U)}B(c.5p)1U=(1U)?[c.5p,1U].2h('&'):c.5p;m c.5y(c.2L,1U)},72:k(){B(c.C.7U||/(dT|dU)2W/.2t(c.9Z('9Q-F')))o 4d=c.3w.21;17{o 2W,4d=[],5n=/<2W[^>]*>([\\s\\S]*?)<\\/2W>/dS;6Y((2W=5n.dV(c.3w.21)))4d.1k(2W[1]);4d=4d.2h('\\n')}B(4d)(U.9N)?U.9N(4d):U.9H(4d,0)},9Z:k(1w){5f{m c.2y.dW(1w)}4X(e){};m 1F}});7c.5l=k(1Y){o 51=[];M(o K 1b 1Y)51.1k(6e(K)+'='+6e(1Y[K]));m 51.2h('&')};Q.R({5y:k(C){m L a9(c.6n('dQ'),$2c({a7:c.5l()},C,{28:'4T'})).9C()}});o 3I=L 3y({C:{6f:N,6i:N,49:N,56:N},2i:k(1s,J,C){C=$2c(c.C,C);J=6e(J);B(C.6f)J+='; 6f='+C.6f;B(C.6i)J+='; 6i='+C.6i;B(C.49){o 6x=L 97();6x.dK(6x.bf()+C.49*24*60*60*ax);J+='; e1='+6x.ef()}B(C.56)J+='; 56';P.4D=1s+'='+J;m $R(C,{'1s':1s,'J':J})},4N:k(1s){o J=P.4D.2T('(?:^|;)\\\\s*'+1s.aK()+'=([^;]*)');m J?e5(J[1]):N},2H:k(4D,C){B($F(4D)=='2C')c.2i(4D.1s,'',$2c(4D,{49:-1}));17 c.2i(4D,'',$2c(C,{49:-1}))}});o 3G={4u:k(O){23($F(O)){12'2E':m'\"'+O.3l(/([\"\\\\])/g,'\\\\$1')+'\"';12'1B':m'['+O.2K(3G.4u).2h(',')+']';12'2C':o 2E=[];M(o K 1b O)2E.1k(3G.4u(K)+':'+3G.4u(O[K]));m'{'+2E.2h(',')+'}'}m 6W(O)},5M:k(4q,56){m(($F(4q)!='2E')||(56&&!4q.2t(/^(\"(\\\\.|[^\"\\\\\\n\\r])*?\"|[,:{}\\[\\]0-9.\\-+e4-u \\n\\r\\t])+?$/)))?N:e6('('+4q+')')}};3G.e7=6h.R({1j:k(2L,C){c.2L=2L;c.1I('4L',c.1T);c.1r(C);c.5i('X-ea','e9')},5y:k(O){m c.1r(c.2L,'dG='+3G.4u(O))},1T:k(){c.1i('1T',3G.5M(c.3w.21,c.C.56))}});o bb=L 3y({8n:k(1Y,1K){1K=$2c({'5A':18.1m},1K);o 2W=L Q('2W',{'59':1Y}).6B({'4r':1K.5A,'dF':k(){B(c.5c=='8q')c.1i('4r')}});5j 1K.5A;m 2W.6j(1K).25(P.6s)},1x:k(1Y,1K){m L Q('4m',$2c({'95':'dc','db':'de','F':'21/1x','5h':1Y},1K)).25(P.6s)},58:k(1Y,1K){1K=$2c({'5A':18.1m,'df':18.1m,'di':18.1m},1K);o 58=L d3();58.59=1Y;o G=L Q('8t',{'59':1Y});['4r','aC','dz'].1o(k(F){o I=1K['5C'+F];5j 1K['5C'+F];G.1I(F,k(){c.3Z(F,1c.8r);I.1S(c)})});B(58.2z&&58.2N)G.1i('4r',G,1);m G.6j(1K)},6F:k(5e,C){C=$2c({1T:18.1m,b6:18.1m},C);B(!5e.1k)5e=[5e];o 6F=[];o 6m=0;5e.1o(k(1Y){o 8t=L bb.58(1Y,{'5A':k(){C.b6.1S(c,6m);6m++;B(6m==5e.V)C.1T()}});6F.1k(8t)});m L 29(6F)}});o 3H=L 18({V:0,1j:k(2C){c.O=2C||{};c.5u()},4N:k(1s){m(c.6L(1s))?c.O[1s]:1F},6L:k(1s){m(1s 1b c.O)},2i:k(1s,J){B(!c.6L(1s))c.V++;c.O[1s]=J;m c},5u:k(){c.V=0;M(o p 1b c.O)c.V++;m c},2H:k(1s){B(!c.6L(1s))m c;5j c.O[1s];c.V--;m c},1o:k(W,Y){$1o(c.O,W,Y)},R:k(O){$R(c.O,O);m c.5u()},2c:k(){c.O=$2c.3U(1F,[c.O].R(1c));m c.5u()},1m:k(){c.O={};c.V=0;m c},1P:k(){o 1P=[];M(o K 1b c.O)1P.1k(K);m 1P},1J:k(){o 1J=[];M(o K 1b c.O)1J.1k(c.O[K]);m 1J}});k $H(O){m L 3H(O)};3H.3I=3H.R({1j:k(1w,C){c.1w=1w;c.C=$R({'bj':1e},C||{});c.4r()},bd:k(){B(c.V==0){3I.2H(c.1w,c.C);m 1e}o 4q=3G.4u(c.O);B(4q.V>dv)m N;3I.2i(c.1w,4q,c.C);m 1e},4r:k(){c.O=3G.5M(3I.4N(c.1w),1e)||{};c.5u()}});3H.3I.2F={};['R','2i','2c','1m','2H'].1o(k(28){3H.3I.2F[28]=k(){3H.1L[28].3U(c,1c);B(c.C.bj)c.bd();m c}});3H.3I.3q(3H.3I.2F);o 2M=L 18({1j:k(2G,F){F=F||(2G.1k?'1v':'3C');o 1v,2n;23(F){12'1v':1v=2G;2n=1v.8d();1D;12'2n':1v=2G.9r();2n=2G;1D;5D:1v=2G.5H(1e);2n=1v.8d()}1v.2n=2n;1v.3C=1v.5I();m $R(1v,2M.1L)},4R:k(){o 5m=$A(1c);o 6Z=($F(5m[5m.V-1])=='4S')?5m.dp():50;o 1v=c.8m();5m.1o(k(2G){2G=L 2M(2G);M(o i=0;i<3;i++)1v[i]=1d.2r((1v[i]/ 3b * (3b - 6Z)) + (2G[i] /3b*6Z))});m L 2M(1v,'1v')},du:k(){m L 2M(c.2K(k(J){m 53-J}))},dt:k(J){m L 2M([J,c.2n[1],c.2n[2]],'2n')},ds:k(6X){m L 2M([c.2n[0],6X,c.2n[2]],'2n')},em:k(6X){m L 2M([c.2n[0],c.2n[1],6X],'2n')}});k $eq(r,g,b){m L 2M([r,g,b],'1v')};k $f6(h,s,b){m L 2M([h,s,b],'2n')};2I.R({8d:k(){o 5t=c[0],5v=c[1],73=c[2];o 2Z,6l,8g;o 1z=1d.1z(5t,5v,73),3p=1d.3p(5t,5v,73);o 4l=1z-3p;8g=1z/53;6l=(1z!=0)?4l/1z:0;B(6l==0){2Z=0}17{o 8c=(1z-5t)/4l;o 8R=(1z-5v)/4l;o br=(1z-73)/4l;B(5t==1z)2Z=br-8R;17 B(5v==1z)2Z=2+8c-br;17 2Z=4+8R-8c;2Z/=6;B(2Z<0)2Z++}m[1d.2r(2Z*9y),1d.2r(6l*3b),1d.2r(8g*3b)]},9r:k(){o br=1d.2r(c[2]/3b*53);B(c[1]==0){m[br,br,br]}17{o 2Z=c[0]%9y;o f=2Z%60;o p=1d.2r((c[2]*(3b-c[1]))/f4*53);o q=1d.2r((c[2]*(9s-c[1]*f))/9u*53);o t=1d.2r((c[2]*(9s-c[1]*(60-f)))/9u*53);23(1d.an(2Z/60)){12 0:m[br,t,p];12 1:m[q,br,p];12 2:m[p,br,t];12 3:m[p,q,br];12 4:m[t,p,br];12 5:m[br,p,q]}}m N}});o 9B=L 18({C:{5W:20,8w:1,79:k(x,y){c.G.3x(x,y)}},1j:k(G,C){c.2U(C);c.G=$(G);c.8j=([U,P].1l(G))?$(P.4H):c.G},1h:k(){c.8i=c.9a.3g(c);c.8j.2A('2V',c.8i)},1R:k(){c.8j.3j('2V',c.8i);c.1H=$4Z(c.1H)},9a:k(I){c.1M=(c.G==U)?I.9d:I.1M;B(!c.1H)c.1H=c.2J.4f(50,c)},2J:k(){o el=c.G.6N();o 1p=c.G.3o();o 4h={'x':0,'y':0};M(o z 1b c.1M){B(c.1M[z]<(c.C.5W+1p[z])&&el.2J[z]!=0)4h[z]=(c.1M[z]-c.C.5W-1p[z])*c.C.8w;17 B(c.1M[z]+c.C.5W>(el.3n[z]+1p[z])&&el.2J[z]+el.3n[z]!=el.6M[z])4h[z]=(c.1M[z]-el.3n[z]+c.C.5W-1p[z])*c.C.8w}B(4h.y||4h.x)c.1i('79',[el.2J.x+4h.x,el.2J.y+4h.y])}});9B.3q(L 2q,L 4i);o 8G=L 18({C:{79:18.1m,1T:18.1m,8P:k(1p){c.48.1O(c.p,1p)},2d:'8K',6r:3b,1C:0},1j:k(el,48,C){c.G=$(el);c.48=$(48);c.2U(C);c.8O=-1;c.8N=-1;c.2l=-1;c.G.1I('64',c.aa.3g(c));o 7j,1C;23(c.C.2d){12'8K':c.z='x';c.p='1t';7j={'x':'1t','y':N};1C='42';1D;12'8J':c.z='y';c.p='1n';7j={'x':N,'y':'1n'};1C='3T'}c.1z=c.G[1C]-c.48[1C]+(c.C.1C*2);c.a1=c.48[1C]/2;c.a6=c.G['4N'+c.p.8I()].Y(c.G);c.48.1O('1u','7h').1O(c.p,-c.C.1C);o 8L={};8L[c.z]=[-c.C.1C,c.1z-c.C.1C];c.3L=L 3Y.2O(c.48,{1E:8L,3F:7j,6u:0,45:k(){c.75()}.Y(c),8M:k(){c.75()}.Y(c),1T:k(){c.75();c.2f()}.Y(c)});B(c.C.1j)c.C.1j.1S(c)},2i:k(2l){c.2l=2l.1E(0,c.C.6r);c.78();c.2f();c.1i('8P',c.a4(c.2l));m c},aa:k(I){o 1u=I.1M[c.z]-c.a6()-c.a1;1u=1u.1E(-c.C.1C,c.1z-c.C.1C);c.2l=c.8H(1u);c.78();c.2f();c.1i('8P',1u)},75:k(){c.2l=c.8H(c.3L.J.1a[c.z]);c.78()},78:k(){B(c.8O!=c.2l){c.8O=c.2l;c.1i('79',c.2l)}},2f:k(){B(c.8N!==c.2l){c.8N=c.2l;c.1i('1T',c.2l+'')}},8H:k(1u){m 1d.2r((1u+c.C.1C)/c.1z*c.C.6r)},a4:k(2l){m c.1z*2l/c.C.6r}});8G.3q(L 2q);8G.3q(L 4i);o ev=1g.ac.R({1j:k(C){c.1r(U,C);c.68=(c.C.68)?$$(c.C.68):$$(P.68);o 5b=U.5b.5h.2T(/^[^#]*/)[0]+'#';c.68.1o(k(4m){B(4m.5h.3S(5b)!=0)m;o 3E=4m.5h.6p(5b.V);B(3E&&$(3E))c.ag(4m,3E)},c);B(!U.65)c.1I('1T',k(){U.5b.eU=c.3E})},ag:k(4m,3E){4m.1I('8p',k(I){c.3E=3E;c.8z(3E);I.1R()}.3g(c))}});o 9S=L 18({C:{4I:N,45:18.1m,1T:18.1m,2Q:1e,6u:3,9I:k(G,2Q){2Q.1O('22',0.7);G.1O('22',0.7)},9T:k(G,2Q){G.1O('22',1);2Q.2H();c.44.2H()}},1j:k(4U,C){c.2U(C);c.4U=$(4U);c.T=c.4U.8F();c.4I=(c.C.4I)?$$(c.C.4I):c.T;c.1G={'1h':[],'62':c.62.3g(c)};M(o i=0,l=c.4I.V;i<l;i++){c.1G.1h[i]=c.1h.3g(c,c.T[i])}c.6K();B(c.C.1j)c.C.1j.1S(c);c.1G.61=c.61.3g(c);c.1G.2f=c.2f.Y(c)},6K:k(){c.4I.1o(k(3K,i){3K.1I('64',c.1G.1h[i])},c)},9K:k(){c.4I.1o(k(3K,i){3K.3Z('64',c.1G.1h[i])},c)},1h:k(I,el){c.3R=el;c.8y=c.4U.4A();B(c.C.2Q){o 1u=el.3o();c.1C=I.1M.y-1u.y;c.44=L Q('4K').25(P.4H);c.2Q=el.9M().25(c.44).4z({'1u':'3X','1t':1u.x,'1n':I.1M.y-c.1C});P.2A('2V',c.1G.62);c.1i('9I',[el,c.2Q])}P.2A('2V',c.1G.61);P.2A('6S',c.1G.2f);c.1i('45',el);I.1R()},62:k(I){o J=I.1M.y-c.1C;J=J.1E(c.8y.1n,c.8y.3O-c.2Q.3T);c.2Q.1O('1n',J);I.1R()},61:k(I){c.3R.3R=1e;c.2o=c.2o||I.1M.y;c.1a=I.1M.y;o 5Z=((c.2o-c.1a)<=0)?'8C':'8B';o 6v=c.3R.9F();o 3v=c.3R.8x();B(6v&&5Z=='8B'){o 9O=6v.4A();B(I.1M.y<9O.3O)c.3R.8o(6v)}B(3v&&5Z=='8C'){o 9V=3v.4A();B(I.1M.y>9V.1n)c.3R.6O(3v)}c.2o=I.1M.y},eF:k(){o 8E=[];c.4U.8F().1o(k(el,i){8E[i]=c.T.3S(el)},c);m 8E},2f:k(){c.2o=1F;P.3j('2V',c.1G.61);P.3j('6S',c.1G.2f);B(c.C.2Q){P.3j('2V',c.1G.62);c.1i('9T',[c.3R,c.2Q])}c.1i('1T',c.3R)}});9S.3q(L 2q,L 4i);o ar=L 18({C:{az:k(4c){4c.1O('4G','8D')},ay:k(4c){4c.1O('4G','4y')},8v:30,9j:3b,9k:3b,1A:'bJ',5P:{'x':16,'y':16},5S:N},1j:k(T,C){c.2U(C);c.4g=L Q('4K',{'4O':c.C.1A+'-4c','8A':{'1u':'3X','1n':'0','1t':'0','4G':'4y'}}).25(P.4H);c.3d=L Q('4K').25(c.4g);$$(T).1o(c.ae,c);B(c.C.1j)c.C.1j.1S(c)},ae:k(el){el.$1X.47=(el.5h&&el.57()=='a')?el.5h.3l('96://',''):(el.95||N);B(el.5g){o 6b=el.5g.66('::');B(6b.V>1){el.$1X.47=6b[0].5Y();el.$1X.5T=6b[1].5Y()}17{el.$1X.5T=el.5g}el.94('5g')}17{el.$1X.5T=N}B(el.$1X.47&&el.$1X.47.V>c.C.8v)el.$1X.47=el.$1X.47.6p(0,c.C.8v-1)+\"&cu;\";el.1I('8k',k(I){c.1h(el);B(!c.C.5S)c.8e(I);17 c.1u(el)}.Y(c));B(!c.C.5S)el.1I('2V',c.8e.3g(c));o 2f=c.2f.Y(c);el.1I('8h',2f);el.1I('44',2f)},1h:k(el){c.3d.1m();B(el.$1X.47){c.5g=L Q('9f').25(L Q('4K',{'4O':c.C.1A+'-5g'}).25(c.3d)).5Q(el.$1X.47)}B(el.$1X.5T){c.21=L Q('9f').25(L Q('4K',{'4O':c.C.1A+'-21'}).25(c.3d)).5Q(el.$1X.5T)}$4Z(c.1H);c.1H=c.41.2k(c.C.9j,c)},2f:k(I){$4Z(c.1H);c.1H=c.5k.2k(c.C.9k,c)},1u:k(G){o 1p=G.3o();c.4g.4z({'1t':1p.x+c.C.5P.x,'1n':1p.y+c.C.5P.y})},8e:k(I){o aE={'x':U.8f(),'y':U.8l()};o 2J={'x':U.8s(),'y':U.8u()};o 4c={'x':c.4g.42,'y':c.4g.3T};o 1V={'x':'1t','y':'1n'};M(o z 1b 1V){o 1p=I.1M[z]+c.C.5P[z];B((1p+4c[z]-2J[z])>aE[z])1p=I.1M[z]-c.C.5P[z]-4c[z];c.4g.1O(1V[z],1p)}},41:k(){B(c.C.aG)c.1H=c.5k.2k(c.C.aG,c);c.1i('az',[c.4g])},5k:k(){c.1i('ay',[c.4g])}});ar.3q(L 2q,L 4i);o cd=L 18({1j:k(){c.5E=$A(1c);c.19={};c.4P={}},1I:k(F,W){c.4P[F]=c.4P[F]||{};c.19[F]=c.19[F]||[];B(c.19[F].1l(W))m N;17 c.19[F].1k(W);c.5E.1o(k(5x,i){5x.1I(F,c.3V.Y(c,[F,5x,i]))},c);m c},3V:k(F,5x,i){c.4P[F][i]=1e;o 4v=c.5E.4v(k(2a,j){m c.4P[F][j]||N},c);B(!4v)m;c.5E.1o(k(2a,j){c.4P[F][j]=N},c);c.19[F].1o(k(I){I.1S(c,c.5E,5x)},c)}});o 7n=1g.29.R({C:{8Q:18.1m,aN:18.1m,3D:0,41:N,2N:1e,2z:N,22:1e,6g:N,6A:N,3Q:N,74:N},1j:k(){o C,2v,T,2g;$1o(1c,k(4n,i){23($F(4n)){12'2C':C=4n;1D;12'G':2g=$(4n);1D;5D:o 2s=$$(4n);B(!2v)2v=2s;17 T=2s}});c.2v=2v||[];c.T=T||[];c.2g=$(2g);c.2U(C);c.2o=-1;B(c.C.74)c.C.3Q=1e;B($2B(c.C.41)){c.C.3D=N;c.2o=c.C.41}B(c.C.1h){c.C.3D=N;c.C.41=N}c.3t={};B(c.C.22)c.3t.22='b2';B(c.C.2z)c.3t.2z=c.C.6A?'b0':'42';B(c.C.2N)c.3t.2N=c.C.6g?'aU':'5N';M(o i=0,l=c.2v.V;i<l;i++)c.aV(c.2v[i],c.T[i]);c.T.1o(k(el,i){B(c.C.41===i)c.1i('8Q',[c.2v[i],el]);17 M(o 2x 1b c.3t)el.1O(2x,0)},c);c.1r(c.T);B($2B(c.C.3D))c.3D(c.C.3D)},aV:k(3k,G,1p){3k=$(3k);G=$(G);o 2t=c.2v.1l(3k);o 3N=c.2v.V;c.2v.5w(3k);c.T.5w(G);B(3N&&(!2t||1p)){1p=$5F(1p,3N-1);3k.8o(c.2v[1p]);G.6O(3k)}17 B(c.2g&&!2t){3k.25(c.2g);G.25(c.2g)}o aZ=c.2v.3S(3k);3k.1I('8p',c.3D.Y(c,aZ));B(c.C.2N)G.4z({'4F-1n':0,'2Y-1n':'6I','4F-3O':0,'2Y-3O':'6I'});B(c.C.2z)G.4z({'4F-1t':0,'2Y-1t':'6I','4F-4k':0,'2Y-4k':'6I'});G.b2=1;B(c.C.6A)G.b0=c.C.6A;B(c.C.6g)G.aU=c.C.6g;G.1O('aT','4y');B(!2t)M(o 2x 1b c.3t)G.1O(2x,0);m c},3D:k(26){26=($F(26)=='G')?c.T.3S(26):26;B((c.1H&&c.C.3Q)||(26===c.2o&&!c.C.74))m c;c.2o=26;o O={};c.T.1o(k(el,i){O[i]={};B((i!=26)||(c.C.74&&(el.3T>0))){c.1i('aN',[c.2v[i],el]);M(o 2x 1b c.3t)O[i][2x]=0}17{c.1i('8Q',[c.2v[i],el]);M(o 2x 1b c.3t)O[i][2x]=el[c.3t[2x]]}},c);m c.1h(O)},cV:k(26){m c.3D(26)}});1g.7n=7n;",62,940,"||||||||||||this||||||||function||return||var|||||||||||||if|options|||type|element||event|value|property|new|for|false|obj|document|Element|extend||elements|window|length|fn||bind||||case||to|from||else|Class|events|now|in|arguments|Math|true|param|Fx|start|fireEvent|initialize|push|contains|empty|top|each|pos|args|parent|key|left|position|rgb|name|css|items|max|className|array|offset|break|limit|null|bound|timer|addEvent|values|properties|prototype|page|result|setStyle|keys|selector|stop|call|onComplete|data|prop|props|tmp|source|style||text|opacity|switch||inject|index||method|Elements|current|transition|merge|mode|parsed|end|container|join|set|getStyle|delay|step|overflown|hsb|previous|relatedTarget|Events|round|temp|test|unit|togglers|custom|fx|transport|width|addListener|chk|object|nocash|string|Methods|color|remove|Array|scroll|map|url|Color|height|Base|parse|ghost|Event|params|match|setOptions|mousemove|script|documentElement|border|hue||ie||Garbage|margin|getElementsByTagName|context||||create|100|toInt|wrapper|overed|filter|bindWithEvent|item|mouse|removeListener|toggler|replace|Transitions|size|getPosition|min|implement|parentNode|CSS|effects|target|next|response|scrollTo|Abstract|iCss|time|option|hex|display|anchor|modifiers|Json|Hash|Cookie|pow|handle|drag|shared|len|bottom|returns|wait|active|indexOf|offsetHeight|apply|check|iterable|absolute|Drag|removeEvent||show|offsetWidth|xpath|trash|onStart||myTitle|knob|duration|iTo|getValue|tip|scripts|Styles|periodical|toolTip|change|Options|chains|right|delta|link|argument|select|increase|str|load|setNow|compute|toString|every|id|val|hidden|setStyles|getCoordinates|headers|status|cookie|grid|padding|visibility|body|handles|cont|div|onSuccess|webkit|get|class|checker|native|mix|number|post|list|collect|running|catch|htmlElement|clear||queryString|bit|255|results|getNow|secure|getTag|image|src|px|location|readyState|fromTo|sources|try|title|href|setHeader|delete|hide|toQueryString|colors|regexp|iFrom|_method|xml|mousewheel|iNow|red|setLength|green|include|instance|send|layout|onload|toLowerCase|on|default|instances|pick|isSuccess|hexToRgb|rgbToHex|encoding|out|precision|evaluate|scrollHeight|HTMLElement|offsets|setHTML|unique|fixed|myText|walk|domReady|area|parseInt|trim|direction||move|moveGhost|klass|mousedown|webkit419|split|scrollLeft|links|parseFloat|scrollTop|dual|onreadystatechange|fix|encodeURIComponent|domain|fixedHeight|XHR|path|setProperties|tagName|saturation|counter|getProperty|regex|substr|droppables|steps|head|evType|snap|prev|setMany|date|splice|Properties|fixedWidth|addEvents|continue|Multi|onFailure|images|removeEvents|scrollWidth|none|attempt|attach|hasKey|scrollSize|getSize|injectAfter|generic|code|mp|mouseup|included|brother|stopPropagation|String|percent|while|alpha|loaded|currentStyle|evalScripts|blue|alwaysHide|draggedKnob|preventDefault|getElementsBySelector|checkStep|onChange|Listeners|setProperty|Object|XMLHttpRequest|getElements|getElementById|typeof|relative|fKey|mod|proto|forEach|onCancel|Accordion|update|pageX|pageY|setTransport|nodeType|callChain|realType|addEventListener|clean|operator|concat|node|iProps|getItems|getParam|getMany|merged|hasClass|insertBefore|Dom|add|ie_ready|domready|qs|disabled|camelCase|multiple|checked|found|transitions|Function|charAt|evalResponse|RegExp|gecko|random|getLast|hasChild|pairs|appendChild|Style|easeType|first|PI|Transition|xhtml|compat|newArray|defined|Chain|rr|rgbToHsb|locate|getWidth|brightness|mouseleave|coord|mousemover|mouseenter|getHeight|copy|javascript|injectBefore|click|complete|callee|getScrollLeft|img|getScrollTop|maxTitleChars|velocity|getNext|coordinates|toElement|styles|up|down|visible|serial|getChildren|Slider|toStep|capitalize|vertical|horizontal|lim|onDrag|previousEnd|previousChange|onTick|onActive|gr|Top|Right|Bottom|Left|0px|Width|opera|nodeValue|clientWidth|fixStyle|borderShort|onRequest|removeAttribute|rel|http|Date|cancel|input|getCoords|getFormElements|textarea|client|clientHeight|span|onStateChange|clientX|firstChild|showDelay|hideDelay|iParsed|autoCancel|defaultView|hyphenate|async|Single|hsbToRgb|6000|pageYOffset|600000|pageXOffset|getScrollWidth|getScrollHeight|360|fps|childNodes|Scroller|request|mouseout|mouseover|getPrevious|cloneEvents|setTimeout|onDragStart|extended|detach|DOMMouseScroll|clone|execScript|prevPos|which|Content|clientY|Sortables|onDragComplete|fixRelatedTarget|nextPos|shift|wheelDelta|relatedTargetGecko|getHeader|tag|half|sel|normal|toPosition|getElement|getPos|postBody|picked|Ajax|clickedElement|application|Scroll|removeEventListener|build|unload|useLink|filterById|filterByClass|prefix|resolver|filterByAttribute|zoom|floor|Number||createElement|Tips|cos|interval|onBeforeStart|onSnap|distance|1000|onHide|onShow|before|after|abort|sin|win|elementsProperty|timeout|where|slice|toUpperCase|escapeRegExp|Merge|Move|onBackground|ActiveXObject|pp|www|constructor|urlEncoded|overflow|fullHeight|addSection|getLeft|getTop|ie6|idx|fullWidth|checkAgainst|fullOpacity|contents|toFloat|removeClass|onProgress|cssText|adopt|undefined|getStyles|Asset|slideIn|save|slideOut|getTime|full|addClass|setOpacity|autoSave|textnode|navigator|associate|styleFloat|some|getRandom|getFirst||srcElement|beforeunload|whitespace|detachEvent|attachEvent|lastChild|float|all|DOMElement|CollectGarbage|clearChain|chain|111|MooTools|version|zIndex|keydown|tool|execCommand|getComputedStyle|taintEnabled|getPropertyValue|menu|fromCharCode|keyCode|detail|control|ctrlKey|shiftKey|readOnly|cssFloat|alt|altKey|Sibling|120|wheel|metaKey|meta|nodeName|transparent|styleSheet|createTextNode|removeProperty|getProperties|injectInside|getBoxObjectFor|BackgroundImageCache|Group|boolean|htmlFor|webkit420|toggleClass|clearTimeout|borderColor|replaceWith|ie7|replaceChild|clearInterval|appendText|cloneNode|setAttribute|borderWidth|borderStyle|injectTop|hellip|removeChild|colspan|embed|tabindex|tabIndex|accessKey|accesskey|rowSpan|getParent|err|maxlength|maxLength|innerHTML|setInterval|iframe|getAttribute|pass|Document|times|attributes|rowspan|colSpan|hasLayout|khtml|collection|bindAsEventListener|showThisHideOpen|Native|Window|readonly|starts|618|Bounce|Elastic|Image|Back|Sine|Expo|Circ|acos|Quad|Cubic|media|stylesheet|sqrt|screen|onabort|Quart|Quint|onerror|Pow|ease|toLeft|toRight|Slide||pop|toBottom|toTop|setSaturation|setHue|invert|4096|rightClick|Out|InOut|error|In|linear|easeIn|easeOut|easeInOut|readystatechange|json|Connection|close|setRequestHeader|setTime|overrideMimeType|open|300|responseText|responseXML|action|Requested|gi|ecma|java|exec|getResponseHeader|With|Accept|html|200|expires|leave|over|Eaeflnr|decodeURIComponent|eval|Remote|makeResizable|JSON|Request|drop|emptydrop|form|urlencoded|toGMTString|charset|XMLHTTP|makeDraggable|utf|Microsoft||setBrightness|toggle|org|1999|RGB|w3|snapshotItem|UNORDERED_NODE_SNAPSHOT_TYPE|snapshotLength|SmoothScroll|getElementsByClassName|offsetLeft|offsetTop|password|radio|selected|checkbox|XPathResult|substring|serialize|enter|returnValue|cancelBubble|button|fromElement|esc|space|namespaceURI|with|ES|filterByTag|backspace|tab|offsetParent|hash|DOMContentLoaded|clearTimer|defer|500|innerHeight|innerWidth|effect|onDomReady|write|10000|protocol|HSB|https|Shared|void".split("|"),0,{}));
var dp={sh:{Toolbar:{},Utils:{},RegexLib:{},Brushes:{},Strings:{},Version:"1.4.1"}};dp.sh.Strings={AboutDialog:'<html><head><title>About...</title></head><body class="dp-about"><table cellspacing="0"><tr><td class="copy"><p class="title">dp.SyntaxHighlighter</div><div class="para">Version: {V}</p><p><a href="http://www.dreamprojections.com/syntaxhighlighter/?ref=about" target="_blank">http://www.dreamprojections.com/SyntaxHighlighter</a></p>&copy;2004-2005 Alex Gorbatchev. All right reserved.</td></tr><tr><td class="footer"><input type="button" class="close" value="OK" onClick="window.close()"/></td></tr></table></body></html>'};dp.SyntaxHighlighter=dp.sh;dp.sh.Toolbar.Commands={ExpandSource:{label:"+ expand source",check:function(A){return A.collapse},func:function(B,A){B.parentNode.removeChild(B);A.div.className=A.div.className.replace("collapsed","")}},ViewSource:{label:"view plain",func:function(D,C){var B=C.originalCode.replace(/</g,"&lt;");var A=window.open("","_blank","width=750, height=400, location=0, resizable=1, menubar=0, scrollbars=1");A.document.write('<textarea style="width:99%;height:99%">'+B+"</textarea>");A.document.close()}},CopyToClipboard:{label:"copy to clipboard",check:function(){return window.clipboardData!=null},func:function(B,A){window.clipboardData.setData("text",A.originalCode);alert("The code is in your clipboard now")}},PrintSource:{label:"print",func:function(D,C){var B=document.createElement("IFRAME");var A=null;B.style.cssText="position:absolute;width:0px;height:0px;left:-500px;top:-500px;";document.body.appendChild(B);A=B.contentWindow.document;dp.sh.Utils.CopyStyles(A,window.document);A.write('<div class="'+C.div.className.replace("collapsed","")+' printing">'+C.div.innerHTML+"</div>");A.close();B.contentWindow.focus();B.contentWindow.print();alert("Printing...");document.body.removeChild(B)}},About:{label:"?",func:function(A){var C=window.open("","_blank","dialog,width=300,height=150,scrollbars=0");var B=C.document;dp.sh.Utils.CopyStyles(B,window.document);B.write(dp.sh.Strings.AboutDialog.replace("{V}",dp.sh.Version));B.close();C.focus()}}};dp.sh.Toolbar.Create=function(C){var D=document.createElement("DIV");D.className="tools";for(var B in dp.sh.Toolbar.Commands){var A=dp.sh.Toolbar.Commands[B];if(A.check!=null&&!A.check(C)){continue}D.innerHTML+='<a href="#" onclick="dp.sh.Toolbar.Command(\''+B+"',this);return false;\">"+A.label+"</a>"}return D};dp.sh.Toolbar.Command=function(B,A){var C=A;while(C!=null&&C.className.indexOf("dp-highlighter")==-1){C=C.parentNode}if(C!=null){dp.sh.Toolbar.Commands[B].func(A,C.highlighter)}};dp.sh.Utils.CopyStyles=function(B,A){var D=A.getElementsByTagName("link");for(var C=0;C<D.length;C++){if(D[C].rel.toLowerCase()=="stylesheet"){B.write('<link type="text/css" rel="stylesheet" href="'+D[C].href+'"></link>')}}};dp.sh.RegexLib={MultiLineCComments:new RegExp("/\\*[\\s\\S]*?\\*/","gm"),SingleLineCComments:new RegExp("//.*$","gm"),SingleLinePerlComments:new RegExp("#.*$","gm"),DoubleQuotedString:new RegExp('"(?:\\.|(\\\\\\")|[^\\""])*"',"g"),SingleQuotedString:new RegExp("'(?:\\.|(\\\\\\')|[^\\''])*'","g")};dp.sh.Match=function(B,A,C){this.value=B;this.index=A;this.length=B.length;this.css=C};dp.sh.Highlighter=function(){this.noGutter=false;this.addControls=true;this.collapse=false;this.tabsToSpaces=true;this.wrapColumn=80;this.showColumns=true};dp.sh.Highlighter.SortCallback=function(B,A){if(B.index<A.index){return -1}else{if(B.index>A.index){return 1}else{if(B.length<A.length){return -1}else{if(B.length>A.length){return 1}}}}return 0};dp.sh.Highlighter.prototype.CreateElement=function(A){var B=document.createElement(A);B.highlighter=this;return B};dp.sh.Highlighter.prototype.GetMatches=function(D,A){var C=0;var B=null;while((B=D.exec(this.code))!=null){this.matches[this.matches.length]=new dp.sh.Match(B[0],B.index,A)}};dp.sh.Highlighter.prototype.AddBit=function(F,C){if(F==null||F.length==0){return }var A=this.CreateElement("SPAN");F=F.replace(/&/g,"&amp;");F=F.replace(/ /g,"&nbsp;");F=F.replace(/</g,"&lt;");F=F.replace(/\n/gm,"&nbsp;<br>");if(C!=null){var E=new RegExp("<br>","gi");if(E.test(F)){var D=F.split("&nbsp;<br>");F="";for(var B=0;B<D.length;B++){A=this.CreateElement("SPAN");A.className=C;A.innerHTML=D[B];this.div.appendChild(A);if(B+1<D.length){this.div.appendChild(this.CreateElement("BR"))}}}else{A.className=C;A.innerHTML=F;this.div.appendChild(A)}}else{A.innerHTML=F;this.div.appendChild(A)}};dp.sh.Highlighter.prototype.IsInside=function(B){if(B==null||B.length==0){return false}for(var A=0;A<this.matches.length;A++){var C=this.matches[A];if(C==null){continue}if((B.index>C.index)&&(B.index<C.index+C.length)){return true}}return false};dp.sh.Highlighter.prototype.ProcessRegexList=function(){for(var A=0;A<this.regexList.length;A++){this.GetMatches(this.regexList[A].regex,this.regexList[A].css)}};dp.sh.Highlighter.prototype.ProcessSmartTabs=function(C){var B=C.split("\n");var A="";var H=4;var E="\t";function G(M,O,K){var J=M.substr(0,O);var N=M.substr(O+1,M.length);var L="";for(var I=0;I<K;I++){L+=" "}return J+L+N}function F(K,J){if(K.indexOf(E)==-1){return K}var L=0;while((L=K.indexOf(E))!=-1){var I=J-L%J;K=G(K,L,I)}return K}for(var D=0;D<B.length;D++){A+=F(B[D],H)+"\n"}return A};dp.sh.Highlighter.prototype.SwitchToList=function(){var F=this.div.innerHTML.replace(/<(br)\/?>/gi,"\n");var E=F.split("\n");if(this.addControls==true){this.bar.appendChild(dp.sh.Toolbar.Create(this))}if(this.showColumns){var A=this.CreateElement("div");var C=this.CreateElement("div");var B=10;var G=1;while(G<=150){if(G%B==0){A.innerHTML+=G;G+=(G+"").length}else{A.innerHTML+="&middot;";G++}}C.className="columns";C.appendChild(A);this.bar.appendChild(C)}for(var G=0,I=this.firstLine;G<E.length-1;G++,I++){var H=this.CreateElement("LI");var D=this.CreateElement("SPAN");H.className=(G%2==0)?"alt":"";D.innerHTML=E[G]+"&nbsp;";H.appendChild(D);this.ol.appendChild(H)}this.div.innerHTML=""};dp.sh.Highlighter.prototype.Highlight=function(H){function E(I){return I.replace(/^\s*(.*?)[\s\n]*$/g,"$1")}function F(I){return I.replace(/\n*$/,"").replace(/^\n*/,"")}function B(O){var M=O.split("\n");var N=new Array();var L=new RegExp("^\\s*","g");var K=1000;for(var J=0;J<M.length&&K>0;J++){if(E(M[J]).length==0){continue}var I=L.exec(M[J]);if(I!=null&&I.length>0){K=Math.min(I[0].length,K)}}if(K>0){for(var J=0;J<M.length;J++){M[J]=M[J].substr(K)}}return M.join("\n")}function D(J,I,K){return J.substr(I,K-I)}var G=0;this.originalCode=H;this.code=F(B(H));this.div=this.CreateElement("DIV");this.bar=this.CreateElement("DIV");this.ol=this.CreateElement("OL");this.matches=new Array();this.div.className="dp-highlighter";this.div.highlighter=this;this.bar.className="bar";this.ol.start=this.firstLine;if(this.CssClass!=null){this.ol.className=this.CssClass}if(this.collapse){this.div.className+=" collapsed"}if(this.noGutter){this.div.className+=" nogutter"}if(this.tabsToSpaces==true){this.code=this.ProcessSmartTabs(this.code)}this.ProcessRegexList();if(this.matches.length==0){this.AddBit(this.code,null);this.SwitchToList();this.div.appendChild(this.ol);return }this.matches=this.matches.sort(dp.sh.Highlighter.SortCallback);for(var C=0;C<this.matches.length;C++){if(this.IsInside(this.matches[C])){this.matches[C]=null}}for(var C=0;C<this.matches.length;C++){var A=this.matches[C];if(A==null||A.length==0){continue}this.AddBit(D(this.code,G,A.index),null);this.AddBit(A.value,A.css);G=A.index+A.length}this.AddBit(this.code.substr(G),null);this.SwitchToList();this.div.appendChild(this.bar);this.div.appendChild(this.ol)};dp.sh.Highlighter.prototype.GetKeywords=function(A){return"\\b"+A.replace(/ /g,"\\b|\\b")+"\\b"};dp.sh.HighlightAll=function(J,I,S,R,Q,O){function K(){var T=arguments;for(var U=0;U<T.length;U++){if(T[U]==null){continue}if(typeof (T[U])=="string"&&T[U]!=""){return T[U]+""}if(typeof (T[U])=="object"&&T[U].value!=""){return T[U].value+""}}return null}function P(U,T){for(var V=0;V<T.length;V++){if(T[V]==U){return true}}return false
}function L(T,Y,W){var V=new RegExp("^"+T+"\\[(\\w+)\\]$","gi");var U=null;for(var X=0;X<Y.length;X++){if((U=V.exec(Y[X]))!=null){return U[1]}}return W}var M=document.getElementsByName(J);var H=null;var G=new Object();var F="value";if(M==null){return }for(var E in dp.sh.Brushes){var D=dp.sh.Brushes[E].Aliases;if(D==null){continue}for(var N=0;N<D.length;N++){G[D[N]]=E}}for(var N=0;N<M.length;N++){var C=M[N];var B=K(C.attributes["class"],C.className,C.attributes.language,C.language);var A="";if(B==null){continue}B=B.split(":");A=B[0].toLowerCase();if(G[A]==null){continue}H=new dp.sh.Brushes[G[A]]();C.style.display="none";H.noGutter=(I==null)?P("nogutter",B):!I;H.addControls=(S==null)?!P("nocontrols",B):S;H.collapse=(R==null)?P("collapse",B):R;H.showColumns=(O==null)?P("showcolumns",B):O;H.firstLine=(Q==null)?parseInt(L("firstline",B,1)):Q;H.Highlight(C[F]);C.parentNode.insertBefore(H.div,C)}};
dp.sh.Brushes.CSS=function(){var B="ascent azimuth background-attachment background-color background-image background-position background-repeat background baseline bbox border-collapse border-color border-spacing border-style border-top border-right border-bottom border-left border-top-color border-right-color border-bottom-color border-left-color border-top-style border-right-style border-bottom-style border-left-style border-top-width border-right-width border-bottom-width border-left-width border-width border bottom cap-height caption-side centerline clear clip color content counter-increment counter-reset cue-after cue-before cue cursor definition-src descent direction display elevation empty-cells float font-size-adjust font-family font-size font-stretch font-style font-variant font-weight font height letter-spacing line-height list-style-image list-style-position list-style-type list-style margin-top margin-right margin-bottom margin-left margin marker-offset marks mathline max-height max-width min-height min-width orphans outline-color outline-style outline-width outline overflow padding-top padding-right padding-bottom padding-left padding page page-break-after page-break-before page-break-inside pause pause-after pause-before pitch pitch-range play-during position quotes richness right size slope src speak-header speak-numeral speak-punctuation speak speech-rate stemh stemv stress table-layout text-align text-decoration text-indent text-shadow text-transform unicode-bidi unicode-range units-per-em vertical-align visibility voice-family volume white-space widows width widths word-spacing x-height z-index";var A="above absolute all always aqua armenian attr aural auto avoid baseline behind below bidi-override black blink block blue bold bolder both bottom braille capitalize caption center center-left center-right circle close-quote code collapse compact condensed continuous counter counters crop cross crosshair cursive dashed decimal decimal-leading-zero default digits disc dotted double embed embossed e-resize expanded extra-condensed extra-expanded fantasy far-left far-right fast faster fixed format fuchsia gray green groove handheld hebrew help hidden hide high higher icon inline-table inline inset inside invert italic justify landscape large larger left-side left leftwards level lighter lime line-through list-item local loud lower-alpha lowercase lower-greek lower-latin lower-roman lower low ltr marker maroon medium message-box middle mix move narrower navy ne-resize no-close-quote none no-open-quote no-repeat normal nowrap n-resize nw-resize oblique olive once open-quote outset outside overline pointer portrait pre print projection purple red relative repeat repeat-x repeat-y rgb ridge right right-side rightwards rtl run-in screen scroll semi-condensed semi-expanded separate se-resize show silent silver slower slow small small-caps small-caption smaller soft solid speech spell-out square s-resize static status-bar sub super sw-resize table-caption table-cell table-column table-column-group table-footer-group table-header-group table-row table-row-group teal text-bottom text-top thick thin top transparent tty tv ultra-condensed ultra-expanded underline upper-alpha uppercase upper-latin upper-roman url visible wait white wider w-resize x-fast x-high x-large x-loud x-low x-slow x-small x-soft xx-large xx-small yellow";var C="[mM]onospace [tT]ahoma [vV]erdana [aA]rial [hH]elvetica [sS]ans-serif [sS]erif";this.regexList=[{regex:dp.sh.RegexLib.MultiLineCComments,css:"comment"},{regex:dp.sh.RegexLib.DoubleQuotedString,css:"string"},{regex:dp.sh.RegexLib.SingleQuotedString,css:"string"},{regex:new RegExp("\\#[a-zA-Z0-9]{3,6}","g"),css:"colors"},{regex:new RegExp("(\\d+)(px|pt|:)","g"),css:"string"},{regex:new RegExp(this.GetKeywords(B),"gm"),css:"keyword"},{regex:new RegExp(this.GetKeywords(A),"g"),css:"string"},{regex:new RegExp(this.GetKeywords(C),"g"),css:"string"}];this.CssClass="dp-css"};dp.sh.Brushes.CSS.prototype=new dp.sh.Highlighter();dp.sh.Brushes.CSS.Aliases=["css"];
dp.sh.Brushes.JScript=function(){var A="abstract boolean break byte case catch char class const continue debugger default delete do double else enum export extends false final finally float for function goto if implements import in instanceof int interface long native new null package private protected public return short static super switch synchronized this throw throws transient true try typeof var void volatile while with";this.regexList=[{regex:dp.sh.RegexLib.SingleLineCComments,css:"comment"},{regex:dp.sh.RegexLib.MultiLineCComments,css:"comment"},{regex:dp.sh.RegexLib.DoubleQuotedString,css:"string"},{regex:dp.sh.RegexLib.SingleQuotedString,css:"string"},{regex:new RegExp("^\\s*#.*","gm"),css:"preprocessor"},{regex:new RegExp(this.GetKeywords(A),"gm"),css:"keyword"}];this.CssClass="dp-c"};dp.sh.Brushes.JScript.prototype=new dp.sh.Highlighter();dp.sh.Brushes.JScript.Aliases=["js","jscript","javascript"];
dp.sh.Brushes.Xml=function(){this.CssClass="dp-xml"};dp.sh.Brushes.Xml.prototype=new dp.sh.Highlighter();dp.sh.Brushes.Xml.Aliases=["xml","xhtml","xslt","html","xhtml"];dp.sh.Brushes.Xml.prototype.ProcessRegexList=function(){function C(F,E){F[F.length]=E}var B=0;var A=null;var D=null;this.GetMatches(new RegExp("<\\!\\[[\\w\\s]*?\\[(.|\\s)*?\\]\\]>","gm"),"cdata");this.GetMatches(new RegExp("<!--\\s*.*\\s*?-->","gm"),"comments");D=new RegExp("([:\\w-.]+)\\s*=\\s*(\".*?\"|'.*?'|\\w+)*","gm");while((A=D.exec(this.code))!=null){C(this.matches,new dp.sh.Match(A[1],A.index,"attribute"));if(A[2]!=undefined){C(this.matches,new dp.sh.Match(A[2],A.index+A[0].indexOf(A[2]),"attribute-value"))}}this.GetMatches(new RegExp("</*\\?*(?!\\!)|/*\\?*>","gm"),"tag");D=new RegExp("</*\\?*\\s*([:\\w-.]+)","gm");while((A=D.exec(this.code))!=null){C(this.matches,new dp.sh.Match(A[1],A.index+A[0].indexOf(A[1]),"tag-name"))}};
/*****
* 
* Plugin detection Script
* 
* Description:	detects some plugins of user
* Author:		Matthias von Deetzen
* Copyright:	CeWe Color AG & Co OhG
* 
*****/

var detectableWithVB = false;

function PluginDetection()
{
	this.detectJava = function() {
		if (window.navigator.javaEnabled() == true) {
			return true;
		}
		else {
			return false;
		}
	}
	this.detectActiveX = function() {
		return false;
	}
	this.canDetectPlugins = function() {
		if( detectableWithVB || (navigator.plugins && navigator.plugins.length > 0) ) {
			return true;
		} else {
			return false;
		}
	}
	this.detectActiveX = function() {
		try {
			new ActiveXObject("Shell.UIHelper");
		}
		catch (e) {
			return false;
		}
		return true;
	}
	this.detectFlash = function() {
		pluginFound = this.detectPlugin('Shockwave','Flash'); 
		if(!pluginFound && detectableWithVB) {
			pluginFound = detectActiveXControl('ShockwaveFlash.ShockwaveFlash.1');
		}
		return pluginFound;
	}
	this.detectDirector = function() { 
		pluginFound = this.detectPlugin('Shockwave','Director'); 
		if(!pluginFound && detectableWithVB) {
			pluginFound = detectActiveXControl('SWCtl.SWCtl.1');
		}
		return pluginFound;
	}
	this.detectQuickTime = function() {
		pluginFound = this.detectPlugin('QuickTime');
		if(!pluginFound && detectableWithVB) {
			pluginFound = detectQuickTimeActiveXControl();
		}
		return pluginFound;
	}
	this.detectReal = function() {
		pluginFound = this.detectPlugin('RealPlayer');
		if(!pluginFound && detectableWithVB) {
		pluginFound = (detectActiveXControl('rmocx.RealPlayer G2 Control') ||
			detectActiveXControl('RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)') ||
			detectActiveXControl('RealVideo.RealVideo(tm) ActiveX Control (32-bit)'));
		}	
		return pluginFound;
	}
	this.detectWindowsMedia = function() {
		pluginFound = this.detectPlugin('Windows Media');
		if(!pluginFound && detectableWithVB) {
			pluginFound = detectActiveXControl('MediaPlayer.MediaPlayer.1');
		}
		return pluginFound;
	}

	this.detectPlugin = function() {
		var daPlugins = this.detectPlugin.arguments;
		var pluginFound = false;
		if (navigator.plugins && navigator.plugins.length > 0) {
			var pluginsArrayLength = navigator.plugins.length;
			for (pluginsArrayCounter=0; pluginsArrayCounter < pluginsArrayLength; pluginsArrayCounter++ ) {
				var numFound = 0;
				for(namesCounter=0; namesCounter < daPlugins.length; namesCounter++) {
					if( (navigator.plugins[pluginsArrayCounter].name.indexOf(daPlugins[namesCounter]) >= 0) || 
						(navigator.plugins[pluginsArrayCounter].description.indexOf(daPlugins[namesCounter]) >= 0) ) {
						numFound++;
					}
				}
				if(numFound == daPlugins.length) {
					pluginFound = true;
					break;
				}
			}
		}
		return pluginFound;
	} // detectPlugin

	
	this.java = this.detectJava();
	this.activex = this.detectActiveX();

	if (navigator.appVersion.indexOf("Win")!=-1) this.OSname="windows";
	if (navigator.appVersion.indexOf("Mac")!=-1) this.OSname="macos";
	if (navigator.appVersion.indexOf("X11")!=-1) this.OSname="unix";
	if (navigator.appVersion.indexOf("Linux")!=-1) this.OSname="linux";

	/*
	if (this.canDetectPlugins()) {
		this.flash = this.detectFlash();
		this.director = this.detectDirector();
		this.quicktime = this.detectQuickTime();
		this.realplayer = this.detectReal();
		this.windowsmedia = this.detectWindowsMedia();
	}
	*/
};

// Here we write out the VBScript block for MSIE Windows
if ((navigator.userAgent.indexOf('MSIE') != -1) && (navigator.userAgent.indexOf('Win') != -1)) {
	document.writeln('<script language="VBscript">');

	document.writeln('\'do a one-time test for a version of VBScript that can handle this code');
	document.writeln('detectableWithVB = False');
	document.writeln('If ScriptEngineMajorVersion >= 2 then');
	document.writeln('  detectableWithVB = True');
	document.writeln('End If');

	document.writeln('\'this next function will detect most plugins');
	document.writeln('Function detectActiveXControl(activeXControlName)');
	document.writeln('  on error resume next');
	document.writeln('  detectActiveXControl = False');
	document.writeln('  If detectableWithVB Then');
	document.writeln('     detectActiveXControl = IsObject(CreateObject(activeXControlName))');
	document.writeln('  End If');
	document.writeln('End Function');

	document.writeln('\'and the following function handles QuickTime');
	document.writeln('Function detectQuickTimeActiveXControl()');
	document.writeln('  on error resume next');
	document.writeln('  detectQuickTimeActiveXControl = False');
	document.writeln('  If detectableWithVB Then');
	document.writeln('    detectQuickTimeActiveXControl = False');
	document.writeln('    hasQuickTimeChecker = false');
	document.writeln('    Set hasQuickTimeChecker = CreateObject("QuickTimeCheckObject.QuickTimeCheck.1")');
	document.writeln('    If IsObject(hasQuickTimeChecker) Then');
	document.writeln('      If hasQuickTimeChecker.IsQuickTimeAvailable(0) Then ');
	document.writeln('        detectQuickTimeActiveXControl = True');
	document.writeln('      End If');
	document.writeln('    End If');
	document.writeln('  End If');
	document.writeln('End Function');

	document.writeln('</scr' + 'ipt>');
}

/*****
* 
* Default Script
* 
* Description:	usual scripts for COPS
* Author:		Matthias von Deetzen
* Copyright:	CeWe Color AG & Co OhG
* 
*****/

var sHref = document.location.href.toLowerCase();
var RedDotPageGuid = null;
var RedDotMode = false;

/** detect browser type **/
var is_moz = false;
var is_ie = false;

/** if no server urls are set, get default **/
if (typeof(server_url_live) == 'undefined') {
	var server_url_live = 'as.photoprintit.de';
	var server_url_test = 'as.photoprintit.de';
}

var server_url = getServerSystem(server_url_live, server_url_test);
var order_link = 'https://' + server_url + '/web/' + (typeof(operator) != 'undefined' ? (operator + '/') : '');

if (sHref.indexOf("action=reddot")!= -1) {
	RedDotMode = true;
	
	var search = /&pageguid\=([0-9A-Za-z]*)/;
	search.exec(sHref);
	RedDotPageGuid = RegExp.$1;
}

if (navigator.appName == 'Microsoft Internet Explorer')
{
	is_ie = true;
}
else if (navigator.appName == 'Netscape')
{
	is_moz = true;
}

/** some simple declarations **/
var last_element = new Object;

/** display info for pricelist **/
function display_price_info(elementId, max_position)
{
	var margin = 0;
	if (typeof($('sub_nav')) != 'undefined' && $('sub_nav').getStyle('float') == 'right') {
		margin = $('page_wrapper').getStyle('paddingLeft').replace('px', '');
	}
	
	var LeftPos = 0;
	if (typeof($('teaser_wrapper')) != 'undefined') {
		LeftPos = $('teaser_wrapper').offsetWidth - $('page_wrapper').offsetLeft;
	}

	max_position = absLeft($('teaser_wrapper')) + LeftPos - $('page_wrapper').style.marginLeft + 3 - margin;

	var windowWidth = 0;
	if( typeof( window.innerWidth ) == 'number' ) {
		windowWidth = window.innerWidth + 1;
	}
	else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
		windowWidth = document.documentElement.clientWidth;
	}
	else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
		windowWidth = document.body.clientWidth;
	}

	var change_value = (windowWidth - document.getElementById('page_wrapper').offsetWidth) / 2;
	max_position = max_position + change_value;

	var element = null;
	if (element = document.getElementById(elementId))
	{
		if (last_element.style)
		{
			last_element.style.display = 'none';
			last_element.parentNode.parentNode.style.zIndex = last_zindex;
		}

		last_element = element;
		last_zindex = element.style.zIndex;

		element.style.opacity = 0;
		element.style.display = 'block';
		fadeIn(element.id);
		element.parentNode.parentNode.style.zIndex = '950';

		if (max_position > 0 && element.style.marginLeft == '')
		{
			if ((absLeft(element) + element.offsetWidth) > max_position)
			{
				element.style.marginLeft = -1 * (absLeft(element) + element.offsetWidth - max_position) - (is_ie ? 2 : 19) + 'px';
			}
		}

	}
}

/** hide an element **/
function hide(elementId)
{
	var element = null;
	if (element = document.getElementById(elementId))
	{
		fadeOut(element.id);
	}
}

/** fade an element in **/
function fadeIn(element_id)
{
	if (document.getElementById(element_id)) {
		document.getElementById(element_id).fadein = new Fx.Style(document.getElementById(element_id), 'opacity', {duration: 300}).start(document.getElementById(element_id).style.opacity,0.9999);
	}
}

/** fade an element out **/
function fadeOut(element_id)
{
	if (document.getElementById(element_id)) {
		document.getElementById(element_id).fadein = new Fx.Style(document.getElementById(element_id), 'opacity', {duration: 300}).start(document.getElementById(element_id).style.opacity,0);
	}
}

/** set an element to active state **/
var elements = new Array();
var act_elements = new Array();
var container_height = 0;
function pricelist_set_active(element, activator)
{
	if (typeof element == 'string')
	{
		if (document.getElementById(element))
		{
			element = document.getElementById(element)
		}
		else
		{
			return false;
		}
	}

	var height = 220;

	if (element && element.className != 'active')
	{
		for (var i = 0; i < elements.length; i++)
		{
			if (elements[i])
			{
				elements[i].className = '';
				elements[i].getElementsByTagName('div')[0].style.display = 'none';
			}
		}


		element.className = 'active';
		element.getElementsByTagName('a')[0].style.outline = '0';
		element.getElementsByTagName('div')[0].style.display = 'block';

		if (is_ie) {
			element.parentNode.style.height = element.getElementsByTagName('div')[0].offsetHeight + height + 'px';
		}
		else {
			element.getParent().getParent().style.height = element.getElementsByTagName('div')[0].offsetHeight + height + 'px';
		}

		if (elements == null || in_array(element, elements) == false)
		{
			elements.unshift(element);
		}
	}

	if (activator)
	{
		for (var i = 0; i < act_elements.length; i++)
		{
			if (act_elements[i])
			{
				act_elements[i].className = '';
			}
		}

		activator.className = 'active';
		activator.blur();

		if (act_elements == null || in_array(activator, act_elements) == false)
		{
			act_elements.unshift(activator);
		}
	}
}

/** get the absolute left position of element **/
function absLeft(el) {
	return (el.offsetParent)? 
	el.offsetLeft+absLeft(el.offsetParent) : el.offsetLeft;
}

/** get the absolute right position of element **/
function absTop(el) {
	return (el.offsetParent)? 
	el.offsetTop+absTop(el.offsetParent) : el.offsetTop;
}

/** own simple in_array function **/
function in_array(item,arr)
{
	for(p=0;p<arr.length;p++) if (item == arr[p]) return true;
	return false;
}

/** open a popup window **/
function popup(element, lightbox, width, height, reddot_mode)
{
	if (reddot_mode)
	{
		myLink = document.createElement("iframe");
		myLink.src = element.href;
		myLink.style.display = "block";
		myLink.style.position = "absolute";
		myLink.style.width = width + 8 + "px";
		myLink.style.height = height + 8 + "px";

		myLink.style.zIndex = 50000;

		left = (screen.width - width) / 2 - 150;
		top = 300;

		myLink.style.left = left + "px";
		myLink.style.top = top + "px";

		body = document.getElementsByTagName("body")[0];
		body.appendChild(myLink);
	}
	else
	{
		if (lightbox)
		{
			element.rev = "width: " + width + "px; height: " + height + "px; border:0; scrolling: no;"
			element.setAttribute('rel', 'lyteframe');
			myLytebox.start(element, false, true);
		}
		else
		{
			var opt = "";
			var top = 0;
			var left = 0;
	
			if (width && height)
			{
				opt += "width=" + width + ",height=" + height + ",";
				left = (screen.width - width) / 2;
				top = (screen.height - height) / 2;
			}
	
			if (top > 0 && left > 0)
			{
				opt += 'top=' + top + ',left=' + left + ',';
			}
			opt += "status=no,scrollbars=yes,resizable=no,toolbar=no";
	
			window.open(element.href, "popup", opt);
		}
	}

	return false;
}

/** display the product sizes of a product **/
function show_product_sizes(element, image, show)
{
	if (element.nodeName != 'IMG')
	{
		element = element.previousSibling;
	}

	if (element && image)
	{
		element.setAttribute('rel', element.src);
		if (image) {
			element.src = image;
		}

		if (show) {
			element.nextSibling.nextSibling.style.display = 'block';
		}
		else {
			element.nextSibling.nextSibling.style.display = 'none';
		}
	}
}

/** display or hide the info box in the lightbox **/
function switch_info(element, show)
{
	if (show)
	{
		if (typeof(element) != 'undefined') {
			if (element.nodeName != 'DIV')
			{
				element = element.nextSibling;
			}
			element.style.opacity = 0;
			element.style.display = 'block';
			element.fadein = new Fx.Style(element, 'opacity', {duration: 550}).start(element.getStyle('opacity'),0.9999);
		}
	}
	else
	{
		if (typeof(element) != 'undefined') {
			element.fadeout = new Fx.Style(element, 'opacity', {duration: 550}).start(element.getStyle('opacity'),0)
			.chain(function() {element.style.display = 'none'});
		}
	}
}

if(!window.Node){
	var Node = {ELEMENT_NODE : 1, TEXT_NODE : 3};
}

function checkNode(node, filter){
	return (filter == null || node.nodeType == Node[filter] || node.nodeName.toUpperCase() == filter.toUpperCase());
}

/** get all children of element **/
function getChildren(node, filter)
{
	var result = new Array();
	var children = node.childNodes;
	for(var i = 0; i < children.length; i++){
		if(checkNode(children[i], filter)) result[result.length] = children[i];
	}
	return result;
}

/** set the link to the IPS order client **/
function set_order_link(product, value)
{
	var order_links = new Object();
	var link = document.getElementById('order_link');
	var design = 'nodesign';

	if (!link)
	{
		return false;
	}
	else if (!operator || !product || product == '')
	{
		link.href = '';
		link.style.display = 'none';
		return false;
	}

	if (!value && document.getElementById('product_select'))
	{
		products = getChildren(document.getElementById('product_select'), 'input');

		for (var i = 0; i < products.length; i++)
		{
			if (products[i].checked)
			{
				value = products[i].value;
			}
		}
	}

	if (document.getElementById('design0') && document.getElementById('design1'))
	{
		design = (document.getElementById('design1').checked ? 'design' : 'nodesign');
	}

	if (product && link)
	{
		var order_links = {

			// Fotofun
			'bib': 'productSettings.do?productid=23',
			'cap': 'productSettings.do?productid=12',
			'moose': 'productSettings.do?productid=69',
			'crystal_pic_80_105': 'productSettings.do?productid=555',
			'sticker': 'productEditor.do?new=true&productId=42&new=true', // changed to new editor
			'globe_glitter': 'productSettings.do?productid=100',
			'barbeque_pinafore': 'productSettings.do?productid=21',
			'easter_bunny': 'productSettings.do?productid=47',
			'child_tshirt': 'productSettings.do?productid=666',
			'crystal_pic': 'productSettings.do?productid=33',
			'heart_of_glass': 'productSettings.do?productid=556',
			'puzzle_20_30': {
				'design': 'productSettings.do?productid=27',
				'nodesign': 'productSettings.do?productid=9'
			},
			//'puzzle_20_30': 'productSettings.do?productid=9',
			'puzzle_30_45': 'productSettings.do?productid=27',
			'key_ring': 'productSettings.do?productid=22',
			'snowglobe': 'productSettings.do?productid=26',
			'playcards': 'productSettings.do?productid=45',
			'pokercards' : 'productSettings.do?productid=10704',
			'pen_bracket': 'productSettings.do?productid=558',
			'memoclip': 'productSettings.do?productid=557',
			'remembory': 'productEditor.do?productId=155&new=true',
			'big_bag': 'productSettings.do?productid=10714',
			'small_bag': 'productSettings.do?productid=10705',
			'alubottle': {
				'design': 'productEditor.do?productId=10703&new=true',
				'nodesign': 'productEditor.do?productId=10703&templateId=empty&new=true'
			},
			'pillow_filled': {
				'design': 'productEditor.do?productId=101&new=true',
				'nodesign': 'productEditor.do?productId=101&templateId=empty&new=true'
			},
			'glass': {
				'design': 'productEditor.do?productId=665&new=true',
				'nodesign': 'productEditor.do?productId=665&templateId=empty&new=true'
			},
			'sweatshirt': {
				'design': 'productEditor.do?productId=38&new=true',
				'nodesign': 'productEditor.do?productId=38&templateId=empty&new=true'
			},
			'teddy': 'productSettings.do?productid=11',
			'cup_panorama': {
				'design': 'productEditor.do?productId=6394&new=true',
				'nodesign': 'productEditor.do?productId=6394&templateId=empty&new=true'
			},
			'cup_set': 'productEditor.do?productId=14&new=true',
			'cup': {
				'design': 'productEditor.do?productId=8&new=true',
				'nodesign': 'productEditor.do?productId=8&templateId=empty&new=true'
			},
			'mousepad': {
				'design': 'productEditor.do?productId=10&new=true',
				'nodesign': 'productEditor.do?productId=10&templateId=empty&new=true'
			},
			'pillow': {
				'design': 'productEditor.do?productId=20&new=true',
				'nodesign': 'productEditor.do?productId=20&templateId=empty&new=true'
			},
			'tshirt': {
				'design': 'productEditor.do?productId=17&new=true',
				'nodesign': 'productEditor.do?productId=17&templateId=empty&new=true'
			},
			'stuffbag': {
				'design': 'productEditor.do?productId=25&new=true',
				'nodesign': 'productEditor.do?productId=25&templateId=empty&new=true'
			},
			'beer_mug_panorama': {
				'design': 'productEditor.do?productId=6400&new=true',
				'nodesign': 'productEditor.do?productId=6400&templateId=empty&new=true'
			},
			'cup_magic': {
				'design': 'productEditor.do?productId=31&new=true',
				'nodesign': 'productEditor.do?productId=31&templateId=empty&new=true'
			},
			'cup_magic_panorama': {
				'design': 'productEditor.do?productId=6401&new=true',
				'nodesign': 'productEditor.do?productId=6401&templateId=empty&new=true'
			},
			'beer_mug': {
				'design': 'productEditor.do?productId=24&new=true',
				'nodesign': 'productEditor.do?productId=24&templateId=empty&new=true'
			},
			'cup_color': 'productSettings.do?productid=6398&new=true',
			'animal_pendant': 'productSettings.do?productid=7106&new=true',
			'stuff_calendar': {
				'': ''
			},
			'saving_box': {
				'design': 'productEditor.do?productId=700&new=true',
				'nodesign': 'productEditor.do?productId=700&templateId=empty&new=true'
			},

			// Collageblock
			'collageblock_a5': 'productEditor.do?productId=10713&new=true',
			'collageblock_a5_notemplate': 'productEditor.do?productId=10713&templateId=empty&new=true',
			'collageblock_a4': 'productEditor.do?productId=10712&new=true',

			// School articles
			'bread_box': 'productEditor.do?productId=10716&new=true',
			'childrens_backpack': 'productEditor.do?productId=10717&new=true',
			'sports_bag': 'productEditor.do?productId=10718&new=true',
			'feather_bag': 'productEditor.do?productId=10719&new=true',
			'school_agenda': {
				'design': 'productEditor.do?productId=10721&new=true',
				'nodesign': 'productEditor.do?productId=10721&templateId=empty&new=true'
			},
			'agenda': {
				'design': 'productEditor.do?productId=10720&new=true',
				'nodesign': 'productEditor.do?productId=10720&templateId=empty&new=true'
			},
			'write_notebook_a4': 'productEditor.do?productId=10722&new=true',
			'write_notebook_a5': 'productEditor.do?productId=10723&new=true',
			'note_issue': 'productEditor.do?productId=10724&new=true',
			'friendsbook': {
				'design': 'productEditor.do?productId=10725&new=true',
				'nodesign': 'productEditor.do?productId=10725&templateId=empty&new=true'
			},
			'letter_paper': 'productEditor.do?productId=8240&new=true',


			// COPS 2.3 articles
			'glass_clock': 'productEditor.do?new=true&productId=917&new=true',
			'magnet': 'productEditor.do?new=true&productId=662&new=true',
			'pillow_heart': 'productEditor.do?new=true&productId=911&new=true',
			'puzzle_xxl': 'productEditor.do?new=true&productId=4005&new=true',
			'advent_calendar': 'productEditor.do?new=true&productId=417&new=true',
			'poster_xxl': 'productEditor.do?new=true&productId=1213&new=true',
			'poster_xxl_30': 'productEditor.do?new=true&productId=1200&new=true',
			'poster_debond': 'productEditor.do?new=true&productId=1004&new=true&templateId=empty',
			'poster_acryl': 'productEditor.do?new=true&productId=1104&new=true&templateId=empty',
			'calendar_photopaper_A2': 'productEditor.do?new=true&productId=6288&new=true',
			'calendar_A3_square': 'productEditor.do?new=true&productId=6292&new=true',

			// Calendar
			'annual_calendar_A3_across': 'productEditor.do?productId=6283&new=true',
			'kitchen_planner': 'productEditor.do?productId=6282&new=true',
			'decorative_calendar_A4_upright': 'productEditor.do?productId=6279&new=true',
			'decorative_calendar_A3_upright': 'productEditor.do?productId=6281&new=true',
			'family_calendar_A4_across': 'productEditor.do?productId=6278&new=true',
			'put_up_table_planner': 'productEditor.do?productId=6280&new=true',
			'table_planner': 'productEditor.do?productId=6277&new=true',

			'calendar_name_a3' : 'productEditor.do?productId=6291&templateId=001-CAL11P-CC&personalized=true&new=true',
			'calendar_name_a4' : 'productEditor.do?productId=6289&templateId=001-CAL9P-CC&personalized=true&new=true',

			'table_calendar': 'productEditor.do?productId=51&new=true',
			'calendar_photopaper_a4_upright': 'productEditor.do?productId=6284&new=true',
			'calendar_photopaper_a3_upright': 'productEditor.do?productId=6285&new=true',
			'calendar_photopaper_a3_across': 'productEditor.do?productId=6286&new=true',
			'calendar_photopaper_square': 'productEditor.do?productId=6287&new=true',

			// Canvas
			'canvas': 'productSettings.do?productid=881',
			'deco_canvas': 'productEditor.do?productId=881&new=true&templateId=empty',
			'canvas_more_formats': 'productEditor.do?productId=881&new=true&templateId=empty',

			// Poster
			'poster': '###order_poster###',
			'deco_poster': 'productEditor.do?productId=904&new=true&templateId=empty',
			'poster_map': 'productEditor.do?new=true&productId=904&geomap=true&templateId=empty',
			'poster_debond_direct_print': 'productEditor.do?new=true&productId=8149&new=true&templateId=empty',
			'poster_acryl_direct_print': 'productEditor.do?new=true&productId=8153&new=true&templateId=empty',

			// Greetingcards
			'greetingcard': {
				'design': 'productEditor.do?productId=6426&new=true',
				'nodesign': 'productEditor.do?productId=6426&templateId=empty&new=true'
			},
			'card_xl_long': {
				'design': 'productEditor.do?productId=6414&new=true',
				'nodesign': 'productEditor.do?productId=6414&templateId=empty&new=true'
			},
			'card_xl_short': {
				'design': 'productEditor.do?productId=6413&new=true',
				'nodesign': 'productEditor.do?productId=6413&templateId=empty&new=true'
			},
			'card_classic': {
				'design': 'productEditor.do?productId=6051&new=true',
				'nodesign': 'productEditor.do?productId=6051&templateId=empty&new=true'
			},
			'postcard_xl': {
				'design': 'productEditor.do?productId=6424&new=true',
				'nodesign': 'productEditor.do?productId=6424&templateId=empty&new=true'
			},
			'postcard_classic': {
				'design': 'productEditor.do?productId=6050&new=true',
				'nodesign': 'productEditor.do?productId=6050&templateId=empty&new=true'
			},
			'place_cards': {
				'design': 'productEditor.do?productId=8110&new=true',
				'nodesign': 'productEditor.do?productId=8110&templateId=empty&new=true'
			},
			

			// Greetingcards VARIO
			'greetingcard_vario': 'designTemplateSelector.do?productIds=6426',
			'card_xl_long_vario': {
				'design' : 'designTemplateSelector.do?productIds=6414,6423',
				'nodesign' : 'designTemplateSelector.do?productIds=6957,6958'
			},
			'card_xl_short_vario': {
				'design' : 'designTemplateSelector.do?productIds=6413,6422',
				'nodesign' : 'designTemplateSelector.do?productIds=6955,6956'
			},
			'card_classic_vario': {
				'design' : 'designTemplateSelector.do?productIds=6051,6425',
				'nodesign' : 'designTemplateSelector.do?productIds=6953,6954'
			},
			'postcard_xl_vario': {
				'design' : 'designTemplateSelector.do?productIds=6424',
				'nodesign' : 'designTemplateSelector.do?productIds=6960'
			},
			'postcard_classic_vario': {
				'design' : 'designTemplateSelector.do?productIds=6050',
				'nodesign' : 'designTemplateSelector.do?productIds=6959'
			},
			//Tablecards
			'table_cards': 'productEditor.do?new=true&productId=8120&new=true',

			'software': (typeof(lnk_software) != 'undefined' ? lnk_software : ''),

			// Photobook
			'photobook': (typeof(lnk_software) != 'undefined' ? lnk_software : ''),
			
			// Photobook
			'photobook_online': (typeof(lnk_software) != 'undefined' ? lnk_software : ''),
			
			//photos
			'photo_acryl': 'productEditor.do?productId=8110&new=true',

			// Textilshop
			'textil_babybody': 'textileEditor.do?productGroupId=2010&color=1',
			'textil_baseball_tshirt': 'textileEditor.do?productGroupId=2002&color=1',
			'textil_baseball_cap': 'textileEditor.do?productGroupId=2011&color=1',
			'textil_bib': 'textileEditor.do?productGroupId=2009&color=1',
			'textil_kids_tshirt': 'textileEditor.do?productGroupId=2008&color=1',
			'textil_men_longsleeve': 'textileEditor.do?productGroupId=2003&color=1',
			'textil_men_premium_tshirt': 'textileEditor.do?productGroupId=2001&color=1',
			'textil_men_tshirt_american': 'textileEditor.do?productGroupId=2005&color=1',
			'textil_pillow_no_filling': 'textileEditor.do?productGroupId=2014&color=1',
			'textil_pinaforte': 'textileEditor.do?productGroupId=2013&color=1',
			'textil_stuff_handlebag': 'textileEditor.do?productGroupId=2012&color=1',
			'textil_women_longsleeve': 'textileEditor.do?productGroupId=2004&color=1',
			'textil_women_tshirt': 'textileEditor.do?productGroupId=2007&color=1',
			'textil_women_tshirt_american': 'textileEditor.do?productGroupId=2006&color=1'
		};
		


		var new_link = '';
		var url_target = order_link;
		if (product == 'photobook' || product == 'software')
		{
			url_target = '';
		}


		if (order_links[product] && order_links[product][design] && order_links[product][design][value])
		{
			new_link = url_target + order_links[product][design][value];
		}
		else if (order_links[product] && order_links[product][design])
		{
			new_link = url_target + order_links[product][design];
		}
		else if (order_links[product])
		{
			new_link = url_target + order_links[product];
		}
		else
		{
			link.href = '';
			link.style.display = 'none';
			return false;
		}
		
		if (typeof(online_photobook) != 'undefined' && online_photobook == 'true' && typeof(lnk_photobook_switch) != 'undefined' && lnk_photobook_switch && product == 'photobook_online')
		{
			new_link = lnk_photobook_switch; 
		}

		link.href = new_link;
		link.style.display = 'block';

		var icarousel_order_link = null;
		if (document.getElementById('icarousel_link'))
		{
			icarousel_order_link = document.getElementById('icarousel_link');
			icarousel_order_link.innerHTML = link.innerHTML;
			icarousel_order_link.style.display = 'block';
			icarousel_order_link.href = new_link;
		}

		return true;
	}
	else
	{
		link.href = '';
		link.style.display = 'none';
		return false;
	}
}

function setOrderLinks(plugin) {
	var AllLinks = document.getElementsByTagName('a');

	var target = 'selectClient.do?type=';
	if (typeof(plugin.activex) != 'undefined' && plugin.activex) {
		target = 'startClient.do?client=actx&type=';
	}
	else if (typeof(plugin.java) != 'undefined' && plugin.java) {
		target = 'startClient.do?client=java&type=';
	}

	/** check photos and poster type for link **/
	if (typeof(icarousel_link) != 'undefined' && icarousel_link.length > 0) {
		for (var i = 0; i < icarousel_link.length; i++) {
			if (typeof(icarousel_link[i]) != 'undefined')
			{
				var iLink = $('icarousel_link');

				if (icarousel_link[i]['link'].indexOf('###') >= 0) {
					if (icarousel_link[i]['link'].indexOf('###order_photos###') >= 0) {

						icarousel_link[i]['link'] = order_link + target + 'print';

						/*if (typeof(order_way_selection) != 'undefined' && order_way_selection == 'true') {
							icarousel_link[i]['link'] = 'onoffline_selection.html?link=' + escape(icarousel_link[i]['link']);
							iLink.rev = "width: 1001px; height: 631px; border:0; scrolling: no; top: 20px;"
							iLink.setAttribute('rel', 'lyteframe');
						}*/
					}
					else if (icarousel_link[i]['link'].indexOf('###order_photos_standard###') >= 0) {
						icarousel_link[i]['link'] = order_link + target + 'print&pmId=standard';
					}
					else if (icarousel_link[i]['link'].indexOf('###order_poster###') >= 0) {
						icarousel_link[i]['link'] = order_link + target + 'poster';
					}

					iLink.href.replace(/###.+###/i, icarousel_link[i]['link']);
				}
			}
		}
	}

	/** change the place holder with links **/
	for (var i = 0; i < AllLinks.length; i++) {
		if (AllLinks[i].href.indexOf('###') > 0 || AllLinks[i].href.indexOf('#%23%23') > 0) {

			var link = AllLinks[i].href = AllLinks[i].href.replace("#%23%23", "###");
			link = AllLinks[i].href = link.replace("%23%23%23", "###");

			if (link.indexOf('###order_photos###') > 0) {
				AllLinks[i].href = link.replace(/.*###order_photos###/, order_link + target + 'print');

				/*if (typeof(order_way_selection) != 'undefined' && order_way_selection == 'true') {
					AllLinks[i].href = 'onoffline_selection.html?link=' + escape(AllLinks[i].href);
					AllLinks[i].rev = "width: 1001px; height: 631px; border:0; scrolling: no; top: 20px;"
					AllLinks[i].setAttribute('rel', 'lyteframe');
				}*/
			}
			else if (link.indexOf('###order_photos_standard###') > 0) {
				AllLinks[i].href = link.replace(/.*###order_photos_standard###/, order_link + target + 'print&pmId=standard');
			}
			else if (link.indexOf('###order_poster###') > 0) {
				AllLinks[i].href = order_link + target + 'poster';
			}
			else if (link.indexOf('###order_businesscards###') > 0)
			{
				AllLinks[i].href = order_link + 'bcSearchTemplates.do';
			}
			else if (link.indexOf('###textil_shop###') > 0)
			{
				AllLinks[i].href = order_link + 'textileshopOverview.do';
			}
			else if (link.indexOf('###textil_shop_design###') > 0)
			{
				AllLinks[i].href = order_link + link.replace(/^.*###textil_shop_design###/, 'textileEditorWithDesign.do?design=');
			}
			else if (link.indexOf('###link_terms###') > 0)
			{
				AllLinks[i].href = order_link + 'sbc.do';
			}
			else if (link.indexOf('###online_album###') > 0)
			{
				AllLinks[i].href = order_link + 'myPhotosIntro.do';
			}
			else if (link.indexOf('###login_page###') > 0)
			{
				AllLinks[i].href = order_link + 'loginRegister.do';
			}
			else if (link.indexOf('###download_windows###') > 0)
			{
				if(getAffiliate() != null && typeof(keyaccount) != 'undefined' && keyaccount != '')
				{
					AllLinks[i].href = 'http://dls.photoprintit.de/api/getClient/' + keyaccount + '/hps/' + getAffiliate() + '/windows'
				}
				else
				{
					AllLinks[i].href = typeof(software_path_windows) != 'undefined' ? software_path_windows : '';
				}
			}
			else if (link.indexOf('###download_mac###') > 0)
			{
				if(getAffiliate() != null && typeof(keyaccount) != 'undefined' && keyaccount != '')
				{
					AllLinks[i].href = 'http://dls.photoprintit.de/api/getClient/' + keyaccount + '/hps/' + getAffiliate() + '/mac'
				}
				else
				{
					AllLinks[i].href = typeof(software_path_mac) != 'undefined' ? software_path_mac : '';
				}
			}
			else if (link.indexOf('###download_linux###') > 0)
			{
				if(getAffiliate() != null && typeof(keyaccount) != 'undefined' && keyaccount != '')
				{
					AllLinks[i].href = 'http://dls.photoprintit.de/api/getClient/' + keyaccount + '/hps/' + getAffiliate() + '/linux'
				}
				else
				{
					AllLinks[i].href = typeof(software_path_linux) != 'undefined' ? software_path_linux : '';
				}
			}
			else if (link.indexOf('###account_page###') > 0)
			{
				AllLinks[i].href = order_link + 'myAccount.do';
			}
			else if (link.indexOf('###register_page###') > 0)
			{
				AllLinks[i].href = order_link + 'myAccountRegister.do';
			}
			else if (link.indexOf('###order_tracking_url###') > 0)
			{
				AllLinks[i].href = typeof(order_tracking_url) != 'undefined' ? order_tracking_url : '';
			}
			else if (link.indexOf('###faq_url###') > 0)
			{
				AllLinks[i].href = typeof(faq_url) != 'undefined' ? faq_url : '';
			}
			else if (link.indexOf('###contact_url###') > 0)
			{
				AllLinks[i].href = typeof(contact_url) != 'undefined' ? contact_url : '';
			}
			else if (link.indexOf('###photobook_reorder_url###') > 0)
			{
				AllLinks[i].href = order_link + 'reorder.do';
			}
			else if (link.indexOf('###gallery_photos###') > 0)
			{
				AllLinks[i].href = order_link + 'showGalleryPhotos.do';
			}
			else if (link.indexOf('###gallery_photobooks###') > 0)
			{
				AllLinks[i].href = order_link + 'showGalleryPhotobooks.do';
			}
			else if (link.indexOf('###gallery_storage###') > 0)
			{
				AllLinks[i].href = order_link + 'showStorage.do';
			}
			else if (link.indexOf('###photobook_wizard###') > 0)
			{
				AllLinks[i].href = order_link + 'photobookWizardIntro.do';
			}
			else if (link.indexOf('###shopping_cart###') > 0)
			{
				AllLinks[i].href = order_link + 'shoppingcart.do';
			}
			else if (link.indexOf('###greetingcard###') > 0)
			{
				AllLinks[i].href = order_link + 'productEditor.do?productId=6426&new=true';
			}
			else if (link.indexOf('###card_classic###') > 0)
			{
				AllLinks[i].href = order_link + 'productEditor.do?productId=6051&new=true';
			}
			else if (link.indexOf('###decorative_calendar_A4_upright###') > 0)
			{
				AllLinks[i].href = order_link + 'productEditor.do?productId=6279&new=true';
			}
			else if (link.indexOf('###decorative_calendar_A3_upright###') > 0)
			{
				AllLinks[i].href = order_link + 'productEditor.do?productId=6281&new=true';
			}
		}

		if (AllLinks[i].target == '_lytebox') {
			AllLinks[i].rev = "width: 800px; height: 600px; border:0; scrolling: no;"
			AllLinks[i].setAttribute('rel', 'lyteframe');
		}

	}
}

function setLoginFrame()
{
	if (document.getElementById('login_iframe'))
	{
		var loginDiv = document.getElementById('login_iframe');

		if (document.URL.indexOf('https://') >= 0) {
			order_link = order_link.replace(/http:\/\//, 'https://');
		}
		if (document.URL.match(/(as[0-9]{0,2}\.photoprintit\.)/) != null && document.URL.match(/(as[0-9]{0,2}\.photoprintit\.)/).length > 0) {
			order_link = '';
		}

		var url = order_link + 'externalLogin.do';
		
		if(getAffiliate() != null)
		{
			url = url + '?aid=' + getAffiliate();
		}

		var iFrame = document.createElement("iframe");
		iFrame.src = url;
		iFrame.style.display = "block";
		iFrame.frameBorder = '0';
		iFrame.scrolling = 'no';
		iFrame.allowTransparency = "true";

		if (iFrame.attachEvent) {
			iFrame.attachEvent('onload',
				function (evt) {
					document.getElementById('login_iframe').style.background = '';
				}
			);
		}
		else if (iFrame.onload) {
			iFrame.onload = function() {
				document.getElementById('login_iframe').style.background = '';
			}
		}
		else if (iFrame.setAttribute) {
			iFrame.setAttribute('onload', "document.getElementById('login_iframe').style.background = '';");
		}

		iFrame.setAttribute('name', 'loginFrame');

		loginDiv.appendChild(iFrame);
	}
}

function animation(elements, options)
{
	this.elements = elements;
	this.options = new Abstract({ // Defaults
		type: 'blink',
		delay: 300,
		times: 3
	});
	if($type(options) == 'object') {this.options.extend(options);}

	this.start = function() {
		if (this.options.type == 'blink')
		{
			for (var i = 0; i < this.elements.length; i++)
			{
				this.elements[i].setStyle('opacity', '1');
				for (j = 0; j < (this.options.times * 2); j+=2)
				{
					this.fadeout.delay(j * this.options.delay, this.elements[i]);
					this.fadein.delay((j + 1) * this.options.delay, this.elements[i]);
				}
			}
		}
	}
	this.fadein = function() {
		this.fadein = new Fx.Style(this, 'opacity', {duration: 300}).start(this.style.opacity, 1);
	}
	this.fadeout = function() {
		this.fadein = new Fx.Style(this, 'opacity', {duration: 300}).start(this.style.opacity, 0.0001);
	}

	this.start();
}
function animateInfo()
{
	if (typeof(Fx) != 'undefined') {
		var options = new Abstract({ // Defaults
			type: 'blink',
			delay: 400,
			times: 2
		});
		var animate = new animation($$('div.info_container'), options);
	}
}

function writeCookie(name, value, days)
{
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name + "=" + value + expires + "; path=/";
}

function readCookie(name)
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name)
{
	createCookie(name,"",-1);
}

function check_parameter(name, default_value, possible_values)
{
	if (sHref.indexOf(name + "=")!= -1) {
		var search = /[&?]system\=([0-9A-Za-z]*)/;
		search.exec(sHref);
		if (possible_values.indexOf(RegExp.$1) != -1)
		{
			return RegExp.$1;
		}
	}
	return default_value
}

function getServerSystem(server_url_live, server_url_test) {
	if (sHref.indexOf("system=")!= -1) {
		var search = /[&?]system\=([0-9a-z-_]*)/;
		search.exec(sHref);
		writeCookie('serverSystem', RegExp.$1);
	}
	else if (readCookie('serverSystem') == null) {
		writeCookie('serverSystem', 'live');
	}

	var cookie = readCookie('serverSystem');
	if (cookie != null)
	{
		if (cookie == 'live') {return server_url_live;}
		else if (cookie == 'test') {return server_url_test;}
		else if (cookie == 'localhost') {return 'localhost';}
		else if(cookie.search(/^[0-9a-z-]+\_[a-z-]+\_[a-z-]+$/) == 0) {return cookie.replace(/_/g, '.');}
		else {return server_url_live;}
	}
	else
	{
		return server_url_live;
	}
}

function setServerSystemTitle()
{
	if (readCookie('serverSystem') != 'live')
	{
		// document.title = document.title + ' [TEST]';
	}
}

function setToolTips() {
	if (typeof($$) != 'undefined') {

		var elements = $$('a.info,a.saveOnlineInfo,a.indexInfo');

		elements.each(function(element,index,object) { 

			if (typeof(elements[index].title) != 'undefined' && $(elements[index].title))
			{
				var content = $(elements[index].title).innerHTML;

				if (content.toLowerCase() == '<h1></h1><br>')
				{
					elements[index].style.display = 'none';
				}
				else {
					new Tips(element, {
						initialize:function(){
							this.fx = new Fx.Style(this.toolTip, 'opacity', {duration: 300, wait: false}).set(0);
							this.toolTip.className = 'user-tip';
							this.toolTip.innerHTML = content;
						},
						onShow: function(toolTip) {
							this.fx.start(1);
						},
						onHide: function(toolTip) {
							this.fx.start(0);
						},
						className: 'user-tip',
						offsets: {'x': 20, 'y': (element.className == 'saveOnlineInfo' || element.className == 'indexInfo') ? -85 : 20}
					});
				}
			}

		});
	}
}

function displayTeaserContent(content, opener, position, orientation, fadeOutDelay) {
	var child = $(content);
	var element = $(opener);
	var position = position ? position : 'bottom';
	var orientation = orientation ? orientation : 'left';
	var fadeOut = fadeOutDelay ? fadeOutDelay : false;
	var fadeTtimeOut = null;

	if (child && element) {

		var fx = new Fx.Style(child, 'opacity', {duration: 300, wait: false}).set(0);

		if (element.childNodes[(is_ie ? 1 : 3)].className != 'html_content')
		{
			element.onmouseover = function() {
				if (child.childNodes[0].innerHTML != '')
				{
					child.style.display = 'block';
					oldPosition = element.style.position;
					element.style.position = 'relative';
					element.style.zIndex = 950;
					element.style.overflow = 'visible';
					child.style.position = 'absolute';

					var left = 0;
					var top = 0;

					switch (position)
					{
						case 'top':
							top = -1 * child.offsetHeight;
							break;
						case 'right':
							left = element.offsetWidth - 1;
							break;
						case 'bottom':
							top = element.offsetHeight - 1;
							break;
						case 'left':
							left = -1 * child.offsetWidth;
							break;
					}

					switch (orientation)
					{
						case 'top':
							top = -1;
							break;
						case 'right':
							left = element.offsetWidth - child.offsetWidth;
							break;
						case 'bottom':
							top = element.offsetHeight - child.offsetHeight;
							break;
						case 'left':
							left = -1;
							break;
					}

					child.style.left = left + 'px';
					child.style.top = top + 'px';

					fx.start(1);
					if (fadeOutDelay) {
						fadeTtimeOut = window.setTimeout(function() {fx.start(0)}.bind(this), fadeOutDelay);
					}
				}
			}.bind(this);

			element.onmouseout = function() {
				if (child.childNodes[0].innerHTML != '')
				{
					element.style.overflow = 'hidden';
					element.style.zIndex = 900;
					$clear(fadeTtimeOut);
					fx.start(0);
				}
			}.bind(this);
		}
		else {
			element.style.overflow = 'hidden';
		}
	}
}

function GET(parameter)
{
	HTTP_GET_VARS = new Array();
	strGET = document.location.search.substr(1, document.location.search.length);

	if(strGET != '')
	{
		gArr = strGET.split('&');
		for(i=0; i<gArr.length; ++i) {
			v = ''; vArr = gArr[i].split('=');
			if(vArr.length > 1) {
				v = vArr[1];
			}
			HTTP_GET_VARS[unescape(vArr[0])] = unescape(v);
		}
	}

	if(!HTTP_GET_VARS[parameter]){return 'undefined';}
	return HTTP_GET_VARS[parameter];
}

/** send forms over mootools **/
function send_form(link_element, form_element, redirect, loading_element, failure_element)
{
	var fx = {
		'loading': new Fx.Style(loading_element, 'opacity' ),
		'failure': new Fx.Style(failure_element, 'opacity' )
	};

	var showHide = function( el ){
		fx.loading.set(0);
		(fx[ el ]).start(0,1);
		(function(){ (fx[ el ]).start(1,0); }).delay( 4000 );
	}

	$(form_element).send({
		onRequest: function(){
			fx.loading.start( 0,1 );
		},
		onSuccess: function(){
			window.location = redirect;
		},
		onFailure: function(){
			fx.loading.set(0);
			showHide('failure');
		}
	});

	return false;
}

function validateEmail(email)
{
	var splitted = email.match("^(.+)@(.+)$");
	if(splitted == null) return false;
	if(splitted[1] != null )
	{
		var regexp_user=/^\"?[\w-_\.]*\"?$/;
		if(splitted[1].match(regexp_user) == null) return false;
	}
	if(splitted[2] != null)
	{
		var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
		if(splitted[2].match(regexp_domain) == null) 
		{
			var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
			if(splitted[2].match(regexp_ip) == null)return false;
		}
		return true;
	}
	return false;
}

function setRoundedCorners()
{
	var elements = $$('.roundedCornerElement');

	elements.each(function(element,index,object) { 
		var options = element.className.match(/\{.+\}/);
		var tmp = new Object();
		tmp = eval('var options = ' + options);
		var roundedCorners = new roundCorners(options);
		roundedCorners.generate(element);
	});

	if (operator == '84010422') {

		var options = {radius:8,antiAliase:true}

		var element = $('login');
		var roundedCorners = new roundCorners(options);
		roundedCorners.generate(element);

		var element = $('cart');
		var roundedCorners = new roundCorners(options);
		roundedCorners.generate(element);
	}
	
	if(typeof(teaser_round_corners) != 'undefined' && $('page_ips') == false) {
		if(teaser_round_corners['set'] == 1) {
			var elements = $$('.teaser');
			elements.each(function(element,index,object) {
				teaser_round_corners['antiAliase'] = true;
				var roundedCorners = new roundCorners(teaser_round_corners);
				roundedCorners.generate(element);
			});
			if($('lightbox') != false) {
				if($('lightbox').getStyle('display') != 'none') {
					var element = $('lightbox');
					var roundedCorners = new roundCorners(teaser_round_corners);
					roundedCorners.generate(element);
				}
			}
			if($('sub_nav') != false) {
				if($('sub_nav').getStyle('display') != 'none') {
					var element = $('sub_nav');
					var roundedCorners = new roundCorners(teaser_round_corners);
					roundedCorners.generate(element);
				}
			}
			if($$('.product_teaser_order') != false) {
				if($$('.product_teaser_order').getStyle('display') != 'none') {
					var element = $$('.product_teaser_order');
					var roundedCorners = new roundCorners(teaser_round_corners);
					roundedCorners.generate(element);
				}
			}
			if($$('.no_border') != false) {
				if($$('.no_border').getStyle('display') != 'none') {
					addNewStyle('.no_border', 'border: 1px solid #F0F0F0 !important;');
				}
			}
			if($$('.full_teaser') != false) {
				if($$('.full_teaser').getStyle('display') != 'none') {
					addNewStyle('.full_teaser', 'border: 1px solid #F0F0F0 !important;');
				}
			}
			if($$('.default_full_teaser') != false) {
				if($$('.default_full_teaser').getStyle('display') != 'none') {
					addNewStyle('.default_full_teaser', 'border: 1px solid #F0F0F0 !important;');
				}
			}
		}
	}
}

function addNewStyle(myElement, newStyle) {
  if(document.styleSheets.item(0).addRule)
	{
	  var style = document.createElement('style');
	  document.getElementsByTagName('head').item(0).appendChild(style);
    document.styleSheets.item(0).addRule(myElement, newStyle);
    document.getElementsByTagName('body').item(0).className = myElement;
  }
	else
	{
	  var styleElement = document.getElementById('styles_js');
	  if (!styleElement) {
	      styleElement = document.createElement('style');
	      styleElement.type = 'text/css';
	      styleElement.id = 'styles_js';
	      document.getElementsByTagName('head')[0].appendChild(styleElement);
	  }
	  styleElement.appendChild(document.createTextNode(myElement+' {'+newStyle+'}'));
	}
}

function setPriceGraphics()
{
	if (typeof(priceElements) != 'undefined' && priceElements.length > 0)
	{
		for (i = 0; i < priceElements.length; i++)
		{
			new Ajax('/cgi-bin/prices_handler.cgi', {
				method: 'get',
				data: priceElements[i][0],
				evalScripts: true,
				onRequest: function(request) {
					this.element = $$('.' + priceElements[i][1]);
				},
				onComplete: function (response) {
					for (i = 0; i < this.element.length; i++) {
						if (response != '') {
							this.element[i].innerHTML = response;
						}
						this.element[i].style.display = "block";
					}
				}
			}).request();
		};
	}
}

function setSftDownloadLink(element, version) {
	element.href = element.href + '?version=' + version;
}

function setSftDownload() {
	setSftDownloadLink($('sft_download_win'), 'windows');
	setSftDownloadLink($('sft_download_linux'), 'linux');
	setSftDownloadLink($('sft_download_mac'), 'mac');
	setSftDownloadLink($('sft_download_win_small'), 'windows');
	setSftDownloadLink($('sft_download_linux_small'), 'linux');
	setSftDownloadLink($('sft_download_mac_small'), 'mac');
}

function setAffiliate()
{
	if(readCookie("affiliate") == null)
	{
		if(GET('cref') != 'undefined')
		{
			writeCookie('affiliate', GET('cref'), '30');
		}
	}
	else
	{
		if(GET('cref') != 'undefined')
		{
			if(GET('cref') != readCookie("affiliate"))
			{
				writeCookie('affiliate', GET('cref'), '30');
			}
		}
	}
}

function getAffiliate()
{
	if(readCookie("affiliate") != null)
	{
		return readCookie("affiliate");
	}
	else
	{
		return null;
	}
}

function startDlsDownload()
{
	var src = '';
    var version = GET('version') != 'undefined' ? GET('version') : 'windows';

    switch (version) {
    	case 'windows':
        	src = software_path_windows;
        break;
        case 'mac':
        	src = software_path_mac;
        break;
        case 'linux':
        	src = software_path_linux;
        break;
    }
	
	if(getAffiliate() != null && typeof(keyaccount) != 'undefined'  && keyaccount != '')
	{
		src = 'http://dls.photoprintit.de/api/getClient/' + keyaccount + '/hps/' + getAffiliate() + '/' + version
	}

	var newFrame = document.createElement("IFRAME");
    newFrame.setAttribute('src', src);
    newFrame.style.display = 'none';
    document.body.appendChild(newFrame);
}
setAffiliate();
/** initialize some basic onload functions **/
window.onload = function()
{
	setServerSystemTitle();

	setAffiliate();

	if (document.getElementById('java_info'))
	{
		document.getElementById('java_info').style.display = 'none';
	}

	if (typeof(iflow_lightbox) != 'undefined')
	{
		iflow_lightbox = new iflow_lightbox;
		iflow_lightbox.onload();
	}

	if (typeof(iflow_products) != 'undefined')
	{
		iflow_products = new iflow_products;
		iflow_products.onload();
	}

	var plugin = false;
	if (typeof(PluginDetection) != 'undefined') {
		plugin = new PluginDetection();
	}

	setTimeout("setPriceGraphics()", 200);
	setOrderLinks(plugin);
	setLoginFrame();

	if (window.MooTools) {
		setRoundedCorners();
	}

	animateInfo();
	setToolTips();
};
//***********************************************************************************************************************************/
//	LyteBox v3.22
//
//	 Author: Markus F. Hay
//  Website: http://www.dolem.com/lytebox
//	   Date: October 2, 2007
//	License: Creative Commons Attribution 3.0 License (http://creativecommons.org/licenses/by/3.0/)
// Browsers: Tested successfully on WinXP with the following browsers (using no DOCTYPE and Strict/Transitional/Loose DOCTYPES):
//				* Firefox: 2.0.0.7, 1.5.0.12
//				* Internet Explorer: 7.0, 6.0 SP2, 5.5 SP2
//				* Opera: 9.23
//
// Releases: For up-to-date and complete release information, visit http://www.dolem.com/forum/showthread.php?tid=62
//				* v3.22 (10/02/07)
//				* v3.21 (09/30/07)
//				* v3.20 (07/12/07)
//				* v3.10 (05/28/07)
//				* v3.00 (05/15/07)
//				* v2.02 (11/13/06)
//
//   Credit: LyteBox was originally derived from the Lightbox class (v2.02) that was written by Lokesh Dhakar. For more
//			 information please visit http://huddletogether.com/projects/lightbox2/
//***********************************************************************************************************************************/
Array.prototype.removeDuplicates = function () { for (var i = 1; i < this.length; i++) { if (this[i][0] == this[i-1][0]) { this.splice(i,1); } } }
Array.prototype.empty = function () { for (var i = 0; i <= this.length; i++) { this.shift(); } }
String.prototype.trim = function () { return this.replace(/^\s+|\s+$/g, ''); }

function LyteBox() {
	/*** Start Global Configuration ***/
		this.theme				= 'grey';	// themes: grey (default), red, green, blue, gold
		this.hideFlash			= true;		// controls whether or not Flash objects should be hidden
		this.outerBorder		= false;		// controls whether to show the outer grey (or theme) border
		this.resizeSpeed		= 8;		// controls the speed of the image resizing (1=slowest and 10=fastest)
		this.maxOpacity			= 60;		// higher opacity = darker overlay, lower opacity = lighter overlay
		this.navType			= 1;		// 1 = "Prev/Next" buttons on top left and left (default), 2 = "<< prev | next >>" links next to image number
		this.autoResize			= true;		// controls whether or not images should be resized if larger than the browser window dimensions
		this.doAnimations		= true;		// controls whether or not "animate" Lytebox, i.e. resize transition between images, fade in/out effects, etc.
		
		this.borderSize			= 0;		// if you adjust the padding in the CSS, you will need to update this variable -- otherwise, leave this alone...
	/*** End Global Configuration ***/
	
	/*** Configure Slideshow Options ***/
		this.slideInterval		= 4000;		// Change value (milliseconds) to increase/decrease the time between "slides" (10000 = 10 seconds)
		this.showNavigation		= false;		// true to display Next/Prev buttons/text during slideshow, false to hide
		this.showClose			= false;		// true to display the Close button, false to hide
		this.showDetails		= false;		// true to display image details (caption, count), false to hide
		this.showPlayPause		= false;		// true to display pause/play buttons next to close button, false to hide
		this.autoEnd			= true;		// true to automatically close Lytebox after the last image is reached, false to keep open
		this.pauseOnNextClick	= false;	// true to pause the slideshow when the "Next" button is clicked
        this.pauseOnPrevClick 	= true;		// true to pause the slideshow when the "Prev" button is clicked
	/*** End Slideshow Configuration ***/
	
	//add 27.05.2010
	this.doAnimations = false;	

	if(this.resizeSpeed > 10) { this.resizeSpeed = 10; }
	if(this.resizeSpeed < 1) { resizeSpeed = 1; }
	this.resizeDuration = (11 - this.resizeSpeed) * 0.15;
	this.resizeWTimerArray		= new Array();
	this.resizeWTimerCount		= 0;
	this.resizeHTimerArray		= new Array();
	this.resizeHTimerCount		= 0;
	this.showContentTimerArray	= new Array();
	this.showContentTimerCount	= 0;
	this.overlayTimerArray		= new Array();
	this.overlayTimerCount		= 0;
	this.imageTimerArray		= new Array();
	this.imageTimerCount		= 0;
	this.timerIDArray			= new Array();
	this.timerIDCount			= 0;
	this.slideshowIDArray		= new Array();
	this.slideshowIDCount		= 0;
	this.imageArray	 = new Array();
	this.activeImage = null;
	this.slideArray	 = new Array();
	this.activeSlide = null;
	this.frameArray	 = new Array();
	this.activeFrame = null;
	this.checkFrame();
	this.isSlideshow = false;
	this.isLyteframe = false;
	/*@cc_on
		/*@if (@_jscript)
			this.ie = (document.all && !window.opera) ? true : false;
		/*@else @*/
			this.ie = false;
		/*@end
	@*/
	this.ie7 = (this.ie && window.XMLHttpRequest);	
	this.initialize();
}
LyteBox.prototype.initialize = function() {
	if(typeof(this.doc) == "undefined") {
		this.doc = document;
	}
	this.updateLyteboxItems();
	var objBody = this.doc.getElementsByTagName("body").item(0);	
	if (this.doc.getElementById('lbOverlay')) {
		objBody.removeChild(this.doc.getElementById("lbOverlay"));
		objBody.removeChild(this.doc.getElementById("lbMain"));
	}
	var objOverlay = this.doc.createElement("div");
		objOverlay.setAttribute('id','lbOverlay');
		objOverlay.setAttribute((this.ie ? 'className' : 'class'), this.theme);
		if ((this.ie && !this.ie7) || (this.ie7 && this.doc.compatMode == 'BackCompat')) {
			objOverlay.style.position = 'absolute';
		}
		objOverlay.style.display = 'none';
		objBody.appendChild(objOverlay);
	var objLytebox = this.doc.createElement("div");
		objLytebox.setAttribute('id','lbMain');
		objLytebox.style.display = 'none';
		objBody.appendChild(objLytebox);
	var objOuterContainer = this.doc.createElement("div");
		objOuterContainer.setAttribute('id','lbOuterContainer');
		objOuterContainer.setAttribute((this.ie ? 'className' : 'class'), this.theme);
		objLytebox.appendChild(objOuterContainer);
	var objIframeContainer = this.doc.createElement("div");
		objIframeContainer.setAttribute('id','lbIframeContainer');
		objIframeContainer.style.display = 'none';
		objOuterContainer.appendChild(objIframeContainer);
	var objIframe = this.doc.createElement("iframe");
		objIframe.setAttribute('frameborder','0');
		objIframe.setAttribute('scrolling','yes');
		objIframe.setAttribute('id','lbIframe');
		objIframe.frameBorder= 0;
		objIframe.setAttribute('name','lbIframe');
		objIframe.style.display = 'none';
		objIframeContainer.appendChild(objIframe);
	var objImageContainer = this.doc.createElement("div");
		objImageContainer.setAttribute('id','lbImageContainer');
		objOuterContainer.appendChild(objImageContainer);
	var objLyteboxImage = this.doc.createElement("img");
		objLyteboxImage.setAttribute('id','lbImage');
		objImageContainer.appendChild(objLyteboxImage);
	var objLoading = this.doc.createElement("div");
		objLoading.setAttribute('id','lbLoading');
		objOuterContainer.appendChild(objLoading);
	var objDetailsContainer = this.doc.createElement("div");
		objDetailsContainer.setAttribute('id','lbDetailsContainer');
		objDetailsContainer.setAttribute((this.ie ? 'className' : 'class'), this.theme);
		objLytebox.appendChild(objDetailsContainer);
	var objDetailsData =this.doc.createElement("div");
		objDetailsData.setAttribute('id','lbDetailsData');
		objDetailsData.setAttribute((this.ie ? 'className' : 'class'), this.theme);
		objDetailsContainer.appendChild(objDetailsData);
	var objDetails = this.doc.createElement("div");
		objDetails.setAttribute('id','lbDetails');
		objDetailsData.appendChild(objDetails);
	var objCaption = this.doc.createElement("span");
		objCaption.setAttribute('id','lbCaption');
		objDetails.appendChild(objCaption);
	var objHoverNav = this.doc.createElement("div");
		objHoverNav.setAttribute('id','lbHoverNav');
		objImageContainer.appendChild(objHoverNav);
	var objBottomNav = this.doc.createElement("div");
		objBottomNav.setAttribute('id','lbBottomNav');
		objDetailsData.appendChild(objBottomNav);
	var objPrev = this.doc.createElement("a");
		objPrev.setAttribute('id','lbPrev');
		objPrev.setAttribute((this.ie ? 'className' : 'class'), this.theme);
		objPrev.setAttribute('href','#');
		objHoverNav.appendChild(objPrev);
	var objNext = this.doc.createElement("a");
		objNext.setAttribute('id','lbNext');
		objNext.setAttribute((this.ie ? 'className' : 'class'), this.theme);
		objNext.setAttribute('href','#');
		objHoverNav.appendChild(objNext);
	var objNumberDisplay = this.doc.createElement("span");
		objNumberDisplay.setAttribute('id','lbNumberDisplay');
		objDetails.appendChild(objNumberDisplay);
	var objNavDisplay = this.doc.createElement("span");
		objNavDisplay.setAttribute('id','lbNavDisplay');
		objNavDisplay.style.display = 'none';
		objDetails.appendChild(objNavDisplay);
	var objClose = this.doc.createElement("a");
		objClose.setAttribute('id','lbClose');
		objClose.setAttribute((this.ie ? 'className' : 'class'), this.theme);
		objClose.setAttribute('href','javascript:void(0);');
		objBottomNav.appendChild(objClose);
		objImageContainer.appendChild(objClose);
	var objPause = this.doc.createElement("a");
		objPause.setAttribute('id','lbPause');
		objPause.setAttribute((this.ie ? 'className' : 'class'), this.theme);
		objPause.setAttribute('href','#');
		objPause.style.display = 'none';
		objBottomNav.appendChild(objPause);
	var objPlay = this.doc.createElement("a");
		objPlay.setAttribute('id','lbPlay');
		objPlay.setAttribute((this.ie ? 'className' : 'class'), this.theme);
		objPlay.setAttribute('href','#');
		objPlay.style.display = 'none';
		objBottomNav.appendChild(objPlay);
};
LyteBox.prototype.updateLyteboxItems = function() {	
	var anchors = (this.isFrame) ? window.parent.frames[window.name].document.getElementsByTagName('a') : document.getElementsByTagName('a');
	for (var i = 0; i < anchors.length; i++) {
		var anchor = anchors[i];
		var relAttribute = String(anchor.getAttribute('rel'));
		if (anchor.getAttribute('href')) {
			if (relAttribute.toLowerCase().match('lytebox')) {
				anchor.onclick = function () { myLytebox.start(this, false, false); return false; }
			} else if (relAttribute.toLowerCase().match('lyteshow')) {
				anchor.onclick = function () { myLytebox.start(this, true, false); return false; }
			} else if (relAttribute.toLowerCase().match('lyteframe')) {
				anchor.onclick = function () { myLytebox.start(this, false, true); return false; }
			}
		}
	}
};
LyteBox.prototype.start = function(imageLink, doSlide, doFrame) {
	if (this.ie && !this.ie7) {	this.toggleSelects('hide');	}
	if (this.hideFlash) { this.toggleFlash('hide'); }
	this.isLyteframe = (doFrame ? true : false);
	var pageSize	= this.getPageSize();
	var objOverlay	= this.doc.getElementById('lbOverlay');
	var objBody		= this.doc.getElementsByTagName("body").item(0);
	objOverlay.style.height = pageSize[1] + "px";
	objOverlay.style.display = '';
	this.appear('lbOverlay', (this.doAnimations ? 0 : this.maxOpacity));
	var anchors = (this.isFrame) ? window.parent.frames[window.name].document.getElementsByTagName('a') : document.getElementsByTagName('a');
	if (this.isLyteframe) {
		this.frameArray = [];
		this.frameNum = 0;
		if ((imageLink.getAttribute('rel') == 'lyteframe')) {
			var rev = imageLink.getAttribute('rev');
			this.frameArray.push(new Array(imageLink.getAttribute('href'), imageLink.getAttribute('title'), (rev == null || rev == '' ? 'width: 400px; height: 400px; scrolling: auto;' : rev)));
		} else {
			if (imageLink.getAttribute('rel').indexOf('lyteframe') != -1) {
				for (var i = 0; i < anchors.length; i++) {
					var anchor = anchors[i];
					if (anchor.getAttribute('href') && (anchor.getAttribute('rel') == imageLink.getAttribute('rel'))) {
						var rev = anchor.getAttribute('rev');
						this.frameArray.push(new Array(anchor.getAttribute('href'), anchor.getAttribute('title'), (rev == null || rev == '' ? 'width: 400px; height: 400px; scrolling: auto;' : rev)));
					}
				}
				this.frameArray.removeDuplicates();
				while(this.frameArray[this.frameNum][0] != imageLink.getAttribute('href')) { this.frameNum++; }
			}
		}
	} else {
		this.imageArray = [];
		this.imageNum = 0;
		this.slideArray = [];
		this.slideNum = 0;
		if ((imageLink.getAttribute('rel') == 'lytebox')) {
			this.imageArray.push(new Array(imageLink.getAttribute('href'), imageLink.getAttribute('title')));
		} else {
			if (imageLink.getAttribute('rel').indexOf('lytebox') != -1) {
				for (var i = 0; i < anchors.length; i++) {
					var anchor = anchors[i];
					if (anchor.getAttribute('href') && (anchor.getAttribute('rel') == imageLink.getAttribute('rel'))) {
						this.imageArray.push(new Array(anchor.getAttribute('href'), anchor.getAttribute('title')));
					}
				}
				this.imageArray.removeDuplicates();
				while(this.imageArray[this.imageNum][0] != imageLink.getAttribute('href')) { this.imageNum++; }
			}
			if (imageLink.getAttribute('rel').indexOf('lyteshow') != -1) {
				for (var i = 0; i < anchors.length; i++) {
					var anchor = anchors[i];
					if (anchor.getAttribute('href') && (anchor.getAttribute('rel') == imageLink.getAttribute('rel'))) {
						this.slideArray.push(new Array(anchor.getAttribute('href'), anchor.getAttribute('title')));
					}
				}
				this.slideArray.removeDuplicates();
				while(this.slideArray[this.slideNum][0] != imageLink.getAttribute('href')) { this.slideNum++; }
			}
		}
	}
	var object = this.doc.getElementById('lbMain');
		object.style.top = (this.getPageScroll() + (pageSize[3] / 6)) + "px";
		object.style.display = '';
	if (!this.outerBorder) {
		this.doc.getElementById('lbOuterContainer').style.border = 'none';
		this.doc.getElementById('lbDetailsContainer').style.border = 'none';
	} else {
		this.doc.getElementById('lbOuterContainer').style.borderBottom = '';
		this.doc.getElementById('lbOuterContainer').setAttribute((this.ie ? 'className' : 'class'), this.theme);
	}
	this.doc.getElementById('lbOverlay').onclick = function() { myLytebox.end(); return false; }
	this.doc.getElementById('lbMain').onclick = function(e) {
		var e = e;
		if (!e) {
			if (window.parent.frames[window.name] && (parent.document.getElementsByTagName('frameset').length <= 0)) {
				e = window.parent.window.event;
			} else {
				e = window.event;
			}
		}
		var id = (e.target ? e.target.id : e.srcElement.id);
		if (id == 'lbMain') { myLytebox.end(); return false; }
	}
	this.doc.getElementById('lbClose').onclick = function() { myLytebox.end(); return false; }
	this.doc.getElementById('lbPause').onclick = function() { myLytebox.togglePlayPause("lbPause", "lbPlay"); return false; }
	this.doc.getElementById('lbPlay').onclick = function() { myLytebox.togglePlayPause("lbPlay", "lbPause"); return false; }	
	this.isSlideshow = doSlide;
	this.isPaused = (this.slideNum != 0 ? true : false);
	if (this.isSlideshow && this.showPlayPause && this.isPaused) {
		this.doc.getElementById('lbPlay').style.display = '';
		this.doc.getElementById('lbPause').style.display = 'none';
	}
	if (this.isLyteframe) {
		this.changeContent(this.frameNum);
	} else {
		if (this.isSlideshow) {
			this.changeContent(this.slideNum);
		} else {
			this.changeContent(this.imageNum);
		}
	}
};
LyteBox.prototype.changeContent = function(imageNum) {
	if (this.isSlideshow) {
		for (var i = 0; i < this.slideshowIDCount; i++) { window.clearTimeout(this.slideshowIDArray[i]); }
	}
	this.activeImage = this.activeSlide = this.activeFrame = imageNum;
	if (!this.outerBorder) {
		this.doc.getElementById('lbOuterContainer').style.border = 'none';
		this.doc.getElementById('lbDetailsContainer').style.border = 'none';
	} else {
		this.doc.getElementById('lbOuterContainer').style.borderBottom = '';
		this.doc.getElementById('lbOuterContainer').setAttribute((this.ie ? 'className' : 'class'), this.theme);
	}
	this.doc.getElementById('lbLoading').style.display = '';
	this.doc.getElementById('lbImage').style.display = 'none';
	this.doc.getElementById('lbIframe').style.display = 'none';
	this.doc.getElementById('lbPrev').style.display = 'none';
	this.doc.getElementById('lbNext').style.display = 'none';
	this.doc.getElementById('lbIframeContainer').style.display = 'none';
	this.doc.getElementById('lbDetailsContainer').style.display = 'none';
	this.doc.getElementById('lbNumberDisplay').style.display = 'none';
	if (this.navType == 2 || this.isLyteframe) {
		object = this.doc.getElementById('lbNavDisplay');
		object.innerHTML = '&nbsp;&nbsp;&nbsp;<span id="lbPrev2_Off" style="display: none;" class="' + this.theme + '">&laquo; prev</span><a href="#" id="lbPrev2" class="' + this.theme + '" style="display: none;">&laquo; prev</a> <b id="lbSpacer" class="' + this.theme + '">||</b> <span id="lbNext2_Off" style="display: none;" class="' + this.theme + '">next &raquo;</span><a href="#" id="lbNext2" class="' + this.theme + '" style="display: none;">next &raquo;</a>';
		object.style.display = 'none';
	}
	if (this.isLyteframe) {
		var iframe = myLytebox.doc.getElementById('lbIframe');
		var styles = this.frameArray[this.activeFrame][2];
		var aStyles = styles.split(';');
		for (var i = 0; i < aStyles.length; i++) {
			if (aStyles[i].indexOf('width:') >= 0) {
				var w = aStyles[i].replace('width:', '');
				iframe.width = w.trim();
			} else if (aStyles[i].indexOf('height:') >= 0) {
				var h = aStyles[i].replace('height:', '');
				iframe.height = h.trim();
			} else if (aStyles[i].indexOf('scrolling:') >= 0) {
				var s = aStyles[i].replace('scrolling:', '');
				iframe.scrolling = s.trim();
			} else if (aStyles[i].indexOf('border:') >= 0) {
				// Not implemented yet, as there are cross-platform issues with setting the border (from a GUI standpoint)
				// var b = aStyles[i].replace('border:', '');
				// iframe.style.border = b.trim();
			}
		}
		this.resizeContainer(parseInt(iframe.width), parseInt(iframe.height));
	} else {
		imgPreloader = new Image();
		imgPreloader.onload = function() {
			var imageWidth = imgPreloader.width;
			var imageHeight = imgPreloader.height;
			if (myLytebox.autoResize) {
				var pagesize = myLytebox.getPageSize();
				var x = pagesize[2] - 150;
				var y = pagesize[3] - 150;
				if (imageWidth > x) {
					imageHeight = Math.round(imageHeight * (x / imageWidth));
					imageWidth = x; 
					if (imageHeight > y) { 
						imageWidth = Math.round(imageWidth * (y / imageHeight));
						imageHeight = y; 
					}
				} else if (imageHeight > y) { 
					imageWidth = Math.round(imageWidth * (y / imageHeight));
					imageHeight = y; 
					if (imageWidth > x) {
						imageHeight = Math.round(imageHeight * (x / imageWidth));
						imageWidth = x;
					}
				}
			}
			var lbImage = myLytebox.doc.getElementById('lbImage')
			lbImage.src = (myLytebox.isSlideshow ? myLytebox.slideArray[myLytebox.activeSlide][0] : myLytebox.imageArray[myLytebox.activeImage][0]);
			lbImage.width = imageWidth;
			lbImage.height = imageHeight;
			myLytebox.resizeContainer(imageWidth, imageHeight);
			imgPreloader.onload = function() {};
		}
		imgPreloader.src = (this.isSlideshow ? this.slideArray[this.activeSlide][0] : this.imageArray[this.activeImage][0]);
	}
};
LyteBox.prototype.resizeContainer = function(imgWidth, imgHeight) {
	this.wCur = this.doc.getElementById('lbOuterContainer').offsetWidth;
	this.hCur = this.doc.getElementById('lbOuterContainer').offsetHeight;
	this.xScale = ((imgWidth  + (this.borderSize * 2)) / this.wCur) * 100;
	this.yScale = ((imgHeight  + (this.borderSize * 2)) / this.hCur) * 100;
	var wDiff = (this.wCur - this.borderSize * 2) - imgWidth;
	var hDiff = (this.hCur - this.borderSize * 2) - imgHeight;
	if (!(hDiff == 0)) {
		this.hDone = false;
		this.resizeH('lbOuterContainer', this.hCur, imgHeight + this.borderSize*2, this.getPixelRate(this.hCur, imgHeight));
	} else {
		this.hDone = true;
	}
	if (!(wDiff == 0)) {
		this.wDone = false;
		this.resizeW('lbOuterContainer', this.wCur, imgWidth + this.borderSize*2, this.getPixelRate(this.wCur, imgWidth));
	} else {
		this.wDone = true;
	}
	if ((hDiff == 0) && (wDiff == 0)) {
		if (this.ie){ this.pause(250); } else { this.pause(100); } 
	}
	this.doc.getElementById('lbPrev').style.height = imgHeight + "px";
	this.doc.getElementById('lbNext').style.height = imgHeight + "px";
	this.doc.getElementById('lbDetailsContainer').style.width = (imgWidth + (this.borderSize * 2) + (this.ie && this.doc.compatMode == "BackCompat" && this.outerBorder ? 2 : 0)) + "px";
	this.showContent();
};
LyteBox.prototype.showContent = function() {
	if (this.wDone && this.hDone) {
		for (var i = 0; i < this.showContentTimerCount; i++) { window.clearTimeout(this.showContentTimerArray[i]); }
		if (this.outerBorder) {
			this.doc.getElementById('lbOuterContainer').style.borderBottom = 'none';
		}
		this.doc.getElementById('lbLoading').style.display = 'none';
		if (this.isLyteframe) {
			this.doc.getElementById('lbIframe').style.display = '';
			this.appear('lbIframe', (this.doAnimations ? 0 : 100));
		} else {
			this.doc.getElementById('lbImage').style.display = '';
			this.appear('lbImage', (this.doAnimations ? 0 : 100));
			this.preloadNeighborImages();
		}
		if (this.isSlideshow) {
			if(this.activeSlide == (this.slideArray.length - 1)) {
				if (this.autoEnd) {
					this.slideshowIDArray[this.slideshowIDCount++] = setTimeout("myLytebox.end('slideshow')", this.slideInterval);
				}
			} else {
				if (!this.isPaused) {
					this.slideshowIDArray[this.slideshowIDCount++] = setTimeout("myLytebox.changeContent("+(this.activeSlide+1)+")", this.slideInterval);
				}
			}
			this.doc.getElementById('lbHoverNav').style.display = (this.showNavigation && this.navType == 1 ? '' : 'none');
			this.doc.getElementById('lbClose').style.display = (this.showClose ? '' : 'none');
			this.doc.getElementById('lbDetails').style.display = (this.showDetails ? '' : 'none');
			this.doc.getElementById('lbPause').style.display = (this.showPlayPause && !this.isPaused ? '' : 'none');
			this.doc.getElementById('lbPlay').style.display = (this.showPlayPause && !this.isPaused ? 'none' : '');
			this.doc.getElementById('lbNavDisplay').style.display = (this.showNavigation && this.navType == 2 ? '' : 'none');
		} else {
			this.doc.getElementById('lbHoverNav').style.display = (this.navType == 1 && !this.isLyteframe ? '' : 'none');
			if ((this.navType == 2 && !this.isLyteframe && this.imageArray.length > 1) || (this.frameArray.length > 1 && this.isLyteframe)) {
				this.doc.getElementById('lbNavDisplay').style.display = '';
			} else {
				this.doc.getElementById('lbNavDisplay').style.display = 'none';
			}
			this.doc.getElementById('lbClose').style.display = '';
			this.doc.getElementById('lbDetails').style.display = '';
			this.doc.getElementById('lbPause').style.display = 'none';
			this.doc.getElementById('lbPlay').style.display = 'none';
		}
		//this.doc.getElementById('lbImageContainer').style.display = (this.isLyteframe ? 'none' : '');
		this.doc.getElementById('lbIframeContainer').style.display = (this.isLyteframe ? '' : 'none');
		try {
			this.doc.getElementById('lbIframe').src = this.frameArray[this.activeFrame][0];
		} catch(e) { }
	} else {
		this.showContentTimerArray[this.showContentTimerCount++] = setTimeout("myLytebox.showContent()", 200);
	}
};
LyteBox.prototype.updateDetails = function() {
	var object = this.doc.getElementById('lbCaption');
	var sTitle = (this.isSlideshow ? this.slideArray[this.activeSlide][1] : (this.isLyteframe ? this.frameArray[this.activeFrame][1] : this.imageArray[this.activeImage][1]));
	object.style.display = '';
	object.innerHTML = (sTitle == null ? '' : sTitle);
	this.updateNav();
	this.doc.getElementById('lbDetailsContainer').style.display = '';
	object = this.doc.getElementById('lbNumberDisplay');
	if (this.isSlideshow && this.slideArray.length > 1) {
		object.style.display = '';
		object.innerHTML = "Image " + eval(this.activeSlide + 1) + " of " + this.slideArray.length;
		this.doc.getElementById('lbNavDisplay').style.display = (this.navType == 2 && this.showNavigation ? '' : 'none');
	} else if (this.imageArray.length > 1 && !this.isLyteframe) {
		object.style.display = '';
		object.innerHTML = "Image " + eval(this.activeImage + 1) + " of " + this.imageArray.length;
		this.doc.getElementById('lbNavDisplay').style.display = (this.navType == 2 ? '' : 'none');
	} else if (this.frameArray.length > 1 && this.isLyteframe) {
		object.style.display = '';
		object.innerHTML = "Page " + eval(this.activeFrame + 1) + " of " + this.frameArray.length;
		this.doc.getElementById('lbNavDisplay').style.display = '';
	} else {
		this.doc.getElementById('lbNavDisplay').style.display = 'none';
	}
	this.appear('lbDetailsContainer', (this.doAnimations ? 0 : 100));
};
LyteBox.prototype.updateNav = function() {
	if (this.isSlideshow) {
		if (this.activeSlide != 0) {
			var object = (this.navType == 2 ? this.doc.getElementById('lbPrev2') : this.doc.getElementById('lbPrev'));
				object.style.display = '';
				object.onclick = function() {
					if (myLytebox.pauseOnPrevClick) { myLytebox.togglePlayPause("lbPause", "lbPlay"); }
					myLytebox.changeContent(myLytebox.activeSlide - 1); return false;
				}
		} else {
			if (this.navType == 2) { this.doc.getElementById('lbPrev2_Off').style.display = ''; }
		}
		if (this.activeSlide != (this.slideArray.length - 1)) {
			var object = (this.navType == 2 ? this.doc.getElementById('lbNext2') : this.doc.getElementById('lbNext'));
				object.style.display = '';
				object.onclick = function() {
					if (myLytebox.pauseOnNextClick) { myLytebox.togglePlayPause("lbPause", "lbPlay"); }
					myLytebox.changeContent(myLytebox.activeSlide + 1); return false;
				}
		} else {
			if (this.navType == 2) { this.doc.getElementById('lbNext2_Off').style.display = ''; }
		}
	} else if (this.isLyteframe) {
		if(this.activeFrame != 0) {
			var object = this.doc.getElementById('lbPrev2');
				object.style.display = '';
				object.onclick = function() {
					myLytebox.changeContent(myLytebox.activeFrame - 1); return false;
				}
		} else {
			this.doc.getElementById('lbPrev2_Off').style.display = '';
		}
		if(this.activeFrame != (this.frameArray.length - 1)) {
			var object = this.doc.getElementById('lbNext2');
				object.style.display = '';
				object.onclick = function() {
					myLytebox.changeContent(myLytebox.activeFrame + 1); return false;
				}
		} else {
			this.doc.getElementById('lbNext2_Off').style.display = '';
		}		
	} else {
		if(this.activeImage != 0) {
			var object = (this.navType == 2 ? this.doc.getElementById('lbPrev2') : this.doc.getElementById('lbPrev'));
				object.style.display = '';
				object.onclick = function() {
					myLytebox.changeContent(myLytebox.activeImage - 1); return false;
				}
		} else {
			if (this.navType == 2) { this.doc.getElementById('lbPrev2_Off').style.display = ''; }
		}
		if(this.activeImage != (this.imageArray.length - 1)) {
			var object = (this.navType == 2 ? this.doc.getElementById('lbNext2') : this.doc.getElementById('lbNext'));
				object.style.display = '';
				object.onclick = function() {
					myLytebox.changeContent(myLytebox.activeImage + 1); return false;
				}
		} else {
			if (this.navType == 2) { this.doc.getElementById('lbNext2_Off').style.display = ''; }
		}
	}
	this.enableKeyboardNav();
};
LyteBox.prototype.enableKeyboardNav = function() { document.onkeydown = this.keyboardAction; };
LyteBox.prototype.disableKeyboardNav = function() { document.onkeydown = ''; };
LyteBox.prototype.keyboardAction = function(e) {
	var keycode = key = escape = null;
	keycode	= (e == null) ? event.keyCode : e.which;
	key		= String.fromCharCode(keycode).toLowerCase();
	escape  = (e == null) ? 27 : e.DOM_VK_ESCAPE;
	if ((key == 'x') || (key == 'c') || (keycode == escape)) {
		myLytebox.end();
	} else if ((key == 'p') || (keycode == 37)) {
		if (myLytebox.isSlideshow) {
			if(myLytebox.activeSlide != 0) {
				myLytebox.disableKeyboardNav();
				myLytebox.changeContent(myLytebox.activeSlide - 1);
			}
		} else if (myLytebox.isLyteframe) {
			if(myLytebox.activeFrame != 0) {
				myLytebox.disableKeyboardNav();
				myLytebox.changeContent(myLytebox.activeFrame - 1);
			}
		} else {
			if(myLytebox.activeImage != 0) {
				myLytebox.disableKeyboardNav();
				myLytebox.changeContent(myLytebox.activeImage - 1);
			}
		}
	} else if ((key == 'n') || (keycode == 39)) {
		if (myLytebox.isSlideshow) {
			if(myLytebox.activeSlide != (myLytebox.slideArray.length - 1)) {
				myLytebox.disableKeyboardNav();
				myLytebox.changeContent(myLytebox.activeSlide + 1);
			}
		} else if (myLytebox.isLyteframe) {
			if(myLytebox.activeFrame != (myLytebox.frameArray.length - 1)) {
				myLytebox.disableKeyboardNav();
				myLytebox.changeContent(myLytebox.activeFrame + 1);
			}
		} else {
			if(myLytebox.activeImage != (myLytebox.imageArray.length - 1)) {
				myLytebox.disableKeyboardNav();
				myLytebox.changeContent(myLytebox.activeImage + 1);
			}
		}
	}
};
LyteBox.prototype.preloadNeighborImages = function() {
	if (this.isSlideshow) {
		if ((this.slideArray.length - 1) > this.activeSlide) {
			preloadNextImage = new Image();
			preloadNextImage.src = this.slideArray[this.activeSlide + 1][0];
		}
		if(this.activeSlide > 0) {
			preloadPrevImage = new Image();
			preloadPrevImage.src = this.slideArray[this.activeSlide - 1][0];
		}
	} else {
		if ((this.imageArray.length - 1) > this.activeImage) {
			preloadNextImage = new Image();
			preloadNextImage.src = this.imageArray[this.activeImage + 1][0];
		}
		if(this.activeImage > 0) {
			preloadPrevImage = new Image();
			preloadPrevImage.src = this.imageArray[this.activeImage - 1][0];
		}
	}
};
LyteBox.prototype.togglePlayPause = function(hideID, showID) {
	if (this.isSlideshow && hideID == "lbPause") {
		for (var i = 0; i < this.slideshowIDCount; i++) { window.clearTimeout(this.slideshowIDArray[i]); }
	}
	this.doc.getElementById(hideID).style.display = 'none';
	this.doc.getElementById(showID).style.display = '';
	if (hideID == "lbPlay") {
		this.isPaused = false;
		if (this.activeSlide == (this.slideArray.length - 1)) {
			this.end();
		} else {
			this.changeContent(this.activeSlide + 1);
		}
	} else {
		this.isPaused = true;
	}
};
LyteBox.prototype.end = function(caller) {
	var closeClick = (caller == 'slideshow' ? false : true);
	if (this.isSlideshow && this.isPaused && !closeClick) { return; }
	this.disableKeyboardNav();
	this.doc.getElementById('lbMain').style.display = 'none';
	this.fade('lbOverlay', (this.doAnimations ? this.maxOpacity : 0));
	this.toggleSelects('visible');
	if (this.hideFlash) { this.toggleFlash('visible'); }
	if (this.isSlideshow) {
		for (var i = 0; i < this.slideshowIDCount; i++) { window.clearTimeout(this.slideshowIDArray[i]); }
	}
	if (this.isLyteframe) {
		 this.initialize();
	}
};
LyteBox.prototype.checkFrame = function() {
	if(typeof(window.parent.frames[window.name]) != "undefined" && window.name != "loginFrame") {
		if (window.parent.frames[window.name] && (parent.document.getElementsByTagName('frameset').length <= 0)) {
			this.isFrame = true;
			this.lytebox = "window.parent." + window.name + ".myLytebox";
			this.doc = parent.document;
		} else {
			this.isFrame = false;
			this.lytebox = "myLytebox";
			this.doc = document;
		}
	}
};
LyteBox.prototype.getPixelRate = function(cur, img) {
	var diff = (img > cur) ? img - cur : cur - img;
	if (diff >= 0 && diff <= 100) { return 10; }
	if (diff > 100 && diff <= 200) { return 15; }
	if (diff > 200 && diff <= 300) { return 20; }
	if (diff > 300 && diff <= 400) { return 25; }
	if (diff > 400 && diff <= 500) { return 30; }
	if (diff > 500 && diff <= 600) { return 35; }
	if (diff > 600 && diff <= 700) { return 40; }
	if (diff > 700) { return 45; }
};
LyteBox.prototype.appear = function(id, opacity) {
	var object = this.doc.getElementById(id).style;
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + (opacity + 10) + ")";
	if (opacity == 100 && (id == 'lbImage' || id == 'lbIframe')) {
		try { object.removeAttribute("filter"); } catch(e) {}	/* Fix added for IE Alpha Opacity Filter bug. */
		this.updateDetails();
	} else if (opacity >= this.maxOpacity && id == 'lbOverlay') {
		for (var i = 0; i < this.overlayTimerCount; i++) { window.clearTimeout(this.overlayTimerArray[i]); }
		return;
	} else if (opacity >= 100 && id == 'lbDetailsContainer') {
		try { object.removeAttribute("filter"); } catch(e) {}	/* Fix added for IE Alpha Opacity Filter bug. */
		for (var i = 0; i < this.imageTimerCount; i++) { window.clearTimeout(this.imageTimerArray[i]); }
		this.doc.getElementById('lbOverlay').style.height = this.getPageSize()[1] + "px";
	} else {
		if (id == 'lbOverlay') {
			this.overlayTimerArray[this.overlayTimerCount++] = setTimeout("myLytebox.appear('" + id + "', " + (opacity+20) + ")", 1);
		} else {
			this.imageTimerArray[this.imageTimerCount++] = setTimeout("myLytebox.appear('" + id + "', " + (opacity+10) + ")", 1);
		}
	}
};
LyteBox.prototype.fade = function(id, opacity) {
	var object = this.doc.getElementById(id).style;
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
	if (opacity <= 0) {
		try {
			object.display = 'none';
		} catch(err) { }
	} else if (id == 'lbOverlay') {
		this.overlayTimerArray[this.overlayTimerCount++] = setTimeout("myLytebox.fade('" + id + "', " + (opacity-20) + ")", 1);
	} else {
		this.timerIDArray[this.timerIDCount++] = setTimeout("myLytebox.fade('" + id + "', " + (opacity-10) + ")", 1);
	}
};
LyteBox.prototype.resizeW = function(id, curW, maxW, pixelrate, speed) {
	if (!this.hDone) {
		this.resizeWTimerArray[this.resizeWTimerCount++] = setTimeout("myLytebox.resizeW('" + id + "', " + curW + ", " + maxW + ", " + pixelrate + ")", 100);
		return;
	}
	var object = this.doc.getElementById(id);
	var timer = speed ? speed : (this.resizeDuration/2);
	var newW = (this.doAnimations ? curW : maxW);
	object.style.width = (newW) + "px";
	if (newW < maxW) {
		newW += (newW + pixelrate >= maxW) ? (maxW - newW) : pixelrate;
	} else if (newW > maxW) {
		newW -= (newW - pixelrate <= maxW) ? (newW - maxW) : pixelrate;
	}
	this.resizeWTimerArray[this.resizeWTimerCount++] = setTimeout("myLytebox.resizeW('" + id + "', " + newW + ", " + maxW + ", " + pixelrate + ", " + (timer+0.02) + ")", timer+0.02);
	if (parseInt(object.style.width) == maxW) {
		this.wDone = true;
		for (var i = 0; i < this.resizeWTimerCount; i++) { window.clearTimeout(this.resizeWTimerArray[i]); }
	}
};
LyteBox.prototype.resizeH = function(id, curH, maxH, pixelrate, speed) {
	var timer = speed ? speed : (this.resizeDuration/2);
	var object = this.doc.getElementById(id);
	var newH = (this.doAnimations ? curH : maxH);
	object.style.height = (newH) + "px";
	if (newH < maxH) {
		newH += (newH + pixelrate >= maxH) ? (maxH - newH) : pixelrate;
	} else if (newH > maxH) {
		newH -= (newH - pixelrate <= maxH) ? (newH - maxH) : pixelrate;
	}
	this.resizeHTimerArray[this.resizeHTimerCount++] = setTimeout("myLytebox.resizeH('" + id + "', " + newH + ", " + maxH + ", " + pixelrate + ", " + (timer+.02) + ")", timer+.02);
	if (parseInt(object.style.height) == maxH) {
		this.hDone = true;
		for (var i = 0; i < this.resizeHTimerCount; i++) { window.clearTimeout(this.resizeHTimerArray[i]); }
	}
};
LyteBox.prototype.getPageScroll = function() {
	if (self.pageYOffset) {
		return this.isFrame ? parent.pageYOffset : self.pageYOffset;
	} else if (this.doc.documentElement && this.doc.documentElement.scrollTop){
		return this.doc.documentElement.scrollTop;
	} else if (document.body) {
		return this.doc.body.scrollTop;
	}
};
LyteBox.prototype.getPageSize = function() {	
	var xScroll, yScroll, windowWidth, windowHeight;
	if (window.innerHeight && window.scrollMaxY) {
		xScroll = this.doc.scrollWidth;
		yScroll = (this.isFrame ? parent.innerHeight : self.innerHeight) + (this.isFrame ? parent.scrollMaxY : self.scrollMaxY);
	} else if (this.doc.body.scrollHeight > this.doc.body.offsetHeight){
		xScroll = this.doc.body.scrollWidth;
		yScroll = this.doc.body.scrollHeight;
	} else {
		xScroll = this.doc.getElementsByTagName("html").item(0).offsetWidth;
		yScroll = this.doc.getElementsByTagName("html").item(0).offsetHeight;
		xScroll = (xScroll < this.doc.body.offsetWidth) ? this.doc.body.offsetWidth : xScroll;
		yScroll = (yScroll < this.doc.body.offsetHeight) ? this.doc.body.offsetHeight : yScroll;
	}
	if (self.innerHeight) {
		windowWidth = (this.isFrame) ? parent.innerWidth : self.innerWidth;
		windowHeight = (this.isFrame) ? parent.innerHeight : self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) {
		windowWidth = this.doc.documentElement.clientWidth;
		windowHeight = this.doc.documentElement.clientHeight;
	} else if (document.body) {
		windowWidth = this.doc.getElementsByTagName("html").item(0).clientWidth;
		windowHeight = this.doc.getElementsByTagName("html").item(0).clientHeight;
		windowWidth = (windowWidth == 0) ? this.doc.body.clientWidth : windowWidth;
		windowHeight = (windowHeight == 0) ? this.doc.body.clientHeight : windowHeight;
	}
	var pageHeight = (yScroll < windowHeight) ? windowHeight : yScroll;
	var pageWidth = (xScroll < windowWidth) ? windowWidth : xScroll;
	return new Array(pageWidth, pageHeight, windowWidth, windowHeight);
};
LyteBox.prototype.toggleFlash = function(state) {
	var objects = this.doc.getElementsByTagName("object");
	for (var i = 0; i < objects.length; i++) {
		objects[i].style.visibility = (state == "hide") ? 'hidden' : 'visible';
	}
	var embeds = this.doc.getElementsByTagName("embed");
	for (var i = 0; i < embeds.length; i++) {
		embeds[i].style.visibility = (state == "hide") ? 'hidden' : 'visible';
	}
	if (this.isFrame) {
		for (var i = 0; i < parent.frames.length; i++) {
			try {
				objects = parent.frames[i].window.document.getElementsByTagName("object");
				for (var j = 0; j < objects.length; j++) {
					objects[j].style.visibility = (state == "hide") ? 'hidden' : 'visible';
				}
			} catch(e) { }
			try {
				embeds = parent.frames[i].window.document.getElementsByTagName("embed");
				for (var j = 0; j < embeds.length; j++) {
					embeds[j].style.visibility = (state == "hide") ? 'hidden' : 'visible';
				}
			} catch(e) { }
		}
	}
};
LyteBox.prototype.toggleSelects = function(state) {
	var selects = this.doc.getElementsByTagName("select");
	for (var i = 0; i < selects.length; i++ ) {
		selects[i].style.visibility = (state == "hide") ? 'hidden' : 'visible';
	}
	if (this.isFrame) {
		for (var i = 0; i < parent.frames.length; i++) {
			try {
				selects = parent.frames[i].window.document.getElementsByTagName("select");
				for (var j = 0; j < selects.length; j++) {
					selects[j].style.visibility = (state == "hide") ? 'hidden' : 'visible';
				}
			} catch(e) { }
		}
	}
};
LyteBox.prototype.pause = function(numberMillis) {
	var now = new Date();
	var exitTime = now.getTime() + numberMillis;
	while (true) {
		now = new Date();
		if (now.getTime() > exitTime) { return; }
	}
};
if (window.addEventListener) {
	window.addEventListener("load",initLytebox,false);
} else if (window.attachEvent) {
	window.attachEvent("onload",initLytebox);
} else {
	window.onload = function() {initLytebox();}
}
function initLytebox() { if(typeof(parent.lbIframe) == 'undefined') { myLytebox = new LyteBox(); }}
var roundCorners = new Class({
	initialize: function contructor(options) {
		this.options		= typeof(options) != 'undefined' ? options : '';
		this.radius			= (typeof(options) != 'undefined' && !isNaN(parseInt(options.radius))) ? options.radius : 10;
		this.corners		= (typeof(options) != 'undefined' && typeof(options.corners != 'undefined')) ? options.corners : false;
		this.background		= (typeof(options) != 'undefined' && typeof(options.background) != 'undefined') ? options.background : '#FFF';
		this.antiAliase		= (typeof(options) != 'undefined' && typeof(options.antiAliase) != 'undefined') ? options.antiAliase : false;

		this.borderSize		= null;
		this.borderColor	= null;
		this.isIE			= navigator.userAgent.toLowerCase().indexOf("msie") > -1;
		this.isMoz			= document.implementation && document.implementation.createDocument;
		this.isSafari		= ((navigator.userAgent.toLowerCase().indexOf('safari')!=-1)&&(navigator.userAgent.toLowerCase().indexOf('mac')!=-1))?true:false;
	},
	getStyle: function(element) {
		try {
			this.borderSize = parseInt(this.get_style(element, 'borderTopWidth', 'border-top-width'));
			this.borderColor = this.get_style(element, 'borderTopColor', 'border-top-color');
			return true;
		}
		catch (e) {
			return false;
		}
	},
	getParentBackground: function(element) {
		var bgColor = this.get_style(element.parentNode, 'backgroundColor', 'background-color');
		if (bgColor == 'transparent' && typeof(element.parentNode) != 'undefined' && element.parentNode.nodeName != 'HTML') {
			bgColor = this.getParentBackground(element.parentNode);
		}
		return (bgColor != 'transparent' ? bgColor : this.background);
	},
	generateCorners: function(element) {

		var radius = this.radius;
		var nocorner = new Array();
		nocorner['tl'] = {'set':false};
		nocorner['tr'] = {'set':false};
		nocorner['bl'] = {'set':false};
		nocorner['br'] = {'set':false};
		element.style.position = 'relative';

		if (typeof(this.options) != 'undefined' && typeof(this.options.background) == 'undefined') {
			this.background = this.getParentBackground(element);
		}
		
		element.style.border = '1px solid ' + this.background;

		for (var i = 0; i < 4; i++) {

			radius = this.radius;
			switch (i) {
				case 0:
					if (typeof(this.corners) != 'undefined' && typeof(this.corners.tl) != 'undefined' && typeof(this.corners.tl.radius) != 'undefined' && parseInt(this.corners.tl.radius) >= 0) {
						radius = parseInt(this.corners.tl.radius);
					}
					break;
				case 1:
					if (typeof(this.corners) != 'undefined' && typeof(this.corners.tr) != 'undefined' && typeof(this.corners.tr.radius) != 'undefined' && parseInt(this.corners.tr.radius) >= 0) {
						radius = parseInt(this.corners.tr.radius);
					}
					break;
				case 2:
					if (typeof(this.corners) != 'undefined' && typeof(this.corners.bl) != 'undefined' && typeof(this.corners.bl.radius) != 'undefined' && parseInt(this.corners.bl.radius) >= 0) {
						radius = parseInt(this.corners.bl.radius);
					}
					break;
				case 3:
					if (typeof(this.corners) != 'undefined' && typeof(this.corners.br) != 'undefined' && typeof(this.corners.br.radius) != 'undefined' && parseInt(this.corners.br.radius) >= 0) {
						radius = parseInt(this.corners.br.radius);
					}
					break;
			}

			for (var j = parseInt(radius); j > 0; j--) {

				if (typeof(this.corners) != 'undefined') {
					if (typeof(this.corners.tl) != 'undefined' && typeof(this.corners.tl.radius) == 'undefined' && Boolean(this.corners.tl) != true && i == 0) {
						nocorner['tl'] = {'set':true, 'radius':radius};
						continue;
					} else if (typeof(this.corners.tr) != 'undefined' && typeof(this.corners.tr.radius) == 'undefined' && Boolean(this.corners.tr) != true && i == 1) {
						nocorner['tr'] = {'set':true, 'radius':radius};
						continue;
					} else if (typeof(this.corners.bl) != 'undefined' && typeof(this.corners.bl.radius) == 'undefined' && Boolean(this.corners.bl) != true && i == 2) {
						nocorner['bl'] = {'set':true, 'radius':radius};
						continue;
					} else if (typeof(this.corners.br) != 'undefined' && typeof(this.corners.br.radius) == 'undefined' && Boolean(this.corners.br) != true && i == 3) {
						nocorner['br'] = {'set':true, 'radius':radius};
						continue;
					}
				}

				var rounded = Math.round(radius - (Math.floor(Math.sqrt(Math.pow(radius, 2) - Math.pow((j-1), 2)))) - 1);

				if (parseInt(radius) - j >= element.offsetHeight) {
					break;
				} else if (rounded >= element.offsetWidth) {
					break;
				}

				corner = document.createElement("DIV");
				corner.style.width = (rounded < 1 ? '0' : rounded) + 'px';
				corner.style.height = '1px';
				corner.style.fontSize = '1px';
				corner.style.position = 'absolute';
				corner.style.zIndex = 899;
				corner.style.backgroundColor = this.background;

				switch (i) {
					case 0:
					case 2:
						corner.style.borderRight = this.borderSize + 'px solid ' + this.borderColor;
						corner.style.left = '0px';
						//corner.style.marginLeft = this.borderSize + 'px';
						break;
					case 1:
					case 3:
						corner.style.borderLeft = this.borderSize + 'px solid ' + this.borderColor;
						corner.style.right = '0px';
						//corner.style.marginRight = this.borderSize + 1 + 'px';
						break;
				}

				switch (i) {
					case 0:
					case 1:
						corner.style.top = parseInt(radius) - j + 'px';
						//corner.style.marginTop = this.borderSize + 'px';
						break;
					case 2:
					case 3:
						//corner.style.marginBottom = this.borderSize + 'px';
						corner.style.bottom = parseInt(radius) - j + 'px';
						break;
				}

				if (this.antiAliase) {
					var aA_corner = this.generateAliasedCorners(corner, i);
					if (typeof(aA_corner) == 'object') {
						corner.appendChild(aA_corner);
					}
				}

				element.appendChild(corner);
			}	
		}
		
		var nocorners = {0:nocorner['tl'], 1:nocorner['tr'], 2:nocorner['br'], 3:nocorner['bl'], 4:nocorner['tl']};
		
		for (var k = 0; k <= 3; k++) {
			var cornerwidth = Math.round((typeof(nocorners[k].radius) != 'undefined' ? nocorners[k].radius : radius) - (Math.floor(Math.sqrt(Math.pow((typeof(nocorners[k].radius) != 'undefined' ? nocorners[k].radius : radius), 2) - Math.pow(((typeof(nocorners[k].radius) != 'undefined' ? nocorners[k].radius : radius)-1), 2)))) - 1);
			
			if(nocorners[k].set == true && nocorners[k+1].set == true) {
				eval('element.style.border' + (k==0 ? 'Top' : (k==1 ? 'Right' : (k==2 ? 'Bottom' : 'Left'))) + ' = this.borderSize + \'px solid \' + this.borderColor;');
			} else {
				borderline = document.createElement("DIV");
				borderline.style.fontSize = '1px';
				borderline.style.lineHeight = '1px';
				borderline.style.position = 'absolute';
				borderline.style.zIndex = 899;
				borderline.style.backgroundColor = (this.borderColor == 'rgb(0, 0, 0)' || this.borderColor == '#000' ? this.background : this.borderColor);

				if (element.offsetWidth > 0)
				{
					borderline.style.width = (k==1 || k==3 ? '1' : element.offsetWidth-((nocorners[k].set != true && nocorners[k+1].set == true) || (nocorners[k].set == true && nocorners[k+1].set != true) ? 1 : 2)*cornerwidth) + 'px';
					borderline.style.height = (k==0 || k==2 ? '1' : element.offsetHeight-((nocorners[k].set != true && nocorners[k+1].set == true) || (nocorners[k].set == true && nocorners[k+1].set != true) ? 1 : 2)*cornerwidth) + 'px';
					eval('borderline.style.' + (k==0 ? 'top' : (k==1 ? 'right' : (k==2 ? 'bottom' : 'left'))) + ' = \'0px\';');			
					
					if(nocorners[0].set == true && (k==0 || k==3)) {
						eval('borderline.style.' + (k==0 ? 'left' : 'top') + ' = \'0px\';');
					}
					else if(nocorners[1].set == true && (k==0 || k==1)) {
						eval('borderline.style.' + (k==0 ? 'right' : 'top') + ' = \'0px\';');
					}
					else if(nocorners[2].set == true && (k==1 || k==2)) {
						eval('borderline.style.' + (k==1 ? 'bottom' : 'right') + ' = \'0px\';');
					}
					else if(nocorners[3].set == true && (k==2 || k==3)) {
						eval('borderline.style.' + (k==2 ? 'left' : 'bottom') + ' = \'0px\';');
					}
					else {
						eval('borderline.style.' + (k==0 || k==2 ? 'left' : 'top') + ' = \'' + cornerwidth + 'px\';');
					}
					
					element.appendChild(borderline);
					borderline.innerHTML = '&nbsp;';
				}
			}
		}
		
	},
	generateAliasedCorners: function(corner, pos) {

		if (parseInt(corner.style.width) > 0)
		{
			var aA_corner = document.createElement("DIV");
			aA_corner.style.position = 'absolute';
			aA_corner.style.height = '1px';
			aA_corner.style.fontSize = '1px';
			aA_corner.style.width = parseInt(corner.style.width) - 1 + 'px';
			aA_corner.style.left = corner.style.left;
			aA_corner.style.right = corner.style.right;

			switch (pos) {
					case 0:
					case 2:
						aA_corner.style.borderRight = this.borderSize + 'px solid ' + this.borderColor;
						break;
					case 1:
					case 3:
						aA_corner.style.borderLeft = this.borderSize + 'px solid ' + this.borderColor;
						break;
			}

			var opacity = 25;
			aA_corner.style.opacity = (opacity / 100);
			aA_corner.style.MozOpacity = (opacity / 100);
			aA_corner.style.KhtmlOpacity = (opacity / 100);
			aA_corner.style.filter = "alpha(opacity=" + opacity + ")"; 

			return aA_corner;
		}
		else {
			return false;
		}
	},
	generate: function(element) {
		if (typeof(element) != "object") {
			return false;
		} else if (typeof(element.id) != 'undefined') {
			this.getStyle(element)
			this.generateCorners(element);
		}
		else {
			for(var i = 0; i < element.length; i++) {
				if (this.getStyle(element[i])) {
					this.generateCorners(element[i]);
				}
			}
		}
	},
	get_style: function(obj, property, propertyNS)
	{
		try {
			if(obj.currentStyle) {
				var returnVal = eval("obj.currentStyle." + property);
			}
			else {
				if(this.isSafari && obj.style.display == "none") {
					obj.style.display = "";
					var wasHidden = true;
				}
				var returnVal = document.defaultView.getComputedStyle(obj, '').getPropertyValue(propertyNS);
				if(this.isSafari && wasHidden) {
					obj.style.display = "none";
				}
			}
		}
		catch(e) {
			return e.message;
		}
		return returnVal;
	}
});
/*****
* 
* Search Scripts
* 
* Description:	a simple redirect for internal page search
* Author:		Matthias von Deetzen
* Copyright:	CeWe Color AG & Co OhG
* 
*****/

function pageSearch()
{
	this.searchElement = null;

	this.generate = function(elementID) {
		if ($(elementID))
		{
			this.searchElement = $(elementID);
			var phrase = this.searchElement.value;
			if (phrase.length > 0) {
				var replacedurl = 'search_results.html?quest=' + phrase + '&element=' + elementID;
				setTimeout(function()	{ window.location = replacedurl; }, 0);
			}
		}
	}

	this.getResults = function(phrase, elementID) {

		$(elementID).value = phrase;

		var req = new Ajax('/cgi-bin/search.cgi', {
			method: 'get',
			data: { 'operator' : operator, 'phrase' : phrase },
			onComplete: function(response)
			{
				var script = response.match(/<script\s+type\s*=\s*\"text\/javascript\">([\s\S]+?)<\/script>/gi);
				if (script != null)
				{
					for (i = 0; i < script.length; i++)
					{
						script[i] = script[i].replace(/<[\/]?script.*?>/g, '');
						if (navigator.appName != 'Microsoft Internet Explorer')
						{
							eval(script[i]);
						}
					}
				}
				this.gererateOutput(response, phrase, elementID);
			}.bind(this)
		}).request();
	}

	this.gererateOutput = function(response, phrase, elementID) {
		var resultDiv = $('search_results');

		if (response == 'false') {
			resultDiv.innerHTML = 'Es konnten leider keine Ergebnisse gefunden werden.';
		}
		else {
			resultDiv.innerHTML = response;
		}

	}
};

var pageSearch = new pageSearch();
