/*!
 * jQuery JavaScript Library v1.3.1
 * http://jquery.com/
 *
 * Copyright (c) 2009 John Resig
 * Dual licensed under the MIT and GPL licenses.
 * http://docs.jquery.com/License
 *
 * Date: 2009-01-28 14:38:00 -0800 (Wed, 28 Jan 2009)
 * Revision: 6170
 */
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(H(){J C=6,17,7R=C.7,4F$=C.$,7=C.7=C.$=H(a,b){I 34 7.1c.63(a,b)},7r=/^[^<]*(<(.|\\s)+>)[^>]*$|^#([\\w-]+)$/,8U=/^.[^:#\\[\\.,]*$/;7.1c=7.2f={63:H(e,b){e=e||M;G(e.11){6[0]=e;6.K=1;6.3G=e;I 6}G(12 e==="1r"){J c=7r.2F(e);G(c&&(c[1]||!b)){G(c[1])e=7.5M([c[1]],b);L{J a=M.4d(c[3]);G(a&&a.2d!=c[3])I 7().1u(e);J d=7(a||[]);d.3G=M;d.1Q=e;I d}}L I 7(b).1u(e)}L G(7.1T(e))I 7(M).2P(e);G(e.1Q&&e.3G){6.1Q=e.1Q;6.3G=e.3G}I 6.8n(7.2k(e))},1Q:"",6z:"1.3.1",a7:H(){I 6.K},3W:H(a){I a===17?7.2k(6):6[a]},2S:H(c,a,d){J b=7(c);b.6q=6;b.3G=6.3G;G(a==="1u")b.1Q=6.1Q+(6.1Q?" ":"")+d;L G(a)b.1Q=6.1Q+"."+a+"("+d+")";I b},8n:H(a){6.K=0;2K.2f.1n.1x(6,a);I 6},U:H(a,b){I 7.U(6,a,b)},59:H(a){I 7.30(a&&a.6z?a[0]:a,6)},2a:H(c,a,b){J d=c;G(12 c==="1r")G(a===17)I 6[0]&&7[b||"2a"](6[0],c);L{d={};d[c]=a}I 6.U(H(i){P(c 1q d)7.2a(b?6.R:6,c,7.1g(6,d[c],b,i,c))})},1R:H(b,a){G((b==\'2g\'||b==\'2u\')&&3F(a)<0)a=17;I 6.2a(b,a,"2A")},1y:H(b){G(12 b!=="22"&&b!=Q)I 6.5B().4a((6[0]&&6[0].1F||M).5y(b));J a="";7.U(b||6,H(){7.U(6.3y,H(){G(6.11!=8)a+=6.11!=1?6.5u:7.1c.1y([6])})});I a},6S:H(b){G(6[0]){J c=7(b,6[0].1F).8C();G(6[0].1f)c.2s(6[0]);c.2m(H(){J a=6;1v(a.1l)a=a.1l;I a}).4a(6)}I 6},aD:H(a){I 6.U(H(){7(6).8g().6S(a)})},aq:H(a){I 6.U(H(){7(6).6S(a)})},4a:H(){I 6.4A(1m,O,H(a){G(6.11==1)6.2E(a)})},89:H(){I 6.4A(1m,O,H(a){G(6.11==1)6.2s(a,6.1l)})},85:H(){I 6.4A(1m,T,H(a){6.1f.2s(a,6)})},74:H(){I 6.4A(1m,T,H(a){6.1f.2s(a,6.46)})},5i:H(){I 6.6q||7([])},1n:[].1n,1u:H(c){G(6.K===1&&!/,/.1a(c)){J b=6.2S([],"1u",c);b.K=0;7.1u(c,6[0],b);I b}L{J d=7.2m(6,H(a){I 7.1u(c,a)});I 6.2S(/[^+>] [^+>]/.1a(c)?7.5g(d):d,"1u",c)}},8C:H(e){J f=6.2m(H(){G(!7.1M.6k&&!7.5d(6)){J a=6.4r(O),2L=M.21("14");2L.2E(a);I 7.5M([2L.2H])[0]}L I 6.4r(O)});J d=f.1u("*").6b().U(H(){G(6[D]!==17)6[D]=Q});G(e===O)6.1u("*").6b().U(H(i){G(6.11==3)I;J c=7.N(6,"2D");P(J a 1q c)P(J b 1q c[a])7.15.1G(d[i],a,c[a][b],c[a][b].N)});I f},1d:H(b){I 6.2S(7.1T(b)&&7.4j(6,H(a,i){I b.1j(a,i)})||7.3M(b,7.4j(6,H(a){I a.11===1})),"1d",b)},7u:H(b){J c=7.3d.Y.3K.1a(b)?7(b):Q;I 6.2m(H(){J a=6;1v(a&&a.1F){G(c?c.59(a)>-1:7(a).3V(b))I a;a=a.1f}})},4y:H(b){G(12 b==="1r")G(8U.1a(b))I 6.2S(7.3M(b,6,O),"4y",b);L b=7.3M(b,6);J a=b.K&&b[b.K-1]!==17&&!b.11;I 6.1d(H(){I a?7.30(6,b)<0:6!=b})},1G:H(a){I 6.2S(7.5g(7.5R(6.3W(),12 a==="1r"?7(a):7.2k(a))))},3V:H(a){I!!a&&7.3M(a,6).K>0},9n:H(a){I!!a&&6.3V("."+a)},5P:H(b){G(b===17){J c=6[0];G(c){G(7.1k(c,\'4T\'))I(c.ce.1C||{}).9a?c.b:c.1y;G(7.1k(c,"2r")){J e=c.5I,79=[],1e=c.1e,3x=c.V=="2r-3x";G(e<0)I Q;P(J i=3x?e:0,48=3x?e+1:1e.K;i<48;i++){J d=1e[i];G(d.4S){b=7(d).5P();G(3x)I b;79.1n(b)}}I 79}I(c.1C||"").1s(/\\r/g,"")}I 17}G(12 b==="4N")b+=\'\';I 6.U(H(){G(6.11!=1)I;G(7.3I(b)&&/6X|6W/.1a(6.V))6.5x=(7.30(6.1C,b)>=0||7.30(6.2p,b)>=0);L G(7.1k(6,"2r")){J a=7.2k(b);7("4T",6).U(H(){6.4S=(7.30(6.1C,a)>=0||7.30(6.1y,a)>=0)});G(!a.K)6.5I=-1}L 6.1C=b})},2I:H(a){I a===17?(6[0]?6[0].2H:Q):6.5B().4a(a)},8H:H(a){I 6.74(a).24()},6f:H(i){I 6.1V(i,+i+1)},1V:H(){I 6.2S(2K.2f.1V.1x(6,1m),"1V",2K.2f.1V.1j(1m).3v(","))},2m:H(b){I 6.2S(7.2m(6,H(a,i){I b.1j(a,i,a)}))},6b:H(){I 6.1G(6.6q)},4A:H(e,d,c){G(6[0]){J f=(6[0].1F||6[0]).bg(),3Q=7.5M(e,(6[0].1F||6[0]),f),29=f.1l,3Y=6.K>1?f.4r(O):f;G(29)P(J i=0,l=6.K;i<l;i++)c.1j(4H(6[i],29),i>0?3Y.4r(O):f);G(3Q)7.U(3Q,8t)}I 6;H 4H(b,a){I d&&7.1k(b,"1O")&&7.1k(a,"41")?(b.1Y("1S")[0]||b.2E(b.1F.21("1S"))):b}}};7.1c.63.2f=7.1c;H 8t(i,a){G(a.5n)7.4E({1p:a.5n,3s:T,1Z:"1h"});L 7.6N(a.1y||a.8d||a.2H||"");G(a.1f)a.1f.2b(a)}H 23(){I+34 6B}7.1w=7.1c.1w=H(){J b=1m[0]||{},i=1,K=1m.K,5l=T,1e;G(12 b==="6U"){5l=b;b=1m[1]||{};i=2}G(12 b!=="22"&&!7.1T(b))b={};G(K==i){b=6;--i}P(;i<K;i++)G((1e=1m[i])!=Q)P(J c 1q 1e){J a=b[c],2U=1e[c];G(b===2U)86;G(5l&&2U&&12 2U==="22"&&!2U.11)b[c]=7.1w(5l,a||(2U.K!=Q?[]:{}),2U);L G(2U!==17)b[c]=2U}I b};J E=/z-?59|a2-?a1|1A|7V|9Y-?2u/i,3a=M.3a||{},2t=7S.2f.2t;7.1w({9R:H(a){C.$=4F$;G(a)C.7=7R;I 7},1T:H(a){I 2t.1j(a)==="[22 9Q]"},3I:H(a){I 2t.1j(a)==="[22 2K]"},5d:H(a){I a.11===9&&a.1z.1k!=="7Q"||!!a.1F&&7.5d(a.1F)},6N:H(a){a=7.6m(a);G(a){J b=M.1Y("7O")[0]||M.1z,1h=M.21("1h");1h.V="1y/3Z";G(7.1M.6l)1h.2E(M.5y(a));L 1h.1y=a;b.2s(1h,b.1l);b.2b(1h)}},1k:H(b,a){I b.1k&&b.1k.2v()==a.2v()},U:H(d,a,c){J e,i=0,K=d.K;G(c){G(K===17){P(e 1q d)G(a.1x(d[e],c)===T)1K}L P(;i<K;)G(a.1x(d[i++],c)===T)1K}L{G(K===17){P(e 1q d)G(a.1j(d[e],e,d[e])===T)1K}L P(J b=d[0];i<K&&a.1j(b,i,b)!==T;b=d[++i]){}}I d},1g:H(b,a,c,i,d){G(7.1T(a))a=a.1j(b,i);I 12 a==="4N"&&c=="2A"&&!E.1a(d)?a+"3p":a},1I:{1G:H(c,b){7.U((b||"").2j(/\\s+/),H(i,a){G(c.11==1&&!7.1I.4q(c.1I,a))c.1I+=(c.1I?" ":"")+a})},24:H(c,b){G(c.11==1)c.1I=b!==17?7.4j(c.1I.2j(/\\s+/),H(a){I!7.1I.4q(b,a)}).3v(" "):""},4q:H(b,a){I b&&7.30(a,(b.1I||b).2t().2j(/\\s+/))>-1}},7J:H(b,c,a){J e={};P(J d 1q c){e[d]=b.R[d];b.R[d]=c[d]}a.1j(b);P(J d 1q c)b.R[d]=e[d]},1R:H(d,e,c){G(e=="2g"||e=="2u"){J b,3z={2B:"5b",5p:"1J",1o:"58"},3B=e=="2g"?["6a","7B"]:["69","7y"];H 67(){b=e=="2g"?d.7x:d.9F;J a=0,2G=0;7.U(3B,H(){a+=3F(7.2A(d,"4o"+6,O))||0;2G+=3F(7.2A(d,"2G"+6+"54",O))||0});b-=3c.9D(a+2G)}G(7(d).3V(":62"))67();L 7.7J(d,3z,67);I 3c.48(0,b)}I 7.2A(d,e,c)},2A:H(e,g,d){J h,R=e.R;G(g=="1A"&&!7.1M.1A){h=7.2a(R,"1A");I h==""?"1":h}G(g.Y(/4l/i))g=z;G(!d&&R&&R[g])h=R[g];L G(3a.5h){G(g.Y(/4l/i))g="4l";g=g.1s(/([A-Z])/g,"-$1").3L();J i=3a.5h(e,Q);G(i)h=i.9B(g);G(g=="1A"&&h=="")h="1"}L G(e.4Z){J f=g.1s(/\\-(\\w)/g,H(a,b){I b.2v()});h=e.4Z[g]||e.4Z[f];G(!/^\\d+(3p)?$/i.1a(h)&&/^\\d/.1a(h)){J c=R.19,7s=e.5W.19;e.5W.19=e.4Z.19;R.19=h||0;h=R.9x+"3p";R.19=c;e.5W.19=7s}}I h},5M:H(n,m,h){m=m||M;G(12 m.21==="17")m=m.1F||m[0]&&m[0].1F||M;G(!h&&n.K===1&&12 n[0]==="1r"){J l=/^<(\\w+)\\s*\\/?>$/.2F(n[0]);G(l)I[m.21(l[1])]}J k=[],3Q=[],14=m.21("14");7.U(n,H(i,d){G(12 d==="4N")d+=\'\';G(!d)I;G(12 d==="1r"){d=d.1s(/(<(\\w+)[^>]*?)\\/>/g,H(b,a,c){I c.Y(/^(9s|br|7o|9p|3X|5Q|9j|3H|9g|7k|9e)$/i)?b:a+"></"+c+">"});J f=7.6m(d).3L();J e=!f.1B("<cd")&&[1,"<2r 9d=\'9d\'>","</2r>"]||!f.1B("<cb")&&[1,"<9c>","</9c>"]||f.Y(/^<(c7|1S|c6|c5|c4)/)&&[1,"<1O>","</1O>"]||!f.1B("<41")&&[2,"<1O><1S>","</1S></1O>"]||(!f.1B("<4f")||!f.1B("<c3"))&&[3,"<1O><1S><41>","</41></1S></1O>"]||!f.1B("<7o")&&[2,"<1O><1S></1S><97>","</97></1O>"]||!7.1M.96&&[1,"14<14>","</14>"]||[0,"",""];14.2H=e[1]+d+e[2];1v(e[0]--)14=14.c0;G(!7.1M.1S){J g=!f.1B("<1O")&&f.1B("<1S")<0?14.1l&&14.1l.3y:e[1]=="<1O>"&&f.1B("<1S")<0?14.3y:[];P(J j=g.K-1;j>=0;--j)G(7.1k(g[j],"1S")&&!g[j].3y.K)g[j].1f.2b(g[j])}G(!7.1M.94&&/^\\s/.1a(d))14.2s(m.5y(d.Y(/^\\s*/)[0]),14.1l);d=7.2k(14.3y)}G(d.11)k.1n(d);L k=7.5R(k,d)});G(h){P(J i=0;k[i];i++){G(7.1k(k[i],"1h")&&(!k[i].V||k[i].V.3L()==="1y/3Z")){3Q.1n(k[i].1f?k[i].1f.2b(k[i]):k[i])}L{G(k[i].11===1)k.5F.1x(k,[i+1,0].75(7.2k(k[i].1Y("1h"))));h.2E(k[i])}}I 3Q}I k},2a:H(d,g,c){G(!d||d.11==3||d.11==8)I 17;J f=!7.5d(d),1D=c!==17;g=f&&7.3z[g]||g;G(d.4c){J h=/2q|5n|R/.1a(g);G(g=="4S"&&d.1f)d.1f.5I;G(g 1q d&&f&&!h){G(1D){G(g=="V"&&7.1k(d,"3X")&&d.1f)5A"V bS bP\'t be bK";d[g]=c}G(7.1k(d,"71")&&d.3E(g))I d.3E(g).5u;G(g=="6Z"){J e=d.3E("6Z");I e&&e.9a?e.c:d.1k.Y(/(2O|3X|22|2r|6Y)/i)?0:d.1k.Y(/^(a|7k)$/i)&&d.2q?0:17}I d[g]}G(!7.1M.R&&f&&g=="R")I 7.2a(d.R,"bE",c);G(1D)d.bC(g,""+c);J i=!7.1M.8T&&f&&h?d.2w(g,2):d.2w(g);I i===Q?17:i}G(!7.1M.1A&&g=="1A"){G(1D){d.7V=1;d.1d=(d.1d||"").1s(/8Q\\([^)]*\\)/,"")+(2Y(c)+\'\'=="bx"?"":"8Q(1A="+c*8M+")")}I d.1d&&d.1d.1B("1A=")>=0?(3F(d.1d.Y(/1A=([^)]*)/)[1])/8M)+\'\':""}g=g.1s(/-([a-z])/bw,H(a,b){I b.2v()});G(1D)d[g]=c;I d[g]},6m:H(a){I(a||"").1s(/^\\s+|\\s+$/g,"")},2k:H(b){J a=[];G(b!=Q){J i=b.K;G(i==Q||12 b==="1r"||7.1T(b)||b.5w)a[0]=b;L 1v(i)a[--i]=b[i]}I a},30:H(b,a){P(J i=0,K=a.K;i<K;i++)G(a[i]===b)I i;I-1},5R:H(a,b){J i=0,18,3e=a.K;G(!7.1M.bs){1v((18=b[i++])!=Q)G(18.11!=8)a[3e++]=18}L 1v((18=b[i++])!=Q)a[3e++]=18;I a},5g:H(a){J c=[],2C={};1P{P(J i=0,K=a.K;i<K;i++){J b=7.N(a[i]);G(!2C[b]){2C[b]=O;c.1n(a[i])}}}1U(e){c=a}I c},4j:H(c,a,d){J b=[];P(J i=0,K=c.K;i<K;i++)G(!d!=!a(c[i],i))b.1n(c[i]);I b},2m:H(d,a){J c=[];P(J i=0,K=d.K;i<K;i++){J b=a(d[i],i);G(b!=Q)c[c.K]=b}I c.75.1x([],c)}});J x=bn.bk.3L();7.bj={bh:(x.Y(/.+(?:bf|bd|bc|ba)[\\/: ]([\\d.]+)/)||[0,\'0\'])[1],b8:/8y/.1a(x),6v:/6v/.1a(x),8v:/8v/.1a(x)&&!/6v/.1a(x),8u:/8u/.1a(x)&&!/(b2|8y)/.1a(x)};7.U({2N:H(a){I a.1f},aY:H(a){I 7.5o(a,"1f")},aS:H(a){I 7.38(a,2,"46")},aO:H(a){I 7.38(a,2,"4D")},aM:H(a){I 7.5o(a,"46")},aL:H(a){I 7.5o(a,"4D")},aK:H(a){I 7.6I(a.1f.1l,a)},aJ:H(a){I 7.6I(a.1l)},8g:H(a){I 7.1k(a,"aH")?a.aF||a.aC.M:7.2k(a.3y)}},H(c,d){7.1c[c]=H(b){J a=7.2m(6,d);G(b&&12 b=="1r")a=7.3M(b,a);I 6.2S(7.5g(a),c,b)}});7.U({8m:"4a",ay:"89",2s:"85",ax:"74",aw:"8H"},H(c,b){7.1c[c]=H(){J a=1m;I 6.U(H(){P(J i=0,K=a.K;i<K;i++)7(a[i])[b](6)})}});7.U({av:H(a){7.2a(6,a,"");G(6.11==1)6.6E(a)},ar:H(a){7.1I.1G(6,a)},ap:H(a){7.1I.24(6,a)},ao:H(a,b){G(12 b!=="6U")b=!7.1I.4q(6,a);7.1I[b?"1G":"24"](6,a)},24:H(a){G(!a||7.1d(a,[6]).K){7("*",6).1G([6]).U(H(){7.15.24(6);7.3u(6)});G(6.1f)6.1f.2b(6)}},5B:H(){7(">*",6).24();1v(6.1l)6.2b(6.1l)}},H(a,b){7.1c[a]=H(){I 6.U(b,1m)}});H 2l(a,b){I a[0]&&2Y(7.2A(a[0],b,O),10)||0}J D="7"+23(),8c=0,6C={};7.1w({1N:{},N:H(c,d,b){c=c==C?6C:c;J a=c[D];G(!a)a=c[D]=++8c;G(d&&!7.1N[a])7.1N[a]={};G(b!==17)7.1N[a][d]=b;I d?7.1N[a][d]:a},3u:H(c,b){c=c==C?6C:c;J a=c[D];G(b){G(7.1N[a]){37 7.1N[a][b];b="";P(b 1q 7.1N[a])1K;G(!b)7.3u(c)}}L{1P{37 c[D]}1U(e){G(c.6E)c.6E(D)}37 7.1N[a]}},2x:H(b,c,a){G(b){c=(c||"26")+"2x";J q=7.N(b,c);G(!q||7.3I(a))q=7.N(b,c,7.2k(a));L G(a)q.1n(a)}I q},4K:H(b,a){J c=7.2x(b,a),1c=c.3o();G(!a||a==="26")1c=c[0];G(1c!==17)1c.1j(b)}});7.1c.1w({N:H(d,b){J a=d.2j(".");a[1]=a[1]?"."+a[1]:"";G(b===17){J c=6.6y("ae"+a[1]+"!",[a[0]]);G(c===17&&6.K)c=7.N(6[0],d);I c===17&&a[1]?6.N(a[0]):c}L I 6.1L("ac"+a[1]+"!",[a[0],b]).U(H(){7.N(6,d,b)})},3u:H(a){I 6.U(H(){7.3u(6,a)})},2x:H(b,c){G(12 b!=="1r"){c=b;b="26"}G(c===17)I 7.2x(6[0],b);I 6.U(H(){J a=7.2x(6,b,c);G(b=="26"&&a.K==1)a[0].1j(6)})},4K:H(a){I 6.U(H(){7.4K(6,a)})}});(H(){J o=/((?:\\((?:\\([^()]+\\)|[^()]+)+\\)|\\[(?:\\[[^[\\]]*\\]|[\'"][^\'"]+[\'"]|[^[\\]\'"]+)+\\]|\\\\.|[^ >+~,(\\[]+)+|[>+~])(\\s*,\\s*)?/g,2C=0,2t=7S.2f.2t;J w=H(g,c,d,f){d=d||[];c=c||M;G(c.11!==1&&c.11!==9)I[];G(!g||12 g!=="1r"){I d}J b=[],m,1D,1H,28,a6,3Y,7f=O;o.a5=0;1v((m=o.2F(g))!==Q){b.1n(m[1]);G(m[2]){3Y=3r.a4;1K}}G(b.K>1&&t.2F(g)){G(b.K===2&&s.2T[b[0]]){1D=k(b[0]+b[1],c)}L{1D=s.2T[b[0]]?[c]:w(b.3o(),c);1v(b.K){g=b.3o();G(s.2T[g])g+=b.3o();1D=k(g,1D)}}}L{J e=f?{3d:b.2R(),1D:p(f)}:w.1u(b.2R(),b.K===1&&c.1f?c.1f:c,v(c));1D=w.1d(e.3d,e.1D);G(b.K>0){1H=p(1D)}L{7f=T}1v(b.K){J a=b.2R(),2R=a;G(!s.2T[a]){a=""}L{2R=b.2R()}G(2R==Q){2R=c}s.2T[a](1H,2R,v(c))}}G(!1H){1H=1D}G(!1H){5A"7Z 3A, 7Y 7W: "+(a||g);}G(2t.1j(1H)==="[22 2K]"){G(!7f){d.1n.1x(d,1H)}L G(c.11===1){P(J i=0;1H[i]!=Q;i++){G(1H[i]&&(1H[i]===O||1H[i].11===1&&q(c,1H[i]))){d.1n(1D[i])}}}L{P(J i=0;1H[i]!=Q;i++){G(1H[i]&&1H[i].11===1){d.1n(1D[i])}}}}L{p(1H,d)}G(3Y){w(3Y,c,d,f)}I d};w.5N=H(a,b){I w(a,Q,Q,b)};w.1u=H(c,f,a){J b,Y;G(!c){I[]}P(J i=0,l=s.5H.K;i<l;i++){J e=s.5H[i],Y;G((Y=s.Y[e].2F(c))){J d=3r.9X;G(d.7g(d.K-1)!=="\\\\"){Y[1]=(Y[1]||"").1s(/\\\\/g,"");b=s.1u[e](Y,f,a);G(b!=Q){c=c.1s(s.Y[e],"");1K}}}}G(!b){b=f.1Y("*")}I{1D:b,3d:c}};w.1d=H(c,d,a,f){J g=c,2z=[],39=d,Y,3g;1v(c&&d.K){P(J e 1q s.1d){G((Y=s.Y[e].2F(c))!=Q){J h=s.1d[e],3U,4v;3g=T;G(39==2z){2z=[]}G(s.6r[e]){Y=s.6r[e](Y,39,a,2z,f);G(!Y){3g=3U=O}L G(Y===O){86}}G(Y){P(J i=0;(4v=39[i])!=Q;i++){G(4v){3U=h(4v,Y,i,39);J b=f^!!3U;G(a&&3U!=Q){G(b){3g=O}L{39[i]=T}}L G(b){2z.1n(4v);3g=O}}}}G(3U!==17){G(!a){39=2z}c=c.1s(s.Y[e],"");G(!3g){I[]}1K}}}c=c.1s(/\\s*,\\s*/,"");G(c==g){G(3g==Q){5A"7Z 3A, 7Y 7W: "+c;}L{1K}}g=c}I 39};J s=w.3k={5H:["3i","6p","3T"],Y:{3i:/#((?:[\\w\\3S-\\4u-]|\\\\.)+)/,4t:/\\.((?:[\\w\\3S-\\4u-]|\\\\.)+)/,6p:/\\[2p=[\'"]*((?:[\\w\\3S-\\4u-]|\\\\.)+)[\'"]*\\]/,6o:/\\[\\s*((?:[\\w\\3S-\\4u-]|\\\\.)+)\\s*(?:(\\S?=)\\s*([\'"]*)(.*?)\\3|)\\s*\\]/,3T:/^((?:[\\w\\3S-\\9P\\*4F-]|\\\\.)+)/,6n:/:(7P|38|2J|29)-9O(?:\\((5f|5e|[\\9N+-]*)\\))?/,3K:/:(38|6f|7N|7M|29|2J|5f|5e)(?:\\((\\d*)\\))?(?=[^-]|$)/,4s:/:((?:[\\w\\3S-\\4u-]|\\\\.)+)(?:\\(([\'"]*)((?:\\([^\\)]+\\)|[^\\2\\(\\)]*)+)\\2\\))?/},6j:{"6i":"1I","P":"7L"},5m:{2q:H(a){I a.2w("2q")}},2T:{"+":H(b,d){P(J i=0,l=b.K;i<l;i++){J c=b[i];G(c){J a=c.4D;1v(a&&a.11!==1){a=a.4D}b[i]=12 d==="1r"?a||T:a===d}}G(12 d==="1r"){w.1d(d,b,O)}},">":H(b,e,a){G(12 e==="1r"&&!/\\W/.1a(e)){e=a?e:e.2v();P(J i=0,l=b.K;i<l;i++){J c=b[i];G(c){J d=c.1f;b[i]=d.1k===e?d:T}}}L{P(J i=0,l=b.K;i<l;i++){J c=b[i];G(c){b[i]=12 e==="1r"?c.1f:c.1f===e}}G(12 e==="1r"){w.1d(e,b,O)}}},"":H(c,e,a){J d="2C"+(2C++),42=6h;G(!e.Y(/\\W/)){J b=e=a?e:e.2v();42=6g}42("1f",e,d,c,b,a)},"~":H(c,e,a){J d="2C"+(2C++),42=6h;G(12 e==="1r"&&!e.Y(/\\W/)){J b=e=a?e:e.2v();42=6g}42("4D",e,d,c,b,a)}},1u:{3i:H(c,b,a){G(12 b.4d!=="17"&&!a){J m=b.4d(c[1]);I m?[m]:[]}},6p:H(c,b,a){G(12 b.7K!=="17"&&!a){I b.7K(c[1])}},3T:H(a,b){I b.1Y(a[1])}},6r:{4t:H(c,e,d,f,a){c=" "+c[1].1s(/\\\\/g,"")+" ";J b;P(J i=0;(b=e[i])!=Q;i++){G(b){G(a^(" "+b.1I+" ").1B(c)>=0){G(!d)f.1n(b)}L G(d){e[i]=T}}}I T},3i:H(a){I a[1].1s(/\\\\/g,"")},3T:H(a,b){P(J i=0;b[i]===T;i++){}I b[i]&&v(b[i])?a[1]:a[1].2v()},6n:H(a){G(a[1]=="38"){J b=/(-?)(\\d*)n((?:\\+|-)?\\d*)/.2F(a[2]=="5f"&&"2n"||a[2]=="5e"&&"2n+1"||!/\\D/.1a(a[2])&&"9M+"+a[2]||a[2]);a[2]=(b[1]+(b[2]||1))-0;a[3]=b[3]-0}a[0]="2C"+(2C++);I a},6o:H(a){J b=a[1].1s(/\\\\/g,"");G(s.6j[b]){a[1]=s.6j[b]}G(a[2]==="~="){a[4]=" "+a[4]+" "}I a},4s:H(b,e,d,f,a){G(b[1]==="4y"){G(b[3].Y(o).K>1){b[3]=w(b[3],Q,Q,e)}L{J c=w.1d(b[3],e,d,O^a);G(!d){f.1n.1x(f,c)}I T}}L G(s.Y.3K.1a(b[0])){I O}I b},3K:H(a){a.7I(O);I a}},3R:{9L:H(a){I a.5c===T&&a.V!=="1J"},5c:H(a){I a.5c===O},5x:H(a){I a.5x===O},4S:H(a){a.1f.5I;I a.4S===O},2N:H(a){I!!a.1l},5B:H(a){I!a.1l},4q:H(a,i,b){I!!w(b[3],a).K},9K:H(a){I/h\\d/i.1a(a.1k)},1y:H(a){I"1y"===a.V},6X:H(a){I"6X"===a.V},6W:H(a){I"6W"===a.V},6e:H(a){I"6e"===a.V},5a:H(a){I"5a"===a.V},6d:H(a){I"6d"===a.V},7H:H(a){I"7H"===a.V},7G:H(a){I"7G"===a.V},2O:H(a){I"2O"===a.V||a.1k.2v()==="9J"},3X:H(a){I/3X|2r|6Y|2O/i.1a(a.1k)}},7F:{29:H(a,i){I i===0},2J:H(b,i,c,a){I i===a.K-1},5f:H(a,i){I i%2===0},5e:H(a,i){I i%2===1},7M:H(a,i,b){I i<b[3]-0},7N:H(a,i,b){I i>b[3]-0},38:H(a,i,b){I b[3]-0==i},6f:H(a,i,b){I b[3]-0==i}},1d:{6n:H(b,g){J e=g[1],2N=b.1f;J f=g[0];G(2N&&(!2N[f]||!b.3D)){J c=1;P(J d=2N.1l;d;d=d.46){G(d.11==1){d.3D=c++}}2N[f]=c-1}G(e=="29"){I b.3D==1}L G(e=="2J"){I b.3D==2N[f]}L G(e=="7P"){I 2N[f]==1}L G(e=="38"){J a=T,29=g[2],2J=g[3];G(29==1&&2J==0){I O}G(29==0){G(b.3D==2J){a=O}}L G((b.3D-2J)%29==0&&(b.3D-2J)/29>=0){a=O}I a}},4s:H(b,d,i,a){J e=d[1],1d=s.3R[e];G(1d){I 1d(b,i,d,a)}L G(e==="6c"){I(b.8d||b.9I||"").1B(d[3])>=0}L G(e==="4y"){J c=d[3];P(J i=0,l=c.K;i<l;i++){G(c[i]===b){I T}}I O}},3i:H(b,a){I b.11===1&&b.2w("2d")===a},3T:H(b,a){I(a==="*"&&b.11===1)||b.1k===a},4t:H(b,a){I a.1a(b.1I)},6o:H(c,a){J b=s.5m[a[1]]?s.5m[a[1]](c):c[a[1]]||c.2w(a[1]),1C=b+"",u=a[2],28=a[4];I b==Q?u==="!=":u==="="?1C===28:u==="*="?1C.1B(28)>=0:u==="~="?(" "+1C+" ").1B(28)>=0:!a[4]?b:u==="!="?1C!=28:u==="^="?1C.1B(28)===0:u==="$="?1C.7g(1C.K-28.K)===28:u==="|="?1C===28||1C.7g(0,28.K+1)===28+"-":T},3K:H(b,c,i,a){J d=c[2],1d=s.7F[d];G(1d){I 1d(b,i,c,a)}}}};J t=s.Y.3K;P(J u 1q s.Y){s.Y[u]=3r(s.Y[u].7D+/(?![^\\[]*\\])(?![^\\(]*\\))/.7D)}J p=H(b,a){b=2K.2f.1V.1j(b);G(a){a.1n.1x(a,b);I a}I b};1P{2K.2f.1V.1j(M.1z.3y)}1U(e){p=H(a,b){J c=b||[];G(2t.1j(a)==="[22 2K]"){2K.2f.1n.1x(c,a)}L{G(12 a.K==="4N"){P(J i=0,l=a.K;i<l;i++){c.1n(a[i])}}L{P(J i=0;a[i];i++){c.1n(a[i])}}}I c}}(H(){J d=M.21("71"),2d="1h"+(34 6B).7C();d.2H="<3X 2p=\'"+2d+"\'/>";J e=M.1z;e.2s(d,e.1l);G(!!M.4d(2d)){s.1u.3i=H(c,b,a){G(12 b.4d!=="17"&&!a){J m=b.4d(c[1]);I m?m.2d===c[1]||12 m.3E!=="17"&&m.3E("2d").5u===c[1]?[m]:17:[]}};s.1d.3i=H(c,a){J b=12 c.3E!=="17"&&c.3E("2d");I c.11===1&&b&&b.5u===a}}e.2b(d)})();(H(){J e=M.21("14");e.2E(M.9H(""));G(e.1Y("*").K>0){s.1u.3T=H(d,a){J b=a.1Y(d[1]);G(d[1]==="*"){J c=[];P(J i=0;b[i];i++){G(b[i].11===1){c.1n(b[i])}}b=c}I b}}e.2H="<a 2q=\'#\'></a>";G(e.1l&&12 e.1l.2w!=="17"&&e.1l.2w("2q")!=="#"){s.5m.2q=H(a){I a.2w("2q",2)}}})();G(M.55)(H(){J f=w,14=M.21("14");14.2H="<p 6i=\'7A\'></p>";G(14.55&&14.55(".7A").K===0){I}w=H(a,b,d,c){b=b||M;G(!c&&b.11===9&&!v(b)){1P{I p(b.55(a),d)}1U(e){}}I f(a,b,d,c)};w.1u=f.1u;w.1d=f.1d;w.3k=f.3k;w.5N=f.5N})();G(M.68&&M.1z.68){s.5H.5F(1,0,"4t");s.1u.4t=H(a,b){I b.68(a[1])}}H 6g(h,d,e,a,c,b){P(J i=0,l=a.K;i<l;i++){J j=a[i];G(j){j=j[h];J f=T;1v(j&&j.11){J g=j[e];G(g){f=a[g];1K}G(j.11===1&&!b)j[e]=i;G(j.1k===d){f=j;1K}j=j[h]}a[i]=f}}}H 6h(g,d,e,a,c,b){P(J i=0,l=a.K;i<l;i++){J h=a[i];G(h){h=h[g];J f=T;1v(h&&h.11){G(h[e]){f=a[h[e]];1K}G(h.11===1){G(!b)h[e]=i;G(12 d!=="1r"){G(h===d){f=O;1K}}L G(w.1d(d,[h]).K>0){f=h;1K}}h=h[g]}a[i]=f}}}J q=M.7z?H(a,b){I a.7z(b)&16}:H(a,b){I a!==b&&(a.6c?a.6c(b):O)};J v=H(a){I a.11===9&&a.1z.1k!=="7Q"||!!a.1F&&v(a.1F)};J k=H(c,a){J b=[],66="",Y,4H=a.11?[a]:a;1v((Y=s.Y.4s.2F(c))){66+=Y[0];c=c.1s(s.Y.4s,"")}c=s.2T[c]?c+"*":c;P(J i=0,l=4H.K;i<l;i++){w(c,4H[i],b)}I w.1d(66,b)};7.1u=w;7.1d=w.1d;7.3d=w.3k;7.3d[":"]=7.3d.3R;w.3k.3R.1J=H(a){I"1J"===a.V||7.1R(a,"1o")==="2Z"||7.1R(a,"5p")==="1J"};w.3k.3R.62=H(a){I"1J"!==a.V&&7.1R(a,"1o")!=="2Z"&&7.1R(a,"5p")!=="1J"};w.3k.3R.9G=H(b){I 7.4j(7.4p,H(a){I b===a.18}).K};7.3M=H(a,c,b){G(b){a=":4y("+a+")"}I w.5N(a,c)};7.5o=H(b,c){J a=[],2c=b[c];1v(2c&&2c!=M){G(2c.11==1)a.1n(2c);2c=2c[c]}I a};7.38=H(a,e,c,b){e=e||1;J d=0;P(;a;a=a[c])G(a.11==1&&++d==e)1K;I a};7.6I=H(n,a){J r=[];P(;n;n=n.46){G(n.11==1&&n!=a)r.1n(n)}I r};I;C.9E=w})();7.15={1G:H(f,i,g,e){G(f.11==3||f.11==8)I;G(f.5w&&f!=C)f=C;G(!g.25)g.25=6.25++;G(e!==17){J h=g;g=6.3P(h);g.N=e}J j=7.N(f,"2D")||7.N(f,"2D",{}),1E=7.N(f,"1E")||7.N(f,"1E",H(){I 12 7!=="17"&&!7.15.65?7.15.1E.1x(1m.4n.18,1m):17});1E.18=f;7.U(i.2j(/\\s+/),H(c,b){J a=b.2j(".");b=a.3o();g.V=a.1V().64().3v(".");J d=j[b];G(7.15.4m[b])7.15.4m[b].4h.1j(f,e,a);G(!d){d=j[b]={};G(!7.15.3O[b]||7.15.3O[b].4h.1j(f,e,a)===T){G(f.53)f.53(b,1E,T);L G(f.3J)f.3J("52"+b,1E)}}d[g.25]=g;7.15.2i[b]=O});f=Q},25:1,2i:{},24:H(k,i,g){G(k.11==3||k.11==8)I;J f=7.N(k,"2D"),3N,59;G(f){G(i===17||(12 i==="1r"&&i.9C(0)=="."))P(J h 1q f)6.24(k,h+(i||""));L{G(i.V){g=i.61;i=i.V}7.U(i.2j(/\\s+/),H(e,c){J a=c.2j(".");c=a.3o();J d=3r("(^|\\\\.)"+a.1V().64().3v(".*\\\\.")+"(\\\\.|$)");G(f[c]){G(g)37 f[c][g.25];L P(J b 1q f[c])G(d.1a(f[c][b].V))37 f[c][b];G(7.15.4m[c])7.15.4m[c].4k.1j(k,a);P(3N 1q f[c])1K;G(!3N){G(!7.15.3O[c]||7.15.3O[c].4k.1j(k,a)===T){G(k.60)k.60(c,7.N(k,"1E"),T);L G(k.51)k.51("52"+c,7.N(k,"1E"))}3N=Q;37 f[c]}}})}P(3N 1q f)1K;G(!3N){J j=7.N(k,"1E");G(j)j.18=Q;7.3u(k,"2D");7.3u(k,"1E")}}},1L:H(d,a,c,h){J f=d.V||d;G(!h){d=12 d==="22"?d[D]?d:7.1w(7.3f(f),d):7.3f(f);G(f.1B("!")>=0){d.V=f=f.1V(0,-1);d.7w=O}G(!c){d.3C();G(6.2i[f])7.U(7.1N,H(){G(6.2D&&6.2D[f])7.15.1L(d,a,6.1E.18)})}G(!c||c.11==3||c.11==8)I 17;d.2z=17;d.2V=c;a=7.2k(a);a.7I(d)}d.7v=c;J b=7.N(c,"1E");G(b)b.1x(c,a);G((!c[f]||(7.1k(c,\'a\')&&f=="50"))&&c["52"+f]&&c["52"+f].1x(c,a)===T)d.2z=T;G(!h&&c[f]&&!d.5Z()&&!(7.1k(c,\'a\')&&f=="50")){6.65=O;1P{c[f]()}1U(e){}}6.65=T;G(!d.5Y()){J g=c.1f||c.1F;G(g)7.15.1L(d,a,g,O)}},1E:H(b){J c,57;b=1m[0]=7.15.7t(b||C.15);J a=b.V.2j(".");b.V=a.3o();c=!a.K&&!b.7w;J d=3r("(^|\\\\.)"+a.1V().64().3v(".*\\\\.")+"(\\\\.|$)");57=(7.N(6,"2D")||{})[b.V];P(J j 1q 57){J e=57[j];G(c||d.1a(e.V)){b.61=e;b.N=e.N;J f=e.1x(6,1m);G(f!==17){b.2z=f;G(f===T){b.3h();b.3C()}}G(b.5X())1K}}},3z:"9A 9z 9y 9w 2O 9v 4z 5V 7q 5U 7v N 9u 9t 4W 61 5T 5S 9r 9q 6s 7n 9o 9m 4U 9l 9k 9i 7m 2V 7l 9h 9f 3B".2j(" "),7t:H(b){G(b[D])I b;J c=b;b=7.3f(c);P(J i=6.3z.K,1g;i;){1g=6.3z[--i];b[1g]=c[1g]}G(!b.2V)b.2V=b.7m||M;G(b.2V.11==3)b.2V=b.2V.1f;G(!b.4U&&b.4W)b.4U=b.4W==b.2V?b.7l:b.4W;G(b.6s==Q&&b.5V!=Q){J a=M.1z,1b=M.1b;b.6s=b.5V+(a&&a.35||1b&&1b.35||0)-(a.4i||0);b.7n=b.7q+(a&&a.3b||1b&&1b.3b||0)-(a.4C||0)}G(!b.3B&&((b.4z||b.4z===0)?b.4z:b.5T))b.3B=b.4z||b.5T;G(!b.5S&&b.5U)b.5S=b.5U;G(!b.3B&&b.2O)b.3B=(b.2O&1?1:(b.2O&2?3:(b.2O&4?2:0)));I b},3P:H(a,b){b=b||H(){I a.1x(6,1m)};b.25=a.25=a.25||b.25||6.25++;I b},3O:{2P:{4h:5O,4k:H(){}}},4m:{4g:{4h:H(a,b){7.15.1G(6,b[0],7i)},4k:H(b){G(b.K){J a=0,2p=3r("(^|\\\\.)"+b[0]+"(\\\\.|$)");7.U((7.N(6,"2D").4g||{}),H(){G(2p.1a(6.V))a++});G(a<1)7.15.24(6,b[0],7i)}}}}};7.3f=H(a){G(!6.3h)I 34 7.3f(a);G(a&&a.V){6.7h=a;6.V=a.V}L 6.V=a;6.cc=23();6[D]=O};H 5L(){I T}H 5K(){I O}7.3f.2f={3h:H(){6.5Z=5K;J e=6.7h;G(!e)I;G(e.3h)e.3h();e.ca=T},3C:H(){6.5Y=5K;J e=6.7h;G(!e)I;G(e.3C)e.3C();e.c9=O},c8:H(){6.5X=5K;6.3C()},5Z:5L,5Y:5L,5X:5L};J F=H(a){J b=a.4U;1v(b&&b!=6)1P{b=b.1f}1U(e){b=6}G(b!=6){a.V=a.N;7.15.1E.1x(6,1m)}};7.U({99:\'7e\',98:\'7d\'},H(b,a){7.15.3O[a]={4h:H(){7.15.1G(6,b,F,a)},4k:H(){7.15.24(6,b,F)}}});7.1c.1w({4R:H(c,a,b){I c=="7c"?6.3x(c,a,b):6.U(H(){7.15.1G(6,c,b||a,b&&a)})},3x:H(d,b,c){J e=7.15.3P(c||b,H(a){7(6).6T(a,e);I(c||b).1x(6,1m)});I 6.U(H(){7.15.1G(6,d,e,c&&b)})},6T:H(a,b){I 6.U(H(){7.15.24(6,a,b)})},1L:H(a,b){I 6.U(H(){7.15.1L(a,b,6)})},6y:H(a,b){G(6[0]){J c=7.3f(a);c.3h();c.3C();7.15.1L(c,b,6[0]);I c.2z}},3t:H(b){J c=1m,i=1;1v(i<c.K)7.15.3P(b,c[i++]);I 6.50(7.15.3P(b,H(a){6.7b=(6.7b||0)%i;a.3h();I c[6.7b++].1x(6,1m)||T}))},c2:H(a,b){I 6.7e(a).7d(b)},2P:H(a){5O();G(7.4Q)a.1j(M,7);L 7.4I.1n(a);I 6},4g:H(a,b){J c=7.15.3P(b);c.25+=6.1Q+a;7(M).4R(7a(a,6.1Q),6.1Q,c);I 6},c1:H(a,b){7(M).6T(7a(a,6.1Q),b?{25:b.25+6.1Q+a}:Q);I 6}});H 7i(d){J c=3r("(^|\\\\.)"+d.V+"(\\\\.|$)"),5G=O,77=[];7.U(7.N(6,"2D").4g||[],H(i,a){G(c.1a(a.V)){J b=7(d.2V).7u(a.N)[0];G(b)77.1n({18:b,1c:a})}});7.U(77,H(){G(6.1c.1j(6.18,d,6.1c.N)===T)5G=T});I 5G}H 7a(a,b){I["4g",a,b.1s(/\\./g,"`").1s(/ /g,"|")].3v(".")}7.1w({4Q:T,4I:[],2P:H(){G(!7.4Q){7.4Q=O;G(7.4I){7.U(7.4I,H(){6.1j(M,7)});7.4I=Q}7(M).6y("2P")}}});J y=T;H 5O(){G(y)I;y=O;G(M.53){M.53("95",H(){M.60("95",1m.4n,T);7.2P()},T)}L G(M.3J){M.3J("76",H(){G(M.4e==="1X"){M.51("76",1m.4n);7.2P()}});G(M.1z.93&&C==C.1i)(H(){G(7.4Q)I;1P{M.1z.93("19")}1U(3A){91(1m.4n,0);I}7.2P()})()}7.15.1G(C,"5E",7.2P)}7.U(("bZ,bY,5E,bX,5D,7c,50,bW,"+"bV,bU,bT,99,98,7e,7d,"+"bR,2r,6d,bQ,bO,bN,3A").2j(","),H(i,b){7.1c[b]=H(a){I a?6.4R(b,a):6.1L(b)}});7(C).4R(\'7c\',H(){P(J a 1q 7.1N)G(a!=1&&7.1N[a].1E)7.15.24(7.1N[a].1E.18)});(H(){7.1M={};J c=M.1z,1h=M.21("1h"),14=M.21("14"),2d="1h"+(34 6B).7C();14.R.1o="2Z";14.2H=\'   <5Q/><1O></1O><a 2q="/a" R="bM:8Z;4l:19;1A:.5;">a</a><2r><4T>1y</4T></2r><22><3H/></22>\';J b=14.1Y("*"),a=14.1Y("a")[0];G(!b||!b.K||!a){I}7.1M={94:14.1l.11==3,1S:!14.1Y("1S").K,bL:!!14.1Y("22")[0].1Y("*").K,96:!!14.1Y("5Q").K,R:/8Z/.1a(a.2w("R")),8T:a.2w("2q")==="/a",1A:a.R.1A==="0.5",4O:!!a.R.4O,6l:T,6k:O,49:Q};1h.V="1y/3Z";1P{1h.2E(M.5y("bJ."+2d+"=1;"))}1U(e){}c.2s(1h,c.1l);G(C[2d]){7.1M.6l=O;37 C[2d]}c.2b(1h);G(14.3J&&14.8Y){14.3J("70",H(){7.1M.6k=T;14.51("70",1m.4n)});14.4r(O).8Y("70")}7(H(){J a=M.21("14");a.R.2g="2Q";a.R.8X="2Q";M.1b.2E(a);7.49=7.1M.49=a.7x===2;M.1b.2b(a)})})();J z=7.1M.4O?"4O":"8W";7.3z={"P":"7L","6i":"1I","4l":z,4O:z,8W:z,bI:"bH",bG:"bF",8V:"bD",bB:"bA",bz:"6Z"};7.1c.1w({8S:7.1c.5E,5E:H(g,d,c){G(12 g!=="1r")I 6.8S(g);J e=g.1B(" ");G(e>=0){J i=g.1V(e,g.K);g=g.1V(0,e)}J f="3m";G(d)G(7.1T(d)){c=d;d=Q}L G(12 d==="22"){d=7.3H(d);f="8R"}J h=6;7.4E({1p:g,V:f,1Z:"2I",N:d,1X:H(a,b){G(b=="2e"||b=="8P")h.2I(i?7("<14/>").4a(a.4V.1s(/<1h(.|\\s)*?\\/1h>/g,"")).1u(i):a.4V);G(c)h.U(c,[a.4V,b,a])}});I 6},by:H(){I 7.3H(6.8O())},8O:H(){I 6.2m(H(){I 6.8N?7.2k(6.8N):6}).1d(H(){I 6.2p&&!6.5c&&(6.5x||/2r|6Y/i.1a(6.1k)||/1y|1J|5a/i.1a(6.V))}).2m(H(i,c){J b=7(6).5P();I b==Q?Q:7.3I(b)?7.2m(b,H(a,i){I{2p:c.2p,1C:a}}):{2p:c.2p,1C:b}}).3W()}});7.U("8L,4Y,8K,7p,8J,8I".2j(","),H(i,o){7.1c[o]=H(f){I 6.4R(o,f)}});J A=23();7.1w({3W:H(d,b,a,c){G(7.1T(b)){a=b;b=Q}I 7.4E({V:"3m",1p:d,N:b,2e:a,1Z:c})},bv:H(b,a){I 7.3W(b,Q,a,"1h")},bu:H(c,b,a){I 7.3W(c,b,a,"47")},bt:H(d,b,a,c){G(7.1T(b)){a=b;b={}}I 7.4E({V:"8R",1p:d,N:b,2e:a,1Z:c})},bq:H(a){7.1w(7.6V,a)},6V:{1p:56.2q,2i:O,V:"3m",8G:"5t/x-bp-71-bo",8F:O,3s:O,8E:H(){I C.7E?34 7E("bm.bl"):34 8D()},5s:{32:"5t/32, 1y/32",2I:"1y/2I",1h:"1y/3Z, 5t/3Z",47:"5t/47, 1y/3Z",1y:"1y/bi",43:"*/*"}},5r:{},4E:H(s){s=7.1w(O,s,7.1w(O,{},7.6V,s));J g,3j=/=\\?(&|$)/g,1W,N,V=s.V.2v();G(s.N&&s.8F&&12 s.N!=="1r")s.N=7.3H(s.N);G(s.1Z=="5q"){G(V=="3m"){G(!s.1p.Y(3j))s.1p+=(s.1p.Y(/\\?/)?"&":"?")+(s.5q||"8B")+"=?"}L G(!s.N||!s.N.Y(3j))s.N=(s.N?s.N+"&":"")+(s.5q||"8B")+"=?";s.1Z="47"}G(s.1Z=="47"&&(s.N&&s.N.Y(3j)||s.1p.Y(3j))){g="5q"+A++;G(s.N)s.N=(s.N+"").1s(3j,"="+g+"$1");s.1p=s.1p.1s(3j,"="+g+"$1");s.1Z="1h";C[g]=H(a){N=a;2e();1X();C[g]=17;1P{37 C[g]}1U(e){}G(i)i.2b(h)}}G(s.1Z=="1h"&&s.1N==Q)s.1N=T;G(s.1N===T&&V=="3m"){J j=23();J k=s.1p.1s(/(\\?|&)4F=.*?(&|$)/,"$bb="+j+"$2");s.1p=k+((k==s.1p)?(s.1p.Y(/\\?/)?"&":"?")+"4F="+j:"")}G(s.N&&V=="3m"){s.1p+=(s.1p.Y(/\\?/)?"&":"?")+s.N;s.N=Q}G(s.2i&&!7.4w++)7.15.1L("8L");J m=/^(\\w+:)?\\/\\/([^\\/?#]+)/.2F(s.1p);G(s.1Z=="1h"&&V=="3m"&&m&&(m[1]&&m[1]!=56.8A||m[2]!=56.b9)){J i=M.1Y("7O")[0];J h=M.21("1h");h.5n=s.1p;G(s.8z)h.b7=s.8z;G(!g){J l=T;h.b6=h.76=H(){G(!l&&(!6.4e||6.4e=="b5"||6.4e=="1X")){l=O;2e();1X();i.2b(h)}}}i.2E(h);I 17}J n=T;J c=s.8E();G(s.8x)c.8w(V,s.1p,s.3s,s.8x,s.5a);L c.8w(V,s.1p,s.3s);1P{G(s.N)c.5k("b4-b3",s.8G);G(s.6P)c.5k("b1-6O-b0",7.5r[s.1p]||"aZ, aX aW aV 6L:6L:6L aR");c.5k("X-aQ-aP","8D");c.5k("aN",s.1Z&&s.5s[s.1Z]?s.5s[s.1Z]+", */*":s.5s.43)}1U(e){}G(s.8s&&s.8s(c,s)===T){G(s.2i&&!--7.4w)7.15.1L("4Y");c.8r();I T}G(s.2i)7.15.1L("8I",[c,s]);J d=H(a){G(c.4e==0){G(f){6J(f);f=Q;G(s.2i&&!--7.4w)7.15.1L("4Y")}}L G(!n&&c&&(c.4e==4||a=="40")){n=O;G(f){6J(f);f=Q}1W=a=="40"?"40":!7.8q(c)?"3A":s.6P&&7.8p(c,s.1p)?"8P":"2e";G(1W=="2e"){1P{N=7.8o(c,s.1Z,s)}1U(e){1W="6F"}}G(1W=="2e"){J b;1P{b=c.6D("8l-6O")}1U(e){}G(s.6P&&b)7.5r[s.1p]=b;G(!g)2e()}L 7.6M(s,c,1W);1X();G(a)c.8r();G(s.3s)c=Q}};G(s.3s){J f=5w(d,13);G(s.40>0)91(H(){G(c&&!n)d("40")},s.40)}1P{c.aI(s.N)}1U(e){7.6M(s,c,Q,e)}G(!s.3s)d();H 2e(){G(s.2e)s.2e(N,1W);G(s.2i)7.15.1L("8J",[c,s])}H 1X(){G(s.1X)s.1X(c,1W);G(s.2i)7.15.1L("8K",[c,s]);G(s.2i&&!--7.4w)7.15.1L("4Y")}I c},6M:H(s,a,b,e){G(s.3A)s.3A(a,b,e);G(s.2i)7.15.1L("7p",[a,s,e])},4w:0,8q:H(a){1P{I!a.1W&&56.8A=="6e:"||(a.1W>=8j&&a.1W<aG)||a.1W==8i||a.1W==aE}1U(e){}I T},8p:H(a,c){1P{J b=a.6D("8l-6O");I a.1W==8i||b==7.5r[c]}1U(e){}I T},8o:H(a,b,s){J c=a.6D("aB-V"),32=b=="32"||!b&&c&&c.1B("32")>=0,N=32?a.aA:a.4V;G(32&&N.1z.4c=="6F")5A"6F";G(s&&s.8h)N=s.8h(N,b);G(12 N==="1r"){G(b=="1h")7.6N(N);G(b=="47")N=C["az"]("("+N+")")}I N},3H:H(a){J s=[];H 1G(b,a){s[s.K]=8k(b)+\'=\'+8k(a)};G(7.3I(a)||a.6z)7.U(a,H(){1G(6.2p,6.1C)});L P(J j 1q a)G(7.3I(a[j]))7.U(a[j],H(){1G(j,6)});L 1G(j,7.1T(a[j])?a[j]():a[j]);I s.3v("&").1s(/%20/g,"+")}});J B={},6H,6G=[["2u","44","au","at","as"],["2g","6K","aT","8X","aU"],["1A"]];H 3q(a,c){J b={};7.U(6G.75.1x([],6G.1V(0,c)),H(){b[6]=a});I b}7.1c.1w({2h:H(b,a){G(b){I 6.45(3q("2h",3),b,a)}L{P(J i=0,l=6.K;i<l;i++){J e=7.N(6[i],"4X");6[i].R.1o=e||"";G(7.1R(6[i],"1o")==="2Z"){J d=6[i].4c,1o;G(B[d]){1o=B[d]}L{J c=7("<"+d+" />").8m("1b");1o=c.1R("1o");G(1o==="2Z")1o="58";c.24();B[d]=1o}6[i].R.1o=7.N(6[i],"4X",1o)}}I 6}},27:H(b,a){G(b){I 6.45(3q("27",3),b,a)}L{P(J i=0,l=6.K;i<l;i++){J c=7.N(6[i],"4X");G(!c&&c!=="2Z")7.N(6[i],"4X",7.1R(6[i],"1o"));6[i].R.1o="2Z"}I 6}},8f:7.1c.3t,3t:H(b,c){J d=12 b==="6U";I 7.1T(b)&&7.1T(c)?6.8f.1x(6,1m):b==Q||d?6.U(H(){J a=d?b:7(6).3V(":1J");7(6)[a?"2h":"27"]()}):6.45(3q("3t",3),b,c)},an:H(c,a,b){I 6.45({1A:a},c,b)},45:H(k,j,i,g){J h=7.8e(j,i,g);I 6[h.2x===T?"U":"2x"](H(){J f=7.1w({},h),p,1J=6.11==1&&7(6).3V(":1J"),3n=6;P(p 1q k){G(k[p]=="27"&&1J||k[p]=="2h"&&!1J)I f.1X.1j(6);G((p=="2u"||p=="2g")&&6.R){f.1o=7.1R(6,"1o");f.36=6.R.36}}G(f.36!=Q)6.R.36="1J";f.4G=7.1w({},k);7.U(k,H(c,a){J e=34 7.26(3n,f,c);G(/3t|2h|27/.1a(a))e[a=="3t"?1J?"2h":"27":a](k);L{J b=a.2t().Y(/^([+-]=)?([\\d+-.]+)(.*)$/),2o=e.2c(O)||0;G(b){J d=3F(b[2]),33=b[3]||"3p";G(33!="3p"){3n.R[c]=(d||1)+33;2o=((d||1)/e.2c(O))*2o;3n.R[c]=2o+33}G(b[1])d=((b[1]=="-="?-1:1)*d)+2o;e.4B(2o,d,33)}L e.4B(2o,a,"")}});I O})},5G:H(b,c){J a=7.4p;G(b)6.2x([]);6.U(H(){P(J i=a.K-1;i>=0;i--)G(a[i].18==6){G(c)a[i](O);a.5F(i,1)}});G(!c)6.4K();I 6}});7.U({am:3q("2h",1),al:3q("27",1),ak:3q("3t",1),aj:{1A:"2h"},ai:{1A:"27"}},H(c,d){7.1c[c]=H(b,a){I 6.45(d,b,a)}});7.1w({8e:H(b,a,c){J d=12 b==="22"?b:{1X:c||!c&&a||7.1T(b)&&b,31:b,4J:c&&a||a&&!7.1T(a)&&a};d.31=7.26.ah?0:12 d.31==="4N"?d.31:7.26.6A[d.31]||7.26.6A.43;d.6Q=d.1X;d.1X=H(){G(d.2x!==T)7(6).4K();G(7.1T(d.6Q))d.6Q.1j(6)};I d},4J:{8b:H(p,n,b,a){I b+a*p},6R:H(p,n,b,a){I((-3c.ag(p*3c.af)/2)+0.5)*a+b}},4p:[],26:H(b,c,a){6.1e=c;6.18=b;6.1g=a;G(!c.4L)c.4L={}}});7.26.2f={6x:H(){G(6.1e.3w)6.1e.3w.1j(6.18,6.23,6);(7.26.3w[6.1g]||7.26.3w.43)(6);G((6.1g=="2u"||6.1g=="2g")&&6.18.R)6.18.R.1o="58"},2c:H(a){G(6.18[6.1g]!=Q&&(!6.18.R||6.18.R[6.1g]==Q))I 6.18[6.1g];J r=3F(7.1R(6.18,6.1g,a));I r&&r>-ad?r:3F(7.2A(6.18,6.1g))||0},4B:H(c,b,d){6.6w=23();6.2o=c;6.5i=b;6.33=d||6.33||"3p";6.23=6.2o;6.3e=6.5v=0;J e=6;H t(a){I e.3w(a)}t.18=6.18;G(t()&&7.4p.1n(t)==1){6H=5w(H(){J a=7.4p;P(J i=0;i<a.K;i++)G(!a[i]())a.5F(i--,1);G(!a.K){6J(6H)}},13)}},2h:H(){6.1e.4L[6.1g]=7.2a(6.18.R,6.1g);6.1e.2h=O;6.4B(6.1g=="2g"||6.1g=="2u"?1:0,6.2c());7(6.18).2h()},27:H(){6.1e.4L[6.1g]=7.2a(6.18.R,6.1g);6.1e.27=O;6.4B(6.2c(),0)},3w:H(a){J t=23();G(a||t>=6.1e.31+6.6w){6.23=6.5i;6.3e=6.5v=1;6.6x();6.1e.4G[6.1g]=O;J b=O;P(J i 1q 6.1e.4G)G(6.1e.4G[i]!==O)b=T;G(b){G(6.1e.1o!=Q){6.18.R.36=6.1e.36;6.18.R.1o=6.1e.1o;G(7.1R(6.18,"1o")=="2Z")6.18.R.1o="58"}G(6.1e.27)7(6.18).27();G(6.1e.27||6.1e.2h)P(J p 1q 6.1e.4G)7.2a(6.18.R,p,6.1e.4L[p]);6.1e.1X.1j(6.18)}I T}L{J n=t-6.6w;6.5v=n/6.1e.31;6.3e=7.4J[6.1e.4J||(7.4J.6R?"6R":"8b")](6.5v,n,0,1,6.1e.31);6.23=6.2o+((6.5i-6.2o)*6.3e);6.6x()}I O}};7.1w(7.26,{6A:{ab:aa,a9:8j,43:a8},3w:{1A:H(a){7.2a(a.18.R,"1A",a.23)},43:H(a){G(a.18.R&&a.18.R[a.1g]!=Q)a.18.R[a.1g]=a.23+a.33;L a.18[a.1g]=a.23}}});G(M.1z["8a"])7.1c.1t=H(){G(!6[0])I{1i:0,19:0};G(6[0]===6[0].1F.1b)I 7.1t.6u(6[0]);J a=6[0].8a(),3l=6[0].1F,1b=3l.1b,2M=3l.1z,4C=2M.4C||1b.4C||0,4i=2M.4i||1b.4i||0,1i=a.1i+(3n.88||7.49&&2M.3b||1b.3b)-4C,19=a.19+(3n.87||7.49&&2M.35||1b.35)-4i;I{1i:1i,19:19}};L 7.1c.1t=H(){G(!6[0])I{1i:0,19:0};G(6[0]===6[0].1F.1b)I 7.1t.6u(6[0]);7.1t.5C||7.1t.72();J a=6[0],2y=a.2y,84=a,3l=a.1F,2W,2M=3l.1z,1b=3l.1b,3a=3l.3a,4M=3a.5h(a,Q),1i=a.2X,19=a.5J;1v((a=a.1f)&&a!==1b&&a!==2M){2W=3a.5h(a,Q);1i-=a.3b,19-=a.35;G(a===2y){1i+=a.2X,19+=a.5J;G(7.1t.83&&!(7.1t.82&&/^t(a3|d|h)$/i.1a(a.4c)))1i+=2Y(2W.6t,10)||0,19+=2Y(2W.73,10)||0;84=2y,2y=a.2y}G(7.1t.81&&2W.36!=="62")1i+=2Y(2W.6t,10)||0,19+=2Y(2W.73,10)||0;4M=2W}G(4M.2B==="2T"||4M.2B==="80")1i+=1b.2X,19+=1b.5J;G(4M.2B==="a0")1i+=3c.48(2M.3b,1b.3b),19+=3c.48(2M.35,1b.35);I{1i:1i,19:19}};7.1t={72:H(){G(6.5C)I;J a=M.1b,2L=M.21(\'14\'),4b,5j,1O,4f,5z,1g,7X=a.R.44,2I=\'<14 R="2B:5b;1i:0;19:0;4P:0;2G:92 90 #7U;4o:0;2g:2Q;2u:2Q;"><14></14></14><1O R="2B:5b;1i:0;19:0;4P:0;2G:92 90 #7U;4o:0;2g:2Q;2u:2Q;" 9Z="0" 8V="0"><41><4f></4f></41></1O>\';5z={2B:\'5b\',1i:0,19:0,4P:0,2G:0,2g:\'2Q\',2u:\'2Q\',5p:\'1J\'};P(1g 1q 5z)2L.R[1g]=5z[1g];2L.2H=2I;a.2s(2L,a.1l);4b=2L.1l,5j=4b.1l,4f=4b.46.1l.1l;6.83=(5j.2X!==5);6.82=(4f.2X===5);4b.R.36=\'1J\',4b.R.2B=\'2T\';6.81=(5j.2X===-5);a.R.44=\'2Q\';6.7T=(a.2X===0);a.R.44=7X;a.2b(2L);6.5C=O},6u:H(a){7.1t.5C||7.1t.72();J b=a.2X,19=a.5J;G(7.1t.7T)b+=2Y(7.2A(a,\'44\',O),10)||0,19+=2Y(7.2A(a,\'6K\',O),10)||0;I{1i:b,19:19}}};7.1c.1w({2B:H(){J a=0,1i=0,78;G(6[0]){J b=6.2y(),1t=6.1t(),4x=/^1b|2I$/i.1a(b[0].4c)?{1i:0,19:0}:b.1t();1t.1i-=2l(6,\'44\');1t.19-=2l(6,\'6K\');4x.1i+=2l(b,\'6t\');4x.19+=2l(b,\'73\');78={1i:1t.1i-4x.1i,19:1t.19-4x.19}}I 78},2y:H(){J a=6[0].2y||M.1b;1v(a&&(!/^1b|2I$/i.1a(a.4c)&&7.1R(a,\'2B\')==\'80\'))a=a.2y;I 7(a)}});7.U([\'6a\',\'69\'],H(i,b){J c=\'5D\'+b;7.1c[c]=H(a){G(!6[0])I Q;I a!==17?6.U(H(){6==C||6==M?C.9W(!i?a:7(C).35(),i?a:7(C).3b()):6[c]=a}):6[0]==C||6[0]==M?3n[i?\'88\':\'87\']||7.49&&M.1z[c]||M.1b[c]:6[0][c]}});7.U(["9V","54"],H(i,c){J d=i?"6a":"69",br=i?"7B":"7y";7.1c["9b"+c]=H(){I 6[c.3L()]()+2l(6,"4o"+d)+2l(6,"4o"+br)};7.1c["9U"+c]=H(a){I 6["9b"+c]()+2l(6,"2G"+d+"54")+2l(6,"2G"+br+"54")+(a?2l(6,"4P"+d)+2l(6,"4P"+br):0)};J b=c.3L();7.1c[b]=H(a){I 6[0]==C?M.9T=="9S"&&M.1z["7j"+c]||M.1b["7j"+c]:6[0]==M?3c.48(M.1z["7j"+c],M.1b["5D"+c],M.1z["5D"+c],M.1b["1t"+c],M.1z["1t"+c]):a===17?(6.K?7.1R(6[0],b):Q):6.1R(b,12 a==="1r"?a:a+"3p")}})})();',62,759,'||||||this|jQuery|||||||||||||||||||||||||||||||||||if|function|return|var|length|else|document|data|true|for|null|style||false|each|type|||match|||nodeType|typeof||div|event||undefined|elem|left|test|body|fn|filter|options|parentNode|prop|script|top|call|nodeName|firstChild|arguments|push|display|url|in|string|replace|offset|find|while|extend|apply|text|documentElement|opacity|indexOf|value|set|handle|ownerDocument|add|checkSet|className|hidden|break|trigger|support|cache|table|try|selector|css|tbody|isFunction|catch|slice|status|complete|getElementsByTagName|dataType||createElement|object|now|remove|guid|fx|hide|check|first|attr|removeChild|cur|id|success|prototype|width|show|global|split|makeArray|num|map||start|name|href|select|insertBefore|toString|height|toUpperCase|getAttribute|queue|offsetParent|result|curCSS|position|done|events|appendChild|exec|border|innerHTML|html|last|Array|container|docElem|parent|button|ready|1px|pop|pushStack|relative|copy|target|computedStyle|offsetTop|parseInt|none|inArray|duration|xml|unit|new|scrollLeft|overflow|delete|nth|curLoop|defaultView|scrollTop|Math|expr|pos|Event|anyFound|preventDefault|ID|jsre|selectors|doc|GET|self|shift|px|genFx|RegExp|async|toggle|removeData|join|step|one|childNodes|props|error|which|stopPropagation|nodeIndex|getAttributeNode|parseFloat|context|param|isArray|attachEvent|POS|toLowerCase|multiFilter|ret|special|proxy|scripts|filters|u00c0|TAG|found|is|get|input|extra|javascript|timeout|tr|checkFn|_default|marginTop|animate|nextSibling|json|max|boxModel|append|innerDiv|tagName|getElementById|readyState|td|live|setup|clientLeft|grep|teardown|float|specialAll|callee|padding|timers|has|cloneNode|PSEUDO|CLASS|uFFFF_|item|active|parentOffset|not|charCode|domManip|custom|clientTop|previousSibling|ajax|_|curAnim|root|readyList|easing|dequeue|orig|prevComputedStyle|number|cssFloat|margin|isReady|bind|selected|option|relatedTarget|responseText|fromElement|olddisplay|ajaxStop|currentStyle|click|detachEvent|on|addEventListener|Width|querySelectorAll|location|handlers|block|index|password|absolute|disabled|isXMLDoc|odd|even|unique|getComputedStyle|end|checkDiv|setRequestHeader|deep|attrHandle|src|dir|visibility|jsonp|lastModified|accepts|application|nodeValue|state|setInterval|checked|createTextNode|rules|throw|empty|initialized|scroll|load|splice|stop|order|selectedIndex|offsetLeft|returnTrue|returnFalse|clean|matches|bindReady|val|link|merge|metaKey|keyCode|ctrlKey|clientX|runtimeStyle|isImmediatePropagationStopped|isPropagationStopped|isDefaultPrevented|removeEventListener|handler|visible|init|sort|triggered|later|getWH|getElementsByClassName|Top|Left|andSelf|contains|submit|file|eq|dirNodeCheck|dirCheck|class|attrMap|noCloneEvent|scriptEval|trim|CHILD|ATTR|NAME|prevObject|preFilter|pageX|borderTopWidth|bodyOffset|opera|startTime|update|triggerHandler|jquery|speeds|Date|windowData|getResponseHeader|removeAttribute|parsererror|fxAttrs|timerId|sibling|clearInterval|marginLeft|00|handleError|globalEval|Modified|ifModified|old|swing|wrapAll|unbind|boolean|ajaxSettings|checkbox|radio|textarea|tabIndex|onclick|form|initialize|borderLeftWidth|after|concat|onreadystatechange|elems|results|values|liveConvert|lastToggle|unload|mouseleave|mouseenter|prune|substr|originalEvent|liveHandler|client|area|toElement|srcElement|pageY|col|ajaxError|clientY|quickExpr|rsLeft|fix|closest|currentTarget|exclusive|offsetWidth|Bottom|compareDocumentPosition|TEST|Right|getTime|source|ActiveXObject|setFilters|reset|image|unshift|swap|getElementsByName|htmlFor|lt|gt|head|only|HTML|_jQuery|Object|doesNotIncludeMarginInBodyOffset|000|zoom|expression|bodyMarginTop|unrecognized|Syntax|static|subtractsBorderForOverflowNotVisible|doesAddBorderForTableAndCells|doesNotAddBorder|prevOffsetParent|before|continue|pageXOffset|pageYOffset|prepend|getBoundingClientRect|linear|uuid|textContent|speed|_toggle|contents|dataFilter|304|200|encodeURIComponent|Last|appendTo|setArray|httpData|httpNotModified|httpSuccess|abort|beforeSend|evalScript|mozilla|msie|open|username|webkit|scriptCharset|protocol|callback|clone|XMLHttpRequest|xhr|processData|contentType|replaceWith|ajaxSend|ajaxSuccess|ajaxComplete|ajaxStart|100|elements|serializeArray|notmodified|alpha|POST|_load|hrefNormalized|isSimple|cellspacing|styleFloat|paddingLeft|fireEvent|red|solid|setTimeout|5px|doScroll|leadingWhitespace|DOMContentLoaded|htmlSerialize|colgroup|mouseout|mouseover|specified|inner|fieldset|multiple|embed|wheelDelta|hr|view|shiftKey|meta|screenY|screenX|relatedNode|hasClass|prevValue|img|originalTarget|newValue|abbr|eventPhase|detail|cancelable|bubbles|pixelLeft|attrName|attrChange|altKey|getPropertyValue|charAt|round|Sizzle|offsetHeight|animated|createComment|innerText|BUTTON|header|enabled|0n|dn|child|uFFFF|Function|noConflict|CSS1Compat|compatMode|outer|Height|scrollTo|leftContext|line|cellpadding|fixed|weight|font|able|rightContext|lastIndex|mode|size|400|fast|600|slow|setData|10000|getData|PI|cos|off|fadeOut|fadeIn|slideToggle|slideUp|slideDown|fadeTo|toggleClass|removeClass|wrap|addClass|paddingBottom|paddingTop|marginBottom|removeAttr|replaceAll|insertAfter|prependTo|eval|responseXML|content|contentWindow|wrapInner|1223|contentDocument|300|iframe|send|children|siblings|prevAll|nextAll|Accept|prev|With|Requested|GMT|next|marginRight|paddingRight|1970|Jan|01|parents|Thu|Since|If|compatible|Type|Content|loaded|onload|charset|safari|host|ie|1_|ra|it||rv|createDocumentFragment|version|plain|browser|userAgent|XMLHTTP|Microsoft|navigator|urlencoded|www|ajaxSetup||getAll|post|getJSON|getScript|ig|NaN|serialize|tabindex|rowSpan|rowspan|setAttribute|cellSpacing|cssText|maxLength|maxlength|readOnly|readonly|window|changed|objectAll|color|keyup|keypress|can|keydown|change|property|mousemove|mouseup|mousedown|dblclick|resize|focus|blur|lastChild|die|hover|th|cap|colg|tfoot|thead|stopImmediatePropagation|cancelBubble|returnValue|leg|timeStamp|opt|attributes'.split('|'),0,{}));(function($){var m={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'},s={'array':function(x){var a=['['],b,f,i,l=x.length,v;for(i=0;i<l;i+=1){v=x[i];f=s[typeof v];if(f){v=f(v);if(typeof v=='string'){if(b){a[a.length]=','}a[a.length]=v;b=true}}}a[a.length]=']';return a.join('')},'boolean':function(x){return String(x)},'null':function(x){return"null"},'number':function(x){return isFinite(x)?String(x):'null'},'object':function(x){if(x){if(x instanceof Array){return s.array(x)}var a=['{'],b,f,i,v;for(i in x){v=x[i];f=s[typeof v];if(f){v=f(v);if(typeof v=='string'){if(b){a[a.length]=','}a.push(s.string(i),':',v);b=true}}}a[a.length]='}';return a.join('')}return'null'},'string':function(x){if(/["\\\x00-\x1f]/.test(x)){x=x.replace(/([\x00-\x1f\\"])/g,function(a,b){var c=m[b];if(c){return c}c=b.charCodeAt();return'\\u00'+Math.floor(c/16).toString(16)+(c%16).toString(16)})}return'"'+x+'"'}};$.toJSON=function(v){var f=isNaN(v)?s[typeof v]:s['number'];if(f)return f(v)};$.parseJSON=function(v,safe){if(safe===undefined)safe=$.parseJSON.safe;if(safe&&!/^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t])+?$/.test(v))return undefined;return eval('('+v+')')};$.parseJSON.safe=false})(jQuery);/*
    http://www.JSON.org/json2.js
    2008-11-19

    Public Domain.

    NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.

    See http://www.JSON.org/js.html

    This file creates a global JSON object containing two methods: stringify
    and parse.

        JSON.stringify(value, replacer, space)
            value       any JavaScript value, usually an object or array.

            replacer    an optional parameter that determines how object
                        values are stringified for objects. It can be a
                        function or an array of strings.

            space       an optional parameter that specifies the indentation
                        of nested structures. If it is omitted, the text will
                        be packed without extra whitespace. If it is a number,
                        it will specify the number of spaces to indent at each
                        level. If it is a string (such as '\t' or '&nbsp;'),
                        it contains the characters used to indent at each level.

            This method produces a JSON text from a JavaScript value.

            When an object value is found, if the object contains a toJSON
            method, its toJSON method will be called and the result will be
            stringified. A toJSON method does not serialize: it returns the
            value represented by the name/value pair that should be serialized,
            or undefined if nothing should be serialized. The toJSON method
            will be passed the key associated with the value, and this will be
            bound to the object holding the key.

            For example, this would serialize Dates as ISO strings.

                Date.prototype.toJSON = function (key) {
                    function f(n) {
                        // Format integers to have at least two digits.
                        return n < 10 ? '0' + n : n;
                    }

                    return this.getUTCFullYear()   + '-' +
                         f(this.getUTCMonth() + 1) + '-' +
                         f(this.getUTCDate())      + 'T' +
                         f(this.getUTCHours())     + ':' +
                         f(this.getUTCMinutes())   + ':' +
                         f(this.getUTCSeconds())   + 'Z';
                };

            You can provide an optional replacer method. It will be passed the
            key and value of each member, with this bound to the containing
            object. The value that is returned from your method will be
            serialized. If your method returns undefined, then the member will
            be excluded from the serialization.

            If the replacer parameter is an array of strings, then it will be
            used to select the members to be serialized. It filters the results
            such that only members with keys listed in the replacer array are
            stringified.

            Values that do not have JSON representations, such as undefined or
            functions, will not be serialized. Such values in objects will be
            dropped; in arrays they will be replaced with null. You can use
            a replacer function to replace those with JSON values.
            JSON.stringify(undefined) returns undefined.

            The optional space parameter produces a stringification of the
            value that is filled with line breaks and indentation to make it
            easier to read.

            If the space parameter is a non-empty string, then that string will
            be used for indentation. If the space parameter is a number, then
            the indentation will be that many spaces.

            Example:

            text = JSON.stringify(['e', {pluribus: 'unum'}]);
            // text is '["e",{"pluribus":"unum"}]'


            text = JSON.stringify(['e', {pluribus: 'unum'}], null, '\t');
            // text is '[\n\t"e",\n\t{\n\t\t"pluribus": "unum"\n\t}\n]'

            text = JSON.stringify([new Date()], function (key, value) {
                return this[key] instanceof Date ?
                    'Date(' + this[key] + ')' : value;
            });
            // text is '["Date(---current time---)"]'


        JSON.parse(text, reviver)
            This method parses a JSON text to produce an object or array.
            It can throw a SyntaxError exception.

            The optional reviver parameter is a function that can filter and
            transform the results. It receives each of the keys and values,
            and its return value is used instead of the original value.
            If it returns what it received, then the structure is not modified.
            If it returns undefined then the member is deleted.

            Example:

            // Parse the text. Values that look like ISO date strings will
            // be converted to Date objects.

            myData = JSON.parse(text, function (key, value) {
                var a;
                if (typeof value === 'string') {
                    a =
/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/.exec(value);
                    if (a) {
                        return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4],
                            +a[5], +a[6]));
                    }
                }
                return value;
            });

            myData = JSON.parse('["Date(09/09/2001)"]', function (key, value) {
                var d;
                if (typeof value === 'string' &&
                        value.slice(0, 5) === 'Date(' &&
                        value.slice(-1) === ')') {
                    d = new Date(value.slice(5, -1));
                    if (d) {
                        return d;
                    }
                }
                return value;
            });


    This is a reference implementation. You are free to copy, modify, or
    redistribute.

    This code should be minified before deployment.
    See http://javascript.crockford.com/jsmin.html

    USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD CODE FROM SERVERS YOU DO
    NOT CONTROL.
*/

/*jslint evil: true */

/*global JSON */

/*members "", "\b", "\t", "\n", "\f", "\r", "\"", JSON, "\\", apply,
    call, charCodeAt, getUTCDate, getUTCFullYear, getUTCHours,
    getUTCMinutes, getUTCMonth, getUTCSeconds, hasOwnProperty, join,
    lastIndex, length, parse, prototype, push, replace, slice, stringify,
    test, toJSON, toString, valueOf
*/

/*
  Create a JSON object only if one does not already exist. We create the
  methods in a closure to avoid creating global variables.
*/

if (!this.JSON) {
    JSON = {};
}
(function () {

    function f(n) {
        /* Format integers to have at least two digits. */
        return n < 10 ? '0' + n : n;
    }

    if (typeof Date.prototype.toJSON !== 'function') {

        Date.prototype.toJSON = function (key) {

            return this.getUTCFullYear()   + '-' +
                 f(this.getUTCMonth() + 1) + '-' +
                 f(this.getUTCDate())      + 'T' +
                 f(this.getUTCHours())     + ':' +
                 f(this.getUTCMinutes())   + ':' +
                 f(this.getUTCSeconds())   + 'Z';
        };

        String.prototype.toJSON =
        Number.prototype.toJSON =
        Boolean.prototype.toJSON = function (key) {
            return this.valueOf();
        };
    }

    var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
        escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
        gap,
        indent,
        meta = {    /* table of character substitutions */
            '\b': '\\b',
            '\t': '\\t',
            '\n': '\\n',
            '\f': '\\f',
            '\r': '\\r',
            '"' : '\\"',
            '\\': '\\\\'
        },
        rep;


    function quote(string) {

/*
  If the string contains no control characters, no quote characters, and no
  backslash characters, then we can safely slap some quotes around it.
  Otherwise we must also replace the offending characters with safe escape
  sequences.
*/

        escapable.lastIndex = 0;
        return escapable.test(string) ?
            '"' + string.replace(escapable, function (a) {
                var c = meta[a];
                return typeof c === 'string' ? c :
                    '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
            }) + '"' :
            '"' + string + '"';
    }


    function str(key, holder) {

/* Produce a string from holder[key]. */

        var i,          /* The loop counter. */
            k,          /* The member key. */
            v,          /* The member value. */
            length,
            mind = gap,
            partial,
            value = holder[key];

/* If the value has a toJSON method, call it to obtain a replacement value. */

        if (value && typeof value === 'object' &&
                typeof value.toJSON === 'function') {
            value = value.toJSON(key);
        }
/*
  If we were called with a replacer function, then call the replacer to
  obtain a replacement value.
*/
        if (typeof rep === 'function') {
            value = rep.call(holder, key, value);
        }

/* What happens next depends on the value's type. */

        switch (typeof value) {
        case 'string':
            return quote(value);

        case 'number':

/* JSON numbers must be finite. Encode non-finite numbers as null. */

            return isFinite(value) ? String(value) : 'null';

        case 'boolean':
        case 'null':
/*
  If the value is a boolean or null, convert it to a string. Note:
  typeof null does not produce 'null'. The case is included here in
  the remote chance that this gets fixed someday.
*/
            return String(value);
/*
  If the type is 'object', we might be dealing with an object or an array or
  null.
*/
        case 'object':
/*
  Due to a specification blunder in ECMAScript, typeof null is 'object',
  so watch out for that case.
*/
            if (!value) {
                return 'null';
            }

/* Make an array to hold the partial results of stringifying this object value. */

            gap += indent;
            partial = [];

/* Is the value an array? */

            if (Object.prototype.toString.apply(value) === '[object Array]') {

/*
  The value is an array. Stringify every element. Use null as a placeholder
  for non-JSON values.
*/

                length = value.length;
                for (i = 0; i < length; i += 1) {
                    partial[i] = str(i, value) || 'null';
                }
/*
  Join all of the elements together, separated with commas, and wrap them in
  brackets.
*/
                v = partial.length === 0 ? '[]' :
                    gap ? '[\n' + gap +
                            partial.join(',\n' + gap) + '\n' +
                                mind + ']' :
                          '[' + partial.join(',') + ']';
                gap = mind;
                return v;
            }

/* If the replacer is an array, use it to select the members to be stringified. */

            if (rep && typeof rep === 'object') {
                length = rep.length;
                for (i = 0; i < length; i += 1) {
                    k = rep[i];
                    if (typeof k === 'string') {
                        v = str(k, value);
                        if (v) {
                            partial.push(quote(k) + (gap ? ': ' : ':') + v);
                        }
                    }
                }
            } else {

/* Otherwise, iterate through all of the keys in the object. */

                for (k in value) {
                    if (Object.hasOwnProperty.call(value, k)) {
                        v = str(k, value);
                        if (v) {
                            partial.push(quote(k) + (gap ? ': ' : ':') + v);
                        }
                    }
                }
            }

/*
  Join all of the member texts together, separated with commas,
  and wrap them in braces.
*/
            v = partial.length === 0 ? '{}' :
                gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' +
                        mind + '}' : '{' + partial.join(',') + '}';
            gap = mind;
            return v;
        }
    }

/* If the JSON object does not yet have a stringify method, give it one. */

    if (typeof JSON.stringify !== 'function') {
        JSON.stringify = function (value, replacer, space) {

/*
The stringify method takes a value and an optional replacer, and an optional
space parameter, and returns a JSON text. The replacer can be a function
that can replace values, or an array of strings that will select the keys.
A default replacer method can be provided. Use of the space parameter can
produce text that is more easily readable.
*/
            var i;
            gap = '';
            indent = '';
/*
If the space parameter is a number, make an indent string containing that
many spaces.
*/
            if (typeof space === 'number') {
                for (i = 0; i < space; i += 1) {
                    indent += ' ';
                }

/* If the space parameter is a string, it will be used as the indent string. */

            } else if (typeof space === 'string') {
                indent = space;
            }
/*
If there is a replacer, it must be a function or an array.
Otherwise, throw an error.
*/
            rep = replacer;
            if (replacer && typeof replacer !== 'function' &&
                    (typeof replacer !== 'object' ||
                     typeof replacer.length !== 'number')) {
                throw new Error('JSON.stringify');
            }
/*
Make a fake root object containing our value under the key of ''.
Return the result of stringifying the value.
*/
            return str('', {'': value});
        };
    }


/*If the JSON object does not yet have a parse method, give it one.*/

    if (typeof JSON.parse !== 'function') {
        JSON.parse = function (text, reviver) {
/*
The parse method takes a text and an optional reviver function, and returns
a JavaScript value if the text is a valid JSON text.
*/
            var j;

            function walk(holder, key) {
/*
The walk method is used to recursively walk the resulting structure so
that modifications can be made.
*/
                var k, v, value = holder[key];
                if (value && typeof value === 'object') {
                    for (k in value) {
                        if (Object.hasOwnProperty.call(value, k)) {
                            v = walk(value, k);
                            if (v !== undefined) {
                                value[k] = v;
                            } else {
                                delete value[k];
                            }
                        }
                    }
                }
                return reviver.call(holder, key, value);
            }

/*
Parsing happens in four stages. In the first stage, we replace certain
Unicode characters with escape sequences. JavaScript handles many characters
incorrectly, either silently deleting them, or treating them as line endings.
*/
            cx.lastIndex = 0;
            if (cx.test(text)) {
                text = text.replace(cx, function (a) {
                    return '\\u' +
                        ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
                });
            }
/*
In the second stage, we run the text against regular expressions that look
for non-JSON patterns. We are especially concerned with '()' and 'new'
because they can cause invocation, and '=' because it can cause mutation.
But just to be safe, we want to reject all unexpected forms.

We split the second stage into 4 regexp operations in order to work around
crippling inefficiencies in IE's and Safari's regexp engines. First we
replace the JSON backslash pairs with '@' (a non-JSON character). Second, we
replace all simple value tokens with ']' characters. Third, we delete all
open brackets that follow a colon or comma or that begin the text. Finally,
we look to see that the remaining characters are only whitespace or ']' or
',' or ':' or '{' or '}'. If that is so, then the text is safe for eval.
*/
            if (/^[\],:{}\s]*$/.
test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@').
replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']').
replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) {
/*
In the third stage we use the eval function to compile the text into a
JavaScript structure. The '{' operator is subject to a syntactic ambiguity
in JavaScript: it can begin a block or an object literal. We wrap the text
in parens to eliminate the ambiguity.
*/
                j = eval('(' + text + ')');
/*
In the optional fourth stage, we recursively walk the new structure, passing
each name/value pair to a reviver function for possible transformation.
*/
                return typeof reviver === 'function' ?
                    walk({'': j}, '') : j;
            }

/*If the text is not JSON parseable, then a SyntaxError is thrown.*/

            throw new SyntaxError('JSON.parse');
        };
    }
})();
/* v 0.0.2 */

jQuery.extend({
	param: function( a , pn, d) {
		if (!d)
			d=0;

		var t = typeof(a);
		/* We're at the end of the line so return it. */
		if ((t == 'string' || t == 'number' || t == 'boolean' || t == 'undefined') && pn)
			return pn+'='+encodeURIComponent(a);

		var s = [];
		if ( a.constructor == Array || a.jquery )
			/* Serialize the form elements */
			jQuery.each( a, function(i){
				if (this.name) {
					s.push( encodeURIComponent(this.name) + "=" + encodeURIComponent( this.value ) );
				} else {
					if (!pn) {
						s.push(jQuery.param(a[i], encodeURIComponent(i),d));
					} else {
						s.push(jQuery.param(a[i], pn+"["+encodeURIComponent(i)+"]",d));
					}
				}
			});
		/* Otherwise, assume that it's an object of key/value pairs */
		else
			for ( var j in a ) {
				d++;
				/* prevent infinite recursion.  max of 10 levels deep. */
				if (d>10)
					break;

				if (!pn)
					/* recurse into siblings. with this as parent. */
					s.push(jQuery.param(a[j], encodeURIComponent(j),d));
				 else
					/* recurse into siblings. */
					s.push(jQuery.param(a[j], pn+"["+encodeURIComponent(j)+"]",d));

			}
		/* Return the resulting serialization */
		return s.join("&").replace(/%20/g, "+");
	}
});

/*
 * jQuery Form Plugin
 * version: 2.17 (06-NOV-2008)
 * @requires jQuery v1.2.2 or later
 *
 * Examples and documentation at: http://malsup.com/jquery/form/
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 *
 * Revision: $Id$
 */
(function($) {

/*
    Usage Note:
    -----------
    Do not use both ajaxSubmit and ajaxForm on the same form.  These
    functions are intended to be exclusive.  Use ajaxSubmit if you want
    to bind your own submit handler to the form.  For example,

    $(document).ready(function() {
        $('#myForm').bind('submit', function() {
            $(this).ajaxSubmit({
                target: '#output'
            });
            return false; // <-- important!
        });
    });

    Use ajaxForm when you want the plugin to manage all the event binding
    for you.  For example,

    $(document).ready(function() {
        $('#myForm').ajaxForm({
            target: '#output'
        });
    });

    When using ajaxForm, the ajaxSubmit function will be invoked for you
    at the appropriate time.
*/

/**
 * ajaxSubmit() provides a mechanism for immediately submitting
 * an HTML form using AJAX.
 */
$.fn.ajaxSubmit = function(options) {
    // fast fail if nothing selected (http://dev.jquery.com/ticket/2752)
    if (!this.length) {
        log('ajaxSubmit: skipping submit process - no element selected');
        return this;
    }

    if (typeof options == 'function')
        options = { success: options };

    options = $.extend({
        url:  this.attr('action') || window.location.toString(),
        type: this.attr('method') || 'GET'
    }, options || {});

    // hook for manipulating the form data before it is extracted;
    // convenient for use with rich editors like tinyMCE or FCKEditor
    var veto = {};
    this.trigger('form-pre-serialize', [this, options, veto]);
    if (veto.veto) {
        log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');
        return this;
    }

    // provide opportunity to alter form data before it is serialized
    if (options.beforeSerialize && options.beforeSerialize(this, options) === false) {
        log('ajaxSubmit: submit aborted via beforeSerialize callback');
        return this;
    }

    var a = this.formToArray(options.semantic);
    if (options.data) {
        options.extraData = options.data;
        for (var n in options.data) {
          if(options.data[n] instanceof Array) {
            for (var k in options.data[n])
              a.push( { name: n, value: options.data[n][k] } )
          }
          else
             a.push( { name: n, value: options.data[n] } );
        }
    }

    // give pre-submit callback an opportunity to abort the submit
    if (options.beforeSubmit && options.beforeSubmit(a, this, options) === false) {
        log('ajaxSubmit: submit aborted via beforeSubmit callback');
        return this;
    }

    // fire vetoable 'validate' event
    this.trigger('form-submit-validate', [a, this, options, veto]);
    if (veto.veto) {
        log('ajaxSubmit: submit vetoed via form-submit-validate trigger');
        return this;
    }

    var q = $.param(a);

    if (options.type.toUpperCase() == 'GET') {
        options.url += (options.url.indexOf('?') >= 0 ? '&' : '?') + q;
        options.data = null;  // data is null for 'get'
    }
    else
        options.data = q; // data is the query string for 'post'

    var $form = this, callbacks = [];
    if (options.resetForm) callbacks.push(function() { $form.resetForm(); });
    if (options.clearForm) callbacks.push(function() { $form.clearForm(); });

    // perform a load on the target only if dataType is not provided
    if (!options.dataType && options.target) {
        var oldSuccess = options.success || function(){};
        callbacks.push(function(data) {
            $(options.target).html(data).each(oldSuccess, arguments);
        });
    }
    else if (options.success)
        callbacks.push(options.success);

    options.success = function(data, status) {
        for (var i=0, max=callbacks.length; i < max; i++)
            callbacks[i].apply(options, [data, status, $form]);
    };

    // are there files to upload?
    var files = $('input:file', this).fieldValue();
    var found = false;
    for (var j=0; j < files.length; j++)
        if (files[j])
            found = true;

    // options.iframe allows user to force iframe mode
   if (options.iframe || found) {
       // hack to fix Safari hang (thanks to Tim Molendijk for this)
       // see:  http://groups.google.com/group/jquery-dev/browse_thread/thread/36395b7ab510dd5d
       if ($.browser.safari && options.closeKeepAlive)
           $.get(options.closeKeepAlive, fileUpload);
       else
           fileUpload();
       }
   else
       $.ajax(options);

    // fire 'notify' event
    this.trigger('form-submit-notify', [this, options]);
    return this;


    // private function for handling file uploads (hat tip to YAHOO!)
    function fileUpload() {
        var form = $form[0];

        if ($(':input[@name=submit]', form).length) {
            alert('Error: Form elements must not be named "submit".');
            return;
        }

        var opts = $.extend({}, $.ajaxSettings, options);
		var s = jQuery.extend(true, {}, $.extend(true, {}, $.ajaxSettings), opts);

        var id = 'jqFormIO' + (new Date().getTime());
        var $io = $('<iframe id="' + id + '" name="' + id + '" />');
        var io = $io[0];

        if ($.browser.msie || $.browser.opera)
            io.src = 'javascript:false;document.write("");';
        $io.css({ position: 'absolute', top: '-1000px', left: '-1000px' });

        var xhr = { // mock object
            aborted: 0,
            responseText: null,
            responseXML: null,
            status: 0,
            statusText: 'n/a',
            getAllResponseHeaders: function() {},
            getResponseHeader: function() {},
            setRequestHeader: function() {},
            abort: function() {
                this.aborted = 1;
                $io.attr('src','about:blank'); // abort op in progress
            }
        };

        var g = opts.global;
        // trigger ajax global events so that activity/block indicators work like normal
        if (g && ! $.active++) $.event.trigger("ajaxStart");
        if (g) $.event.trigger("ajaxSend", [xhr, opts]);

		if (s.beforeSend && s.beforeSend(xhr, s) === false) {
			s.global && jQuery.active--;
			return;
        }
        if (xhr.aborted)
            return;

        var cbInvoked = 0;
        var timedOut = 0;

        // add submitting element to data if we know it
        var sub = form.clk;
        if (sub) {
            var n = sub.name;
            if (n && !sub.disabled) {
                options.extraData = options.extraData || {};
                options.extraData[n] = sub.value;
                if (sub.type == "image") {
                    options.extraData[name+'.x'] = form.clk_x;
                    options.extraData[name+'.y'] = form.clk_y;
                }
            }
        }

        // take a breath so that pending repaints get some cpu time before the upload starts
        setTimeout(function() {
            // make sure form attrs are set
            var t = $form.attr('target'), a = $form.attr('action');
            $form.attr({
                target:   id,
                method:   'POST',
                action:   opts.url
            });

            // ie borks in some cases when setting encoding
            if (! options.skipEncodingOverride) {
                $form.attr({
                    encoding: 'multipart/form-data',
                    enctype:  'multipart/form-data'
                });
            }

            // support timout
            if (opts.timeout)
                setTimeout(function() { timedOut = true; cb(); }, opts.timeout);

            // add "extra" data to form if provided in options
            var extraInputs = [];
            try {
                if (options.extraData)
                    for (var n in options.extraData)
                        extraInputs.push(
                            $('<input type="hidden" name="'+n+'" value="'+options.extraData[n]+'" />')
                                .appendTo(form)[0]);

                // add iframe to doc and submit the form
                $io.appendTo('body');
                io.attachEvent ? io.attachEvent('onload', cb) : io.addEventListener('load', cb, false);
                form.submit();
            }
            finally {
                // reset attrs and remove "extra" input elements
                $form.attr('action', a);
                t ? $form.attr('target', t) : $form.removeAttr('target');
                $(extraInputs).remove();
            }
        }, 10);

        function cb() {
            if (cbInvoked++) return;

            io.detachEvent ? io.detachEvent('onload', cb) : io.removeEventListener('load', cb, false);

            var operaHack = 0;
            var ok = true;
            try {
                if (timedOut) throw 'timeout';
                // extract the server response from the iframe
                var data, doc;

                doc = io.contentWindow ? io.contentWindow.document : io.contentDocument ? io.contentDocument : io.document;

                if (doc.body == null && !operaHack && $.browser.opera) {
                    // In Opera 9.2.x the iframe DOM is not always traversable when
                    // the onload callback fires so we give Opera 100ms to right itself
                    operaHack = 1;
                    cbInvoked--;
                    setTimeout(cb, 100);
                    return;
                }

                xhr.responseText = doc.body ? doc.body.innerHTML : null;
                xhr.responseXML = doc.XMLDocument ? doc.XMLDocument : doc;
                xhr.getResponseHeader = function(header){
                    var headers = {'content-type': opts.dataType};
                    return headers[header];
                };

                if (opts.dataType == 'json' || opts.dataType == 'script') {
                    var ta = doc.getElementsByTagName('textarea')[0];
                    xhr.responseText = ta ? ta.value : xhr.responseText;
                }
                else if (opts.dataType == 'xml' && !xhr.responseXML && xhr.responseText != null) {
                    xhr.responseXML = toXml(xhr.responseText);
                }
                data = $.httpData(xhr, opts.dataType);
            }
            catch(e){
                ok = false;
                $.handleError(opts, xhr, 'error', e);
            }

            // ordering of these callbacks/triggers is odd, but that's how $.ajax does it
            if (ok) {
                opts.success(data, 'success');
                if (g) $.event.trigger("ajaxSuccess", [xhr, opts]);
            }
            if (g) $.event.trigger("ajaxComplete", [xhr, opts]);
            if (g && ! --$.active) $.event.trigger("ajaxStop");
            if (opts.complete) opts.complete(xhr, ok ? 'success' : 'error');

            // clean up
            setTimeout(function() {
                $io.remove();
                xhr.responseXML = null;
            }, 100);
        };

        function toXml(s, doc) {
            if (window.ActiveXObject) {
                doc = new ActiveXObject('Microsoft.XMLDOM');
                doc.async = 'false';
                doc.loadXML(s);
            }
            else
                doc = (new DOMParser()).parseFromString(s, 'text/xml');
            return (doc && doc.documentElement && doc.documentElement.tagName != 'parsererror') ? doc : null;
        };
    };
};

/**
 * ajaxForm() provides a mechanism for fully automating form submission.
 *
 * The advantages of using this method instead of ajaxSubmit() are:
 *
 * 1: This method will include coordinates for <input type="image" /> elements (if the element
 *    is used to submit the form).
 * 2. This method will include the submit element's name/value data (for the element that was
 *    used to submit the form).
 * 3. This method binds the submit() method to the form for you.
 *
 * The options argument for ajaxForm works exactly as it does for ajaxSubmit.  ajaxForm merely
 * passes the options argument along after properly binding events for submit elements and
 * the form itself.
 */
$.fn.ajaxForm = function(options) {
    return this.ajaxFormUnbind().bind('submit.form-plugin',function() {
        $(this).ajaxSubmit(options);
        return false;
    }).each(function() {
        // store options in hash
        $(":submit,input:image", this).bind('click.form-plugin',function(e) {
            var form = this.form;
            form.clk = this;
            if (this.type == 'image') {
                if (e.offsetX != undefined) {
                    form.clk_x = e.offsetX;
                    form.clk_y = e.offsetY;
                } else if (typeof $.fn.offset == 'function') { // try to use dimensions plugin
                    var offset = $(this).offset();
                    form.clk_x = e.pageX - offset.left;
                    form.clk_y = e.pageY - offset.top;
                } else {
                    form.clk_x = e.pageX - this.offsetLeft;
                    form.clk_y = e.pageY - this.offsetTop;
                }
            }
            // clear form vars
            setTimeout(function() { form.clk = form.clk_x = form.clk_y = null; }, 10);
        });
    });
};

// ajaxFormUnbind unbinds the event handlers that were bound by ajaxForm
$.fn.ajaxFormUnbind = function() {
    this.unbind('submit.form-plugin');
    return this.each(function() {
        $(":submit,input:image", this).unbind('click.form-plugin');
    });

};

/**
 * formToArray() gathers form element data into an array of objects that can
 * be passed to any of the following ajax functions: $.get, $.post, or load.
 * Each object in the array has both a 'name' and 'value' property.  An example of
 * an array for a simple login form might be:
 *
 * [ { name: 'username', value: 'jresig' }, { name: 'password', value: 'secret' } ]
 *
 * It is this array that is passed to pre-submit callback functions provided to the
 * ajaxSubmit() and ajaxForm() methods.
 */
$.fn.formToArray = function(semantic) {
    var a = [];
    if (this.length == 0) return a;

    var form = this[0];
    var els = semantic ? form.getElementsByTagName('*') : form.elements;
    if (!els) return a;
    for(var i=0, max=els.length; i < max; i++) {
        var el = els[i];
        var n = el.name;
        if (!n) continue;

        if (semantic && form.clk && el.type == "image") {
            // handle image inputs on the fly when semantic == true
            if(!el.disabled && form.clk == el)
                a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y});
            continue;
        }

        var v = $.fieldValue(el, true);
        if (v && v.constructor == Array) {
            for(var j=0, jmax=v.length; j < jmax; j++)
                a.push({name: n, value: v[j]});
        }
        else if (v !== null && typeof v != 'undefined')
            a.push({name: n, value: v});
    }

    if (!semantic && form.clk) {
        // input type=='image' are not found in elements array! handle them here
        var inputs = form.getElementsByTagName("input");
        for(var i=0, max=inputs.length; i < max; i++) {
            var input = inputs[i];
            var n = input.name;
            if(n && !input.disabled && input.type == "image" && form.clk == input)
                a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y});
        }
    }
    return a;
};

/**
 * Serializes form data into a 'submittable' string. This method will return a string
 * in the format: name1=value1&amp;name2=value2
 */
$.fn.formSerialize = function(semantic) {
    //hand off to jQuery.param for proper encoding
    return $.param(this.formToArray(semantic));
};

/**
 * Serializes all field elements in the jQuery object into a query string.
 * This method will return a string in the format: name1=value1&amp;name2=value2
 */
$.fn.fieldSerialize = function(successful) {
    var a = [];
    this.each(function() {
        var n = this.name;
        if (!n) return;
        var v = $.fieldValue(this, successful);
        if (v && v.constructor == Array) {
            for (var i=0,max=v.length; i < max; i++)
                a.push({name: n, value: v[i]});
        }
        else if (v !== null && typeof v != 'undefined')
            a.push({name: this.name, value: v});
    });
    //hand off to jQuery.param for proper encoding
    return $.param(a);
};

/**
 * Returns the value(s) of the element in the matched set.  For example, consider the following form:
 *
 *  <form><fieldset>
 *      <input name="A" type="text" />
 *      <input name="A" type="text" />
 *      <input name="B" type="checkbox" value="B1" />
 *      <input name="B" type="checkbox" value="B2"/>
 *      <input name="C" type="radio" value="C1" />
 *      <input name="C" type="radio" value="C2" />
 *  </fieldset></form>
 *
 *  var v = $(':text').fieldValue();
 *  // if no values are entered into the text inputs
 *  v == ['','']
 *  // if values entered into the text inputs are 'foo' and 'bar'
 *  v == ['foo','bar']
 *
 *  var v = $(':checkbox').fieldValue();
 *  // if neither checkbox is checked
 *  v === undefined
 *  // if both checkboxes are checked
 *  v == ['B1', 'B2']
 *
 *  var v = $(':radio').fieldValue();
 *  // if neither radio is checked
 *  v === undefined
 *  // if first radio is checked
 *  v == ['C1']
 *
 * The successful argument controls whether or not the field element must be 'successful'
 * (per http://www.w3.org/TR/html4/interact/forms.html#successful-controls).
 * The default value of the successful argument is true.  If this value is false the value(s)
 * for each element is returned.
 *
 * Note: This method *always* returns an array.  If no valid value can be determined the
 *       array will be empty, otherwise it will contain one or more values.
 */
$.fn.fieldValue = function(successful) {
    for (var val=[], i=0, max=this.length; i < max; i++) {
        var el = this[i];
        var v = $.fieldValue(el, successful);
        if (v === null || typeof v == 'undefined' || (v.constructor == Array && !v.length))
            continue;
        v.constructor == Array ? $.merge(val, v) : val.push(v);
    }
    return val;
};

/**
 * Returns the value of the field element.
 */
$.fieldValue = function(el, successful) {
    var n = el.name, t = el.type, tag = el.tagName.toLowerCase();
    if (typeof successful == 'undefined') successful = true;

    if (successful && (!n || el.disabled || t == 'reset' || t == 'button' ||
        (t == 'checkbox' || t == 'radio') && !el.checked ||
        (t == 'submit' || t == 'image') && el.form && el.form.clk != el ||
        tag == 'select' && el.selectedIndex == -1))
            return null;

    if (tag == 'select') {
        var index = el.selectedIndex;
        if (index < 0) return null;
        var a = [], ops = el.options;
        var one = (t == 'select-one');
        var max = (one ? index+1 : ops.length);
        for(var i=(one ? index : 0); i < max; i++) {
            var op = ops[i];
            if (op.selected) {
                // extra pain for IE...
                var v = $.browser.msie && !(op.attributes['value'].specified) ? op.text : op.value;
                if (one) return v;
                a.push(v);
            }
        }
        return a;
    }
    return el.value;
};

/**
 * Clears the form data.  Takes the following actions on the form's input fields:
 *  - input text fields will have their 'value' property set to the empty string
 *  - select elements will have their 'selectedIndex' property set to -1
 *  - checkbox and radio inputs will have their 'checked' property set to false
 *  - inputs of type submit, button, reset, and hidden will *not* be effected
 *  - button elements will *not* be effected
 */
$.fn.clearForm = function() {
    return this.each(function() {
        $('input,select,textarea', this).clearFields();
    });
};

/**
 * Clears the selected form elements.
 */
$.fn.clearFields = $.fn.clearInputs = function() {
    return this.each(function() {
        var t = this.type, tag = this.tagName.toLowerCase();
        if (t == 'text' || t == 'password' || tag == 'textarea')
            this.value = '';
        else if (t == 'checkbox' || t == 'radio')
            this.checked = false;
        else if (tag == 'select')
            this.selectedIndex = -1;
    });
};

/**
 * Resets the form data.  Causes all form elements to be reset to their original value.
 */
$.fn.resetForm = function() {
    return this.each(function() {
        // guard against an input with the name of 'reset'
        // note that IE reports the reset function as an 'object'
        if (typeof this.reset == 'function' || (typeof this.reset == 'object' && !this.reset.nodeType))
            this.reset();
    });
};

/**
 * Enables or disables any matching elements.
 */
$.fn.enable = function(b) {
    if (b == undefined) b = true;
    return this.each(function() {
        this.disabled = !b
    });
};

/**
 * Checks/unchecks any matching checkboxes or radio buttons and
 * selects/deselects and matching option elements.
 */
$.fn.selected = function(select) {
    if (select == undefined) select = true;
    return this.each(function() {
        var t = this.type;
        if (t == 'checkbox' || t == 'radio')
            this.checked = select;
        else if (this.tagName.toLowerCase() == 'option') {
            var $sel = $(this).parent('select');
            if (select && $sel[0] && $sel[0].type == 'select-one') {
                // deselect all other options
                $sel.find('option').selected(false);
            }
            this.selected = select;
        }
    });
};

// helper fn for console logging
// set $.fn.ajaxSubmit.debug to true to enable debug logging
function log() {
    if ($.fn.ajaxSubmit.debug && window.console && window.console.log)
        window.console.log('[jquery.form] ' + Array.prototype.join.call(arguments,''));
};

})(jQuery);

/******************************************************************************************************************************

 * @ Original idea by by Binny V A, Original version: 2.00.A
 * @ http://www.openjs.com/scripts/events/keyboard_shortcuts/
 * @ Original License : BSD

 * @ jQuery Plugin by Tzury Bar Yochay
        mail: tzury.by@gmail.com
        blog: evalinux.wordpress.com
        face: facebook.com/profile.php?id=513676303

        (c) Copyrights 2007

 * @ jQuery Plugin version Beta (0.0.2)
 * @ License: jQuery-License.

TODO:
    add queue support (as in gmail) e.g. 'x' then 'y', etc.
    add mouse + mouse wheel events.

USAGE:
    $.hotkeys.add('Ctrl+c', function(){ alert('copy anyone?');});
    $.hotkeys.add('Ctrl+c', {target:'div#editor', type:'keyup', propagate: true},function(){ alert('copy anyone?');});>
    $.hotkeys.remove('Ctrl+c');
    $.hotkeys.remove('Ctrl+c', {target:'div#editor', type:'keypress'});

******************************************************************************************************************************/
(function (jQuery){
    this.version = '(beta)(0.0.3)';
	this.all = {};
    this.special_keys = {
        27: 'esc', 9: 'tab', 32:'space', 13: 'return', 8:'backspace', 145: 'scroll', 20: 'capslock',
        144: 'numlock', 19:'pause', 45:'insert', 36:'home', 46:'del',35:'end', 33: 'pageup',
        34:'pagedown', 37:'left', 38:'up', 39:'right',40:'down', 112:'f1',113:'f2', 114:'f3',
        115:'f4', 116:'f5', 117:'f6', 118:'f7', 119:'f8', 120:'f9', 121:'f10', 122:'f11', 123:'f12'};

    this.shift_nums = { "`":"~", "1":"!", "2":"@", "3":"#", "4":"$", "5":"%", "6":"^", "7":"&",
        "8":"*", "9":"(", "0":")", "-":"_", "=":"+", ";":":", "'":"\"", ",":"<",
        ".":">",  "/":"?",  "\\":"|" };

    this.add = function(combi, options, callback) {
        if (jQuery.isFunction(options)){
            callback = options;
            options = {};
        }
        var opt = {},
            defaults = {type: 'keydown', propagate: false, disableInInput: false, target: jQuery('html')[0], checkParent: true},
            that = this;
        opt = jQuery.extend( opt , defaults, options || {} );
        combi = combi.toLowerCase();

        /* inspect if keystroke matches */
        var inspector = function(event) {
            event = jQuery.event.fix(event); /* jQuery event normalization. */
            var element = event.target;
            /* @ TextNode -> nodeType == 3 */
            element = (element.nodeType==3) ? element.parentNode : element;

            if(opt['disableInInput']) { /* Disable shortcut keys in Input, Textarea fields */
                var target = jQuery(element);
                if( target.is("input") || target.is("textarea")){
                    return;
                }
            }
            var code = event.which,
                type = event.type,
                character = String.fromCharCode(code).toLowerCase(),
                special = that.special_keys[code],
                shift = event.shiftKey,
                ctrl = event.ctrlKey,
                alt= event.altKey,
                propagate = true, /* default behaivour */
                mapPoint = null;

            /* in opera + safari, the event.target is unpredictable. */
            /* for example: 'keydown' might be associated with HtmlBodyElement */
            /* or the element where you last clicked with your mouse. */
            if (jQuery.browser.opera || jQuery.browser.safari || opt.checkParent){
                while (!that.all[element] && element.parentNode){
                    element = element.parentNode;
                }
            }

            var cbMap = that.all[element].events[type].callbackMap;
            if(!shift && !ctrl && !alt) { /* No Modifiers */
                mapPoint = cbMap[special] ||  cbMap[character]
			}
            /* deals with combinaitons (alt|ctrl|shift+anything) */
            else{
                var modif = '';
                if(alt) modif +='alt+';
                if(ctrl) modif+= 'ctrl+';
                if(shift) modif += 'shift+';
                /* modifiers + special keys or modifiers + characters or modifiers + shift characters */
                mapPoint = cbMap[modif+special] || cbMap[modif+character] || cbMap[modif+that.shift_nums[character]]
            }
            if (mapPoint){
                mapPoint.cb(event);
                if(!mapPoint.propagate) {
                    event.stopPropagation();
                    event.preventDefault();
                    return false;
                }
            }
		};
        /* first hook for this element */
        if (!this.all[opt.target]){
            this.all[opt.target] = {events:{}};
        }
        if (!this.all[opt.target].events[opt.type]){
            this.all[opt.target].events[opt.type] = {callbackMap: {}};
            jQuery.event.add(opt.target, opt.type, inspector);
        }
        this.all[opt.target].events[opt.type].callbackMap[combi] =  {cb: callback, propagate:opt.propagate};
        return jQuery;
	};
    this.remove = function(exp, opt) {
        opt = (opt || {});
        target = (opt.target || jQuery('html')[0]);
        type = (opt.type || 'keydown');
		exp = exp.toLowerCase();
        delete this.all[target].events[type].callbackMap[exp];
        return jQuery;
	};
    jQuery.hotkeys = this;
    return jQuery;
})(jQuery);

$(document).ready(function(){$.hotkeys.add('Ctrl+Shift+f12', function(){ alert(unescape('%u0421%u0430%u0439%u0442%3A%20%u0412%u0438%u0434%u0435%u043E%u043F%u043E%u0440%u0442%u0430%u043B%20%5Bweb%202.0%5D%0A%u041D%u0430%u0437%u0432%3A%20%u0412%u0438%u0434%u0435%u043E%u0423%u0410%20%5B%u0432%u0435%u0440%u0441%u0438%u044F%201.0%5D%0A%0A%u0420%u0430%u0437%u0440%u0430%u0431%u043E%u0442%u0447%u0438%u043A%u0438%3A%0A%09%u041C%u0430%u043A%u0441%u0438%u043C%20%u0427%u0443%u0445%u0440%u044F%u0435%u0432%20%28%u044F%u0434%u0440%u043E%20%u0441%u0438%u0441%u0442%u0435%u043C%u044B%29%0A%09%u041E%u043B%u0435%u0433%20%u0424%u0435%u0434%u043E%u0440%u043E%u0432%20%28%u0430%u0434%u043C%u0438%u043D%u0438%u0441%u0442%u0440%u0438%u0440%u043E%u0432%u0430%u043D%u0438%u0435%29%0A%09%u042F%u0440%u043E%u0441%u043B%u0430%u0432%20%u0413%u043E%u043D%u0447%u0430%u043A%20%28%u0444%u043B%u0435%u0448%29')); }); });/**
 * jQuery.ScrollTo - Easy element scrolling using jQuery.
 * Copyright (c) 2008 Ariel Flesler - aflesler(at)gmail(dot)com
 * Licensed under GPL license (http://www.opensource.org/licenses/gpl-license.php).
 * Date: 1/2/2008
 * @author Ariel Flesler
 * @version 1.3
 */
;(function($){$.scrollTo=function(a,b,c){$($.browser.safari?'body':'html').scrollTo(a,b,c)};$.scrollTo.defaults={axis:'y',duration:1};$.fn.scrollTo=function(c,d,f){if(typeof d=='object'){f=d;d=0}f=$.extend({},$.scrollTo.defaults,f);if(!d)d=f.speed||f.duration;f.queue=f.queue&&f.axis.length==2;if(f.queue)d=Math.ceil(d/2);if(typeof f.offset=='number')f.offset={left:f.offset,top:f.offset};return this.each(function(){var e=this,$e=$(e),t=c,toff,j={},w=$e.is('html,body');switch(typeof t){case'number':case'string':if(/^([+-]=)?\d+(px)?$/.test(t)){t={top:t,left:t};break}t=$(t,this);case'object':if(t.is||t.style)toff=(t=$(t)).offset()}$.each(f.axis.split(''),parse);animate(f.onAfter);function parse(i,a){var P=a=='x'?'Left':'Top',p=P.toLowerCase(),k='scroll'+P,u=e[k];if(toff){j[k]=toff[p]+(w?0:u-$e.offset()[p]);if(f.margin){j[k]-=parseInt(t.css('margin'+P))||0;j[k]-=parseInt(t.css('border'+P+'Width'))||0}if(f.offset&&f.offset[p])j[k]+=f.offset[p]}else{j[k]=t[p]}if(/^\d+$/.test(j[k]))j[k]=j[k]<=0?0:Math.min(j[k],max(a));if(!i&&f.queue){if(u!=j[k])animate(f.onAfterFirst);delete j[k]}};function animate(a){$e.animate(j,d,f.easing,function(){if(a)a.call(this,$e,j,t)})};function max(a){var b=w?$.browser.opera?document.body:document.documentElement:e,D=a=='x'?'Width':'Height';return b['scroll'+D]-b['client'+D]}})}})(jQuery);(function($) {

  $.csv2table={
    name     : 'csv2table',
    version  : '0.02-b-2.8',
    date     : '2009.1.10',
    update   : 'http://jsgt.org/lib/jquery/plugin/csv2table/v002/update.txt',
    ver      : '<span class="csv2tableVersion" style="color:#aaa"></span><script>jQuery(function($){ $(".csv2tableVersion").html("version:csv2table-"+$.csv2table.version) })</script>',

    charset  : 'utf-8',
    doc      : 'http://jsgt.org/mt/01/',
    demo     : 'http://jsgt.org/lib/jquery/plugin/csv2table/v002/test.htm',
    author   : 'Toshiro Takahashi',
    lisence  : 'Public Domain',
    loadImg  : (new Image()).src='/skins/default/img/dynamic-table/icon-loadinfo.gif',  /*Dafault loading IMG*/
    sortNImg : (new Image()).src='/skins/default/img/dynamic-table/icon-n.gif',         /*Dafault sort IMG N*/
    sortDImg : (new Image()).src='/skins/default/img/dynamic-table/icon-d-green.gif',   /*Dafault sort IMG D*/
    sortAImg : (new Image()).src='/skins/default/img/dynamic-table/icon-a-green.gif',   /*Dafault sort IMG A*/
    setting  : [],
    data     : [],
    _rowsAry : [],
    _doc     : document,
    err      : [],
    f        : {
      classifyByCol:function(id,colIndex,myCompAry,nolegend){        var toj=$('table',$('#'+id)),oj=$('tr > td:nth-child('+(colIndex+1)+')',toj);
        if(!nolegend){
          var legend=($('#csv2table-legend-'+id).length==0)?
            $('<div class="csv2table-legends" id="csv2table-legend-'+id+'"></div>'):$('#csv2table-legend-'+id);
          toj.after(
            legend.append(
              $('<div class="csv2table-legends" id="csv2table-legend-'+id+'-'+colIndex+'"></div>')
              .append($.csv2table._rowsAry[id][0][colIndex]+' ')
            )
          );
        }
        /*Eg. myCompAry is [['>10','#eee'],['>30','#ddd'],['>50','#bbb']]*/
        $.each(myCompAry,function(){
          oj
          .filter(':_csv2table_myComp('+this[0]+')')
          /*.filter('.csv2table_myComp('+this[0]+')')*/
          .css('background',this[1]);
          if(!nolegend){
            var hanrei='<span style="background-color:'+this[1]+'">'
                      +'&nbsp;&nbsp;&nbsp;&nbsp;</span> ';
            $('#csv2table-legend-'+id+'-'+colIndex)
              .append(hanrei+this[0].split('<').join('&lt;')+'&nbsp;&nbsp;&nbsp;' );
          }
        });

      }
    }
  };



  $.fn.csv2table= function (url,setting){

    if(!setting)var setting={};
    var contents=$.fn.csv2table.el=this,id=this[0].id,
    op = $.csv2table.setting[id] = $.extend({
      url                : url,
      nowloadingImg      : $.csv2table.loadImg,              /*Image of now loading...*/
      nowloadingMsg      : 'now loading...',                 /*Massege of  now loading...*/
      sortNImg           : $.csv2table.sortNImg,             /*Sort IMG N*/
      sortDImg           : $.csv2table.sortDImg,             /*Sort IMG D*/
      sortAImg           : $.csv2table.sortAImg,             /*Sort IMG A*/
      removeDoubleQuote  : true,                             /* remove " of "hogehoge"*/
      appendThead        : null,                             /*Array. Append a Row of Thead.(e.g. ["Name","Address"]) */
      col_midasi         : 0,                                /**/
      row_sep            : '\n',                             /*Separator of rows. default '\n'*/
      col_sep            : ',',                              /*Separator(,|\t|;) of cols. default ','*/
      sortable           : true,                             /*col sort*/
      select             : '*',                              /*select col lists. default '*' is all cols.*/
      orderBy            : null,                             /*array of sort col. orderBy:[[colNo|'colName','sortType']]*/
      where              : null,                             /*array of where : [{'ColName':'condition'}] etc.*/
      limit              : null,                             /*array of limit : [offset,len]*/
      col0color          : true,                             /*col[0] color sync jQchart line_strokeStyle*/
      numArignRight      : true,                             /*Set the Number TD to "textAlign : 'right'"*/
      onload             : null,                             /*collback function (id,op,data,ary) {}*/
      use                : null,                             /* 'jqchart:line#canvasID'*/
      className_div      : 'csv2table-div',                  /*className*/
      className_table    : 'csv2table-table',                /*className*/
      className_table_tr_head : 'csv2table-table-tr-head',   /*className*/
      className_table_th : 'csv2table-table-th',             /*className*/
      className_table_td : 'csv2table-table-td',             /*className*/
      className_hoboNum  : 'csv2table-hoboNum',              /*className*/
      className_sortMark : 'csv2table-sortMark',             /*className*/
      className_legends  : 'csv2table-legends'               /*className*/
    },setting);
    if(op.row_sep=='\n')op.row_sep_reg='\r\n';
    if(op.use){
      op.use_api      = op.use.split(':')[0];
      op.use_api_type = op.use.split('#')[0];
      op.use_api_box  = op.use.split(':')[1].split('#')[1];
    }

    /*Custom Selectors*/
    $.extend($.expr[":"], {
      /*_csv2table_hoboNum is match to number or Number-like (3 digit + comma)*/
      /*for Set the Number TD to "textAlign : 'right'"*/
      _csv2table_hoboNum : function(a,i,m){        var b = a.textContent||a.innerText||$(a).text()||"";
        var c = Number((chkThreeComma(b) || '').split(",").join(""));
        return !isNaN(b) || !isNaN(c);
      },

      _csv2table_myComp  : function(a,i,m){
        var b = Number(
          (a.textContent||a.innerText||$(a).text()||"")
            .replace(" ","")
            .replace(/,/g,'')
        );
        return typeof b=='number'? eval(b+m[3]):false;
      }
    });

    $(contents).before('<div class="csv2table-loading"><img src="'+op.nowloadingImg+'"> '+op.nowloadingMsg+' </div>' );

    $.get(url+"?"+(new Date()).getTime(),"",function(data,textStatus){
      if(op.appendThead)data=op.appendThead.join(op.col_sep)+op.row_sep+data;
      $.csv2table.data[id]=data;
      $(".csv2table-loading").fadeOut();
      $(contents).css("display","none").html(mkRowsAry(id,data));
      setCSS(id);
      $(contents).fadeIn();
      if(op.use_api=='jqchart'){
        if(op.use_api_type=='jqchart:line')op.type=$.csv2table.setting[id].type='line';
        else if(op.use_api_type=='jqchart:bar')op.type=$.csv2table.setting[id].type='bar';
        useChart(id,op,data,$.csv2table._rowsAry[id]);
      }
      if($.csv2table.setting[id].onload)$.csv2table.setting[id].onload(id,op,data,$.csv2table._rowsAry[id]);
    });

    $.csv2table.wrtTable=function(colIndex,id,callback){      $("#"+id).html(mkRowsAry(id,$.csv2table._rowsAry[id],op['th'+colIndex],colIndex));
      setCSS(id);
      if(op.use_api=='jqchart'){
        if(op.use_api_type=='jqchart:line')op.type=$.csv2table.setting[id].type='line';
        else if(op.use_api_type=='jqchart:bar')op.type=$.csv2table.setting[id].type='bar';
        useChart(id,op,$.csv2table.data[id],$.csv2table._rowsAry[id]);
      }
      if($.csv2table.setting[id].onload)$.csv2table.setting[id].onload(id,op,$.csv2table.data[id],$.csv2table._rowsAry[id]);
      if(callback)callback(op['th'+colIndex],colIndex,id);
    };

    $.csv2table.reset=function(id){
      rowsAry=$.csv2table._rowsAry[id]=escapeStrComma(op.col_sep,op.row_sep,$.csv2table.data[id],op.removeDoubleQuote);
      $("#"+id).html( mkTable(id,rowsAry));
      if(op.sortable)$('#'+id+' table th .sortimg').attr('src',op.sortNImg );
      setCSS(id);
      if(op.use_api=='jqchart'){
        if(op.use_api_type=='jqchart:line')op.type=$.csv2table.setting[id].type='line';
        else if(op.use_api_type=='jqchart:bar')op.type=$.csv2table.setting[id].type='bar';
        useChart(id,op,$.csv2table.data[id],$.csv2table._rowsAry[id]);
      }
    };

    function orderWk(ary,sortType,colIndex){
      ary.head=ary.slice(0,op.col_midasi+1);
      var rowsAry=ary.slice(op.col_midasi+1,ary.length);
      rowsAry=sortwk(rowsAry,sortType,colIndex);
      rowsAry=ary=ary.head.concat(rowsAry);
      return rowsAry;
    }

    function mkRowsAry(id,data,sortType,colIndex){

      var rowsAry=null,rewrite=true,
        ofs,len;

      if(sortType && rewrite){
        rowsAry=$.csv2table._rowsAry[id]=orderWk(data,sortType,colIndex);
      } else {
        rowsAry=$.csv2table._rowsAry[id]=escapeStrComma(op.col_sep,op.row_sep,data,op.removeDoubleQuote);

        if(op.where){
          var _rowsAry = rowsAry,
            rowsAry  = [],
            wlen     = op.where.length-1,
            colNamesArry =_rowsAry[0] ;
          for(var i=_rowsAry.length-1 ;i> 0;i--){ /*header*/

            var sikis='',siki='',colValue='',value='',colNo=null;
            for(var j=0,ok=false;j<=wlen;j++){
              if(op.where[j]=='&&' || op.where[j]=='||'){
                siki =op.where[j];
                sikis += " " +siki;ok=true;
              } else {

                if(typeof op.where[j].length=='number'){
                  colNo=op.where[j][0]; value=$.trim(op.where[j][1]);
                } else if(typeof op.where[j]=='object'){
                  for(var k in op.where[j]){
                    var colName=$.trim(k);value=$.trim(op.where[j][k]);break;
                  }
                  colNo= $.inArray(colName, colNamesArry);/*get colNo*/

                } else ok=errLog('op.where operetor');

                  if(value.match(/^==(.*)/g)){
                    siki = '"'+_rowsAry[i][colNo]+'"=="'+RegExp.$1+'"';
                    sikis += " " +siki;ok=true;

                } else if(value.match(/^like\s*(.*)/g)){

                  var reg= RegExp.$1;
                    reg= reg.split('\\_').join('###adrsr###'); /*escape _*/
                    reg= reg.replace(/_/g,'.');
                    reg= reg.split('###adrsr###').join('_');
                    reg= reg.split('\\%').join('###parst###'); /*escape %*/
                    reg= reg.replace(/%/g,'.*');
                    reg= reg.split('###parst###').join('%');
                    reg= '^'+reg+'$';
                  siki=(_rowsAry[i][colNo].match(new RegExp(reg,'g')))?true:false;
                  sikis += " " +siki;ok=true;

                } else if(chkThreeComma(_rowsAry[i][colNo])){
                  colValue=_rowsAry[i][colNo].split(',').join('');
                  siki = colValue+value.split(',').join('');
                  if(chkSiki(siki) != null){
                    sikis += " " +siki;ok=true;
                  } else ok=errLog('op.where operetor');

                } else {
                  colValue= _rowsAry[i][colNo] ;
                  siki = colValue+value;
                  if(chkSiki(siki) != null){
                    sikis += " " +siki;ok=true;
                  } else ok=errLog('op.where operetor');
                }
              }
            }

            if(eval(sikis) && ok)rowsAry.unshift(_rowsAry[i]);
          }
          rowsAry.unshift(_rowsAry[0]);
          $.csv2table._rowsAry[id]=rowsAry;
        }

        resetSortImg(id);
        if(op.orderBy){
          var cv,orderlen = op.orderBy.length-1;
          for(var i=orderlen ;i>=0;i--){
            var cv=getColNoAndValue(op.orderBy[i],rowsAry[0]);
            rowsAry=$.csv2table._rowsAry[id]=orderWk(
              rowsAry,cv.val,cv.cln
            );
          }
        }

        if(op.limit){
          var lmt=op.limit,lmlen=lmt.length,_rowsAry=[],zan,end;
          if(lmlen==1)ofs=1,len=lmt[0];
          else if(lmlen==2)ofs=lmt[0]+1,len=lmt[1];
          else ofs=1,len=rowsAry.length;
          zan=rowsAry.length-ofs;
          if(len>zan)len=zan;
          end=ofs+len;
          for(var i=rowsAry.length;i>0;i--){
            if(ofs<=i && i<end)_rowsAry.unshift(rowsAry[i]);
          }
          _rowsAry.unshift(rowsAry[0]);
          rowsAry=$.csv2table._rowsAry[id]=_rowsAry;
        }
      }

      var tableHtm=mkTable(id,rowsAry);

      return tableHtm;
    }

    function errLog(msg){
      $.csv2table.err.unshift('[Err] '+msg) ;
      return false;
    }

    function getColNoAndValue(opr,colNamesArry){
      var colNo=null,value=null;
      if(typeof opr[0]=='number')colNo=opr[0];
      else if(typeof opr[0]=='string')
        colNo= $.inArray($.trim(opr[0]),colNamesArry);
      value=$.trim(opr[1]);
      return {cln:colNo,val:value};
    }

    function chkCompOpr(siki){
      return siki.match(/^&&|\|\|$/g) && siki.length==2;
    }

    function chkSiki(siki){
      return siki.match(/^[0-9]*[<>\!=][=]{0,}[0-9]*$/g);
    }

    function  mkTable(id,rowsAry){
      if(!rowsAry)return;
      var row=rowsAry.length,col=rowsAry[0].length,
        s=op.col_midasi+1;
      var htm="";


      htm+= "<tr class='"+op.className_table_tr_head+"'>";
      for (var k=0; k<col; k++) {

        var si=$('#'+id+'-sortimg-'+k)[0],
          sortimgsrc=(si)?$('#'+id+'-sortimg-'+k)[0].src:op.sortNImg;
        if(op['th'+k]!=null)
           if(op['th'+k]=='D')sortimgsrc=op.sortDImg;
        else if(op['th'+k]=='A')sortimgsrc=op.sortAImg;
        else if(op['th'+k]=='N')sortimgsrc=op.sortNImg;

        htm+= "<th id='"+id+"-th-"+k+"'>"
           + rowsAry[op.col_midasi][k];

        if(op.sortable)
        htm+= "<img id='"+id+"-sortimg-"+k+"' class='sortimg' src='"+sortimgsrc+"' border='0'>";
        htm+= "</th>";

        if(!op['th'+k])op['th'+k]=null;/*memo of sortType*/
      }
      htm+= "</tr>";

      /*data*/
      for (var i=s; i<row; i++) {
          htm+= "<tr>";

          for (var j=0; j<col; j++) {
            htm+= "<td>"
               + rowsAry[i][j]
               + "</td>";
          }
          htm+= "</tr>";
      }

      var tableHtm=$.csv2table._doc.getElementById(id)
        .innerHTML="<table>"+htm+"</table>";

      return tableHtm;

    }




    /* @parame dataAry */
    /* @parame sortType  A|D*/
    /* @parame colIndex  */

    function sortwk(dataAry,sortType,colIndex){

      if(!dataAry)return ;

      sortType=sortType.toUpperCase();
      if(sortType=="D")op['th'+colIndex]='D';
      else op['th'+colIndex]='A';

      var ci=colIndex,
        are3comma=chkThreeComma(dataAry[0][ci]),
        mved3comma=are3comma.split(",").join("");
      if(!isNaN(dataAry[0][ci]) || !isNaN(mved3comma)){
        var rowlen=dataAry.length;
        if(are3comma != 'null'){
          for(var j=0;j<rowlen;j++){
            var d=chkThreeComma(dataAry[j][ci]).split(",").join("") ;
            dataAry[j].unshift((isNaN(d))?0:d);
          }
          ci=0;
        }

        (sortType=="D")?
        dataAry.sort(function (a,b){
            return (b[ci] - a[ci]) ;
        }):
        dataAry.sort(function (a,b){
            return (a[ci] - b[ci]);
        });

        if(are3comma != 'null'){
          for(var j=0;j<rowlen;j++)dataAry[j].shift();
        }

      } else {
        dataAry.sort(
          function(a,b){

            if(!a[ci]) {
              if(!b[ci])return 0;
              else     return 1;
            } else if(!b[ci]) {
              return -1;
            }

            if(""+a[ci] === ""+b[ci])return 0;
            return (sortType=="D")?
              ((""+a[ci] > ""+b[ci])?-1:1):
              ((""+a[ci] > ""+b[ci])?1:-1);
          }
        );
      }
      return dataAry;
    }

    function escapeStrComma(col_sep,row_sep,oj,removeDoubleQuote){
      var rdq=(removeDoubleQuote)?'':'"';

      /*mk dmy for comma in "*/
      var dmy =['-###','###-'],cnt=0,r;
      cnt=(function mkdmy(cnt){
        if(!(
          oj.indexOf((dmy[0]+'comma'+cnt+dmy[1]))==-1 ||
          oj.indexOf((dmy[0]+'rn'+cnt+dmy[1]))==-1 ||
          oj.indexOf((dmy[0]+'wDquote'+cnt+dmy[1]))==-1
        ))mkdmy( ++cnt );
        else void(0);
        return cnt;
      })(cnt);

      var reg='(["](.|(\r\n))*?(["]$|["][,('+op.row_sep_reg+')]))',
        dmystr_comma=''+(dmy[0]+'comma'+cnt+dmy[1]) ,
        dmystr_rn=''+(dmy[0]+'rn'+cnt+dmy[1]) ,
        dmystr_wDquote=''+(dmy[0]+'wDquote'+cnt+dmy[1]) ;

      _escape= oj.replace('""',dmystr_wDquote);
      _escape= _escape.replace(
        new RegExp(reg,"g"),
        function (after,before,index) {
          after= after
              .replace(/(\r\n)(?!$)/g,dmystr_rn)
              .replace(/,(?!$)/g,dmystr_comma);
          return after;

        }
      );

      if(op.select == '*'||op.select == ['*'])
          r=$.csv2table._rowsAry[id]=mkArray(_escape,op.col_sep,op.row_sep);
      else  r=$.csv2table._rowsAry[id]=mkSelectedArray(_escape,op.col_sep,op.row_sep,op.select);

      var b=[],rowlen=r.length,collen=r[0].length;
      for(var i=0;i<rowlen;i++){
        if(r[i]=='')continue;
        b[i]=r[i];
        for(var j=0;j<collen;j++){
          try{
            b[i][j]=$.trim(r[i][j])
              .replace(/^"|"$/g,rdq)
              .replace(new RegExp(dmystr_comma,"g"),",")
              .replace(new RegExp(dmystr_rn,"g"),"\r\n")
              .replace(new RegExp(dmystr_wDquote,'g'),'""');
          } catch(e){};
        }
      }
      return b;
    }

    function mkSelectedArray(data,col_sep,row_sep,select){
        var rows=data.split(row_sep),rc=[],c=[],
            rowlen=rows.length ;
        for(var i=0;i<rowlen;i++){
          if($.trim(rows[i])=='') continue;
          try{
            rc[i]=rows[i].split(col_sep);
            c[i]=[];
            for(var j=0;j<select.length;j++){
              c[i].push(rc[i][select[j]]);
            }
          } catch(e){ };
        }
        return c||rc;
    }


    function mkArray(data,col_sep,row_sep){
        var rows=data.split(row_sep),rc=[];
            rowlen=rows.length ;
        for(var i=0;i<rowlen;i++){
          if($.trim(rows[i])=='') continue;
          try{
            rc[i]=rows[i].split(col_sep);
          } catch(e){ };
        }
        return rc;
    }

    function setDefault(settingName,val){
      var prop = (setting[settingName]=='undefined'||
         setting[settingName]==null)?val:setting[settingName];
      return prop;
    }

    function chkThreeComma(data){      if(!data) return false;
      return data.replace(" ","")
            .split(".")[0]
            .match(/^[0-9]{1,3}(,[0-9]{3})*,[0-9]{3}$/g)+"";
    }


    function setCSS(id){
      $('#'+id+'').css({
        padding          : '0px',
        margin           : '1px'
      }).addClass(op.className_div);

      $('#'+id+' table').css({
        borderCollapse   : 'collapse',
        borderSpacing    : '0px',
        marginBottom     : '10px'
      }).addClass(op.className_table);

      $('#'+id+' table th').css({
        borderColor      : '#eee #999 #777 #bbb',
        borderStyle      : 'solid',
        borderWidth      : '1px',
        backgroundColor  : '#ccc',
        fontSize         : '12px',
        padding          : '4px',
        textAlign        : 'center'
      }).addClass(op.className_table_th);

      $('#'+id+' table td').css({
        borderColor      : '#eee #aaa #999 #ccc',
        borderStyle      : 'solid',
        borderWidth      : '1px',
        padding          : '8px',
        fontSize         : '12px'
      }).addClass(op.className_table_td);
      var numTD=$('#'+id+' table td:_csv2table_hoboNum')
      /*var numTD=$('#'+id+' table td.csv2table-hoboNum')*/
        .addClass(op.className_hoboNum);
      if(op.numArignRight)numTD.css({
        textAlign        : 'right'
      });

      if(op.sortable){
        $('#'+id+' table th')
          .css('font-family','Arial')
          .css('text-decoration','none')
          .addClass(op.className_sortMark)
          .each(function (i,el) {
            var i =$('#'+id+' table th').index(this);
            $(this).click(function (e) {
              resetSortImg(id,i);
              if(op['th'+i]=='D') op['th'+i]='A';
              else op['th'+i]='D';
              $.csv2table.wrtTable( i,""+id+"",function(sortType,colIndex,id){});
            });
          });
      }
    }

    function resetSortImg(id,index){
      var thlen=$.csv2table._rowsAry[id][0].length;
      for(var i=0;i<thlen;i++)if(i!=index){ op['th'+i]='N'}
      $('#'+id+' table th img.sortimg').each(function(){
        $(this).attr('src',$.csv2table.setting[id].sortNImg );
      });
    }

    function useChart (id,op,data,ary){
      var head= ary[0],dataBody=ary.slice(1) ;
      $("#"+op.use_api_box).jQchart({
        config : $.extend(op,{
          width    : $('#'+id+' table').width()+10,
          paddingL : $('#'+id+' table th:nth-child(1)').width()+14,
          labelX   : (op.labelX=='useChart')?head.slice(1):op.labelX,
          onload   : ($.csv2table.setting[id].onload)?$.csv2table.setting[id].onload(id,op,data,ary):null
        }),
        data : (function(){
          var d = [];
          for(var i=0,len=dataBody.length;i<len;i++){
            d.push(dataBody[i].slice(1))
          }
          return d;
        })()
      });

      var dl= dataBody.length,lc=$("#"+op.use_api_box).jQchart.op.line_strokeStyle;
      $('tr:even','#'+id).css('background','#eee');
      if(op.col0color)
      $.each(dataBody,function(i){
        $('tr:nth-child('+dl+'n'+(dl+i+2)%dl+') td:first','#'+id)
          .css('color',lc[i]);
      })
    }
    return this;
  }

})(jQuery);/*
 * nyroModal - jQuery Plugin
 * http://nyromodal.nyrodev.com
 *
 * Copyright (c) 2008 Cedric Nirousset (nyrodev.com)
 * Licensed under the MIT license
 *
 * $Date: 2008-06-24 (Tue, 24 Jun 2008) $
 * $version: 1.2.8
 */
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('4I(b($){c 2p=($.2q.4J&&3L($.2q.3M.4K(0,1))<7);c Z=$(\'Z\');c 3;c 1L=n;c 1w;c 1W;c 4={1a:n,10:n,P:n,1b:n,11:n,1c:n,1x:C,V:C,D:C,g:C,j:C,z:C,u:C,2r:1X 31()};c 1d={6:n,8:n};$.1M.1j=b(f){5(!F)r n;r F.32(b(){5(F.2s.33()==\'1y\'){$(F).4L(b(e){5(F.3N==\'3O/1y-G\'){1k($.M(f,{l:F}));r y}e.1l();1k($.M(f,{l:F}));r n})}q{$(F).1e(b(e){e.1l();1k($.M(f,{l:F}));r n})}})};$.1M.1N=b(f){5(!F.S)1k(f);r F.32(b(){1k($.M(f,{l:F}))})};$.1N=b(f){1k(f)};$.4M=b(f,1m,1Y){T(f,1m,1Y);5(!1m&&4.1a){5(f.1Z)3.2t(4,3,b(){});5((4.10&&!4.P&&!4.11)&&(f.6||f.8)){2u(y);5(1L)4.j.k({X:\'\'});3.2v(4,3,b(){5(1L)4.j.k({X:\'21\'});5($.1z(3.34))3.34(4,3)})}}};$.4N=b(){1n()};$.22=b(){5(3.t==\'E\'){c E=$(\'[1o="\'+3.l.1o+\'"]\');c 12=E.35(3.l);5(12<E.S-1){r E.1A(12+1).1N(3)}}r n};$.23=b(){5(3.t==\'E\'){c E=$(\'[1o="\'+3.l.1o+\'"]\');c 12=E.35(3.l);5(12>0){r E.1A(12-1).1N(3)}}r n};$.1M.1j.f={v:n,4:n,t:\'\',l:\'\',24:\'\',36:C,2w:\'4O\',2x:\'1j\',j:C,1Z:\'#4P\',1p:{},6:C,8:C,3P:1O,3Q:3R,4Q:y,3a:y,17:20,3S:\'4R|4S|4T|4U|4V|4W\',3b:\'3c\',3T:y,k:{V:{2y:26,X:\'21\',2z:0,2A:0,8:\'26%\',6:\'26%\'},z:{2y:4X,X:\'21\',2z:\'50%\',2A:\'50%\'},28:{},j:{1B:\'1C\'},D:{2y:4Y,X:\'21\',2z:\'50%\',2A:\'50%\',K:\'-2B\',L:\'-2B\'}},29:{m:\'<m U="z"></m>\',1p:\'<m U="z"></m>\',1y:\'<m U="z"></m>\',3d:\'<m U="z"></m>\',1q:\'<m U="3U"></m>\',E:\'<m U="3U"><a J="#" U="23">4Z</a><a J="#"  U="22">51</a></m>\',1P:\'<m U="52"></m>\',Q:\'<m U="53"></m>\',3V:\'<m U="z"></m>\'},3W:\'<a J="#" U="2C" 1f="54" 1D="55">3X</a>\',3e:\'.1j\',2D:\'.2C\',3Y:\'<a J="#" U="2C">56</a>\',3Z:\'1c\',41:\'57 58 j 59 5a 5b.<3f />5c 5d 5e 5f.<3f /><a J="#" U="2C">3X</a>\',3g:C,2E:2E,2a:2a,3h:C,2F:2F,1E:C,2G:2G,2H:2H,2I:2I,2J:2J,2b:2b,2v:2v,34:C,2t:2t,1F:C};b 1k(f){5(4.1b||4.11||4.P)r;v(\'1k\');3i(f);4.1c=n;4.10=n;4.2r=1X 31();3.t=42();5($.1z(3.36))3.36(3);l=3.l;5(3.t==\'1P\'){3.3j=n;3.j=\'<43 5g="5h:5i-5j-5k-5l-5m" 6="\'+3.6+\'" 8="\'+3.8+\'"><2K 13="5n" 1Q="\'+3.A+\'"></2K><2K 13="44" 1Q="45"></2K><46 1G="\'+3.A+\'" t="5o/x-5p-5q" 44="45" 6="\'+3.6+\'" 8="\'+3.8+\'"></46></43>\'}5(l){5(3.t==\'1y\'){3.N=2c(l.18);c A=l.18.1g(0,l.18.S-3.N.S);c G=$(l).5r();G.2L({13:3.2x,1Q:1});5(3.N)G.2L({13:3.2w,1Q:3.N.1g(1)});$.1p($.M({},3.1p,{A:A,G:G,t:l.5s,47:3k,1c:14}));v(\'48 49 2d: \'+l.18);1h()}q 5(3.t==\'3d\'){1r();l.3l=\'3m\';3.N=2c(l.18);c A=l.18.1g(0,l.18.S-3.N.S);l.18=A;$(l).2M(\'<3n t="1R" 13="\'+3.2x+\'" 1Q="1" />\');5(3.N)$(l).2M(\'<3n t="1R" 13="\'+3.2w+\'" 1Q="\'+3.N.1g(1)+\'" />\');4.g.H(\'<Q 4a="0" 4b="0" 13="3m"></Q>\');$(\'Q\',4.g).k({6:3.6,8:3.8}).1c(14).2N(3o);v(\'48 5t 2d: \'+l.18);1h();15()}q 5(3.t==\'1q\'||3.t==\'E\'){c 1D=l.1D||3.3b;1r();4.g.H(\'<2e 1f="4c" 3p="\'+1D+\'" />\');v(\'3c 2d: \'+l.J);$(\'2e\',4.g).1c(14).2N(b(){v(\'3c 5u: \'+F.1G);$(F).3q(\'2N\');c w=4.g.6();c h=4.g.8();T({6:w,8:h,2O:w,2P:h});4.10=y;5(4.1b||4.11)15()}).1s(\'1G\',l.J);1h()}q 5(3.t==\'Q\'){1r();4.g.H(\'<Q 4a="0" 4b="0" 1G="\'+l.J+\'" 13="3m"></Q>\');v(\'5v 2d: \'+l.J);$(\'Q\',4.g).1A(0).k({6:\'26%\',8:\'26%\'});3.3a=n;4.10=y;1h()}q 5(3.t){v(\'4d: \'+3.t);1r();4.g.H(3.j);c w=4.g.6();c h=4.g.8();c m=$(3.t);5(m.S){T({t:\'m\'});w=m.6();h=m.8();5(1w)1W=1w;1w=m;4.g.1t(m.1H())}T({6:w,8:h});5(4.g.H())4.10=y;q 14();1h();15()}q{v(\'49 2d: \'+3.A);T({t:\'1p\'});c G={};5(3.N){G=3.1p.G||{};G[3.2w]=3.N.1g(1)}$.1p($.M({},3.1p,{A:3.A.1g(0,3.A.S-3.N.S),47:3k,1c:14,G:G}));1h()}}q 5(3.j){v(\'4d: \'+3.t);T({t:\'3V\'});1r();4.g.H($(\'<m/>\').H(3.j).1H());5(4.g.H())4.10=y;q 14();1h()}q{}}b 3i(f){v(\'3i\');3=$.M({},$.1M.1j.f,f);3.N=\'\',3.3r=0,3.3s=0,3.3j=y;3t()}b T(f,1m,1Y){5(1m&&1Y){$.M(3[1m][1Y],f)}q 5(1m){$.M(3[1m],f)}q{$.M(3,f)}}b 4e(){5(2p){5(1I.3u){3.1u=1I.3u.4f;3.1v=1I.3u.2Q}q{3.1u=1I.Z.4f;3.1v=1I.Z.2Q}}q{3.1u=0;3.1v=0}}b 3t(){4e();3.L=-(3.6+3.3r)/2+3.1u;3.K=-(3.8+3.3s)/2+3.1v}b 1r(){v(\'1r\');5(!4.1x){5(3.v)T({5w:\'5x\'},\'k\',\'V\');c 3v=\'\';5(2p){Z.k({8:Z.8()+\'o\',6:Z.6()+\'o\',X:\'5y\',1B:\'1R\'});$(\'H\').k({1B:\'1R\'});T({X:\'3w\',8:\'4g%\',6:\'4g%\',2z:3.1v+\'o\',2A:3.1u+\'o\'},\'k\',\'V\');T({X:\'3w\'},\'k\',\'D\');T({X:\'3w\'},\'k\',\'z\');3v=$(\'<Q 1f="5z"></Q>\').k($.M({},3.k.V,{1i:0,2y:50,16:\'5A\'}))}Z.1t($(\'<m 1f="4h"><m 1f="4i"></m><m 1f="4j"><m 1f="4k"></m></m><m 1f="4l"></m><m 1f="4m"></m></m>\').Y());4.1x=$(\'#4h\').1J();4.V=$(\'#4i\').k($.M({2R:3.1Z},3.k.V)).5B(3v);5(!3.4)4.V.1e(1n);4.D=$(\'#4m\').k(3.k.D).Y();4.u=$(\'#4j\').k(3.k.z).Y();4.j=$(\'#4k\');4.g=$(\'#4l\').Y();5($.1z($.1M.4n)){4.j.4n(b(e,d){c 2f=4.j.4o(0);5((d>0&&2f.2Q==0)||(d<0&&2f.5C-2f.2Q==2f.5D)){e.1l();e.5E()}})}$(1I).4p(3x);4.j.k({6:\'1C\',8:\'1C\'});4.u.k({6:\'1C\',8:\'1C\'})}}b 1h(){v(\'1h\');5(!4.1a){1r();4.P=y;3.2E(4,3,3y)}q{4.P=y;4.11=y;3.2H(4,3,b(){2S();4.P=n;15()})}}b 3x(e){5(e.2g==27){5(!3.4)1n()}q 5(3.t==\'E\'&&4.1a&&4.10&&!4.P&&!4.11){5(e.2g==39||e.2g==40){e.1l();$(\'.22\',4.j).1A(0).4q(\'1e\');r n}q 5(e.2g==37||e.2g==38){e.1l();$(\'.23\',4.j).1A(0).4q(\'1e\');r n}}}b 42(){c l=3.l;c A=3.A;5(l&&l.2s){5(l.2s.33()==\'1y\'){5(l.3N==\'3O/1y-G\')r\'3d\';r\'1y\'}5(l.5F==\'4\')3.4=y;c 1q=1X 4r(\'[^\\.]\\.(\'+3.3S+\')\\s*$\',\'i\');5(1q.4s(l.J)){5(l.1o)r\'E\';q r\'1q\'}c 1P=1X 4r(\'[^\\.]\\.(1P)\\s*$\',\'i\');5(1P.4s(l.J))r\'1P\';5(l.3l.33()==\'5G\'||(l.4t.3z(/:\\d*$/,\'\')!=1S.2T.4t.3z(/:\\d*$/,\'\')))r\'Q\';A=l.J}5(A){5(l)3.A=A;q 3.l=y;c 24=2c(A);c 4u=2c(1S.2T.J);c 4v=1S.2T.J.1g(0,1S.2T.J.S-4u.S);c 4w=A.1g(0,A.S-24.S);5(4w==4v)r 24;q 3.N=24}}b 14(){v(\'14\');4.1c=y;5(!4.1a)r;5($.1z(3.3g))3.3g(4,3);4.D.5H(3.3Z).H(3.41);$(3.2D,4.D).1e(1n)}b 2U(){v(\'2U\');5(!4.g.H())r;4.j.H(4.g.1H());4.g.3A();3B();5($.1z(3.3h))3.3h(4,3);4.j.1t(4.2r);c 2V=$.M({},3);5(1d.6)2V.6=C;5(1d.8)2V.8=C;$(3.2D,4.u).1e(1n);$(3.3e,4.u).1j(2V)}b 3B(){v(\'3B\');c 29=$(3.29[3.t]);4.j.1t(29.3C().2h());4.u.5I(29);5(3.t==\'E\'){c E=$(\'[1o="\'+3.l.1o+\'"]\');c 12=E.35(3.l);5(12>0){c 3D=E.1A(12-1);$(\'.23\',4.u).1s(\'J\',3D.1s(\'J\')).1e(b(e){e.1l();3D.1N(3);r n})}q{$(\'.23\',4.u).2h()}5(12<E.S-1){c 3E=E.1A(12+1);$(\'.22\',4.u).1s(\'J\',3E.1s(\'J\')).1e(b(e){e.1l();3E.1N(3);r n})}q{$(\'.22\',4.u).2h()}}2u()}b 2u(4x){v(\'2u\');5(!4.z)4.z=4.u.3C(\':5J\');1d.6=n;1d.8=n;5(3.3a&&(!3.6||!3.8)){4.u.k({1i:0}).1J();c g={6:\'1C\',8:\'1C\'};5(3.6)g.6=3.6;5(3.8)g.8=3.8;4.j.k(g);5(!3.6){3.6=4.j.6();1d.6=y}5(!3.8){3.8=4.j.8();1d.8=y}4.u.Y().k({1i:1})}3.6=1K.4y(3.6,3.3P);3.8=1K.4y(3.8,3.3Q);c 2i=2j(4.u);c 2k=2j(4.z);c 19=2j(4.j);c g={j:{6:3.6,8:3.8},28:{6:3.6+19.w.R,8:3.8+19.h.R},z:{6:3.6+19.w.R+2k.w.R,8:3.8+19.h.R+2k.h.R}};5(3.3j){c 2W=$(1S).8()-3.17*2-2i.h.16-(g.z.8-3.8);c 2X=$(1S).6()-3.17*2-2i.w.16-(g.z.6-3.6);5(g.j.8>2W||g.j.6>2X){5(3.t==\'1q\'||3.t==\'E\'){c 2l=g.j.6-3.2O;c 2m=g.j.8-3.2P;5(2m<0)2m=0;5(2l<0)2l=0;c 2n=2W-2m;c 2o=2X-2l;c 3F=1K.3G(2n/3.2P,2o/3.2O);2n=1K.4z(3.2P*3F);2o=1K.4z(3.2O*3F);$(\'2e#4c\',4.j).k({8:2n+\'o\',6:2o+\'o\'});g.j.8=2n+2m;g.j.6=2o+2l}q{g.j.8=1K.3G(g.j.8,2W);g.j.6=1K.3G(g.j.6,2X)}g.28={6:g.j.6+19.w.R,8:g.j.8+19.h.R};g.z={6:g.j.6+19.w.R+2k.w.R,8:g.j.8+19.h.R+2k.h.R}}}4.j.k($.M({},g.j,3.k.j));4.z.k($.M({},g.28,3.k.28));5(!4x){4.u.k($.M({},g.z,3.k.z));5(3.t==\'1q\'||3.t==\'E\'){c 1D=$(\'2e\',4.j).1s(\'3p\');$(\'2e\',4.j).4A(\'3p\');5(1D!=3.3b){c 2Y=$(\'<m>\'+1D+\'</m>\');4.j.1t(2Y);5(3.3T){c 4B=2j(2Y);2Y.k({6:(g.j.6+19.w.17-4B.w.R)+\'o\'})}}}5(!3.4)4.u.2M(3.3W)}g.z.3r=2i.w.16;g.z.3s=2i.h.16;T(g.z);3t()}b 1n(e){v(\'1n\');5(e)e.1l();5(4.1x&&4.1a){4.1a=n;4.P=y;5(4.1b||4.11){3.2b(4,3,b(){4.D.Y();4.1b=n;4.11=n;3.2a(4,3,1F)})}q{5(1L)4.j.k({X:\'\'});4.z.k({1B:\'1R\'});4.j.k({1B:\'1R\'});3.2G(4,3,b(){2S();3.2a(4,3,1F)})}}5(e)r n}b 15(){v(\'15\');5(4.1a&&!4.P){5(4.10){5(4.g.H()){4.P=y;5(4.11){2U();3.2I(4,3,b(){4.D.Y();4.11=n;4.1b=n;1E()})}q{3.2b(4,3,b(){4.D.Y();4.1b=n;2U();3.2F(4,$.M({},3),1E)})}}}q 5(!4.1b&&!4.11){4.P=y;4.1b=y;5(4.1c)14();q 4.D.H(3.3Y);$(3.2D,4.D).1e(1n);3.2J(4,3,b(){4.P=n;15()})}}}b 3k(G){v(\'5K: \'+F.A);4.g.H(3.N?3H($(\'<m>\'+G+\'</m>\').4C(3.N).1H()):3H(G));5(4.g.H()){4.10=y;15()}q 14()}b 3o(){v(\'3o\');3.l.18+=3.N;3.l.3l=\'\';$(\'3n[13=\'+3.2x+\']\',3.l).2h();c Q=4.g.3C(\'Q\');c 4D=Q.3q(\'2N\').1H().4C(3.N||\'Z\').5L(\'4E[1G]\');Q.1s(\'1G\',\'5M:5N\');4.g.H(4D.H());5(4.g.H()){4.10=y;15()}q 14()}b 2S(){v(\'2S\');4.P=n;5(1W){1W.1t(4.j.1H());1W=C}q 5(1w){1w.1t(4.j.1H());1w=C}4.j.3A();4.u.3A().4A(\'5O\').Y().k(3.k.z).1t(4.j);15()}b 1F(){v(\'1F\');$(1I).3q(\'4p\',3x);4.P=n;4.1x.2h();4.1x=C;5(2p){Z.k({8:\'\',6:\'\',X:\'\',1B:\'\'});$(\'H\').k({1B:\'\'})}5($.1z(3.1F))3.1F(4,3)}b 3y(){v(\'3y\');4.1a=y;4.P=n;15()}b 1E(){v(\'1E\');4.P=n;4.u.k({1i:\'\'});1L=$.2q.5P&&5Q($.2q.3M)<1.9&&3.t!=\'E\'&&3.t!=\'1q\';5(1L)4.j.k({X:\'21\'});5($.1z(3.1E))3.1E(4,3);5(1d.6)T({6:C});5(1d.8)T({8:C})}b 2c(A){c 3I=A.5R(\'#\');5(3I>-1)r A.1g(3I);r\'\'}b 3H(G){5(5S G==\'5T\')G=G.3z(/<\\/?(H|5U|Z)([^>]*)>/5V,\'\');c g=1X 31();$.32($.5W({0:G},F.5X),b(){5($.2s(F,"4E")){5(!F.1G||$(F).1s(\'1o\')==\'5Y\')4.2r.2L(F)}q g.2L(F)});r g}b 2j(O){O=O.4o(0);c B={h:{2Z:W(O,\'K\')+W(O,\'5Z\'),16:W(O,\'60\')+W(O,\'61\'),17:W(O,\'62\')+W(O,\'63\')},w:{2Z:W(O,\'L\')+W(O,\'64\'),16:W(O,\'65\')+W(O,\'66\'),17:W(O,\'67\')+W(O,\'68\')}};B.h.30=B.h.2Z+B.h.16;B.w.30=B.w.2Z+B.w.16;B.h.4F=B.h.17+B.h.16;B.w.4F=B.w.17+B.w.16;B.h.R=B.h.30+B.h.17;B.w.R=B.w.30+B.w.17;r B}b W(O,13){c B=3L($.69(O,13,y));5(6a(B))B=0;r B}b v(4G){5(3&&3.v&&4.1x)4.V.2M(4G+\'<3f />\')}b 2E(p,f,I){p.V.k({1i:0}).4H(6b,0.6c,I)}b 2a(p,f,I){p.V.3J(3R,I)}b 2J(p,f,I){c h=p.D.8();c w=p.D.6();p.D.k({8:h+\'o\',6:w+\'o\',K:(-h/2+f.1v)+\'o\',L:(-w/2+f.1u)+\'o\',1i:0}).1J().1T({1i:1},{1U:I,1V:1O})}b 2b(p,f,I){I()}b 2F(p,f,I){c h=p.D.8();c w=p.D.6();p.D.k({8:h+\'o\',6:w+\'o\',K:(-h/2+f.1v)+\'o\',L:(-w/2+f.1u)+\'o\'}).1J().1T({6:f.6+\'o\',8:f.8+\'o\',K:(f.K)+\'o\',L:(f.L)+\'o\'},{1V:3K,1U:b(){p.u.k({6:f.6+\'o\',8:f.8+\'o\',K:(f.K)+\'o\',L:(f.L)+\'o\'}).1J();p.D.3J(6d,I)}})}b 2G(p,f,I){p.u.1T({8:\'2B\',6:\'2B\',K:25+f.1v+\'o\',L:25+f.1u+\'o\'},{1V:3K,1U:b(){p.u.Y();I()}})}b 2H(p,f,I){p.D.k({K:p.u.k(\'K\'),L:p.u.k(\'L\'),8:p.u.k(\'8\'),6:p.u.k(\'6\'),1i:0}).1J().4H(1O,1,b(){p.u.Y();I()})}b 2I(p,f,I){p.u.k({6:f.6+\'o\',L:(f.L)+\'o\',8:f.8+\'o\',K:(f.K)+\'o\',1i:1});p.D.1T({6:f.6+\'o\',L:(f.L)+\'o\',8:f.8+\'o\',K:(f.K)+\'o\'},{1U:b(){p.u.1J();p.D.3J(1O,b(){p.D.Y();I()})},1V:3K})}b 2v(p,f,I){p.u.1T({6:f.6+\'o\',L:(f.L)+\'o\',8:f.8+\'o\',K:(f.K)+\'o\'},{1U:I,1V:1O})}b 2t(p,f,I){5(!$.6e.6f.2R){p.V.k({2R:f.1Z});I()}q p.V.1T({2R:f.1Z},{1U:I,1V:1O})}$($.1M.1j.f.3e).1j()});',62,388,'|||currentSettings|modal|if|width||height|||function|var|||settings|tmp|||content|css|from|div|false|px|elts|else|return||type|contentWrapper|debug|||true|wrapper|url|ret|null|loading|gallery|this|data|html|callback|href|marginTop|marginLeft|extend|selector|elm|anim|iframe|total|length|setCurrentSettings|class|bg|getCurCSS|position|hide|body|dataReady|transition|currentIndex|name|loadingError|showContentOrLoading|border|padding|action|outerContent|ready|loadingShown|error|resized|click|id|substring|showModal|opacity|nyroModal|processModal|preventDefault|deep1|removeModal|rel|ajax|image|initModal|attr|append|marginScrollLeft|marginScrollTop|contentElt|full|form|isFunction|eq|overflow|auto|title|endShowContent|endRemove|src|contents|document|show|Math|fixFF|fn|nyroModalManual|400|swf|value|hidden|window|animate|complete|duration|contentEltLast|new|deep2|bgColor||fixed|nyroModalNext|nyroModalPrev|hash||100||wrapper2|wrap|hideBackground|hideLoading|getHash|Load|img|elt|keyCode|remove|outerWrapper|getOuter|outerWrapper2|diffW|diffH|calcH|calcW|isIE6|browser|scripts|nodeName|updateBgColor|calculateSize|resize|selIndicator|formIndicator|zIndex|top|left|50px|nyroModalClose|closeSelector|showBackground|showContent|hideContent|showTransition|hideTransition|showLoading|param|push|prepend|load|imgWidth|imgHeight|scrollTop|backgroundColor|endHideContent|location|fillContent|currentSettingsNew|maxHeight|maxWidth|divTitle|margin|outer|Array|each|toLowerCase|endResize|index|processHandler||||autoSizable|defaultImgAlt|Image|formData|openSelector|br|handleError|endFillContent|setDefaultCurrentSettings|resizable|ajaxLoaded|target|nyroModalIframe|input|formDataLoaded|alt|unbind|borderW|borderH|setMargin|documentElement|iframeHideIE|absolute|keyHandler|endBackground|replace|empty|wrapContent|children|linkPrev|linkNext|ratio|min|filterScripts|hashPos|fadeOut|350|parseInt|version|enctype|multipart|minWidth|minHeight|300|extImg|setWidthImgTitle|wrapperImg|manual|closeButton|Close|contentLoading|errorClass||contentError|fileType|object|wmode|transparent|embed|success|Form|Ajax|frameborder|hspace|nyroModalImg|Content|setMarginScroll|scrollLeft|110|nyroModalFull|nyroModalBg|nyroModalWrapper|nyroModalContent|nyrModalTmp|nyroModalLoading|mousewheel|get|keydown|trigger|RegExp|test|hostname|hashLoc|curLoc|req|resizing|max|floor|removeAttr|outerDivTitle|find|iframeContent|script|inner|msg|fadeTo|jQuery|msie|substr|submit|nyroModalSettings|nyroModalRemove|nyroModalSel|000000|resizeable|jpg|jpeg|png|tiff|gif|bmp|101|102|Prev||Next|wrapperSwf|wrapperIframe|closeBut|close|Cancel|The|requested|cannot|be|loaded|Please|try|again|later|classid|clsid|D27CDB6E|AE6D|11cf|96B8|444553540000|movie|application|shockwave|flash|serializeArray|method|Data|Loaded|Iframe|color|white|static|nyroModalIframeHideIe|none|before|scrollHeight|clientHeight|stopPropagation|rev|_blank|addClass|wrapInner|first|AjaxLoaded|not|about|blank|style|mozilla|parseFloat|indexOf|typeof|string|head|gi|clean|ownerDocument|forceLoad|marginBottom|borderTopWidth|borderBottomWidth|paddingTop|paddingBottom|marginRight|borderLeftWidth|borderRightWidth|paddingLeft|paddingRight|curCSS|isNaN|500|75|200|fx|step'.split('|'),0,{}));/* http://keith-wood.name/datepick.html
   Datepicker for jQuery 3.5.1.
   Written by Marc Grabanski (m@marcgrabanski.com) and
              Keith Wood (kbwood@virginbroadband.com.au).
   Dual licensed under the GPL (http://dev.jquery.com/browser/trunk/jquery/GPL-LICENSE.txt) and
   MIT (http://dev.jquery.com/browser/trunk/jquery/MIT-LICENSE.txt) licenses.
   Please attribute the authors if you use it. */
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(19($){15 2m=\'16\';19 3l(){8.7v=1g;8.2y=1b;8.3K=1g;8.2z=[];8.2A=1g;8.2n=1g;8.4n=[];8.4n[\'\']={5p:\'7w\',5q:\'7x 2B 3L 3M\',5r:\'5s\',5t:\'5s 7y 5u\',5v:\'&#4o;7z\',5w:\'2C 2B 5x 2D\',5y:\'&#4o;&#4o;\',5z:\'2C 2B 5x 3m\',5A:\'7A&#4p;\',5B:\'2C 2B 4q 2D\',5C:\'&#4p;&#4p;\',5D:\'2C 2B 4q 3m\',5E:\'7B\',5F:\'2C 2B 3L 2D\',2o:[\'7C\',\'7D\',\'7E\',\'7F\',\'5G\',\'7G\',\'7H\',\'7I\',\'7J\',\'7K\',\'7L\',\'7M\'],2E:[\'7N\',\'7O\',\'7P\',\'7Q\',\'5G\',\'7R\',\'7S\',\'7T\',\'7U\',\'7V\',\'7W\',\'7X\'],5H:\'2C a 5I 2D\',5J:\'2C a 5I 3m\',5K:\'7Y\',5L:\'7Z 80 2B 3m\',2p:[\'81\',\'82\',\'83\',\'84\',\'85\',\'86\',\'87\'],2q:[\'88\',\'89\',\'8a\',\'8b\',\'8c\',\'8d\',\'8e\'],5M:[\'8f\',\'8g\',\'8h\',\'8i\',\'8j\',\'8k\',\'8l\'],5N:\'8m 3n 8n 8o 3o 5O\',3p:\'5P 3n, M d\',3q:\'3N/2Q/2F\',4r:0,5Q:\'5P a 3M\',2R:1g};8.1N={5R:\'2r\',4s:\'4t\',4u:{},2S:\'8p\',5S:\'...\',5T:\'\',5U:1g,2T:1b,5V:\'\',5W:1x,4v:1g,5X:1g,5Y:1g,5Z:1g,2U:1,2V:12,4w:1g,60:1x,61:1x,62:1g,63:\'-10:+10\',64:1g,65:1g,66:1g,67:1g,68:1g,69:8.4x,3r:\'+10\',6a:1g,6b:8.3p,8q:1b,8r:1b,6c:1,4y:0,2s:1g,2W:\' - \',6d:1b,6e:1b,6f:1b,4z:1b,4A:1b,6g:1b,6h:\'\',6i:\'\',6j:1x};$.3O(8.1N,8.4n[\'\']);8.1j=$(\'<1i 1h="\'+8.4B+\'" 3s="4C: 6k;"></1i>\')}$.3O(3l.6l,{20:\'8s\',4B:\'16-1i\',4D:\'16-2d\',4E:\'16-2G\',2e:\'16-6m\',4F:\'16-8t\',4G:\'16-4H\',4I:\'16-3t\',3P:\'16-8u-2D\',3Q:\'16-8v\',3u:\'16-3L-5O\',3v:\'16-4J-3R-6n\',4K:\'16-3o-6n\',3S:\'16-8w\',8x:19(a){2X(8.1N,a||{});1a 8},6o:19(a,b){15 c=1b;1O(15 d 6p 8.1N){15 e=a.8y(\'3M:\'+d);17(e){c=c||{};4L{c[d]=8z(e)}4M(6q){c[d]=e}}}15 f=a.3w.3x();15 g=(f==\'1i\'||f==\'1P\');17(!a.1h)a.1h=\'6r\'+(++8.4N);15 h=8.4O($(a),g);h.1U=$.3O({},b||{},c||{});17(f==\'1c\'){8.6s(a,h)}1l 17(g){8.6t(a,h)}},4O:19(a,b){15 c=a[0].1h.4P(/([:\\[\\]\\.])/g,\'\\\\\\\\$1\');1a{1h:c,1c:a,1I:0,1B:0,1F:0,25:0,26:0,2d:b,1j:(!b?8.1j:$(\'<1i 1p="\'+8.4D+\'"></1i>\'))}},6s:19(d,e){15 f=$(d);17(f.2f(8.20))1a;15 g=8.18(e,\'5V\');15 h=8.18(e,\'2R\');17(g)f[h?\'6u\':\'6v\'](\'<1P 1p="\'+8.4E+\'">\'+g+\'</1P>\');15 i=8.18(e,\'5R\');17(i==\'2r\'||i==\'3T\')f.2r(8.2Y);17(i==\'2Z\'||i==\'3T\'){15 j=8.18(e,\'5S\');15 k=8.18(e,\'5T\');15 l=$(8.18(e,\'5U\')?$(\'<3U/>\').2t(8.2e).6w({4Q:k,6x:j,3y:j}):$(\'<2Z 3z="2Z"></2Z>\').2t(8.2e).30(k==\'\'?j:$(\'<3U/>\').6w({4Q:k,6x:j,3y:j})));f[h?\'6u\':\'6v\'](l);l.8A(19(){17($.16.2A&&$.16.31==d)$.16.28();1l $.16.2Y(d);1a 1g})}f.2t(8.20).4R(8.3V).6y(8.4S).3W("6z.16",19(a,b,c){e.1U[b]=c}).3W("6A.16",19(a,b){1a 8.18(e,b)});$.2H(d,2m,e)},6t:19(d,e){15 f=$(d);17(f.2f(8.20))1a;f.2t(8.20).3W("6z.16",19(a,b,c){e.1U[b]=c}).3W("6A.16",19(a,b){1a 8.18(e,b)});$.2H(d,2m,e);8.4T(e,8.3X(e));$(\'1V\').2G(e.1j);8.21(e);e.1j.1C(8.3a(e)[1]*$(\'.\'+8.3P,e.1j)[0].6B);f.2G(e.1j);8.3Y(e)},8B:19(a,b,c,d,e){15 f=8.6C;17(!f){15 g=\'6r\'+(++8.4N);8.29=$(\'<1c 3z="4U" 1h="\'+g+\'" 8C="1" 3s="2g: 3Z; 1D: -6D;"/>\');8.29.4R(8.3V);$(\'1V\').2G(8.29);f=8.6C=8.4O(8.29,1g);f.1U={};$.2H(8.29[0],2m,f)}2X(f.1U,d||{});8.29.2I(b);8.1S=(e?(41(e)?e:[e.8D,e.8E]):1b);17(!8.1S){15 h=42.6E||1q.1Q.43||1q.1V.43;15 i=42.6F||1q.1Q.44||1q.1V.44;15 j=1q.1Q.3b||1q.1V.3b;15 k=1q.1Q.3c||1q.1V.3c;8.1S=[(h/2)-2J+j,(i/2)-8F+k]}8.29.1v(\'1J\',8.1S[0]+\'2u\').1v(\'1D\',8.1S[1]+\'2u\');f.1U.4A=c;8.2n=1x;8.1j.2t(8.4F);8.2Y(8.29[0]);17($.3A)$.3A(8.1j);$.2H(8.29[0],2m,f)},8G:19(a){15 b=$(a);17(!b.2f(8.20)){1a}15 c=a.3w.3x();$.8H(a,2m);17(c==\'1c\'){b.3d(\'.\'+8.4E).3e().2K().3d(\'.\'+8.2e).3e().2K().3f(8.20).45(\'2r\',8.2Y).45(\'4R\',8.3V).45(\'6y\',8.4S)}1l 17(c==\'1i\'||c==\'1P\')b.3f(8.20).6G()},8I:19(b){15 c=$(b);17(!c.2f(8.20)){1a}15 d=b.3w.3x();17(d==\'1c\'){b.3t=1g;c.3d(\'2Z.\'+8.2e).3g(19(){8.3t=1g}).2K().3d(\'3U.\'+8.2e).1v({6H:\'1.0\',6I:\'\'})}1l 17(d==\'1i\'||d==\'1P\'){c.6J(\'.\'+8.4I).3e()}8.2z=$.6K(8.2z,19(a){1a(a==b?1b:a)})},8J:19(b){15 c=$(b);17(!c.2f(8.20)){1a}15 d=b.3w.3x();17(d==\'1c\'){b.3t=1x;c.3d(\'2Z.\'+8.2e).3g(19(){8.3t=1x}).2K().3d(\'3U.\'+8.2e).1v({6H:\'0.5\',6I:\'3B\'})}1l 17(d==\'1i\'||d==\'1P\'){15 e=c.6J(\'.\'+8.4D);15 f=e.4V();15 g={1J:0,1D:0};e.46().3g(19(){17($(8).1v(\'2g\')==\'8K\'){g=$(8).4V();1a 1g}});c.8L(\'<1i 1p="\'+8.4I+\'" 3s="\'+\'1C: \'+e.1C()+\'2u; 2a: \'+e.2a()+\'2u; 1J: \'+(f.1J-g.1J)+\'2u; 1D: \'+(f.1D-g.1D)+\'2u;"></1i>\')}8.2z=$.6K(8.2z,19(a){1a(a==b?1b:a)});8.2z.8M(b)},6L:19(a){1a(!a?1g:$.8N(a,8.2z)>-1)},1E:19(a){4L{1a $.2H(a,2m)}4M(6q){2L\'6M 8O 2H 1O 8 8P\';}},6N:19(a,b,c){15 d=b||{};17(2b b==\'3C\'){d={};d[b]=c}15 e=8.1E(a);17(e){17(8.2y==e){8.28(1b)}2X(e.1U,d);15 f=1d 1e();2X(e,{1w:1b,1W:1b,22:1b,1X:1b,1I:f.1r(),1B:f.1n(),1F:f.1m(),1y:f.1r(),1K:f.1n(),1G:f.1m(),25:f.1n(),26:f.1m()});8.21(e)}},8Q:19(a,b,c){8.6N(a,b,c)},8R:19(a){15 b=8.1E(a);17(b){8.21(b)}},8S:19(a,b,c){15 d=8.1E(a);17(d){8.4T(d,b,c);8.21(d);8.3Y(d)}},8T:19(a){15 b=8.1E(a);17(b&&!b.2d)8.4W(b);1a(b?8.4X(b):1b)},3V:19(a){15 b=$.16.1E(a.1L);15 c=1x;15 d=$.16.18(b,\'2R\');b.3K=1x;17($.16.2A)3D(a.4Y){1f 9:$.16.28(1b,\'\');1k;1f 13:15 e=$(\'2M.\'+$.16.3v+\', 2M.\'+$.16.3u,b.1j);17(e[0])$.16.4Z(a.1L,b.1F,b.1B,e[0]);1l $.16.28(1b,$.16.18(b,\'2S\'));1k;1f 27:$.16.28(1b,$.16.18(b,\'2S\'));1k;1f 33:$.16.1M(a.1L,(a.1z?-$.16.18(b,\'2V\'):-$.16.18(b,\'2U\')),\'M\');1k;1f 34:$.16.1M(a.1L,(a.1z?+$.16.18(b,\'2V\'):+$.16.18(b,\'2U\')),\'M\');1k;1f 35:17(a.1z||a.1Y)$.16.50(a.1L);c=a.1z||a.1Y;1k;1f 36:17(a.1z||a.1Y)$.16.51(a.1L);c=a.1z||a.1Y;1k;1f 37:17(a.1z||a.1Y)$.16.1M(a.1L,(d?+1:-1),\'D\');c=a.1z||a.1Y;17(a.6O.6P)$.16.1M(a.1L,(a.1z?-$.16.18(b,\'2V\'):-$.16.18(b,\'2U\')),\'M\');1k;1f 38:17(a.1z||a.1Y)$.16.1M(a.1L,-7,\'D\');c=a.1z||a.1Y;1k;1f 39:17(a.1z||a.1Y)$.16.1M(a.1L,(d?-1:+1),\'D\');c=a.1z||a.1Y;17(a.6O.6P)$.16.1M(a.1L,(a.1z?+$.16.18(b,\'2V\'):+$.16.18(b,\'2U\')),\'M\');1k;1f 40:17(a.1z||a.1Y)$.16.1M(a.1L,+7,\'D\');c=a.1z||a.1Y;1k;3B:c=1g}1l 17(a.4Y==36&&a.1z)$.16.2Y(8);1l c=1g;17(c){a.8U();a.8V()}1a!c},4S:19(a){15 b=$.16.1E(a.1L);17($.16.18(b,\'6j\')){15 c=$.16.6Q(b);15 d=8W.8X(a.6R==52?a.4Y:a.6R);1a a.1z||(d<\' \'||!c||c.6S(d)>-1)}},6Q:19(a){15 b=$.16.18(a,\'3q\');15 c=($.16.18(a,\'2s\')?$.16.18(a,\'2W\'):\'\');15 d=1g;1O(15 e=0;e<b.1T;e++)17(d)17(b.1H(e)=="\'"&&!6T("\'"))d=1g;1l c+=b.1H(e);1l 3D(b.1H(e)){1f\'d\':1f\'m\':1f\'y\':1f\'@\':c+=\'8Y\';1k;1f\'D\':1f\'M\':1a 1b;1f"\'":17(6T("\'"))c+="\'";1l d=1x;1k;3B:c+=b.1H(e)}1a c},2Y:19(b){b=b.1L||b;17(b.3w.3x()!=\'1c\')b=$(\'1c\',b.8Z)[0];17($.16.6L(b)||$.16.31==b)1a;15 c=$.16.1E(b);15 d=$.16.18(c,\'6d\');2X(c.1U,(d?d.2h(b,[b,c]):{}));$.16.28(1b,\'\');$.16.31=b;$.16.4W(c);17($.16.2n)b.47=\'\';17(!$.16.1S){$.16.1S=$.16.53(b);$.16.1S[1]+=b.90}15 e=1g;$(b).46().3g(19(){e|=$(8).1v(\'2g\')==\'6U\';1a!e});17(e&&$.2v.54){$.16.1S[0]-=1q.1Q.3b;$.16.1S[1]-=1q.1Q.3c}15 f={1J:$.16.1S[0],1D:$.16.1S[1]};$.16.1S=1b;c.1w=1b;c.1j.1v({2g:\'3Z\',4C:\'91\',1D:\'-92\'});$.16.21(c);c.1j.1C($.16.3a(c)[1]*$(\'.\'+$.16.3P,c.1j)[0].6B);f=$.16.6V(c,f,e);c.1j.1v({2g:($.16.2n&&$.3A?\'93\':(e?\'6U\':\'3Z\')),4C:\'6k\',1J:f.1J+\'2u\',1D:f.1D+\'2u\'});17(!c.2d){15 g=$.16.18(c,\'4s\')||\'4t\';15 h=$.16.18(c,\'2S\');15 i=19(){$.16.2A=1x;17($.2v.55&&1t($.2v.56,10)<7){15 a=$.16.57(c.1j);$(\'48.\'+$.16.3S).1v({1C:c.1j.1C()+a[0],2a:c.1j.2a()+a[1]})}};17($.49&&$.49[g])c.1j.4t(g,$.16.18(c,\'4u\'),h,i);1l c.1j[g](h,i);17(h==\'\')i();17(c.1c[0].3z!=\'58\')c.1c[0].2r();$.16.2y=c}},21:19(a){15 b=8.57(a.1j);15 c={1C:a.1j.1C()+b[0],2a:a.1j.2a()+b[1]};a.1j.6G().2G(8.6W(a)).6X(\'48.\'+8.3S).1v({1C:c.1C,2a:c.2a});15 d=8.3a(a);a.1j[(d[0]!=1||d[1]!=1?\'6Y\':\'3e\')+\'6Z\'](\'16-94\');a.1j[(8.18(a,\'2R\')?\'6Y\':\'3e\')+\'6Z\'](\'16-95\');17(a.1c&&a.1c[0].3z!=\'58\'&&a==$.16.2y)$(a.1c[0]).2r()},57:19(b){15 c=19(a){1a{96:1,97:2,98:3}[a]||a};1a[1t(c(b.1v(\'4a-1J-1C\')))+1t(c(b.1v(\'4a-70-1C\')))+1t(b.1v(\'4b-1J\'))+1t(b.1v(\'4b-70\')),1t(c(b.1v(\'4a-1D-1C\')))+1t(c(b.1v(\'4a-71-1C\')))+1t(b.1v(\'4b-1D\'))+1t(b.1v(\'4b-71\'))]},6V:19(a,b,c){15 d=a.1c?8.53(a.1c[0]):1b;15 e=42.6E||(1q.1Q?1q.1Q.43:1q.1V.43);15 f=42.6F||(1q.1Q?1q.1Q.44:1q.1V.44);17(e==0)1a b;15 g=1q.1Q.3b||1q.1V.3b;15 h=1q.1Q.3c||1q.1V.3c;17(8.18(a,\'2R\')||(b.1J+a.1j.1C()-g)>e)b.1J=2c.2N((c?0:g),d[0]+(a.1c?a.1c.1C():0)-(c?g:0)-a.1j.1C()-(c&&$.2v.54?1q.1Q.3b:0));1l b.1J-=(c?g:0);17((b.1D+a.1j.2a()-h)>f)b.1D=2c.2N((c?0:h),d[1]-(c?h:0)-(8.2n?0:a.1j.2a())-(c&&$.2v.54?1q.1Q.3c:0));1l b.1D-=(c?h:0);1a b},53:19(a){3E(a&&(a.3z==\'58\'||a.99!=1)){a=a.9a}15 b=$(a).4V();1a[b.1J,b.1D]},28:19(a,b){15 c=8.2y;17(!c||(a&&c!=$.2H(a,2m)))1a;15 d=8.18(c,\'2s\');17(d&&c.2i)8.4c(\'#\'+c.1h,8.2O(c,c.1y,c.1K,c.1G));c.2i=1g;17(8.2A){b=(b!=1b?b:8.18(c,\'2S\'));15 e=8.18(c,\'4s\');15 f=19(){$.16.59(c)};17(b!=\'\'&&$.49&&$.49[e])c.1j.5a(e,$.16.18(c,\'4u\'),b,f);1l c.1j[(b==\'\'?\'5a\':(e==\'9b\'?\'9c\':(e==\'9d\'?\'9e\':\'5a\')))](b,f);17(b==\'\')8.59(c);15 g=8.18(c,\'6g\');17(g)g.2h((c.1c?c.1c[0]:1b),[(c.1c?c.1c.2I():\'\'),c]);8.2A=1g;8.31=1b;c.1U.4H=1b;17(8.2n){8.29.1v({2g:\'3Z\',1J:\'0\',1D:\'-6D\'});17($.3A){$.9f();$(\'1V\').2G(8.1j)}}8.2n=1g}8.2y=1b},59:19(a){a.1j.3f(8.4F).45(\'.16\');$(\'.\'+8.4G,a.1j).3e()},72:19(a){17(!$.16.2y)1a;15 b=$(a.1L);17(!b.46().73().9g(\'#\'+$.16.4B)&&!b.2f($.16.20)&&!b.46().73().2f($.16.2e)&&$.16.2A&&!($.16.2n&&$.3A))$.16.28(1b,\'\')},1M:19(a,b,c){15 d=8.1E($(a)[0]);8.4d(d,b+(c==\'M\'?8.18(d,\'4y\'):0),c);8.21(d)},51:19(a){15 b=$(a);15 c=8.1E(b[0]);17(8.18(c,\'4w\')&&c.1y){c.1I=c.1y;c.25=c.1B=c.1K;c.26=c.1F=c.1G}1l{15 d=1d 1e();c.1I=d.1r();c.25=c.1B=d.1n();c.26=c.1F=d.1m()}8.3F(c);8.1M(b)},5b:19(a,b,c){15 d=$(a);15 e=8.1E(d[0]);e.4e=1g;e[\'3G\'+(c==\'M\'?\'74\':\'75\')]=e[\'9h\'+(c==\'M\'?\'74\':\'75\')]=1t(b.9i[b.9j].47,10);8.3F(e);8.1M(d)},5c:19(a){15 b=8.1E($(a)[0]);17(b.1c&&b.4e&&!$.2v.55)b.1c[0].2r();b.4e=!b.4e},76:19(a,b){15 c=8.1E($(a)[0]);c.1U.4r=b;8.21(c)},5d:19(a,b,c,d){17($(d).2f(8.3Q))1a;15 e=8.1E($(a)[0]);15 f=8.18(e,\'4z\');f.2h((e.1c?e.1c[0]:1b),[(b?1d 1e(b,c,$(d).4U()):1b),e])},4Z:19(a,b,c,d){17($(d).2f(8.3Q))1a;15 e=8.1E($(a)[0]);15 f=8.18(e,\'2s\');17(f){e.2i=!e.2i;17(e.2i){$(\'.16 2M\',e.1j).3f(8.3u);$(d).2t(8.3u)}}e.1I=e.1y=$(\'a\',d).30();e.1B=e.1K=c;e.1F=e.1G=b;17(e.2i){e.1W=e.22=e.1X=1b}1l 17(f){e.1W=e.1y;e.22=e.1K;e.1X=e.1G}8.4c(a,8.2O(e,e.1y,e.1K,e.1G));17(e.2i){e.1w=8.1s(1d 1e(e.1G,e.1K,e.1y));8.21(e)}1l 17(f){e.1I=e.1y=e.1w.1r();e.1B=e.1K=e.1w.1n();e.1F=e.1G=e.1w.1m();e.1w=1b;17(e.2d)8.21(e)}},50:19(a){15 b=$(a);15 c=8.1E(b[0]);17(8.18(c,\'4v\'))1a;c.2i=1g;c.1W=c.22=c.1X=c.1w=1b;8.4c(b,\'\')},4c:19(a,b){15 c=8.1E($(a)[0]);b=(b!=1b?b:8.2O(c));17(8.18(c,\'2s\')&&b)b=(c.1w?8.2O(c,c.1w):b)+8.18(c,\'2W\')+b;17(c.1c)c.1c.2I(b);8.3Y(c);15 d=8.18(c,\'4A\');17(d)d.2h((c.1c?c.1c[0]:1b),[b,c]);1l 17(c.1c)c.1c.6m(\'5u\');17(c.2d)8.21(c);1l 17(!c.2i){8.28(1b,8.18(c,\'2S\'));8.31=c.1c[0];17(2b(c.1c[0])!=\'5e\')c.1c[0].2r();8.31=1b}},3Y:19(a){15 b=8.18(a,\'6h\');17(b){15 c=8.18(a,\'6i\')||8.18(a,\'3q\');15 d=8.4X(a);77=(41(d)?(!d[0]&&!d[1]?\'\':8.23(c,d[0],8.1Z(a))+8.18(a,\'2W\')+8.23(c,d[1]||d[0],8.1Z(a))):8.23(c,d,8.1Z(a)));$(b).3g(19(){$(8).2I(77)})}},9k:19(a){1a[(a.4f()||7)<6,\'\']},4x:19(a){15 b=1d 1e(a.1A());b.3H(b.1r()+4-(b.4f()||7));15 c=b.1A();b.9l(0);b.3H(1);1a 2c.9m((c-b)/(78*7))+1},3p:19(a,b){1a $.16.23($.16.18(b,\'3p\'),a,$.16.1Z(b))},5f:19(e,f,g){17(e==1b||f==1b)2L\'5g 79\';f=(2b f==\'5e\'?f.7a():f+\'\');17(f==\'\')1a 1b;g=g||{};15 h=g.3r||8.1N.3r;15 j=g.2q||8.1N.2q;15 k=g.2p||8.1N.2p;15 l=g.2E||8.1N.2E;15 m=g.2o||8.1N.2o;15 n=-1;15 o=-1;15 p=-1;15 q=-1;15 r=1g;15 s=19(a){15 b=(x+1<e.1T&&e.1H(x+1)==a);17(b)x++;1a b};15 t=19(a){s(a);15 b=(a==\'@\'?14:(a==\'y\'?4:(a==\'o\'?3:2)));15 c=1d 9n(\'^\\\\d{1,\'+b+\'}\');15 d=f.9o(w).9p(c);17(!d)2L\'6M 5h 4g 2g \'+w;w+=d[0].1T;1a 1t(d[0],10)};15 u=19(a,b,c){15 d=(s(a)?c:b);1O(15 i=0;i<d.1T;i++){17(f.9q(w,d[i].1T)==d[i]){w+=d[i].1T;1a i+1}}2L\'9r 9s 4g 2g \'+w;};15 v=19(){17(f.1H(w)!=e.1H(x))2L\'9t 9u 4g 2g \'+w;w++};15 w=0;1O(15 x=0;x<e.1T;x++){17(r)17(e.1H(x)=="\'"&&!s("\'"))r=1g;1l v();1l 3D(e.1H(x)){1f\'d\':p=t(\'d\');1k;1f\'D\':u(\'D\',j,k);1k;1f\'o\':q=t(\'o\');1k;1f\'m\':o=t(\'m\');1k;1f\'M\':o=u(\'M\',l,m);1k;1f\'y\':n=t(\'y\');1k;1f\'@\':15 y=1d 1e(t(\'@\'));n=y.1m();o=y.1n()+1;p=y.1r();1k;1f"\'":17(s("\'"))v();1l r=1x;1k;3B:v()}}17(w<f.1T)2L\'9v 4U 9w 4g 2K\';17(n==-1)n=1d 1e().1m();1l 17(n<2J)n+=1d 1e().1m()-1d 1e().1m()%2J+(n<=h?0:-2J);17(q>-1){o=1;p=q;9x{15 z=8.3h(n,o-1);17(p<=z)1k;o++;p-=z}3E(1x)}15 y=8.1s(1d 1e(n,o-1,p));17(y.1m()!=n||y.1n()+1!=o||y.1r()!=p)2L\'5g 3M\';1a y},9y:\'2F-3N-2Q\',9z:\'D, 2Q M 2F\',9A:\'2F-3N-2Q\',9B:\'D, d M y\',9C:\'3n, 2Q-M-y\',9D:\'D, d M y\',9E:\'D, d M 2F\',9F:\'D, d M 2F\',9G:\'D, d M y\',9H:\'@\',9I:\'2F-3N-2Q\',23:19(e,f,g){17(!f)1a\'\';15 h=(g?g.2q:1b)||8.1N.2q;15 i=(g?g.2p:1b)||8.1N.2p;15 j=(g?g.2E:1b)||8.1N.2E;15 k=(g?g.2o:1b)||8.1N.2o;15 l=19(a){15 b=(q+1<e.1T&&e.1H(q+1)==a);17(b)q++;1a b};15 m=19(a,b,c){15 d=\'\'+b;17(l(a))3E(d.1T<c)d=\'0\'+d;1a d};15 n=19(a,b,c,d){1a(l(a)?d[b]:c[b])};15 o=\'\';15 p=1g;17(f)1O(15 q=0;q<e.1T;q++){17(p)17(e.1H(q)=="\'"&&!l("\'"))p=1g;1l o+=e.1H(q);1l 3D(e.1H(q)){1f\'d\':o+=m(\'d\',f.1r(),2);1k;1f\'D\':o+=n(\'D\',f.4f(),h,i);1k;1f\'o\':o+=m(\'o\',(f.1A()-1d 1e(f.1m(),0,0).1A())/78,3);1k;1f\'m\':o+=m(\'m\',f.1n()+1,2);1k;1f\'M\':o+=n(\'M\',f.1n(),j,k);1k;1f\'y\':o+=(l(\'y\')?f.1m():(f.7b()%2J<10?\'0\':\'\')+f.7b()%2J);1k;1f\'@\':o+=f.1A();1k;1f"\'":17(l("\'"))o+="\'";1l p=1x;1k;3B:o+=e.1H(q)}}1a o},18:19(a,b){1a a.1U[b]!==52?a.1U[b]:8.1N[b]},4W:19(a){15 b=8.18(a,\'3q\');15 c=a.1c?a.1c.2I().7c(8.18(a,\'2W\')):1b;a.1W=a.22=a.1X=1b;15 d=2T=8.3X(a);17(41(c)){15 e=8.1Z(a);17(c.1T>1){d=8.5f(b,c[1],e)||2T;a.1W=d.1r();a.22=d.1n();a.1X=d.1m()}4L{d=8.5f(b,c[0],e)||2T}4M(9J){d=2T}}a.1I=d.1r();a.25=a.1B=d.1n();a.26=a.1F=d.1m();a.1y=(c[0]?d.1r():0);a.1K=(c[0]?d.1n():0);a.1G=(c[0]?d.1m():0);8.4d(a)},3X:19(a){15 b=8.3I(8.18(a,\'2T\'),1d 1e());15 c=8.2j(a,\'2k\',1x);15 d=8.2j(a,\'2N\');b=(c&&b<c?c:b);b=(d&&b>d?d:b);1a b},3I:19(i,j){15 k=19(a){15 b=1d 1e();b.3H(b.1r()+a);1a b};15 l=19(a,b){15 c=1d 1e();15 d=c.1m();15 e=c.1n();15 f=c.1r();15 g=/([+-]?[0-9]+)\\s*(d|D|w|W|m|M|y|Y)?/g;15 h=g.7d(a);3E(h){3D(h[2]||\'d\'){1f\'d\':1f\'D\':f+=1t(h[1],10);1k;1f\'w\':1f\'W\':f+=1t(h[1],10)*7;1k;1f\'m\':1f\'M\':e+=1t(h[1],10);f=2c.2k(f,b(d,e));1k;1f\'y\':1f\'Y\':d+=1t(h[1],10);f=2c.2k(f,b(d,e));1k}h=g.7d(a)}1a 1d 1e(d,e,f)};i=(i==1b?j:(2b i==\'3C\'?l(i,8.3h):(2b i==\'5h\'?(7e(i)?j:k(i)):i)));i=(i&&i.7a()==\'5g 1e\'?j:i);17(i){i.7f(0);i.9K(0);i.9L(0);i.9M(0)}1a 8.1s(i)},1s:19(a){17(!a)1a 1b;a.7f(a.7g()>12?a.7g()+2:0);1a a},4T:19(a,b,c){15 d=!(b);15 e=a.1B;15 f=a.1F;b=8.3I(b,1d 1e());a.1I=a.1y=b.1r();a.25=a.1B=a.1K=b.1n();a.26=a.1F=a.1G=b.1m();17(8.18(a,\'2s\')){17(c){c=8.3I(c,1b);a.1W=c.1r();a.22=c.1n();a.1X=c.1m()}1l{a.1W=a.1y;a.22=a.1K;a.1X=a.1G}}17(e!=a.1B||f!=a.1F)8.3F(a);8.4d(a);17(a.1c)a.1c.2I(d?\'\':8.2O(a)+(!8.18(a,\'2s\')?\'\':8.18(a,\'2W\')+8.2O(a,a.1W,a.22,a.1X)))},4X:19(a){15 b=(!a.1G||(a.1c&&a.1c.2I()==\'\')?1b:8.1s(1d 1e(a.1G,a.1K,a.1y)));17(8.18(a,\'2s\')){1a[a.1w||b,(!a.1X?a.1w||b:8.1s(1d 1e(a.1X,a.22,a.1W)))]}1l 1a b},6W:19(a){15 b=1d 1e();b=8.1s(1d 1e(b.1m(),b.1n(),b.1r()));15 c=8.18(a,\'6a\');15 d=8.18(a,\'5Q\')||\'&#3i;\';15 e=8.18(a,\'2R\');15 f=(8.18(a,\'4v\')?\'\':\'<1i 1p="16-5i"><a 24="1o.16.50(\\\'#\'+a.1h+\'\\\');"\'+8.1R(c,a.1h,8.18(a,\'5q\'),d)+\'>\'+8.18(a,\'5p\')+\'</a></1i>\');15 g=\'<1i 1p="16-9N">\'+(e?\'\':f)+\'<1i 1p="16-9O"><a 24="1o.16.28();"\'+8.1R(c,a.1h,8.18(a,\'5t\'),d)+\'>\'+8.18(a,\'5r\')+\'</a></1i>\'+(e?f:\'\')+\'</1i>\';15 h=8.18(a,\'4H\');15 i=8.18(a,\'5W\');15 j=8.18(a,\'5X\');15 k=8.18(a,\'5Y\');15 l=8.18(a,\'5Z\');15 m=8.3a(a);15 n=8.18(a,\'4y\');15 o=8.18(a,\'2U\');15 p=8.18(a,\'2V\');15 q=(m[0]!=1||m[1]!=1);15 r=8.1s((!a.1y?1d 1e(9P,9,9):1d 1e(a.1G,a.1K,a.1y)));15 s=8.2j(a,\'2k\',1x);15 t=8.2j(a,\'2N\');15 u=a.25-n;15 v=a.26;17(u<0){u+=12;v--}17(t){15 w=8.1s(1d 1e(t.1m(),t.1n()-m[1]+1,t.1r()));w=(s&&w<s?s:w);3E(8.1s(1d 1e(v,u,1))>w){u--;17(u<0){u=11;v--}}}a.25=u;a.26=v;15 x=8.18(a,\'5v\');x=(!k?x:8.23(x,8.1s(1d 1e(v,u-o,1)),8.1Z(a)));15 y=(l?8.18(a,\'5y\'):\'\');y=(!k?y:8.23(y,8.1s(1d 1e(v,u-p,1)),8.1Z(a)));15 z=\'<1i 1p="16-9Q">\'+(8.5j(a,-1,v,u)?(l?\'<a 24="1o.16.1M(\\\'#\'+a.1h+\'\\\', -\'+p+\', \\\'M\\\');"\'+8.1R(c,a.1h,8.18(a,\'5z\'),d)+\'>\'+y+\'</a>\':\'\')+\'<a 24="1o.16.1M(\\\'#\'+a.1h+\'\\\', -\'+o+\', \\\'M\\\');"\'+8.1R(c,a.1h,8.18(a,\'5w\'),d)+\'>\'+x+\'</a>\':(j?\'&#3i;\':(l?\'<2w>\'+y+\'</2w>\':\'\')+\'<2w>\'+x+\'</2w>\'))+\'</1i>\';15 A=8.18(a,\'5A\');A=(!k?A:8.23(A,8.1s(1d 1e(v,u+o,1)),8.1Z(a)));15 B=(l?8.18(a,\'5C\'):\'\');B=(!k?B:8.23(B,8.1s(1d 1e(v,u+p,1)),8.1Z(a)));15 C=\'<1i 1p="16-4q">\'+(8.5j(a,+1,v,u)?\'<a 24="1o.16.1M(\\\'#\'+a.1h+\'\\\', +\'+o+\', \\\'M\\\');"\'+8.1R(c,a.1h,8.18(a,\'5B\'),d)+\'>\'+A+\'</a>\'+(l?\'<a 24="1o.16.1M(\\\'#\'+a.1h+\'\\\', +\'+p+\', \\\'M\\\');"\'+8.1R(c,a.1h,8.18(a,\'5D\'),d)+\'>\'+B+\'</a>\':\'\'):(j?\'&#3i;\':\'<2w>\'+A+\'</2w>\'+(l?\'<2w>\'+B+\'</2w>\':\'\')))+\'</1i>\';15 D=8.18(a,\'5E\');15 E=(8.18(a,\'4w\')&&a.1y?r:b);D=(!k?D:8.23(D,E,8.1Z(a)));15 F=(i&&!a.2d?g:\'\')+\'<1i 1p="16-9R">\'+(e?C:z)+(8.5k(a,E)?\'<1i 1p="16-3L">\'+\'<a 24="1o.16.51(\\\'#\'+a.1h+\'\\\');"\'+8.1R(c,a.1h,8.18(a,\'5F\'),d)+\'>\'+D+\'</a></1i>\':\'\')+(e?z:C)+\'</1i>\'+(h?\'<1i 1p="\'+8.4G+\'"><1P>\'+h+\'</1P></1i>\':\'\');15 G=1t(8.18(a,\'4r\'));G=(7e(G)?0:G);15 H=8.18(a,\'64\');15 I=8.18(a,\'2p\');15 J=8.18(a,\'2q\');15 K=8.18(a,\'5M\');15 L=8.18(a,\'2o\');15 M=8.18(a,\'6e\');15 N=8.18(a,\'67\');15 O=8.18(a,\'65\');15 P=8.18(a,\'66\');15 Q=8.18(a,\'68\');15 R=8.18(a,\'69\')||8.4x;15 S=8.18(a,\'5L\');15 T=(c?8.18(a,\'5N\')||d:\'\');15 U=8.18(a,\'6b\')||8.3p;15 V=8.18(a,\'4z\');15 W=a.1W?8.1s(1d 1e(a.1X,a.22,a.1W)):r;15 X=8.3X(a);1O(15 Y=0;Y<m[0];Y++)1O(15 Z=0;Z<m[1];Z++){15 4h=8.1s(1d 1e(v,u,a.1I));F+=\'<1i 1p="\'+8.3P+(Z==0?\' 16-1d-5l\':\'\')+\'">\'+8.7h(a,u,v,s,t,4h,Y>0||Z>0,c,d,L)+\'<7i 1p="16" 9S="0" 9T="0"><7j>\'+\'<4i 1p="16-3y-5l">\'+(Q?\'<4j\'+8.1R(c,a.1h,S,d)+\'>\'+8.18(a,\'5K\')+\'</4j>\':\'\');1O(15 2l=0;2l<7;2l++){15 2P=(2l+G)%7;15 7k=(T.6S(\'3n\')>-1?T.4P(/3n/,I[2P]):T.4P(/D/,J[2P]));F+=\'<4j\'+((2l+G+6)%7>=5?\' 1p="16-3o-2K-3R"\':\'\')+\'>\'+(!H?\'<1P\'+8.1R(c,a.1h,I[2P],d):\'<a 24="1o.16.76(\\\'#\'+a.1h+\'\\\', \'+2P+\');"\'+8.1R(c,a.1h,7k,d))+\' 3y="\'+I[2P]+\'">\'+K[2P]+(H?\'</a>\':\'</1P>\')+\'</4j>\'}F+=\'</4i></7j><7l>\';15 5m=8.3h(v,u);17(v==a.1F&&u==a.1B)a.1I=2c.2k(a.1I,5m);15 5n=(8.7m(v,u)-G+7)%7;15 7n=(q?6:2c.9U((5n+5m)/7));15 1u=8.1s(1d 1e(v,u,1-5n));1O(15 5o=0;5o<7n;5o++){F+=\'<4i 1p="16-4J-5l">\'+(Q?\'<2M 1p="16-3o-9V"\'+8.1R(c,a.1h,S,d)+\'>\'+R(1u)+\'</2M>\':\'\');1O(15 2l=0;2l<7;2l++){15 3J=(M?M.2h((a.1c?a.1c[0]:1b),[1u]):[1x,\'\']);15 4k=(1u.1n()!=u);15 3j=(4k&&!P)||!3J[0]||(s&&1u<s)||(t&&1u>t);15 2x=4k&&!O;F+=\'<2M 1p="16-4J-3R\'+((2l+G+6)%7>=5?\' 16-3o-2K-3R\':\'\')+(4k?\' 16-9W-2D\':\'\')+((1u.1A()==4h.1A()&&u==a.1B&&a.3K)||(X.1A()==1u.1A()&&X.1A()==4h.1A())?\' \'+$.16.3v:\'\')+(3j?\' \'+8.3Q:\'\')+(2x?\'\':\' \'+3J[1]+(1u.1A()>=r.1A()&&1u.1A()<=W.1A()?\' \'+8.3u:\'\')+(1u.1A()==b.1A()?\' 16-9X\':\'\'))+\'"\'+(!2x&&3J[2]?\' 3y="\'+3J[2]+\'"\':\'\')+\' 7o="\'+(3j?\'\':\'1o(8).2t(\\\'\'+8.3v+\'\\\');\')+(N?\'1o(8).7p().2t(\\\'\'+8.4K+\'\\\');\':\'\')+(!c||2x?\'\':\'1o(\\\'#16-3k-\'+a.1h+\'\\\').30(\\\'\'+(U.2h((a.1c?a.1c[0]:1b),[1u,a])||d)+\'\\\');\')+(V&&!2x?\'1o.16.5d(\\\'#\'+a.1h+\'\\\',\'+1u.1m()+\',\'+1u.1n()+\', 8);\':\'\')+\'"\'+\' 7q="\'+(3j?\'\':\'1o(8).3f(\\\'\'+8.3v+\'\\\');\')+(N?\'1o(8).7p().3f(\\\'\'+8.4K+\'\\\');"\':\'\')+(!c||2x?\'\':\'1o(\\\'#16-3k-\'+a.1h+\'\\\').30(\\\'\'+d+\'\\\');\')+(V&&!2x?\'1o.16.5d(\\\'#\'+a.1h+\'\\\');\':\'\')+\'"\'+(3j?\'\':\' 24="1o.16.4Z(\\\'#\'+a.1h+\'\\\'\'+\',\'+1u.1m()+\',\'+1u.1n()+\',8);"\')+\'>\'+(2x?\'&#3i;\':(3j?1u.1r():\'<a>\'+1u.1r()+\'</a>\'))+\'</2M>\';1u.3H(1u.1r()+1);1u=8.1s(1u)}F+=\'</4i>\'}u++;17(u>11){u=0;v++}F+=\'</7l></7i></1i>\'}F+=(c?\'<1i 3s="5i: 3T;"></1i><1i 1h="16-3k-\'+a.1h+\'" 1p="16-3k">\'+d+\'</1i>\':\'\')+(!i&&!a.2d?g:\'\')+\'<1i 3s="5i: 3T;"></1i>\'+($.2v.55&&1t($.2v.56,10)<7&&!a.2d?\'<48 4Q="9Y:1g;" 1p="\'+8.3S+\'"></48>\':\'\');a.3K=1g;1a F},7h:19(a,b,c,d,e,f,g,h,i,j){d=(a.1w&&d&&f<d?f:d);15 k=8.18(a,\'60\');15 l=8.18(a,\'61\');15 m=8.18(a,\'62\');15 n=\'<1i 1p="16-9Z">\';15 o=\'\';17(g||!k)o+=\'<1P>\'+j[b]+\'</1P>\';1l{15 p=(d&&d.1m()==c);15 q=(e&&e.1m()==c);o+=\'<4l 1p="16-1d-2D" \'+\'7r="1o.16.5b(\\\'#\'+a.1h+\'\\\', 8, \\\'M\\\');" \'+\'24="1o.16.5c(\\\'#\'+a.1h+\'\\\');"\'+8.1R(h,a.1h,8.18(a,\'5H\'),i)+\'>\';1O(15 r=0;r<12;r++){17((!p||r>=d.1n())&&(!q||r<=e.1n()))o+=\'<4m 47="\'+r+\'"\'+(r==b?\' 3G="3G"\':\'\')+\'>\'+j[r]+\'</4m>\'}o+=\'</4l>\'}17(!m)n+=o+(g||!k||!l?\'&#3i;\':\'\');17(g||!l)n+=\'<1P>\'+c+\'</1P>\';1l{15 s=8.18(a,\'63\').7c(\':\');15 t=0;15 u=0;17(s.1T!=2){t=c-10;u=c+10}1l 17(s[0].1H(0)==\'+\'||s[0].1H(0)==\'-\'){t=c+1t(s[0],10);u=c+1t(s[1],10)}1l{t=1t(s[0],10);u=1t(s[1],10)}t=(d?2c.2N(t,d.1m()):t);u=(e?2c.2k(u,e.1m()):u);n+=\'<4l 1p="16-1d-3m" \'+\'7r="1o.16.5b(\\\'#\'+a.1h+\'\\\', 8, \\\'Y\\\');" \'+\'24="1o.16.5c(\\\'#\'+a.1h+\'\\\');"\'+8.1R(h,a.1h,8.18(a,\'5J\'),i)+\'>\';1O(;t<=u;t++){n+=\'<4m 47="\'+t+\'"\'+(t==c?\' 3G="3G"\':\'\')+\'>\'+t+\'</4m>\'}n+=\'</4l>\'}17(m)n+=(g||!k||!l?\'&#3i;\':\'\')+o;n+=\'</1i>\';1a n},1R:19(a,b,c,d){1a(a?\' 7o="1o(\\\'#16-3k-\'+b+\'\\\').30(\\\'\'+(c||d)+\'\\\');" \'+\'7q="1o(\\\'#16-3k-\'+b+\'\\\').30(\\\'\'+d+\'\\\');"\':\'\')},4d:19(a,b,c){15 d=a.26+(c==\'Y\'?b:0);15 e=a.25+(c==\'M\'?b:0);15 f=2c.2k(a.1I,8.3h(d,e))+(c==\'D\'?b:0);15 g=8.1s(1d 1e(d,e,f));15 h=8.2j(a,\'2k\',1x);15 i=8.2j(a,\'2N\');g=(h&&g<h?h:g);g=(i&&g>i?i:g);a.1I=g.1r();a.25=a.1B=g.1n();a.26=a.1F=g.1m();17(c==\'M\'||c==\'Y\')8.3F(a)},3F:19(a){15 b=8.18(a,\'6f\');17(b)b.2h((a.1c?a.1c[0]:1b),[a.1F,a.1B+1,a])},3a:19(a){15 b=8.18(a,\'6c\');1a(b==1b?[1,1]:(2b b==\'5h\'?[1,b]:b))},2j:19(a,b,c){15 d=8.3I(8.18(a,b+\'1e\'),1b);1a(!c||!a.1w?d:(!d||a.1w>d?a.1w:d))},3h:19(a,b){1a 32-1d 1e(a,b,32).1r()},7m:19(a,b){1a 1d 1e(a,b,1).4f()},5j:19(a,b,c,d){15 e=8.3a(a);15 f=8.1s(1d 1e(c,d+(b<0?b:e[1]),1));17(b<0)f.3H(8.3h(f.1m(),f.1n()));1a 8.5k(a,f)},5k:19(a,b){15 c=(!a.1w?1b:8.1s(1d 1e(a.1F,a.1B,a.1I)));c=(c&&a.1w<c?a.1w:c);15 d=c||8.2j(a,\'2k\');15 e=8.2j(a,\'2N\');1a((!d||b>=d)&&(!e||b<=e))},1Z:19(a){15 b=8.18(a,\'3r\');b=(2b b!=\'3C\'?b:1d 1e().1m()%2J+1t(b,10));1a{3r:b,2q:8.18(a,\'2q\'),2p:8.18(a,\'2p\'),2E:8.18(a,\'2E\'),2o:8.18(a,\'2o\')}},2O:19(a,b,c,d){17(!b){a.1y=a.1I;a.1K=a.1B;a.1G=a.1F}15 e=(b?(2b b==\'5e\'?b:8.1s(1d 1e(d,c,b))):8.1s(1d 1e(a.1G,a.1K,a.1y)));1a 8.23(8.18(a,\'3q\'),e,8.1Z(a))}});19 2X(a,b){$.3O(a,b);1O(15 c 6p b)17(b[c]==1b||b[c]==52)a[c]=b[c];1a a};19 41(a){1a(a&&a.a0==7s)};$.a1.16=19(a){15 b=7s.6l.a2.a3(79,1);17(2b a==\'3C\'&&(a==\'a4\'||a==\'1r\'))1a $.16[\'7t\'+a+\'3l\'].2h($.16,[8[0]].7u(b));1a 8.3g(19(){2b a==\'3C\'?$.16[\'7t\'+a+\'3l\'].2h($.16,[8].7u(b)):$.16.6o(8,a)})};$.16=1d 3l();$.16.4N=1d 1e().1A();$.16.56=\'3.5.1\';$(19(){$(1q).a5($.16.72).6X(\'1V\').2G($.16.1j)})})(1o);',62,626,'||||||||this|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||var|datepick|if|_get|function|return|null|input|new|Date|case|false|id|div|dpDiv|break|else|getFullYear|getMonth|jQuery|class|document|getDate|_daylightSavingAdjust|parseInt|bv|css|rangeStart|true|currentDay|ctrlKey|getTime|selectedMonth|width|top|_getInst|selectedYear|currentYear|charAt|selectedDay|left|currentMonth|target|_adjustDate|_defaults|for|span|documentElement|_addStatus|_pos|length|settings|body|endDay|endYear|metaKey|_getFormatConfig|markerClassName|_updateDatepick|endMonth|formatDate|onclick|drawMonth|drawYear||_hideDatepick|_dialogInput|height|typeof|Math|inline|_triggerClass|hasClass|position|apply|stayOpen|_getMinMaxDate|min|bp|bn|_inDialog|monthNames|dayNames|dayNamesShort|focus|rangeSelect|addClass|px|browser|label|bA|_curInst|_disabledInputs|_datepickerShowing|the|Show|month|monthNamesShort|yy|append|data|val|100|end|throw|td|max|_formatDate|bq|dd|isRTL|duration|defaultDate|stepMonths|stepBigMonths|rangeSeparator|extendRemove|_showDatepick|button|html|_lastInput|||||||||_getNumberOfMonths|scrollLeft|scrollTop|siblings|remove|removeClass|each|_getDaysInMonth|xa0|bz|status|Datepick|year|DD|week|dateStatus|dateFormat|shortYearCutoff|style|disabled|_currentClass|_dayOverClass|nodeName|toLowerCase|title|type|blockUI|default|string|switch|while|_notifyChange|selected|setDate|_determineDate|bx|_keyEvent|current|date|mm|extend|_oneMonthClass|_unselectableClass|cell|_coverClass|both|img|_doKeyDown|bind|_getDefaultDate|_updateAlternate|absolute||isArray|window|clientWidth|clientHeight|unbind|parents|value|iframe|effects|border|padding|_selectDate|_adjustInstDate|_selectingMonthYear|getDay|at|bo|tr|th|by|select|option|regional|x3c|x3e|next|firstDay|showAnim|show|showOptions|mandatory|gotoCurrent|iso8601Week|showCurrentAtPos|onHover|onSelect|_mainDivId|display|_inlineClass|_appendClass|_dialogClass|_promptClass|prompt|_disableClass|days|_weekOverClass|try|catch|uuid|_newInst|replace|src|keydown|_doKeyPress|_setDate|text|offset|_setDateFromField|_getDate|keyCode|_selectDay|_clearDate|_gotoToday|undefined|_findPos|opera|msie|version|_getExtras|hidden|_tidyDialog|hide|_selectMonthYear|_clickMonthYear|_doHover|object|parseDate|Invalid|number|clear|_canAdjustMonth|_isInRange|row|bs|bt|bw|clearText|clearStatus|closeText|Close|closeStatus|change|prevText|prevStatus|previous|prevBigText|prevBigStatus|nextText|nextStatus|nextBigText|nextBigStatus|currentText|currentStatus|May|monthStatus|different|yearStatus|weekHeader|weekStatus|dayNamesMin|dayStatus|day|Select|initStatus|showOn|buttonText|buttonImage|buttonImageOnly|appendText|closeAtTop|hideIfNoPrevNext|navigationAsDateFormat|showBigPrevNext|changeMonth|changeYear|showMonthAfterYear|yearRange|changeFirstDay|showOtherMonths|selectOtherMonths|highlightWeek|showWeeks|calculateWeek|showStatus|statusForDate|numberOfMonths|beforeShow|beforeShowDay|onChangeMonthYear|onClose|altField|altFormat|constrainInput|none|prototype|trigger|over|_attachDatepick|in|err|dp|_connectDatepick|_inlineDatepick|before|after|attr|alt|keypress|setData|getData|offsetWidth|_dialogInst|100px|innerWidth|innerHeight|empty|opacity|cursor|children|map|_isDisabledDatepick|Missing|_optionDatepick|originalEvent|altKey|_possibleChars|charCode|indexOf|lookAhead|fixed|_checkOffset|_generateHTML|find|add|Class|right|bottom|_checkExternalClick|andSelf|Month|Year|_changeFirstDay|dateStr|86400000|arguments|toString|getYear|split|exec|isNaN|setHours|getHours|_generateMonthYearHeader|table|thead|br|tbody|_getFirstDayOfMonth|bu|onmouseover|parent|onmouseout|onchange|Array|_|concat|debug|Clear|Erase|without|Prev|Next|Today|January|February|March|April|June|July|August|September|October|November|December|Jan|Feb|Mar|Apr|Jun|Jul|Aug|Sep|Oct|Nov|Dec|Wk|Week|of|Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sun|Mon|Tue|Wed|Thu|Fri|Sat|Su|Mo|Tu|We|Th|Fr|Sa|Set|as|first|normal|minDate|maxDate|hasDatepick|dialog|one|unselectable|cover|setDefaults|getAttribute|eval|click|_dialogDatepick|size|pageX|pageY|150|_destroyDatepick|removeData|_enableDatepick|_disableDatepick|relative|prepend|push|inArray|instance|datepicker|_changeDatepick|_refreshDatepick|_setDateDatepick|_getDateDatepick|preventDefault|stopPropagation|String|fromCharCode|0123456789|parentNode|offsetHeight|block|1000px|static|multi|rtl|thin|medium|thick|nodeType|nextSibling|slideDown|slideUp|fadeIn|fadeOut|unblockUI|is|draw|options|selectedIndex|noWeekends|setMonth|floor|RegExp|substring|match|substr|Unknown|name|Unexpected|literal|Additional|found|do|ATOM|COOKIE|ISO_8601|RFC_822|RFC_850|RFC_1036|RFC_1123|RFC_2822|RSS|TIMESTAMP|W3C|event|setMinutes|setSeconds|setMilliseconds|control|close|9999|prev|links|cellpadding|cellspacing|ceil|col|other|today|javascript|header|constructor|fn|slice|call|isDisabled|mousedown'.split('|'),0,{}));/* Russian (UTF-8) initialisation for the jQuery UI date picker plugin. */
/* Written by Andrew Stromnov (stromnov@gmail.com). */
(function($) {
	$.datepick.regional['ru'] = {
		clearText: '\u041e\u0447\u0438\u0441\u0442\u0438\u0442\u044c', clearStatus: '',
		closeText: '\u0417\u0430\u043a\u0440\u044b\u0442\u044c', closeStatus: '',
		prevText: '&#x3c; \u041f\u0440\u0435\u0434',  prevStatus: '',
		prevBigText: '&#x3c;&#x3c;', prevBigStatus: '',
		nextText: '\u0421\u043b\u0435\u0434 &#x3e;', nextStatus: '',
		nextBigText: '&#x3e;&#x3e;', nextBigStatus: '',
		currentText: '\u0422\u0435\u043a\u0443\u0449\u0438\u0439', currentStatus: '',
		monthNames: ['\u042f\u043d\u0432\u0430\u0440\u044c','\u0424\u0435\u0432\u0440\u0430\u043b\u044c','\u041c\u0430\u0440\u0442','\u0410\u043f\u0440\u0435\u043b\u044c','\u041c\u0430\u0439','\u0418\u044e\u043d\u044c',
		'\u0418\u044e\u043b\u044c','\u0410\u0432\u0433\u0443\u0441\u0442','\u0421\u0435\u043d\u0442\u044f\u0431\u0440\u044c','\u041e\u043a\u0442\u044f\u0431\u0440\u044c','\u041d\u043e\u044f\u0431\u0440\u044c','\u0414\u0435\u043a\u0430\u0431\u0440\u044c'],
		monthNamesShort: ['\u042f\u043d\u0432','\u0424\u0435\u0432','\u041c\u0430\u0440','\u041c\u0430\u0440','\u041c\u0430\u0439','\u0418\u044e\u043d',
		'\u0418\u044e\u043b','\u0410\u0432\u0433','\u0421\u0435\u043d','\u041e\u043a\u0442','\u041d\u043e\u044f','\u0414\u0435\u043a'],
		monthStatus: '', yearStatus: '',
		weekHeader: '\u041d\u0435', weekStatus: '',
		dayNames: ['\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435','\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a','\u0432\u0442\u043e\u0440\u043d\u0438\u043a','\u0441\u0440\u0435\u0434\u0430','\u0447\u0435\u0442\u0432\u0435\u0440\u0433','\u043f\u044f\u0442\u043d\u0438\u0446\u0430','\u0441\u0443\u0431\u0431\u043e\u0442\u0430'],
		dayNamesShort: ['\u0432\u0441\u043a','\u043f\u043d\u0434','\u0432\u0442\u0440','\u0441\u0440\u0434','\u0447\u0442\u0432','\u043f\u0442\u043d','\u0441\u0431\u0442'],
		dayNamesMin: ['\u0412\u0441','\u041f\u043d','\u0412\u0442','\u0421\u0440','\u0427\u0442','\u041f\u0442','\u0421\u0431'],
		dayStatus: 'DD', dateStatus: 'D, M d',
		dateFormat: 'dd.mm.yy', firstDay: 1,
		initStatus: '', isRTL: false};
	$.datepick.setDefaults($.datepick.regional['ru']);
})(jQuery);
/*
 -----------------------------------------------------------------------------------

	Gallerybox 1.0
	Author: Dinesk Kumar V
  Created: 01-02-09

	For more information, visit:
	http://sam-sys.com/gallerybox.html

 -----------------------------------------------------------------------------------
*/
(function($)
{
	$.fn.galleryBox = function(settings) {

		settings = jQuery.extend({		/* Settings to configure the jQuery galleryBox plugin */
			olayBgColor: 		'#000',
			olayOpacity:		0.8,
			imgResizeSpeed:		600,
			initContentWidth:	200,
			initContentHeight:	200,
			contentWidth:		300,
			contentHeight:		400,
			timeoutTimer:		false,
			keyToClose:			'c',		/* (string) (c = close) Letter to close the jQuery galleryBox interface. */
			keyToPrev:			'p',		/* (string) (p = previous) Letter to show the previous image */
			keyToNext:			'n',		/* (string) (n = next) Letter to show the next image. */
			imgArray:			[],
			galArray:			[],
			imgActive:			0,
			galActive:			0
		},settings);
		var jQueryObj = this;

		function _initialize() {
			_start(this,jQueryObj);
			return false;
		};

		function _start(objClicked,jQueryObj) {
			$('embed, object, select').css({ 'visibility' : 'hidden' });
			settings.imgArray.length = 0;
			settings.galArray.length = 0;
			settings.imgActive = 0;
			settings.galActive = 0;
			var thumpath =''; gallname='';
			var myRE = /(\[(\w|\.|\/|\-|\:)+\])/g;
			if ( false /*jQueryObj.length == 1*/ ) {
				/* thuminfo = objClicked.rel.split(" "); */
				thuminfo = jQueryObj[i].rel.match(myRE);
				if(thuminfo.length>1)thumpath = thuminfo[1].substring(1,thuminfo[1].length-1);
				if(thuminfo.length>0)gallname = thuminfo[0].substring(1,thuminfo[0].length-1);
				settings.imgArray.push(new Array(new Array(objClicked.getAttribute('href'),thumpath,objClicked.getAttribute('title'))));
				settings.galArray.push(gallname);
			} else {
				for ( var i = 0; i < jQueryObj.length; i++ ) {
					thumpath=''; gallname='';
					thuminfo = jQueryObj[i].rel.match(myRE);
					if(thuminfo.length>1)thumpath = thuminfo[1].substring(1,thuminfo[1].length-1);
					if(thuminfo.length>0)gallname = thuminfo[0].substring(1,thuminfo[0].length-1);
					galkey = jQuery.inArray(gallname,settings.galArray);
					if(galkey<0) {
						settings.imgArray.push(new Array(new Array(jQueryObj[i].getAttribute('href'),thumpath,jQueryObj[i].getAttribute('title'))));
						settings.galArray.push(gallname);
					}
					else {
						settings.imgArray[galkey].push(new Array(jQueryObj[i].getAttribute('href'),thumpath,jQueryObj[i].getAttribute('title')));
					}

					if(objClicked.getAttribute('href') == jQueryObj[i].getAttribute('href')) {
						galkey = jQuery.inArray(gallname,settings.galArray);
						settings.imgActive = settings.imgArray[galkey].length-1;
						settings.galActive = galkey;
					}

				}

			}
			_buildBox();
			_buildEvents();
			_buildBottomImg();
			_buildContentArea();
			_LoadImage();
		};

		function _buildBox() {

			$('body').append('<div id="gallerybox-overlay"></div><div id="gallerybox-outter"><div id="gallerybox-topbox"><span><a href="#" id="gallerybox-menubox">Category</a><div id="gallerybox-title">'+settings.galArray[settings.galActive]+' - '+settings.imgArray[settings.galActive][settings.imgActive][2]+'</div></span></div><div id="gallerybox-menubox-item"></div><div id="gallerybox-content-left"></div><div id="gallerybox-content-right"></div><div id="gallerybox-content"><img id="gallerybox-image"/><div id="gallerybox-image-overlay"></div></div><div id="gallerybox-bottombox"><div id="gallerybox-bottombox-in"></div></div></div>');

			for ( var i = 0; i < settings.galArray.length; i++ )
				$('#gallerybox-menubox-item').append('<a href="#" rel="'+i+'" title="'+settings.galArray[i]+'">'+settings.galArray[i]+'</a>');

			if($.browser.msie){
				$('#gallerybox-overlay').css({
					backgroundColor: settings.olayBgColor, opacity: settings.olayOpacity, width: $(document.body).width(), height: $(document.body).height()
				}).fadeIn();
				$('#gallerybox-bottombox').css({width:'98%'});
			}else{
				$('#gallerybox-overlay').css({
					backgroundColor: settings.olayBgColor, opacity: settings.olayOpacity, width: $(document).width(), height: $(document).height()
				}).fadeIn();
			}

			$('#gallerybox-outter').css({
				width: $(window).width(), height: $(window).height(), top: $(window).scrollTop(), left: $(window).scrollLeft()
			});

			$('#gallerybox-bottombox').css({top: $('#gallerybox-outter').height() - ($('#gallerybox-bottombox').height() + 20)});

			settings.contentWidth =	$('#gallerybox-outter').width()-380;
			settings.contentHeight = $('#gallerybox-outter').height() - ($('#gallerybox-bottombox').height() + 70);
		};

		function _buildEvents(){
			$('#gallerybox-overlay').click(function() {	_closeBox();	});
			$('#gallerybox-outter').click(function(event) {	if(event.target.id=='gallerybox-outter') _closeBox(); else return false; });
			$('#gallerybox-image').load(function (event) {_trasformBox();	});
			$('#gallerybox-bottombox').mousemove(function(event) {
				var position = $('#gallerybox-bottombox').position();
				var gwd = $('#gallerybox-bottombox').width();
				var iwd = $('#gallerybox-bottombox-in').width();

				if(iwd>gwd) {
					var ratio = (100/gwd )*(event.clientX - position.left-10);
					var leftc = ((iwd - gwd)/100)* ratio;
					$('#gallerybox-bottombox').scrollLeft(leftc);
				}
			});
			$(window).resize(function() {
				clearTimeout(settings.timeoutTimer);
				if($.browser.msie)
					$('#gallerybox-overlay').css({width: $(document.body).width(), height: $(document.body).height()});
				else
					$('#gallerybox-overlay').css({width: $(document).width(), height: $(document).height()});

				$('#gallerybox-outter').css({width: $(window).width(), height: $(window).height()});
				$('#gallerybox-bottombox').css({top: $('#gallerybox-outter').height() - ($('#gallerybox-bottombox').height() + 20)});
				settings.contentWidth =	$('#gallerybox-outter').width()-380;
				settings.contentHeight = $('#gallerybox-outter').height() - ($('#gallerybox-bottombox').height() + 70);
				settings.timeoutTimer=setTimeout(function(){_LoadImage();},200);
			});

			$(window).scroll(function() {
				$('#gallerybox-outter').css({top: $(window).scrollTop(), left: $(window).scrollLeft()});
			});
			$('#gallerybox-outter').mousewheel(function(event, delta) {
				return false;
			});
			$('#gallerybox-menubox').toggle(function(){ $('#gallerybox-menubox-item').fadeIn('normal'); },function(){ $('#gallerybox-menubox-item').fadeOut('fast'); });
			$('#gallerybox-menubox-item a').click(function(){ _loadGallery(this); });

			$('#gallerybox-content-left').click(function() {
				if(settings.imgActive>0) {
					settings.imgActive--;
					prv = $('a.gallerybox_b_img_s').prev();
					$('a.gallerybox_b_img_s').removeClass('gallerybox_b_img_s').addClass('gallerybox_b_img');
					prv.addClass('gallerybox_b_img_s');
					_LoadImage();
				}
			});
			$('#gallerybox-content-right').click(function() {
				if(settings.imgActive < settings.imgArray[settings.galActive].length-1) {
					settings.imgActive++;
					nxt = $('a.gallerybox_b_img_s').next();
					$('a.gallerybox_b_img_s').removeClass('gallerybox_b_img_s').addClass('gallerybox_b_img');
					nxt.addClass('gallerybox_b_img_s');
					_LoadImage();
				}
			});
		};
		function _buildBottomImg(){
			gallerybox_bottombox = $('#gallerybox-bottombox-in');
			$('a.gallerybox_b_img, a.gallerybox_b_img_s').remove();
			gallerybox_bottombox.css({width:60 * settings.imgArray[settings.galActive].length+5});
			for ( var i = 0; i < settings.imgArray[settings.galActive].length; i++ ) {

					if(settings.imgActive==i)
					gallerybox_bottombox.append('<a href="javascript:void(0)" class="gallerybox_b_img_s" rel="'+i+'"><img width="100%" src="'+settings.imgArray[settings.galActive][i][1]+'" border="0"/></a>');
					else
					gallerybox_bottombox.append('<a href="javascript:void(0)" class="gallerybox_b_img" rel="'+i+'"><img width="100%" src="'+settings.imgArray[settings.galActive][i][1]+'" border="0"/></a>');
					/*gallerybox_bottombox.append('<a href="javascript:void(0)" class="gallerybox_b_img" rel="'+i+'"><img width="100%" src="'+settings.imgArray[settings.galActive][i][1]+'" border="0"/></a>');*/
			}
			$('a.gallerybox_b_img, a.gallerybox_b_img_s').click(function() {
				settings.imgActive = parseInt(this.getAttribute('rel'));
				$('a.gallerybox_b_img_s').removeClass('gallerybox_b_img_s').addClass('gallerybox_b_img');
				this.className = 'gallerybox_b_img_s';
				_LoadImage();
			});
		};

		function _buildContentArea(){
			topc = ($('#gallerybox-outter').height()-(settings.initContentHeight+ $('#gallerybox-bottombox').height()))/2;
			leftc =  ($('#gallerybox-outter').width()-settings.initContentWidth)/2;

			pstop = ((settings.initContentHeight - 150)/2) + topc;

			$('#gallerybox-content').css({	width: settings.initContentWidth, height: settings.initContentHeight, top: topc, left: leftc });
			$('#gallerybox-content-left').css({width: 150, height: 150, top:  pstop, left: leftc, opacity:1});
			$('#gallerybox-content-right').css({width: 150, height: 150, top:  pstop,left: (settings.initContentWidth + leftc-150), opacity:1 });
		};


		function _loadGallery(obj){
			$('#gallerybox-menubox').trigger('click');
			settings.galActive = parseInt(obj.getAttribute('rel'));
			settings.imgActive = 0;
			 $('#gallerybox-bottombox-in').empty();
			_buildBottomImg();
			_LoadImage();
		};

		function _LoadImage(){
			$('#gallerybox-content,#gallerybox-image,#gallerybox-content-left,#gallerybox-content-right').stop();
			$('#gallerybox-image-overlay').fadeIn('slow', function() {
				$('#gallerybox-image').css({width:'',height:''});
				$('#gallerybox-image').attr('src', settings.imgArray[settings.galActive][settings.imgActive][0]);
			});
			var position = $('#gallerybox-content').position();
			pstop = (($('#gallerybox-content').height()- 150)/2) + position.top;
			psleft = ($('#gallerybox-content').width()/2) + position.left;
			$('#gallerybox-content-left').animate({top:pstop, left: psleft-75},500,function(){$('#gallerybox-content-left').hide()});
			$('#gallerybox-content-right').animate({top:pstop, left: psleft-75},500,function(){$('#gallerybox-content-right').hide()});
			$('#gallerybox-title').html(/*settings.galArray[settings.galActive] + ' - ' + */settings.imgArray[settings.galActive][settings.imgActive][2]);
		};



		function _trasformBox()
		{
			var wd = $('#gallerybox-image').width();
			var hd = $('#gallerybox-image').height();
			var ratio = 100;
			if(settings.contentWidth<wd && settings.contentHeight<hd){
					ratio1 = (100/wd) * settings.contentWidth;
					ratio2 = (100/hd) * settings.contentHeight;
					if(ratio1<ratio2) ratio = ratio1; else ratio = ratio2;

			}
			else if(settings.contentHeight<hd) ratio = (100/hd) * settings.contentHeight;
			else if(settings.contentWidth<wd) ratio = (100/wd) * settings.contentWidth;

			wd   = (wd/100)* ratio;
			hd   = (hd/100)* ratio;
			xtop  = ($('#gallerybox-outter').height()-(hd + $('#gallerybox-bottombox').height()))/2;
			yleft = ($('#gallerybox-outter').width()-wd)/2;
			pstop = ((hd- 150)/2) + xtop;
			if(wd<0) wd=10; if(hd<0)hd=10;
			$('#gallerybox-content').animate({width: wd, height: hd, top: xtop-10,left: yleft },settings.imgResizeSpeed, function(){ $('#gallerybox-image-overlay').fadeOut(function(){ _trasformSideBox(); });	});

			if(ratio<100) $('#gallerybox-image').css({ width: wd, height: hd});


		};

		function _trasformSideBox(){
			var position = $('#gallerybox-content').position();
			yleft = $('#gallerybox-content').width() + position.left + 20;

			pstop = (($('#gallerybox-content').height()- 150)/2) + position.top;
			psleft = ($('#gallerybox-content').width()/2) + position.left;
			if(settings.imgActive>0){
				$('#gallerybox-content-left').css({
					top:pstop,
					left: psleft-75,
					backgroundImage : "url("+settings.imgArray[settings.galActive][settings.imgActive-1][1]+")"
				}).show();
				$('#gallerybox-content-left').animate({top:pstop, left: position.left -170 },settings.imgResizeSpeed);
			}
			if(settings.imgActive < settings.imgArray[settings.galActive].length-1){
				$('#gallerybox-content-right').css({
					top:pstop,
					left: psleft-75,
					backgroundImage : "url("+settings.imgArray[settings.galActive][settings.imgActive+1][1]+")"
				}).show();
				$('#gallerybox-content-right').animate({top:pstop, left:yleft+10},settings.imgResizeSpeed);
			}
		};

		function _closeBox() {
			$('#gallerybox-content,#gallerybox-image,#gallerybox-content-left,#gallerybox-content-right').stop();
			$('#gallerybox-outter').remove();
			$('#gallerybox-overlay').fadeOut(function() { $('#gallerybox-overlay').remove(); });
			$('embed, object, select').css({ 'visibility' : 'visible' });
		};
		return this.unbind('click').click(_initialize);
	};
})(jQuery);


/* Copyright (c) 2006 Brandon Aaron (brandon.aaron@gmail.com || http://brandonaaron.net)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
 * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
 *
 * $LastChangedDate$
 * $Rev$
 *
 * Version: @VERSION
 *
 * Requires: $ 1.2.2+
 */

(function($) {

$.event.special.mousewheel = {
	setup: function() {
		var handler = $.event.special.mousewheel.handler;

		/* Fix pageX, pageY, clientX and clientY for mozilla */
		if ( $.browser.mozilla )
			$(this).bind('mousemove.mousewheel', function(event) {
				$.data(this, 'mwcursorposdata', {
					pageX: event.pageX,
					pageY: event.pageY,
					clientX: event.clientX,
					clientY: event.clientY
				});
			});

		if ( this.addEventListener )
			this.addEventListener( ($.browser.mozilla ? 'DOMMouseScroll' : 'mousewheel'), handler, false);
		else
			this.onmousewheel = handler;
	},

	teardown: function() {
		var handler = $.event.special.mousewheel.handler;

		$(this).unbind('mousemove.mousewheel');

		if ( this.removeEventListener )
			this.removeEventListener( ($.browser.mozilla ? 'DOMMouseScroll' : 'mousewheel'), handler, false);
		else
			this.onmousewheel = function(){};

		$.removeData(this, 'mwcursorposdata');
	},

	handler: function(event) {
		var args = Array.prototype.slice.call( arguments, 1 );

		event = $.event.fix(event || window.event);
		/* Get correct pageX, pageY, clientX and clientY for mozilla */
		$.extend( event, $.data(this, 'mwcursorposdata') || {} );
		var delta = 0, returnValue = true;

		if ( event.wheelDelta ) delta = event.wheelDelta/120;
		if ( event.detail     ) delta = -event.detail/3;
		if ( $.browser.opera  ) delta = -event.wheelDelta;

		event.data  = event.data || {};
		event.type  = "mousewheel";

		/* Add delta to the front of the arguments */
		args.unshift(delta);
		/* Add event to the front of the arguments */
		args.unshift(event);

		return $.event.handle.apply(this, args);
	}
};

$.fn.extend({
	mousewheel: function(fn) {
		return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel");
	},

	unmousewheel: function(fn) {
		return this.unbind("mousewheel", fn);
	}
});

})(jQuery);



$(document).ready(function () {
    $("a[rel^='gallerybox']").galleryBox();
});  var myToolBox = {

    parseFloat: function()
      {
        var argv = this.parseFloat.arguments;
        var argc = this.parseFloat.arguments.length;
        if(argc > 0)
          {
            var value = (argc > 0 && this.trim(argv[0]).length > 0 && !isNaN(Number(argv[0]))) ? String(argv[0]) : false;
            var pos = (argc > 1 && this.trim(argv[1]).length > 0 && !isNaN(Number(argv[1]))) ? Number(argv[1]) : false;
            var fzero = (argc > 2 && argv[2] == true) ? true : false;
            if(value && pos)
              {
                var cut = '1';
                for(i=0; i<pos; i++) cut += '0';
                cut = Number(cut);
                var result = Math.round(value*cut)/cut;
              }
            else if(value && !pos) var result = Math.round(value);
            if(result)
              {                if(fzero)
                  {                    result = String(result);
                    var fract = result.indexOf('.');
                    if(fract != -1 && (result.substring(fract+1, result.length)).length <= pos)
                      {                        for(i=0; i<(pos-(result.substring(fract+1, result.length)).length); i++) result += '0';                      }
                    else
                      {                        result += '.';                        for(i=0; i<pos; i++) result += '0';                      }                  }
                return result;              }
          }
        return false;
      },

    toString: function()
      {
        var argv = this.toString.arguments;
        var argc = this.toString.arguments.length;
        var result = '';
        if(argc > 0)
          {
            switch(typeof(argv[0]))
              {
                case 'undefined': result = ''; break;
                case 'number': result = ''+argv[0]+''; break;
                case 'string': result = ''+argv[0]+''; break;
                case 'boolean': result = (argv[0] == true) ? '1':''; break;
              }
          }
        return result;
      },

    trim: function()
      {
        var argv = this.trim.arguments;
        var argc = this.trim.arguments.length;
        var str  = (argc > 0) ? new String(argv[0]) : '';
        var re   = /\s/g;
        return str.replace(re, '');
      },

    insertHTML: function()
      {
         var argv = this.insert.arguments;
         var argc = this.insert.arguments.length;
         var id = (argc > 0 && argv[0] != false && this.trim(argv[0]).length > 0) ? new String(argv[0]) : false;
         var content = (argc > 1 && argv[1] != false && this.trim(argv[1]).length > 0) ? new String(argv[1]) : false;
         if(id == false || content == false) return false;
         try { document.getElementById(id).innerHTML = content; }
         catch(err){}
         return false;
      },

    emailcheck: function()
      {
        var argv = this.emailcheck.arguments;
        var argc = this.emailcheck.arguments.length;
        var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
        if(argc > 0 && typeof(argv[0]) == 'string' && filter.test(argv[0])) return true;
        return false;
      },

    urlencode: function()
      {
        var argv = this.urlencode.arguments;
        var argc = this.urlencode.arguments.length;
        if(argc == 0) return '';
        var ret = argv[0];
        ret = ret.toString();
        ret = encodeURIComponent(ret);
        ret = ret.replace(/%20/g, '+');
        return ret;
      },

    fieldMask: function()
      {
        var argv = this.fieldMask.arguments;
        var argc = this.fieldMask.arguments.length;
        var xPath = (argc > 0 && $.trim(argv[0]).length > 0 && $(argv[0]).length > 0) ? argv[0] : false;
        var string = (argc > 1 && $.trim(argv[1]).length > 0) ? argv[1] : false;
        var emptyClass = (argc > 2 && $.trim(argv[2]).length > 0) ? argv[2] : false;
        var fillClass = (argc > 3 && $.trim(argv[3]).length > 0) ? argv[3] : false;
        if(xPath == false) return false;

        if($.trim($(xPath).val()).length == 0)
          {
            if(string != false) $(xPath).val(string);
            if(emptyClass != false && fillClass != false)$(xPath).addClass(emptyClass).removeClass(fillClass);
          }
        $(xPath).focus(function(){
          if(emptyClass != false && fillClass != false) $(this).addClass(fillClass).removeClass(emptyClass);
          if(string != false && $(this).val() == string) $(this).val('');
        });
        $(xPath).blur(function(){
          if($.trim($(xPath).val()).length == 0)
          {
            if(emptyClass != false && fillClass != false) $(this).addClass(emptyClass).removeClass(fillClass);
            if(string != false) $(this).val(string);
          }
        });
      },

    maxLength: function(obj, xPath, max)
      {
        var current = $(obj).val().length;
        var limit = (!isNaN(new Number(max - current))) ? (max - current) : 0;
        if(limit >= 0) $(xPath).text(limit);
        else
          {
            $(obj).val(($(obj).val()).substring(0, (max)));
            $(xPath).text(0);
          }
        return false;
      },

    showHTMLObject: function()
      {
        var argv = this.showHTMLObject.arguments;
        var argc = this.showHTMLObject.arguments.length;
        if(argc > 0 && $.trim(argv[0]).length > 0 && $(argv[0]).length > 0) $(argv[0]).animate({height: 'show', opacity: 'show'}, 'slow');
        return false;
      },

    hideHTMLObject: function()
      {
        var argv = this.hideHTMLObject.arguments;
        var argc = this.hideHTMLObject.arguments.length;
        if(argc > 0 && $.trim(argv[0]).length > 0 && $(argv[0]).length > 0) $(argv[0]).animate({height: 'hide', opacity: 'hide'}, 'slow');
        return false;
      },

    hideGarbage: function()
      {
        var argv = this.hideGarbage.arguments;
        var argc = this.hideGarbage.arguments.length;
        if(argc > 0) $('object:visible, iframe:visible').css( 'visibility', 'hidden' ).addClass('garbageSign');
        else $('.garbageSign').css( 'visibility', 'visible' ).removeClass('garbageSign');
      },

    onchecked: function()
      {
        $('input[@onchecked][@onunchecked]:checkbox').click(function(){
          if($(this).is(':checked')) eval($(this).attr('onchecked'));
          else if($(this).not(':checked')) eval($(this).attr('onunchecked'));
        });
      },

    filetypecheck: function(filename, extentions)
      {
        if($.trim(filename).length > 0)
        {
          var filename = filename.toLowerCase();
          var arr = /\.(\w+$)/.exec(filename);
          if (arr == null) return false;
          if (extentions.indexOf(" "+arr[1]+" ")==-1) return false;
          return true;
        }
        return false;
      },

    mouseXY: function(e)
      {        /*SAMPLE: $(document).mousemove(function(e){console.log(myToolBox.mouseXY(e));});*/
        var x = 0;
        var y = 0;
        try
          {            if(document.all && document.all.item && !window.opera)
              {                x = event.clientX + document.body.scrollLeft;
                y = event.clientY + document.body.scrollTop;              }
            else if(document.getElementById || window.opera)
              {                x = e.pageX;
                y = e.pageY;              }
            else
              {                x = e.clientX + window.scrollX;
                y = e.clientY + window.scrollY;              }
          } catch(error){ return {}; };
        return {'x':x,'y':y};      },

    event: {      add: function(o, e, f, c)
        {
          if(!o || !e || !f) return false;
          if(!c) var c = false; /*c => event phase (true:capturing, false:bubbling )*/
          try
            {
              if(document.all && document.all.item && !window.opera) {o.attachEvent(e,f); return true;}
              else if(document.getElementById || window.opera) {o.addEventListener(e,f,c); return true;}
            } catch(error){};
          return false;
        },      remove: function(o, e, f, c)
        {
          if(!o || !e || !f) return false;
          if(!c) var c = false;
          try
            {
              if(document.all && document.all.item && !window.opera) {o.detachEvent(e,f); return true;}
              else if(document.getElementById || window.opera) {o.removeEventListener(e,f,c); return true;}
            } catch(error){};
          return false;
        }
    },

    parseCSV: function(data,col_sep,row_sep){
      var isQuotes = false, data = $.trim(data);
      if(data.indexOf('"') == 0 && data.lastIndexOf('"') == data.length-1) isQuotes = true;
      var col_sep = (isQuotes)? '"'+col_sep+'"' : col_sep;
      var rows=data.split(row_sep),rc=[];
          rowlen=rows.length ;
      for(var i=0;i<rowlen;i++){
        rows[i] = (isQuotes)? $.trim(rows[i]).substring(1, $.trim(rows[i]).length-1) : $.trim(rows[i]);
        if($.trim(rows[i]).length == 0) continue;
        try{
          rc[i]=rows[i].split(col_sep);
        } catch(e){ };
      }
      return rc;
    },

    expires: {
        hour:  function()
                {
                  var timestamp = new Date();
                  timestamp.setTime(timestamp.getTime() + (60*60*1000));
                  return timestamp;
                },
        day:   function()
                {
                  var timestamp = new Date();
                  timestamp.setTime(timestamp.getTime() + (24*60*60*1000));
                  return timestamp;
                },
        today: function()
                {
                  var timestamp = new Date();
                  return new Date(timestamp.getFullYear(), timestamp.getMonth(), timestamp.getDate(), 23, 59, 59);
                },
        year:  function()
                {
                  var timestamp = new Date();
                  timestamp.setTime(timestamp.getTime() + (365*24*60*60*1000));
                  return timestamp;
                },
        clear: function()
                {
                  var timestamp = new Date();
                  timestamp.setTime(timestamp.getTime() - (365*24*60*60*1000));
                  return timestamp;
                }
      },

    setcookie: function(name, value)
      {
        var argv = this.setcookie.arguments;
        var argc = this.setcookie.arguments.length;
        var expires = (argc > 2) ? argv[2] : null;
        var path = (argc > 3) ? argv[3] : null;
        var domain = (argc > 4) ? argv[4] : null;
        var secure = (argc > 5) ? argv[5] : false;
        document.cookie = name + "=" + escape(value) +
        ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
        ((path == null) ? "" : ("; path=" + path)) +
        ((domain == null) ? "" : ("; domain=" + domain)) +
        ((secure == true) ? "; secure" : "");
      },

    getcookie: function(name)
      {
        var pos = document.cookie.indexOf(name + "=");
        if(pos == -1) return false;
        else
          {
            var pos2 = document.cookie.indexOf(";", pos);
            if(pos2 == -1) return unescape(document.cookie.substring(pos + name.length + 1));
            else return unescape(document.cookie.substring(pos + name.length + 1, pos2));
          }
      },

    inArray: function(val, arr)
      {
        for(var i = 0; i < arr.length; i++) {
          if(arr[i] == val) {
              return true;
            }
          }
        return false;
      }
  };/*
 * commonPlayer - JavaScript Plugin
 *
 * Copyright (c) 2008 Maxim Chuhryaev
 * Licensed under the MIT license
 *
 * $Date: 2009-03-02
 * $version: 1.0.2
 */

  var commonPlayer = {

    /*  USAGE:
        var player = new Object;
            player.options = {                              insert:'HTML_ElementID',
                              id:'somePlayer',
                              name:'somePlayer',
                              width:'764',
                              height:'573',
                              wmode:'oblique',
                              movie:'/movie/player.swf',
                              background:'#000000',
                              flashvars: '',
                              classid:'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000',
                              codebase:'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,115,0'
                             };
            player.result = new Object(commonPlayer);
            player.result.init(player.options);
        Player methods:
            init();
            get();
            insert();
            set_volume();
            get_volume();
            set_bandwidth();
            get_bandwidth();
            close();
    */

    result: {
              input: {},
              output: {                        options: {},
                        attribute: {},
                        html: ''
                      }
            },

    init: function()
      {
         var argv = this.init.arguments;
         var argc = this.init.arguments.length;
         if(argc > 0 && typeof(argv[0]) == 'object') this.result.input = argv[0];

         /* init input options */
           this.result.output.options.insert      = this.result.input.insert    || false;
           this.result.output.attribute.id        = this.result.input.id        || false;
           this.result.output.attribute.name      = this.result.input.name      || false;
           this.result.output.attribute.width     = this.result.input.width     || false;
           this.result.output.attribute.height    = this.result.input.height    || false;
           this.result.output.attribute.movie     = this.result.input.movie     || false;
           this.result.output.attribute.background = this.result.input.background || false;
           this.result.output.attribute.flashvars = this.result.input.flashvars || false;
           this.result.output.attribute.wmode     = this.result.input.wmode     || false;
           this.result.output.attribute.classid   = this.result.input.classid   || false;
           this.result.output.attribute.codebase  = this.result.input.codebase  || false;

         /* construct html code */
           this.result.output.html = this.get
                                             (
                                               this.result.output.attribute.id,
                                               this.result.output.attribute.name,
                                               this.result.output.attribute.width,
                                               this.result.output.attribute.height,
                                               this.result.output.attribute.movie,
                                               this.result.output.attribute.background,
                                               this.result.output.attribute.flashvars,
                                               this.result.output.attribute.wmode,
                                               this.result.output.attribute.classid,
                                               this.result.output.attribute.codebase
                                             );

         /* insert player object into page */
         if(this.result.output.options.insert != false)
           {             this.insert(this.result.output.options.insert, this.result.output.html);           }

         return this.result;
      },

    get: function()
       {
         /*
          * arguments:
          *         0: attribute 'id' (default: 'commonPlayer')
          *         1: attribute 'name' (default: 'commonPlayer')
          *         2: attribute 'width' (default: '764')
          *         3: attribute 'height' (default: '573')
          *         4: attribute 'movie/src' (default: '');
          *         5: attribute 'background' (default: '#000000');
          *         5: attribute 'flashvars' (default: '');
          *         6: attribute 'wmode' (default: 'oblique');
          *         7: attribute 'classid' (default: 'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000')
          *         8: attribute 'codebase' (default: 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,64,0')
         */
         var argv = this.get.arguments;
         var argc = this.get.arguments.length;
         var attribute = new Object;
             attribute.id        = (argc > 0 && argv[0] != false && this.trim(argv[0]).length > 0) ? new String(argv[0]) : 'commonPlayer';
             attribute.name      = (argc > 1 && argv[1] != false && this.trim(argv[1]).length > 0) ? new String(argv[1]) : 'commonPlayer';
             attribute.width     = (argc > 2 && argv[2] != false && this.trim(argv[2]).length > 0) ? new String(argv[2]) : '764';
             attribute.height    = (argc > 3 && argv[3] != false && this.trim(argv[3]).length > 0) ? new String(argv[3]) : '573';
             attribute.movie     = (argc > 4 && argv[4] != false && this.trim(argv[4]).length > 0) ? new String(argv[4]) : '';
             attribute.background = (argc > 5 && argv[5] != false && this.trim(argv[5]).length > 0) ? new String(argv[5]) : '#000000';
             attribute.flashvars = (argc > 6 && argv[6] != false && this.trim(argv[6]).length > 0) ? new String(argv[6]) : '';
             attribute.wmode     = (argc > 7 && argv[7] != false && this.trim(argv[7]).length > 0) ? new String(argv[7]) : 'oblique';
             attribute.classid   = (argc > 8 && argv[8] != false && this.trim(argv[8]).length > 0) ? new String(argv[8]) : 'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000';
             attribute.codebase  = (argc > 9 && argv[9] != false && this.trim(argv[9]).length > 0) ? new String(argv[9]) : 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,64,0';

         var html  = "";
             html += "<object classid='"+attribute.classid+"' codebase='"+attribute.codebase+"' id='"+attribute.id+"' name='"+attribute.name+"' width='"+attribute.width+"' height='"+attribute.height+"' align='middle'>";
             html += "<param name='allowScriptAccess' value='sameDomain'/>";
             html += "<param name='allowFullScreen' value='true'/>";
             html += "<param name='movie' value='"+attribute.movie+"?"+Math.random()+"' />";
             html += "<param name='wmode' value='"+attribute.wmode+"' />";
             html += "<param name='FlashVars' value='"+attribute.flashvars+"' />";
             html += "<param name='quality' value='high' />";
             html += "<param name='bgcolor' value='"+attribute.background+"' />";
             html += "<embed src='"+attribute.movie+"?"+Math.random()+"' FlashVars='"+attribute.flashvars+"' wmode='"+attribute.wmode+"' width='"+attribute.width+"' height='"+attribute.height+"' id='"+attribute.id+"' name='"+attribute.name+"' allowScriptAccess='sameDomain' allowFullScreen='true' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' bgColor='"+attribute.background+"' quality='high' align='middle' />";
             html += "</object>";
         return html;
       },

    insert: function()
      {         /*
          * arguments:
          *         0: destination attribute 'id'
          *         1: source content
         */
         var argv = this.insert.arguments;
         var argc = this.insert.arguments.length;
         var id = (argc > 0 && argv[0] != false && this.trim(argv[0]).length > 0) ? new String(argv[0]) : false;
         var content = (argc > 1 && argv[1] != false && this.trim(argv[1]).length > 0) ? new String(argv[1]) : false;
         if(id == false || content == false) return false;
         try
           {             document.getElementById(id).innerHTML = content;           }
         catch(err){}
         return false;      },

    set_volume: function()
      {        var argv = this.set_volume.arguments;
        var argc = this.set_volume.arguments.length;
        var name = 'player[snd]';
        var value = (argc > 0) ? new String(argv[0]) : false;
        this.set_cvar(name, value, this.expires.year());
      },

    get_volume: function()
      {
        var name = 'player[snd]';
        var value = (this.trim(this.get_cvar(name)).length > 0) ? this.get_cvar(name) : '0';
        return value;
      },

    set_bandwidth: function()
      {
        var argv = this.set_bandwidth.arguments;
        var argc = this.set_bandwidth.arguments.length;
        var name = 'player[bw]';
        var value = (argc > 0) ? new String(argv[0]) : false;
        this.set_cvar(name, value, this.expires.year());
      },

    get_bandwidth: function()
      {
        var name = 'player[bw]';
        var value = (this.trim(this.get_cvar(name)).length > 0) ? this.get_cvar(name) : '0';
        return value;
      },

    set_cvar: function()
      {
        var argv = this.set_cvar.arguments;
        var argc = this.set_cvar.arguments.length;
        var name = (argc > 0 && this.trim(argv[0]).length > 0) ? new String(argv[0]) : false;
        var value = (argc > 1 && this.trim(new String(argv[1])).length > 0) ? new String(argv[1]) : false;
        var expire = (argc > 2) ? argv[2] : null;
        if(name == false) return false;
        if(value == false) this.setcookie(name, '', this.expires.clear());
        else this.setcookie(name, value, expire, '/');
      },

    get_cvar: function()
      {        var argv = this.get_cvar.arguments;
        var argc = this.get_cvar.arguments.length;
        var name = (argc > 0) ? new String(argv[0]) : false;
        if(name == false) return '';
        var value = (this.getcookie(name) != false) ? this.getcookie(name) : '';
        return value;      },

    close: function()
      {        try{}catch(err){}
      },

    trim: function trim()
      {
        var argv = this.trim.arguments;
        var argc = this.trim.arguments.length;
        var str  = (argc > 0) ? new String(argv[0]) : '';
        var re   = /\s/g;
        return str.replace(re, '');
      },

    expires: {
      hour: function()
        {
          var timestamp = new Date();
          timestamp.setTime(timestamp.getTime() + (60*60*1000));
          return timestamp;
        },
      day: function()
        {
          var timestamp = new Date();
          timestamp.setTime(timestamp.getTime() + (24*60*60*1000));
          return timestamp;
        },
      today: function()
        {
          var timestamp = new Date();
          return new Date(timestamp.getFullYear(), timestamp.getMonth(), timestamp.getDate(), 23, 59, 59);
        },
      year: function()
        {
          var timestamp = new Date();
          timestamp.setTime(timestamp.getTime() + (365*24*60*60*1000));
          return timestamp;
        },
      clear: function()
        {
          var timestamp = new Date();
          timestamp.setTime(timestamp.getTime() - (365*24*60*60*1000));
          return timestamp;
        }
   },

    setcookie: function(name, value)
      {
        var argv = this.setcookie.arguments;
        var argc = this.setcookie.arguments.length;
        var expires = (argc > 2) ? argv[2] : null;
        var path = (argc > 3) ? argv[3] : null;
        var domain = (argc > 4) ? argv[4] : null;
        var secure = (argc > 5) ? argv[5] : false;
        document.cookie = name + "=" + escape(value) +
        ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
        ((path == null) ? "" : ("; path=" + path)) +
        ((domain == null) ? "" : ("; domain=" + domain)) +
        ((secure == true) ? "; secure" : "");
      },

    getcookie: function(name)
      {
        var pos = document.cookie.indexOf(name + "=");
        if(pos == -1) return false;
        else
          {
            var pos2 = document.cookie.indexOf(";", pos);
            if(pos2 == -1) return unescape(document.cookie.substring(pos + name.length + 1));
            else return unescape(document.cookie.substring(pos + name.length + 1, pos2));
          }
      }

  };


  /* commonPlayer advertising extention */
  commonPlayer.set_advertising = function()
    {      var argv = commonPlayer.set_advertising.arguments;
      var argc = commonPlayer.set_advertising.arguments.length;

      var category =
        (
          argc > 0 &&
          commonPlayer.trim(argv[0]).length > 0 &&
          !isNaN(new Number(argv[0])) &&
          new Number(argv[0]) > 0
        ) ? new String(argv[0]) : false;

      var namespace = {        today: {          global: 'advert[today][global]',
          category: 'advert[today][category]'        }      };

      var value = {        today: {          global: 0,
          category: []        }      };

      value.today.global = (!isNaN(new Number(commonPlayer.get_cvar(namespace.today.global)))) ? new Number(commonPlayer.get_cvar(namespace.today.global)) : 0;
      value.today.global++;
      commonPlayer.set_cvar
        (
          namespace.today.global,
          value.today.global,
          commonPlayer.expires.today()
        );

      if(category != false)
        {          value.today.category[category] = (!isNaN(new Number(commonPlayer.get_cvar(namespace.today.category + '['+category+']')))) ? new Number(commonPlayer.get_cvar(namespace.today.category + '['+category+']')) : 0;
          value.today.category[category]++;          commonPlayer.set_cvar
            (
              namespace.today.category + '['+category+']',
              value.today.category[category],
              commonPlayer.expires.today()
            );        }
    };  var passport = {

    settings: {
      sidname: 'usr[auth][sid]',
      register: {server:'', xPath:''},
      update: {server:'', xPath:''},
      authorization: {server:'', xPath:''},
      forgot: {server:'', xPath:''},
      activate: {server:'', xPath:''},
      chpassw: {server:'', xPath:''},
      refresh: {xPath:'form.passport-refresh'},
      session: {server:''}
    },

    process: {
      action: '',
      register: {global: {login:'', passw:'', question:'', answer:''}, data: {fname:'', lname:'', address:'', phone:'', region:'', gender:'', birthday:''}},
      update: {global: {QUESTION:'', ANSWER:''}, data: {FNAME:'', LNAME:'', ADDRESS:'', PHONE:'', REGION:'', GENDER:'', BIRTHDAY:'', QUESTION:'', ANSWER:''}},
      authorization: {login:'', passw:'', remember:'', sid:''},
      forgot: {login:'', question:'', answer:''},
      trialsend: {uid:''},
      activate: {login:'', code:''},
      chpassw: {oldpassw:'', newpassw:''},
      refresh: {}
    },

    initAjaxForms: function()
      {         var argv = this.initAjaxForms.arguments;
         var argc = this.initAjaxForms.arguments.length;
         var o = (argc > 0 && $(argv[0]).length > 0) ? argv[0] : false;
         if(!o) return false;
         $(o).each(function(i){           $(this).ajaxForm({ target: this, success: function(response, status, o){$('.nyroModal',o).nyroModal();} });         });
         return false;      },

    refresh: function()
      {        passport.session();        $(passport.settings.refresh.xPath).submit();
        return false;
      },

    message: function()
      {
         var argv = this.message.arguments;
         var argc = this.message.arguments.length;
         if(argc > 0 && !isNaN(new Number(argv[0])))
           {
             switch(argv[0])
               {
                 case  1: var message = '\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043b\u043e\u0433\u0438\u043d.'; alert(message); break;
                 case  2: var message = '\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043f\u0430\u0440\u043e\u043b\u044c.'; alert(message); break;
                 case  3: var message = '\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u043b\u043e\u0433\u0438\u043d \u0438\u043b\u0438 \u043f\u0430\u0440\u043e\u043b\u044c.'; alert(message); break;
                 case  4: var message = '\u041f\u0430\u0441\u043f\u043e\u0440\u0442-\u0441\u0435\u0440\u0432\u0435\u0440 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043d\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d.'; alert(message); break;
                 case  5: var message = '\u041b\u043e\u0433\u0438\u043d \u0438 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u043b\u043e\u0433\u0438\u043d\u0430 \u043d\u0435 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b.'; alert(message); break;
                 case  6: var message = '\u041f\u0430\u0440\u043e\u043b\u044c \u0438 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u043e\u043b\u044f \u043d\u0435 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b.'; alert(message); break;
                 case  7: var message = '\u0422\u0430\u043a\u043e\u0439 \u043b\u043e\u0433\u0438\u043d \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442.'; alert(message); break;
                 case  8: var message = '\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 E-mail.'; alert(message); break;
                 case  9: var message = '\u0412\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0439 \u0412\u0430\u043c\u0438 E-mail \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043e\u0448\u0438\u0431\u043a\u0438.'; alert(message); break;
                 case 10: var message = 'E-mail \u0438 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 E-mail \u043d\u0435 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b.'; alert(message); break;
                 case 11: var message = '\u0422\u0430\u043a\u043e\u0439 E-mail \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442.'; alert(message); break;
                 case 12: var message = "\u0412\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0435 \u0412\u0430\u043c\u0438 \u043b\u043e\u0433\u0438\u043d/e-mail \u0438 \u043f\u0430\u0440\u043e\u043b\u044c \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b. \n\u0412 \u0446\u0435\u043b\u044f\u0445 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0437\u0430\u043f\u0440\u0435\u0449\u0430\u0435\u0442\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0442\u0430\u043a\u043e\u0433\u043e \u043f\u0430\u0440\u043e\u043b\u044f.\n\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u043f\u0430\u0440\u043e\u043b\u044c."; alert(message); break;
                 case 13: var message = "\u041f\u0430\u0440\u043e\u043b\u044c \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u043e\u0441\u0442\u043e\u044f\u0442\u044c \u043a\u0430\u043a \u043c\u0438\u043d\u043d\u0438\u043c\u0443\u043c \u0438\u0437 5 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432.\n\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u043f\u0430\u0440\u043e\u043b\u044c."; alert(message); break;
                 case 14: var message = "\u041f\u043e\u0437\u0434\u0440\u0430\u0432\u043b\u044f\u0435\u043c. \u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 \u043f\u0440\u043e\u0448\u043b\u0430 \u0443\u0441\u043f\u0435\u0448\u043d\u043e! \n\n\u0412\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0431\u044b\u043b\u0438 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 \u0432 trial-\u0440\u0435\u0436\u0438\u043c\u0435, \n\u0447\u0442\u043e \u0434\u0430\u0435\u0442 \u0412\u0430\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0438 3 \u0441\u0443\u0442\u043e\u043a. \n\n\u041d\u0430 \u0412\u0430\u0448 \u0430\u0434\u0440\u0435\u0441 \u0431\u044b\u043b\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e \u043f\u0438\u0441\u044c\u043c\u043e \u0441 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0438\u043c\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c\u0438 \n\u0434\u043b\u044f \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430. \u0414\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0412\u0430\u043c \n\u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0430\u043a\u043a\u0430\u0443\u043d\u0442 \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0438 3 \u0441\u0443\u0442\u043e\u043a. \n\n\u0412 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0412\u0430\u0448 \u0430\u043a\u043a\u0430\u0443\u043d\u0442 \u0431\u0443\u0434\u0435\u0442 \u0443\u0434\u0430\u043b\u0435\u043d!"; alert(message); break;
                 case 15: var message = '\u041e\u0448\u0438\u0431\u043a\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438.'; alert(message); break;
                 case 16: var message = '\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0432\u043e\u043f\u0440\u043e\u0441, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u0412\u0430\u043c\u0438 \u0432 \u043b\u0438\u0447\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438.'; alert(message); break;
                 case 17: var message = '\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043e\u0442\u0432\u0435\u0442, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u0412\u0430\u043c\u0438 \u0432 \u043b\u0438\u0447\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438.'; alert(message); break;
                 case 18: var message = '\u041f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0435 \u0440\u0430\u0437.'; alert(message); break;
                 case 19: var message = "\u0423\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 E-mail \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442. \n\u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f."; alert(message); break;
                 case 20: var message = "\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u044b\u0435 \u0432\u043e\u043f\u0440\u043e\u0441 \u0438/\u0438\u043b\u0438 \u043e\u0442\u0432\u0435\u0442 \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0435 \u0440\u0430\u0437."; alert(message); break;
                 case 21: var message = "\u041d\u0430 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u0412\u0430\u043c\u0438 E-mail \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u043d\u043e\u0432\u044b\u0439 \u043f\u0430\u0440\u043e\u043b\u044c. \n\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u044d\u0442\u043e\u0442 \u043f\u0430\u0440\u043e\u043b\u044c \u043f\u0440\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0432\u0445\u043e\u0434\u0435."; alert(message); break;
                 case 22: var message = "\u0421\u0440\u043e\u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0412\u0430\u0448\u0435\u0433\u043e \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 \u0432 trial-\u0440\u0435\u0436\u0438\u043c\u0435 \u0438\u0441\u0442\u0451\u043a. \n\n\u0414\u043b\u044f \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0412\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0430\u043a\u043a\u0430\u0443\u043d\u0442. \n\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u0412\u0430\u0448 \u0430\u0434\u0440\u0435\u0441 \u043f\u0438\u0441\u044c\u043c\u043e \u0441 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0438\u043c\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c\u0438 \n\u0434\u043b\u044f \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430?"; return confirm(message); break;
                 case 23: var message = "\u041f\u043e\u0437\u0434\u0440\u0430\u0432\u043b\u044f\u0435\u043c. \u0410\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u044f \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 \u043f\u0440\u043e\u0448\u043b\u0430 \u0443\u0441\u043f\u0435\u0448\u043d\u043e! \n\n\u0414\u043b\u044f \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0412\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435."; alert(message); break;
                 case 24: var message = "\u041e\u0448\u0438\u0431\u043a\u0430 \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438! \n\u041d\u0435\u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u043a\u043e\u0434 \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u0438 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u0412\u0430\u043c\u0438 E-mail."; alert(message); break;
                 case 25: var message = '\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0430.'; alert(message); break;
                 case 26: var message = '\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441 \u0438 \u043e\u0442\u0432\u0435\u0442 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u044b \u0432 \u043f\u0430\u0440\u0435.'; alert(message); break;
                 case 27: var message = '\u0412\u0430\u0448 \u0430\u043a\u043a\u0430\u0443\u043d\u0442 \u0443\u0436\u0435 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d.'; alert(message); break;
                 case 28: var message = '\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u0442\u0430\u0440\u044b\u0439 \u043f\u0430\u0440\u043e\u043b\u044c.'; alert(message); break;
                 case 29: var message = '\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043d\u043e\u0432\u044b\u0439 \u043f\u0430\u0440\u043e\u043b\u044c.'; alert(message); break;
                 case 30: var message = '\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043d\u043e\u0432\u044b\u0439 \u043f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f.'; alert(message); break;
                 case 31: var message = '\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0412\u0430\u0448\u0435 \u0438\u043c\u044f.'; alert(message); break;
                 case 32: var message = "\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435!!!\n\n\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0412\u0430\u0448 \u0432\u043e\u043f\u0440\u043e\u0441.\n\u0412 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c, \u0434\u043b\u044f \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u0440\u043e\u043b\u044f \u0412\u0430\u043c \n\u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0432\u0432\u0435\u0441\u0442\u0438 \u043a\u0430\u043a \u043e\u0442\u0432\u0435\u0442 \u0442\u0430\u043a \u0438 \u0432\u043e\u043f\u0440\u043e\u0441!"; alert(message); break;
                 case 33: var message = "\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435!!!\n\n\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0412\u0430\u0448 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441.\n\u0412 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c, \u0434\u043b\u044f \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u0440\u043e\u043b\u044f \u0412\u0430\u043c \n\u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0432\u0432\u0435\u0441\u0442\u0438 \u043a\u0430\u043a \u043e\u0442\u0432\u0435\u0442 \u0442\u0430\u043a \u0438 \u0432\u043e\u043f\u0440\u043e\u0441!"; alert(message); break;
                 case 34: var message = '\u041e\u0448\u0438\u0431\u043a\u0430. \u0412\u044b \u0432\u0432\u0435\u043b\u0438 \u043d\u0435 \u0432\u0435\u0440\u043d\u044b\u0439 \u043f\u0430\u0440\u043e\u043b\u044c.'; alert(message); break;
               }
           }
         return false;
      },

    session: function()
      {
        $.ajax({ type:'POST' , url:passport.settings.session.server , dataType:'json' , global:false , success:function(json){passport.settings.session.data = json;} });
        return false;
      },

    user: function()
      {
        return (typeof passport.settings.session.data != 'undefined' && typeof passport.settings.session.data == 'object') ? passport.settings.session.data : false;
      },

    trialsend: function()
      {        if(this.message(22) != true) return false;        var argv = this.trialsend.arguments;
        var argc = this.trialsend.arguments.length;
        var status;
        if(argc > 0 && typeof(argv[0]) == 'object')
          {            this.trialsend.input = argv[0];            status = (typeof(this.trialsend.input.uid) == 'string' && $.trim(this.trialsend.input.uid).length > 0);
            if(status != true) { this.message(18); return false; }
            this.process.trialsend.uid = this.trialsend.input.uid;
            this.process.action = 'trialsend';
            this.request();
            return true;          }
        return false;      },

    activate: function()
      {
        var argv = this.activate.arguments;
        var argc = this.activate.arguments.length;
        var status;
        if(argc > 0 && typeof(argv[0]) == 'object')
          {
            this.activate.input = argv[0];
            status = (typeof(this.activate.input.code) == 'string' && $.trim(this.activate.input.code).length > 0);
            if(status != true) { this.message(18); return false; }
            status = (typeof(this.activate.input.login) == 'string' && $.trim(this.activate.input.login).length > 0);
            if(status != true) { this.message(8); return false; }
            status = this.emailcheck(this.activate.input.login);
            if(status != true) { this.message(9); return false; }
            this.process.activate.code = this.activate.input.code;
            this.process.activate.login = this.activate.input.login;
            this.process.action = 'activate';
            this.request();
            return true;
          }
        return false;
      },

    register: function()
      {
        var argv = this.register.arguments;
        var argc = this.register.arguments.length;
        var status;
        if(argc > 0 && typeof(argv[0]) == 'object')
          {
            this.register.input = argv[0];

            /* check email(login) */
            status = (typeof(this.register.input.login) == 'string' && $.trim(this.register.input.login).length > 0);
            if(status != true) { this.message(8); return false; }

            /* check for valid email(login) */
            status = this.emailcheck(this.register.input.login);
            if(status != true) { this.message(9); return false; }

            /* check confirm_email(login) */
            status = (typeof(this.register.input.confirm_login) == 'string' && $.trim(this.register.input.confirm_login).length > 0 && this.register.input.confirm_login == this.register.input.login );
            if(status != true) { this.message(10); return false; }

            /* check passw */
            status = (typeof(this.register.input.passw) == 'string' && $.trim(this.register.input.passw).length > 0);
            if(status != true) { this.message(2); return false; }

            /* check for valid passw (length) */
            status = (typeof(this.register.input.passw) == 'string' && $.trim(this.register.input.passw).length > 4);
            if(status != true) { this.message(13); return false; }

            /* check for valid passw (passw/login) */
            status = (this.register.input.passw != this.register.input.login);
            if(status != true) { this.message(12); return false; }

            /* check confirm_passw */
            status = (typeof(this.register.input.confirm_passw) == 'string' && $.trim(this.register.input.confirm_passw).length > 0 && this.register.input.confirm_passw == this.register.input.passw );
            if(status != true) { this.message(6); return false; }

            /* check first name */
            status = (typeof(this.register.input.fname) == 'string' && $.trim(this.register.input.fname).length > 0);
            if(status != true) { this.message(31); return false; }

            /* check question */
            status = (typeof(this.register.input.question) == 'string' && $.trim(this.register.input.question).length > 0);
            if(status != true) { this.message(32); return false; }

            /* check answer */
            status = (typeof(this.register.input.answer) == 'string' && $.trim(this.register.input.answer).length > 0);
            if(status != true) { this.message(33); return false; }

            this.process.register.global.login    = this.register.input.login;
            this.process.register.global.passw    = this.register.input.passw;
            this.process.register.data.fname    = this.register.input.fname;
            this.process.register.data.lname    = this.register.input.lname;
            this.process.register.data.address  = this.register.input.address;
            this.process.register.data.phone    = this.register.input.phone;
            this.process.register.data.region   = this.register.input.region;
            this.process.register.data.gender   = this.register.input.gender;
            this.process.register.data.birthday = this.register.input.birthday;
            this.process.register.global.question = this.register.input.question;
            this.process.register.global.answer   = this.register.input.answer;

            this.process.action = 'register';
            this.request();
          }
        return false;
      },

    update: function()
      {
        var argv = this.update.arguments;
        var argc = this.update.arguments.length;
        var status;
        if(argc > 0 && typeof(argv[0]) == 'object')
          {
            this.update.input = argv[0];

            /* check first name */
            status = (typeof(this.update.input.fname) == 'string' && $.trim(this.update.input.fname).length > 0);
            if(status != true) { this.message(31); return false; }

            /* check question */
            status = (typeof(this.update.input.question) == 'string' && $.trim(this.update.input.question).length > 0);
            if(status != true) { this.message(32); return false; }

            /* check answer */
            status = (typeof(this.update.input.answer) == 'string' && $.trim(this.update.input.answer).length > 0);
            if(status != true) { this.message(33); return false; }

            this.process.update.data.FNAME    = this.update.input.fname;
            this.process.update.data.LNAME    = this.update.input.lname;
            this.process.update.data.ADDRESS  = this.update.input.address;
            this.process.update.data.PHONE    = this.update.input.phone;
            this.process.update.data.REGION   = this.update.input.region;
            this.process.update.data.GENDER   = this.update.input.gender;
            this.process.update.data.BIRTHDAY = this.update.input.birthday;
            this.process.update.global.QUESTION = this.update.input.question;
            this.process.update.global.ANSWER   = this.update.input.answer;

            this.process.action = 'update';
            this.request();
          }
        return false;
      },

    chpassw: function()
      {
        var argv = this.chpassw.arguments;
        var argc = this.chpassw.arguments.length;
        var status;
        if(argc > 0 && typeof(argv[0]) == 'object')
          {

            /* check old passw */
            status = (typeof(argv[0].oldpassw) == 'string' && $.trim(argv[0].oldpassw).length > 0);
            if(status != true) { this.message(28); return false; }

            /* check new passw */
            status = (typeof(argv[0].newpassw) == 'string' && $.trim(argv[0].newpassw).length > 0);
            if(status != true) { this.message(29); return false; }

            /* check confirm passw */
            status = (typeof(argv[0].confirmpassw) == 'string' && $.trim(argv[0].confirmpassw).length > 0);
            if(status != true) { this.message(30); return false; }

            /* check new and confirm passw equation */
            status = (argv[0].newpassw == argv[0].confirmpassw);
            if(status != true) { this.message(6); return false; }

            this.process.chpassw.oldpassw = argv[0].oldpassw;
            this.process.chpassw.newpassw = argv[0].newpassw;

            this.process.action = 'chpassw';
            this.request();
          }
        return false;
      },

    login: function()
      {
        var argv = this.login.arguments;
        var argc = this.login.arguments.length;
        if(argc > 0 && typeof(argv[0]) == 'object')
          {
            this.login.input = argv[0];
            this.process.authorization.sid = '';
            if(typeof(this.login.input.login) == 'string' && $.trim(this.login.input.login).length > 0) this.process.authorization.login = this.login.input.login;
            else { this.message(8); return false; }
            if(this.emailcheck(this.login.input.login) != true) { this.message(9); return false; }
            if(typeof(this.login.input.passw) == 'string' && $.trim(this.login.input.passw).length > 0) this.process.authorization.passw = this.login.input.passw;
            else { this.message(2); return false; }
            this.process.authorization.remember = ( $.trim(this.login.input.remember).length > 0 && !isNaN(new Number(this.login.input.remember)) ) ? this.login.input.remember : '';

            this.process.action = 'login';
            this.request();
          }
        return false;
      },

    logout: function()
      {
        this.process.authorization.login = '';
        this.process.authorization.passw = '';
        this.process.authorization.remember = '';
        this.process.authorization.sid = this.getcookie(this.settings.sidname) || '';
        this.setcookie(this.settings.sidname, '0', this.expires.clear(), '/');
        this.process.action = 'logout';
        this.request();
        return false;
      },

    forgot: function()
      {        var argv = this.forgot.arguments;
        var argc = this.forgot.arguments.length;
        var status;
        if(argc > 0 && typeof(argv[0]) == 'object')
          {
            this.forgot.input = argv[0];
            /* check email(login) */
            status = (typeof(this.forgot.input.login) == 'string' && $.trim(this.forgot.input.login).length > 0);
            if(status != true) { this.message(8); return false; }

            /* check for valid email(login) */
            status = this.emailcheck(this.forgot.input.login);
            if(status != true) { this.message(9); return false; }

            /* check question */
            status = (typeof(this.forgot.input.question) == 'string' && $.trim(this.forgot.input.question).length > 0);
            if(status != true) { this.message(16); return false; }

            /* check question */
            status = (typeof(this.forgot.input.answer) == 'string' && $.trim(this.forgot.input.answer).length > 0);
            if(status != true) { this.message(17); return false; }

            this.process.forgot.login = this.forgot.input.login;
            this.process.forgot.question = this.forgot.input.question;
            this.process.forgot.answer = this.forgot.input.answer;
            this.process.action = 'forgot';
            this.request();
          }
        return false;
      },

    request: function()
      {
        if(typeof(this.process.action) !== 'string' || $.trim(this.process.action).length == 0) return false;
        var status = 0;
        var request;

        switch(this.process.action)
          {
            case 'register': status++;
                  this.process.register.action = this.process.action;
                  request = {
                    type: 'POST',
                    url: this.settings.register.server,
                    data: {passport: this.process.register},
                    success: function(msg){passport.process.action = ''; $(passport.settings.register.xPath).html(msg); passport.refresh(); return false;},
                    error: function(){passport.message(4); return false;}
                  };
            break;

            case 'update': status++;
                  this.process.update.action = this.process.action;
                  request = {
                    type: 'POST',
                    url: this.settings.update.server,
                    data: {passport: this.process.update},
                    success: function(msg){passport.process.action = ''; $(passport.settings.update.xPath).html(msg); passport.refresh(); return false;},
                    error: function(){passport.message(4); return false;}
                  };
            break;

            case 'login': status++;
                  this.process.authorization.action = this.process.action;
                  request = {
                    type: 'POST',
                    url: this.settings.authorization.server,
                    data: {passport: this.process.authorization},
                    success: function(msg){passport.process.action = ''; $(passport.settings.authorization.xPath).html(msg); passport.refresh(); return false;},
                    error: function(){passport.message(4); return false;}
                  };
            break;

            case 'trialsend': status++;
                  this.process.trialsend.action = this.process.action;
                  request = {
                    type: 'POST',
                    url: this.settings.authorization.server,
                    data: {passport: this.process.trialsend},
                    success: function(msg){passport.process.action = ''; parent.$.nyroModalRemove(); return false;},
                    error: function(){passport.message(4); return false;}
                  };
            break;

            case 'activate': status++;
                  this.process.activate.action = this.process.action;
                  request = {
                    type: 'POST',
                    url: this.settings.activate.server,
                    data: {passport: this.process.activate},
                    success: function(msg){passport.process.action = ''; $(passport.settings.activate.xPath).html(msg); passport.refresh(); return false;},
                    error: function(){passport.message(4); return false;}
                  };
            break;

            case 'logout': status++;
                  this.process.authorization.action = this.process.action;
                  request = {
                    type: 'POST',
                    url: this.settings.authorization.server,
                    data: {passport: this.process.authorization},
                    success: function(msg){passport.process.action = ''; passport.refresh(); return false;},
                    error: function(){passport.message(4); return false;}
                  };
            break;

            case 'forgot': status++;
                  this.process.forgot.action = this.process.action;
                  request = {
                    type: 'POST',
                    url: this.settings.forgot.server,
                    data: {passport: this.process.forgot},
                    success: function(msg){passport.process.action = ''; $(passport.settings.forgot.xPath).html(msg); return false;},
                    error: function(){passport.message(4); return false;}
                  };
            break;

            case 'chpassw': status++;
                  this.process.chpassw.action = this.process.action;
                  request = {
                    type: 'POST',
                    url: this.settings.chpassw.server,
                    data: {passport: this.process.chpassw},
                    success: function(msg){passport.process.action = ''; $(passport.settings.chpassw.xPath).html(msg); return false;},
                    error: function(){passport.message(4); return false;}
                  };
            break;
          }

        if(status > 0) $.ajax(request);
        return false;
      },

    emailcheck: function()
      {        var argv = this.emailcheck.arguments;
        var argc = this.emailcheck.arguments.length;
        var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
        if(argc > 0 && typeof(argv[0]) == 'string' && filter.test(argv[0])) return true;
        return false;
      },

    expires: {
                hour:  function()
                        {
                          var timestamp = new Date();
                          timestamp.setTime(timestamp.getTime() + (60*60*1000));
                          return timestamp;
                        },
                day:   function()
                        {
                          var timestamp = new Date();
                          timestamp.setTime(timestamp.getTime() + (24*60*60*1000));
                          return timestamp;
                        },
                today: function()
                        {
                          var timestamp = new Date();
                          return new Date(timestamp.getFullYear(), timestamp.getMonth(), timestamp.getDate(), 23, 59, 59);
                        },
                year:  function()
                        {
                          var timestamp = new Date();
                          timestamp.setTime(timestamp.getTime() + (365*24*60*60*1000));
                          return timestamp;
                        },
                clear: function()
                        {
                          var timestamp = new Date();
                          timestamp.setTime(timestamp.getTime() - (365*24*60*60*1000));
                          return timestamp;
                        }
             },

    setcookie: function(name, value)
                {
                  var argv = this.setcookie.arguments;
                  var argc = this.setcookie.arguments.length;
                  var expires = (argc > 2) ? argv[2] : null;
                  var path = (argc > 3) ? argv[3] : null;
                  var domain = (argc > 4) ? argv[4] : null;
                  var secure = (argc > 5) ? argv[5] : false;
                  document.cookie = name + "=" + escape(value) +
                  ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
                  ((path == null) ? "" : ("; path=" + path)) +
                  ((domain == null) ? "" : ("; domain=" + domain)) +
                  ((secure == true) ? "; secure" : "");
                },

    getcookie: function(name)
                {
                  var pos = document.cookie.indexOf(name + "=");
                  if(pos == -1) return false;
                  else
                    {
                      var pos2 = document.cookie.indexOf(";", pos);
                      if(pos2 == -1) return unescape(document.cookie.substring(pos + name.length + 1));
                      else return unescape(document.cookie.substring(pos + name.length + 1, pos2));
                    }
                }

  };  /* Set default settings for nyroModal */

  var nyroModalControl = {
    setup: [
      { from:'http://www.trust.ua/register.php', type:1, secure:0 },
      { from:'http://www.trust.ua/forgot.php', type:2, secure:0 },
      { from:'http://www.trust.ua/activate.php', type:3, secure:0 },
      { from:'http://www.trust.ua/login.php', type:4, secure:0 },
      { from:'http://www.trust.ua/myinfo.php', type:5, secure:1 },
      { from:'http://www.trust.ua/chpassw.php', type:6, secure:1 }
    ],

    type: function()
      {
        var options = {};
        var argv = this.type.arguments;
        var argc = this.type.arguments.length;
        switch(argv[0])
          {
            /* default */
            case 0: options = { endRemove:function(elts, settings){ try{passport.refresh()}catch(err){}; } }; break;
            case 1: options = { width:500, height:490, type:'iframe', endRemove:function(elts, settings){ try{passport.refresh()}catch(err){}; } }; break;
            case 2: options = { width:400, height:200, type:'iframe', endRemove:function(elts, settings){ try{passport.refresh()}catch(err){}; } }; break;
            case 3: options = { width:400, height:200, type:'iframe', endRemove:function(elts, settings){ try{passport.refresh()}catch(err){}; } }; break;
            case 4: options = { width:410, height:200, type:'iframe', endRemove:function(elts, settings){ try{passport.refresh()}catch(err){}; } }; break;
            case 5: options = { width:500, height:370, type:'iframe', endRemove:function(elts, settings){ try{passport.refresh()}catch(err){}; } }; break;
            case 6: options = { width:410, height:205, type:'iframe', endRemove:function(elts, settings){ try{passport.refresh()}catch(err){}; } }; break;
          }
        return options;
      },

    init: function()
      {        var control = this;
        $.fn.nyroModal.settings.processHandler = function(settings)
          {            var from = settings.from;
            var options = control.type(0);
            var selected = {};
            $.each(control.setup, function(i,o){              if(typeof(o.type) != 'undefined' && typeof(o.from) != 'undefined' && from && from.href && from.href.indexOf(o.from) == 0)
                selected = o;            });
            if((passport.user() == false) && selected.secure != 0)
              {
                settings.from.href = control.setup[3].from;
                options = control.type(control.setup[3].type);
              }
            else options = control.type(selected.type);
            $.nyroModalSettings(control.settings(options));
          };
      },

    settings: function()
      {        var argv = this.settings.arguments;
        var argc = this.settings.arguments.length;
        if(argc > 0 && typeof(argv[0]) == 'object') var o = argv[0];
        var settings = (typeof(o) == 'object') ? o : {};
            settings.css = (typeof(o.css) == 'object') ? o.css : {};
            settings.css.bg = (typeof(o.css) == 'object' && typeof(o.css.bg) == 'object') ? o.css.bg : {};
            settings.css.wrapper = (typeof(o.css) == 'object' && typeof(o.css.wrapper) == 'object') ? o.css.wrapper : {};
            settings.css.wrapper2 = (typeof(o.css) == 'object' && typeof(o.css.wrapper2) == 'object') ? o.css.wrapper2 : {};
            settings.css.content = (typeof(o.css) == 'object' && typeof(o.css.content) == 'object') ? o.css.content : {};
            settings.css.loading = (typeof(o.css) == 'object' && typeof(o.css.loading) == 'object') ? o.css.loading : {};
        var result = {
              width       : settings.width       || null,
              height      : settings.height      || null,
              minWidth    : settings.minWidth    || 100,
              minHeight   : settings.minHeight   || 100,
              type        : settings.type        || '',
              bgColor     : settings.bgColor     || '#000000',
              padding     : settings.padding     || 0,
              closeButton : settings.closeButton || '',
              modal       : settings.modal       || false,
              endRemove   : settings.endRemove   || null,
              endFillContent : settings.endFillContent || function(elts, settings){settings.from.href = settings.url; try{___counters.request();}catch(err){}; },
              contentError: '<center><br />В разработке...<br /><br /><a href="#" class="nyroModalClose">Закрыть</a></center>',
              debug       : false,
              css: {
                bg: {
                  zIndex   : settings.css.bg.zIndex   || 100,
                  position : settings.css.bg.position || 'fixed',
                  top      : settings.css.bg.top      || 0,
                  left     : settings.css.bg.left     || 0,
                  height   : settings.css.bg.height   ||'100%',
                  width    : settings.css.bg.width    ||'100%'
                },
                wrapper: {
                  zIndex     : settings.css.wrapper.zIndex     || 101,
                  position   : settings.css.wrapper.position   || (($.browser.msie && parseInt($.browser.version.substr(0,1)) < 7) ? 'absolute' : 'fixed'),
                  top        : settings.css.wrapper.top        || '50%',
                  left       : settings.css.wrapper.left       || '50%',
                  background : settings.css.wrapper.background || 'transparent',
                  border     : settings.css.wrapper.border     || 'none'
                },
                wrapper2: {
                },
                content: {
                  overflow : settings.css.content.overflow || 'hidden'
                },
                loading: {
                  zIndex     : settings.css.loading.zIndex     || 102,
                  position   : settings.css.loading.position   || 'fixed',
                  top        : settings.css.loading.top        || '50%',
                  left       : settings.css.loading.left       || '50%',
                  marginTop  : settings.css.loading.marginTop  || '-50px',
                  marginLeft : settings.css.loading.marginLeft || '-50px'
                }
              }
        };
        return result;      }
  };

  $(document).ready(function(){    nyroModalControl.init();
  });  jQuery(function( $ ){
  /* borrowed from jQuery easing plugin */
  $.easing.elasout = function(x, t, b, c, d) {
    var s=1.70158;var p=0;var a=c;
    if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
    if (a < Math.abs(c)) { a=c; var s=p/4; }
    else var s = p/(2*Math.PI) * Math.asin (c/a);
    return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
  };

  /* by default, the scroll is only done vertically ('y'), change it to both. */
  $.scrollTo.defaults.axis = 'xy';
  $('a.scrollTo').click(function(){ScrollTo(this.hash); return false;});

  });

  var is_scroll_nulled = false;
  var ScrollTo = function(id)
    {      if(($.trim(id)).length == 0) return false;
      try
        {
          if(is_scroll_nulled != true)
            {
              $.scrollTo(0); /* for detection correct position */
              is_scroll_nulled = true;
            }
          /* $.scrollTo(id); */
          $.scrollTo(id, 500);
          /* $.scrollTo( id, 1500, { easing:'elasout' }); */
          /* $.scrollTo( id, 1000, { easing:'bounceout' }); */
        }
      catch(err){}
      return false;
    };var dynamic_table = {
  settings: {
    url: '/',
    files: {
      url: '/files/tables',
      extention: {data:'csv' , settings:'json'}
    },
    xPath:{
      holder: '.dynamic-table'
    },
    table: {
      row_sep : '\n',
      col_sep : ';'
    }
  },

  is_ready: function() { return(typeof $.csv2table != 'undefined' && typeof $.parseJSON != 'undefined'); },

  init: function() {
    if(!this.is_ready()) return false;
    $(this.settings.xPath.holder).each(function(){dynamic_table.build(this);});
  },

  build: function() {
    var o = (typeof this.build.arguments[0] != 'undefined') ? this.build.arguments[0] : false;
    if(!o) return false;
    var s = ($(o).attr('rel').length > 0) ? $.parseJSON($(o).attr('rel')) : {};
    var id = (s && typeof s.id != 'undefined' && !isNaN(new Number(s.id)) && new Number(s.id) > 0) ? s.id : false;
    if(!id) return false;
    var limit = dynamic_table.is_limited(o) ? (s.limit || null) : null;
    var where = dynamic_table.is_limited(o) ? (s.where || null) : null;
    /*var filters = s.filters || null;*/
    var url = this.settings.files.url+'/'+id+'.'+this.settings.files.extention.data;
    if(typeof s.byDate != 'undefined' && $.trim(s.byDate).length > 0) {
        url = this.settings.files.url+'/'+s.byDate+'/'+id+'.'+this.settings.files.extention.data;
    }
    $('#'+$(o).attr('id')).csv2table(url, {
      'nowloadingImg'      : dynamic_table.settings.url + 'skins/default/img/dynamic-table/icon-loadinfo.gif',
      'nowloadingMsg'      : '',
      'sortNImg'           : dynamic_table.settings.url + 'skins/default/img/dynamic-table/icon-n.gif',
      'sortDImg'           : dynamic_table.settings.url + 'skins/default/img/dynamic-table/icon-d-green.gif',
      'sortAImg'           : dynamic_table.settings.url + 'skins/default/img/dynamic-table/icon-a-green.gif',
      'removeDoubleQuote'  : true,
      'appendThead'        : null,
      'col_midasi'         : 0,
      'row_sep'            : this.settings.table.row_sep,
      'col_sep'            : this.settings.table.col_sep,
      'sortable'           : true,
      'select'             : s.select || '*',
      'orderBy'            : s.orderBy || null,
      'where'              : where || null,
      'limit'              : limit || null,
      'col0color'          : true,
      'numArignRight'      : true,
      'onload'             : this.construct,
      'use'                : null,
      'className_div'      : 'csv2table-div',
      'className_table'    : 'csv2table-table',
      'className_table_tr_head' : 'csv2table-table-tr-head',
      'className_table_th' : 'csv2table-table-th',
      'className_table_td' : 'csv2table-table-td',
      'className_hoboNum'  : 'csv2table-hoboNum',
      'className_sortMark' : 'csv2table-sortMark',
      'className_legends'  : 'csv2table-legends'
    });
    return false;
  },

  construct: function(id,op,data,ary) {
    var o = {
      'id':(id || false),
      'settings': (($('#'+id).attr('rel').length > 0) ? $.parseJSON($('#'+id).attr('rel')) : false),
      'data':(myToolBox.parseCSV(data, dynamic_table.settings.table.col_sep, dynamic_table.settings.table.row_sep) || false)
    };
    if(!o.id || !o.data || !o.settings) return false;
    dynamic_table.filtering(o);
    dynamic_table.converter(o);
    dynamic_table.calendar(o);
    dynamic_table.header(o);
    dynamic_table.modified(o);
    dynamic_table.source(o);
    dynamic_table.defaults(o);
    dynamic_table.colorize(o);
    dynamic_table.floatcut();
    return false;
  },

  is_limited: function(o) {
    return ($('#'+o.id).closest('.limited').length > 0 || $('#'+o.id).is('.limited'));
  },

  floatcut: function() {
    $(this.settings.xPath.holder + ' table.csv2table-table .csv2table-hoboNum').each(function(){
      $(this).text(myToolBox.parseFloat($(this).text(), 4, false) || $(this).text());
    });
  },

  currency_conv: function(options) {
    var options = options || {};
    var settings = {currency_from:0 , currency_to:0 , amount_from:0 , amount_to:0 , amount_out:1 , percent:0 , percent_sign:'+' };
    jQuery.extend(settings, options);
    if(settings.currency_from == 0 || settings.currency_to == 0 || settings.amount_from == 0 || settings.amount_to == 0 || settings.amount_out == 0) return false;
    var from = (settings.currency_from / settings.amount_from) || 0;
    var to   = (settings.currency_to / settings.amount_to) || 0;
    var result = (from / to) * settings.amount_out;
    if(settings.percent > 0)
      {
        var percents = (result * settings.percent) / 100;
        switch(settings.percent_sign)
          {
            case '+': result = result + percents; break;
            case '-': result = result - percents; break;
          }
      }
    return myToolBox.parseFloat(result,4);
  },

  converter: function(o) {
    var o = o || false;
    if(!o || isNaN(new Number(o.settings.is_calendar)) || new Number(o.settings.is_calendar) <= 0) return false;
    if(dynamic_table.is_limited(o)) return false;
    var settings = {   index:{  name:{short:1,full:3} , amount:2 , rate:4  }   };
    settings.$object = $(
        "<div class='converter'>"
      + "  <h2>\u041a\u043e\u043d\u0432\u0435\u0440\u0442\u0435\u0440 \u0432\u0430\u043b\u044e\u0442</h2>"
      + "  <form action='javascript:void(0)' method='POST' enctype='multipart/form-data'>"
      + "    <div class='from'>"
      + "      <div class='label'>\u0418\u0441\u0445\u043e\u0434\u043d\u0430\u044f \u0432\u0430\u043b\u044e\u0442\u0430</div>"
      + "      <div class='fields'><input type='text' value='' /><select><option></option></select></div>"
      + "    </div>"
      + "    <div class='to'>"
      + "      <div class='label'>\u0420\u0430\u0441\u0447\u0435\u0442\u043d\u0430\u044f \u0432\u0430\u043b\u044e\u0442\u0430</div>"
      + "      <div class='fields'><select><option></option></select></div>"
      + "    </div>"
      + "    <div class='percent'>"
      + "      <div class='label'>\u041f\u0440\u043e\u0446\u0435\u043d\u0442</div>"
      + "      <div class='fields'><select><option></option><option value='+'>&nbsp;+&nbsp;</option><option value='-'>&nbsp;-&nbsp;</option></select><input type='text' value='' /></div>"
      + "    </div>"
      + "    <div class='process'>"
      + "      <input type='submit' class='submit button-type-0' value='\u0420\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u0442\u044c' />"
      + "      <div class='result' style='display:none'><span class='label'>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: </span><span class='result'></span></div>"
      + "    </div>"
      + "  </form>"
      + "</div>"
    );
    $.each(o.data, function(i,v){
      if(i > 0)
        $('.from select, .to select', settings.$object)
        .append(
          $("<option></option>")
          .val(v[settings.index.name.short] + "|" + v[settings.index.amount] + "|" + v[settings.index.rate])
          /*.text("[" + v[settings.index.name.short] + "] " + v[settings.index.name.full])*/
          .text(v[settings.index.name.short])
        );
    });
    $('.from select, .to select', settings.$object).append($("<option value='UAH|1|1'>UAH</option>"));
    $('form', settings.$object).submit(function(){
      var from  = $('.from select option:selected', settings.$object).attr('value').split('|') || false;
      var to  = $('.to select option:selected', settings.$object).attr('value').split('|') || false;
      var options = {
        currency_from: from[2] || 0,
        currency_to: to[2] || 0,
        amount_from:from[1] || 0,
        amount_to:to[1] || 0,
        amount_out: $('.from input:text', settings.$object).val() || 0,
        percent: $('.percent input:text', settings.$object).val() || 0,
        percent_sign: $('.percent select option:selected', settings.$object).attr('value') || '+'
      };
      $('span.result', settings.$object).html(
        options.amount_out + " " +
        from[0] + " " +
        options.percent_sign + " " +
        (new Number(options.percent) || 0) + "%" + " = " +
        (dynamic_table.currency_conv(options) || 0) + " " +
        to[0]
      );
      $('div.result:hidden', settings.$object).show();
      return false;
    });
    $('#'+o.id).prepend(settings.$object);
    return false;
  },

  calendar: function(o) {
    var o = o || false;
    if(!o || isNaN(new Number(o.settings.is_calendar)) || new Number(o.settings.is_calendar) <= 0) return false;
    if(dynamic_table.is_limited(o)) return false;
    var parsed = (typeof o.settings.byDate != 'undefined' && $.trim(o.settings.byDate).length > 0) ? o.settings.byDate.split('-') : false;
    if(parsed && new Number(parsed[1]) > 0) parsed[1] = parsed[1] - 1;
    var selectedDate = (parsed.length == 3) ? new Date(parsed[2],parsed[1],parsed[0]) : null;
    var options = {
      navigationAsDateFormat: true,
      prevText: '< M',
      currentText: 'M y',
      nextText: 'M >',
      dateFormat: 'dd-m-yy',
      defaultDate: selectedDate || null,
      onSelect: function(date){
        o.settings.byDate = date;
        $('#'+o.id).attr('rel', JSON.stringify(o.settings));
        dynamic_table.build($('#'+o.id));
        return false;
      }
    };

    var datepick = $("<div class='dynamic-table-datepick'></div>").datepick(options);
    $('#'+o.id).prepend(datepick);
  },

  filtering: function(o) {
    var o = o || false;
    if(!o || typeof o.settings.filters != 'object' || o.settings.filters.length == 0) return false;
    var filtering = $("<ul class='filtering'></ul>")
              .append($("<li class='label'></li>"))
              .append($("<li class='filters'></li>"))
              .append($("<li class='filter'></li>"))
              .append($("<li class='reset'></li>"));
    var filters = $("<select></select>").append("<option value=''>&nbsp;</option>");
    $.each(o.settings.filters, function(key,value){
      selected = (o.settings.where && typeof o.settings.where[0] != 'undefined' && o.settings.where[0][0] == value) ? " selected" : "";
      filters.append("<option value='"+value+"'"+selected+">"+o.data[0][value]+"</option>");
    });
    filters.change(function(){dynamic_table.buildfilter(filtering, this, o)});
    dynamic_table.buildfilter(filtering, filters, o);
    $('li.filters', filtering).append(filters);
    $('li.reset', filtering).append( $("<input type='button' class='button-type-0' value='\u0421\u0431\u0440\u043e\u0441' />").click(function(){dynamic_table.reset(o)}) );
    $('#'+o.id).prepend(filtering);
    return false;
  },

  buildfilter: function(filtering, filters, o) {
   var index = $('option:selected', $(filters)).attr('value') || false;
    $('li.filter', filtering).html('');
    if($.trim(index).length == 0) return false;
    filter = $("<select></select>").append("<option value=''>&nbsp;</option>");
    $.each(o.data, function(k,v){
      if(k > 0 && $.trim(v[index]).length > 0)
        {
          i=0;
          $('option', filter).attr('value',function(){ if($(this).attr('value') == v[index]) i++; });
          if(i==0)
            {
              selected = (o.settings.where && typeof o.settings.where[0] != 'undefined' && o.settings.where[0][1] == '=='+v[index]) ? " selected" : "";
              filter.append( $("<option"+selected+"></option>").text(v[index]).val(v[index]) );
            }
        }
    });
    filter.change(function(){dynamic_table.filter(o, index, this)});
    $('li.filter', filtering).html(filter);
  },

  filter: function(o, index, filter) {
    if($.trim($('option:selected',filter).attr('value')).length == 0) o.settings.where = null;
    else o.settings.where = [[index,'=='+$('option:selected',filter).attr('value')]];
    $('#'+o.id).attr('rel', JSON.stringify(o.settings));
    this.build($('#'+o.id));
    return false;
  },

  reset: function(o) {
    $.getJSON(dynamic_table.settings.files.url+'/'+o.settings.id+'.'+dynamic_table.settings.files.extention.settings, null, function(json){
      o.settings = json;
      $('#'+o.id).attr('rel', JSON.stringify(o.settings));
      dynamic_table.build($('#'+o.id));
      return false;
    });
  },

  header: function(o) {
    var o = o || false;
    if(!o || typeof o.settings.title == 'undefined' || $.trim(o.settings.title).length == 0) return false;
    var clickable = (typeof o.settings.is_link != 'undefined' && !isNaN(new Number(o.settings.is_link)) && new Number(o.settings.is_link) > 0) ? true : false;
    $('#'+o.id).prepend("<h2>"+(clickable ? "<a href='/table/"+new Number(o.settings.id)+".html'>" : "")+o.settings.title+(clickable ? "</a>" : "")+"</h2>");
    return false;
  },

  source: function(o) {
    var o = o || false;
    if(!o || typeof o.settings.source != 'object' || typeof o.settings.source.title == 'undefined' || $.trim(o.settings.source.title).length == 0) return false;
    var link = (typeof o.settings.source.link == 'undefined' || $.trim(o.settings.source.link).length == 0) ? false : o.settings.source.link;
    $('#'+o.id).append("<p><a href='" +(link || "javascript:void(0)")+ "' " +(link?"target='_blank'":"")+ ">" +o.settings.source.title+ "</a></p>");
    return false;
  },

  modified: function(o) {
    var o = o || false;
    if(!o || typeof o.settings.modified == 'undefined' || $.trim(o.settings.modified).length == 0 || !dynamic_table.is_limited(o)) return false;
    $('#'+o.id).append("<div class='modified'>"+o.settings.modified+"</div>");
    return false;
  },

  defaults: function(o) {
    $('#'+o.id +' table.csv2table-table tr td').addClass('defaults');
    var toj = $('table.csv2table-table', $('#'+o.id));
    var oj = $('tr > td:nth-child(1)', toj);
    oj.removeClass('defaults').addClass('left');
  },

  colorize: function(o) {
    if(!o || typeof o.settings.colors != 'object') return false;
    if( typeof o.settings.colors.names != 'undefined' && o.settings.colors.names.length > 0) {
      var id = o.id;
      $.each(o.settings.colors.names, function(i, column){
        var toj = $('table.csv2table-table', $('#'+id));
        var oj=$('tr > td:nth-child('+(column+1)+')',toj);
        oj.removeClass('defaults').addClass('names');
      })
    }
    if( typeof o.settings.colors.indexes != 'undefined' && o.settings.colors.indexes.length > 0) {
      var id = o.id;
      $.each(o.settings.colors.indexes, function(i, column){
        var toj = $('table.csv2table-table', $('#'+id));
        var oj = $('tr > td:nth-child('+(column+1)+')', toj);

        $.each(oj, function(key, val) {
          var txt = $(val).text();
          switch(txt.charAt(0))
            {
              case('+'):
                $(this).addClass('indexesGreen');
              break;
              case('-'):
                $(this).addClass('indexesRed');
              break;

              default:
              break;
            }
        });
      });
    }
  }
};

$(document).ready(function(){dynamic_table.init();});var block_news = {
    settings:
      {        xPath: ''      },

    init: function()
      {        $(block_news.settings.xPath + ' #link_print').click(function(){          block_news.process_print.show($(this).attr('href'));
          return false;
        });
        $(block_news.settings.xPath + ' ul.controls-type-0 .link-blogs').click(function() {          if($(block_news.settings.xPath + ' .block-blogs-holder').is(':visible')) {            myToolBox.hideHTMLObject(block_news.settings.xPath + ' .block-blogs-holder');          }
          $(block_news.settings.xPath + ' #blogs_holder').val($(this).find('input.link').val());
          myToolBox.showHTMLObject(block_news.settings.xPath + ' .block-blogs-holder');
        });

        $($(block_news.settings.xPath + ' .news-text').find('img')).each(function(i){
          if($(this).width() > 500)
            {              $(this).width(500);            }
        });

        $($(block_news.settings.xPath + ' .news-text').find('table')).each(function(i){
          if($(this).width() > 600)
            {
              $(this).width(600);
            }
          $(this).attr('cellpadding', 0);
          $(this).attr('cellspacing', 0);

          $(this).find('td').each(function(j){            $(this).css("text-align", $(this).attr("align"));            $(this).css("vertical-align", $(this).attr("valign"));
          });
        });
      },

     process_print:
       {        handler: {},
        content: function()
          {            return $(block_news.settings.xPath + ' .block-news .item').html();
          },
        show: function(link)
          {            this.handler = window.open(link, 'printVersion', 'width=800,height=600,menubar=0,toolbar=0,status=0,resizable=0,scrollbars=1');
            /*
            this.handler.document.writeln('<html><head><title>Версия для печати</title><link rel=\'stylesheet\' type=\'text/css\' href=\'http://www.trust.ua/skins/default/css/styles.css\'></head><body class="print-version"><a href="javascript:window.print()" class="icon-print" title="Распечатать"></a><div class="print-version">'+this.content()+'</div></body></html>');
            $(this.handler.document.body).find('div.block-8').remove();
            */
            this.handler.document.close();
          }
    }
  };

$(document).ready(function(){  block_news.settings.xPath = '#block_news';  block_news.init();});  var block_poll = {
      settings: { xPath:'', votings: 'usr[poll][id]' },

      init: function()
        {          $(block_poll.settings.xPath).ajaxForm({
            beforeSubmit: function(formData, jqForm, options)
              {                if(!block_poll.checking(jqForm)) { alert("\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043e\u0434\u0438\u043d \u0438\u0437 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432!"); return false;}
              },
            success: function(formData, jqForm, options)
              {                var poll_id = myToolBox.toString( $(options).parent().attr('id_poll'));
                block_poll.purchases(poll_id);

                /*$(options).parent().append(formData);*/
                $(formData).insertBefore($(options).parent().find('div.href-all'));
                $(options).fadeOut('slow', function(){
                  $(options).parent().find('.block-poll-results').fadeIn('slow', block_poll.animateResults);
                });
              }
          });
        },

      purchases: function() {        if(typeof this.settings.votings == 'undefined' || $.trim(this.settings.votings).length == 0) return [];
        var argv = this.purchases.arguments;
        var argc = this.purchases.arguments.length;
        var result = [];
        var purchases = ($.trim(myToolBox.getcookie(this.settings.votings)).length > 0) ? (myToolBox.getcookie(this.settings.votings)).split(',') : [];
        if(typeof purchases == 'object' && purchases.length > 0)
          {
            $.each(purchases, function(k,v){
              if($.trim(v).length > 0 && !isNaN(new Number(v)) && new Number(v) > 0) result.push($.trim(v));
            });
          }

        if(argc > 0 && $.trim(argv[0]).length > 0 && !isNaN(new Number(argv[0])) && (new Number(argv[0])) > 0)
          {
            if(typeof result == 'object')
              {
                if($.grep(result, function(i){ return i == $.trim(argv[0]); }).length > 0) return result;
                result = $.merge(result, [argv[0]]);
                myToolBox.setcookie(this.settings.votings, result.join(','), myToolBox.expires.year(), '/');
              }
          }
        return result;
      },

      checking: function(curForm)
        {          var radioHolder = $(curForm).find('input[type=radio]');
          if($(radioHolder).filter(':checked').length == 0)
            return false;
          else
            return true;
        },

      animateResults: function (){        $(this).find('.answer').each(function(){          var percentage = $(this).find('.percent').text();
          if(percentage > 0)
            $(this).find('.bgr').css({width: "0%"}).animate({width: percentage}, 'slow');
        });
      }
    };

  $(document).ready(function(){    block_poll.settings.xPath = '.block-poll form';
    block_poll.init();
  });  var block_org = {
      settings: { },

      init: function()
        {          $('#period_selector').change(function(){            $('#block_org #org_form').submit();          });
          $('#block_org #org_form').ajaxForm({
            target: '#block_org',
            beforeSubmit: function(formData, jqForm, options)
              {
              },
            success: function(formData, jqForm, options)
              {
              }
          });        }
    };
  var block_org_list = {
      settings: { },
      id_org:0,

      init: function()
        {          $('#block_org_list form .button-type-0').click(function(){            block_org_list.id_org = $(this).attr('rel');
            $('#block_org_list form #id_org').val(block_org_list.id_org);
            var comment_added = block_org_comments.purchases();
            if($.inArray( block_org_list.id_org , comment_added ) > -1)
              {
                alert('\u0418\u0437\u0432\u0438\u043d\u0438\u0442\u0435, \u0412\u044b \u0443\u0436\u0435 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043b\u0438 \u0437\u0430 \u044d\u0442\u0443 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044e \u0441\u0435\u0433\u043e\u0434\u043d\u044f!');
                return false;
              }
            else
              {                $('#block_org_list form').submit();              }
          });

          $('#block_org_list form').ajaxForm({
            target: '#block_org_list',
            beforeSubmit: function(formData, jqForm, options)
              {
              },
            success: function(formData, jqForm, options)
              {
                block_org_comments.purchases(myToolBox.toString( block_org_list.id_org));
                $('#block_org_list').hide();
              }
          });
        }
    };

  $(document).ready(function(){
    block_org_list.init();
  });
var block_comments =
  {    settings:
      {
        votings: 'usr[cmnt][vt]'
      },
    quotedData: new Array(),
    page: 0,

    init: function()
      {        $('#block_comments a#switch').click(function() {          if($('#block_comments form').is(':animated'))
            return false;
          if($('#block_comments form').is(':visible'))
            {              myToolBox.hideHTMLObject('#block_comments form');            }
          else
            {              myToolBox.showHTMLObject('#block_comments form');            }
          return false;
        });

        $('#block_comments a.pager').click(function(){
          block_comments.page = $(this).attr('rel');
          $('#block_comments #action').val('paging');
          $('#block_comments form').submit();
        });

        $('#block_comments a.quote').click(function(){          if(!($('#block_comments form').is(':animated')) && !($('#block_comments form').is(':visible'))) {            myToolBox.showHTMLObject('#block_comments form')          }
          var divContent = $(this).parent().parent();
          var comment_id = $(divContent).attr('rel');
          var quoted_nick = $(divContent).find('span.nick').text();
          var quoted_date = $(divContent).find('span.date').text();
          var quoted_comment = $(divContent).find('div.comment').html();
          block_comments.quotedData[comment_id] = '[quote:][author:]'+quoted_nick+'[:author][datestamp:]'+quoted_date+'[:datestamp][text:]'+quoted_comment+'[:text][:quote]';
          $('#block_comments form #comment').val($('#block_comments form #comment').val() + ':quote '+comment_id+':\n');
        });

        $('#block_comments a.voting').click(function(){          var comment_id = myToolBox.toString( $(this).attr('rel'));
          var comment_voted = block_comments.purchases();
          if($.inArray( comment_id , comment_voted ) > -1) {
            alert('\u0412\u044b \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043b\u0438 \u0437\u0430 \u044d\u0442\u043e\u0442 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439!!!');
            return false;
          }
          else {            var voting_mode = $(this).attr('mode');
            $('#block_comments #action').val('voting');
            $('#block_comments #id_comment').val(comment_id);
            $('#block_comments #votingmode').val(voting_mode);
            block_comments.purchases(myToolBox.toString(comment_id));
            $('#block_comments form').submit();          }
        });


        $('#block_comments form').ajaxForm({          target: '#block_comments',
          beforeSubmit: function(formData, jqForm, options)
            {              if(!block_comments.process.checkfields() && $('#block_comments #action').val()=='comment')
                {                  alert('\u0412\u0441\u0435 \u043f\u043e\u043b\u044f \u0444\u043e\u0440\u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u044b!');                  return false;
                }

              if($('#block_comments #action').val() == 'comment')
                {                  formData[formData.length] = { name: 'page', value: '1' };                }
              else
                {                  formData[formData.length] = { name: 'page', value: block_comments.page };
                  myToolBox.hideHTMLObject('#block_comments #block_comments_output');                }

              var quotemode = 0;
              var comment = $('#block_comments form #comment').val();
              if(block_comments.quotedData.length > 0)
                {                  formData[formData.length] = { name: 'quotestr', value: comment };
                  var reg0 = /:quote \d+:/gm;
                  var reg1 = /\d+/;
                  var arr0 = comment.match(reg0);
                  var arr1 = new Array();

                  if(arr0 != null) {
                    for(var i = 0; i < arr0.length; i++) {                      arr1[i] = arr0[i].match(reg1);
                      comment = comment.replace(arr0[i], block_comments.quotedData[arr1[i]]);
                    }
                  }
                }

              formData[formData.length] = { name: 'comment', value: comment };
              var formshow = 0;
              if($('#block_comments form').is(':visible')) formshow = 1;
              formData[formData.length] = { name: 'formshow', value: formshow };
            },
          success: function(formData, jqForm, options)
            {              if(formData.action == 'paging') {                myToolBox.showHTMLObject('#block_comments #block_comments_output');              }            }
        });
      },

    process:
      {        checkfields: function()
          {
            var nick     = ($.trim($('#block_comments form #nick').val()).length > 0) ? $('#block_comments form #nick').val() : false;
            var comment  = ($.trim($('#block_comments form #comment').val()).length > 0) ? $('#block_comments form #comment').val() : false;
            var imgcode  = ($.trim($('#block_comments form #imgcode').val()).length > 0) ? $('#block_comments form #imgcode').val() : false;
            if( nick && comment && imgcode )
              {
                return true;
              }
            else
              {
                return false;
              }
          }
      },

      purchases: function()
        {
          if(typeof this.settings.votings == 'undefined' || $.trim(this.settings.votings).length == 0) return [];
          var argv = this.purchases.arguments;
          var argc = this.purchases.arguments.length;
          var result = [];
          var purchases = ($.trim(myToolBox.getcookie(this.settings.votings)).length > 0) ? (myToolBox.getcookie(this.settings.votings)).split(',') : [];
          if(typeof purchases == 'object' && purchases.length > 0)
            {
              $.each(purchases, function(k,v){
                if($.trim(v).length > 0 && !isNaN(new Number(v)) && new Number(v) > 0) result.push($.trim(v));
              });
            }
          if(argc > 0 && $.trim(argv[0]).length > 0 && !isNaN(new Number(argv[0])) && (new Number(argv[0])) > 0)
            {
              if(typeof result == 'object')
                {
                  if($.grep(result, function(i){ return i == $.trim(argv[0]); }).length > 0) return result;
                  result = $.merge(result, [argv[0]]);
                  myToolBox.setcookie(this.settings.votings, result.join(','), myToolBox.expires.today(), '/');
                }
            }
          return result;
        }
};
var block_org_comments =
  {    settings:
      {        votings: 'usr[cmnt][org]'
      },

    id_org:0,

    init: function()
      {        $('#block_org_comments form').ajaxForm({          target: '#block_org_comments',
          beforeSubmit: function(formData, jqForm, options)
            {              if($('#block_org_comments #hate').val()=='1')
                {                  id_org = $('#org_selector option:selected').attr('value');                  if( id_org <= 0)
                    {                      alert('\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044e!');                      return false;                    }
                  formData[formData.length] = { name: 'id_org', value: id_org };
                }
              else
                {                  id_org = $('#id_org').val();                }

              var comment_added = block_org_comments.purchases();
              if($.inArray( id_org , comment_added ) > -1)
                {
                  alert('\u0418\u0437\u0432\u0438\u043d\u0438\u0442\u0435, \u0412\u044b \u0443\u0436\u0435 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043b\u0438 \u0437\u0430 \u044d\u0442\u0443 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044e \u0441\u0435\u0433\u043e\u0434\u043d\u044f!');
                  return false;
                }
              if(!block_org_comments.process.checkfields() && $('#block_org_comments #action').val()=='comment')
                {                  alert('\u0412\u0441\u0435 \u043f\u043e\u043b\u044f \u0444\u043e\u0440\u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u044b!');                  return false;
                }

              $('#block_org_comments form').hide();
            },
          success: function(formData, jqForm, options)
            {            }
        });
      },

    process:
      {        checkfields: function()
          {
            var nick     = ($.trim($('#block_org_comments form #nick').val()).length > 0) ? $('#block_org_comments form #nick').val() : false;
            var comment  = ($.trim($('#block_org_comments form #comment').val()).length > 0) ? $('#block_org_comments form #comment').val() : false;
            var imgcode  = ($.trim($('#block_org_comments form #imgcode').val()).length > 0) ? $('#block_org_comments form #imgcode').val() : false;
            if( nick && comment && imgcode )
              {
                return true;
              }
            else
              {
                return false;
              }
          }
      },

      purchases: function()
        {          if(typeof this.settings.votings == 'undefined' || $.trim(this.settings.votings).length == 0) return [];
          var argv = this.purchases.arguments;
          var argc = this.purchases.arguments.length;
          var result = [];
          var purchases = ($.trim(myToolBox.getcookie(this.settings.votings)).length > 0) ? (myToolBox.getcookie(this.settings.votings)).split(',') : [];
          if(typeof purchases == 'object' && purchases.length > 0)
            {
              $.each(purchases, function(k,v){
                if($.trim(v).length > 0 && !isNaN(new Number(v)) && new Number(v) > 0) result.push($.trim(v));
              });
            }
          if(argc > 0 && $.trim(argv[0]).length > 0 && !isNaN(new Number(argv[0])) && (new Number(argv[0])) > 0)
            {
              if(typeof result == 'object')
                {
                  if($.grep(result, function(i){ return i == $.trim(argv[0]); }).length > 0) return result;
                  result = $.merge(result, [argv[0]]);
                  myToolBox.setcookie(this.settings.votings, result.join(','), myToolBox.expires.today(), '/');
                }
            }
          return result;
        }
};
/*** INIT PROCESSES ***/

$(document).ready(function(){
  passport.settings.authorization.server = '/modules/page_login.php';
  passport.settings.session.server = '/modules/passport-session.php';
  passport.session();
  passport.initAjaxForms($(passport.settings.refresh.xPath));
})