/*---------------------------------------------------------------------------- CHIM - CHuoi's Input Method ---------------------------------------------------------------------------- copyright : (C) 2005, 2006, 2007 by Dao Hai Lam http:/xvnkb.sf.net/chim email : daohailamyahoocom last modify : Thu, 05 Jul 2007 23:07:22 +0700 version : 0.9.3 ---------------------------------------------------------------------------- Mudim - Mudzot's Input Method (c)2008 by Mudzot http:/code.google.com/p/mudim email: mudzotgmail.com version: 0.8 date: 29.05.08 ---------------------------------------------------------------------------- This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. ------------------------------------------------------------------------------- Packed with Dean Edwards' Packer ported to Python by Florian Schulze ----------------------------------------------------------------------------*/ eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp("\\b"+e(c)+"\\b","g"),k[c]);return p}('J(2D(az)==\'2C\'){}D=P(){L 4z};F=P(){L 4z};F.3B=[\'1g-15\',\'1g-6r\',\'1g-6q\',\'1g-6p\',\'1g-6o\'];F.5Y=\'1g-6n\';F.5X=\'1g-6m\';D.4S=\'A\';D.4T=\'a\';D.6B=\'E\';D.6C=\'e\';D.4X=\'U\';D.4Y=\'u\';D.4V=\'G\';D.4W=\'g\';D.1K=\'Q\';D.1L=\'q\';D.6D=\'y\';D.6E=\'Y\';D.ax=\'i\';D.aw=\'I\';D.3L=5M.5L(av);D.28="8h";D.1P=" !@#$%^&*()8g+=-{}[]|\\\\:\\";\'<>?,./~`\\r\\n\\t";D.15=0;D.1e=[];D.1O=X;D.3K=P(u){K n,2x=D.2x;u=u.1l(0);1k(n=0;2x[n]!=0&&2x[n]!=u;n++){}L 2x[n]!=0?n:-1};D.4U=P(u){K n,O=D.O;u=u.1l(0);1k(n=0;O[n]!=0&&O[n]!=u;n++){}L O[n]!=0?n:-1};D.6F=P(8j,8i){K 1G=D.1G;K n,i=-1,j=-1,u;1k(n=0,u=8j.1l(0);1G[n]!=0&&1G[n]!=u;n++){}J(1G[n]!=0){i=n}1k(n=0,u=8i.1l(0);1G[n]!=0&&1G[n]!=u;n++){}J(1G[n]){j=n}L i-j};D.2L=P(n,c){D.1e[n]=5M.5L(c)};D.V=P(){L 4z};D.V.1V=14;D.V.1q=0;D.V.1d=0;D.V.28=[];D.V.64=[];D.V.1T=P(){D.V.1V=!D.V.1V;F.26()};D.V.4C=P(1q,Z){D.V.28[D.V.1d]=D.V.1q;D.V.64[D.V.1d++]=Z;D.V.1q=1q};D.V.5Z=P(){D.V.1q=-1;D.V.1d=0};D.V.8c=P(){L D.V.64[D.V.1d-1]};F.61="at";F.8e="8h|as|\'`~?.^*+=";F.8b="|ar|aq|ap|an|am|al|ak|aj|ai|ah|ag|au|af|ae|ad|ac|ao|ab|ay|aa|a9|a8|";F.8d="a7";F.1P="!@#$%^&*()8g+=-{}[]|\\\\:\\";\'<>?,./~`";F.8f=\'|c|a6|p|t|m|n|4E|6a|\';F.2E=P(Z,3D){K b=D.1e;K 11=b.W;K n=Z.1M();J(D.V.1V&&!F.3G){J(3D>0&&D.15==0){J(F.1R.W>0){K 63=F.8f.1i(\'|\'+F.1R+\'|\');J(63<0){D.15=11;F.1R=\'\';L 14}S J(63<9&&3D==2){K 4D=F.1r(n,2);J(4D!=0&&4D!=1&&4D!=5){D.15=11;F.1R=\'\';L 14}}}J(11==2&&(b[1]==D.4Y||b[1]==D.4X)&&(b[0]==D.1L||b[0]==D.1K)&&(3D==2||(3D==1&&F.1r(n,1)==1))){D.15=11;L D.1Q(11,c,Z)}}S J(!D.15){K 1I=F.8e.1i(Z);J(11>0){K 1n=b[11-1].1M()}J(11==0){J(F.8d.1i(Z)>=0){D.15=-1}S J(1I>=0&&1I<12){D.V.4C(0,Z)}S J(1I==12||1I>37){L}S{D.V.5Z()}}S J(1I==12||1I>37){D.1H();L}S J(1I>12){D.15=11}S J(1I>=0){K i=0;1o(F.61.1i(b[i])>=0){i++}J(i>0){F.1J=b.6G(0,i).2N().2M(/,/g,\'\').1M()}J(D.V.1q<0){J(F.1J==\'q\'){J(11==1&&n!=\'u\'){D.15=11}S J(b[1]==\'u\'&&n==\'u\'){D.15=11}}S J(1n==\'p\'&&n!=\'h\'){D.15=11}S J(1n==\'k\'&&n!=\'i\'&&n!=\'e\'&&n!=\'y\'){D.15=11}S J(F.1J==\'a5\'&&n!=\'i\'&&n!=\'e\'){D.15=11}S{D.V.4C(11,Z);J(n==\'y\'){J(\'a4\'.1i(1n)<0){D.15=11}}S J(n==\'e\'||n==\'i\'){J(11>1&&(1n==\'g\')){D.15=11}J(1n==\'c\'){D.15=1}}}}S J(11-D.V.1q>1){D.15=11}S{K w="|"+D.V.8c().1M()+Z.1M()+"|";K 62=F.8b.1i(w);J(62<0){D.15=11}S J(62<18&&(F.1J==\'c\'||F.1J==\'C\')){D.15=11}S J(1n==\'y\'&&F.1J==\'\'&&n!=\'e\'){D.15=11}S{D.V.4C(11,Z)}}}S{27(Z){19\'h\':19\'H\':J(1n>=D.3L||"a3".1i(1n)<0){D.15=11}1c;19\'g\':19\'G\':J(1n!=\'n\'&&1n!=\'N\'){D.15=11}1c;19\'r\':19\'R\':J(1n!=\'t\'&&1n!=\'T\'){D.15=11}1c;6H:J(F.61.1i(1n)>=0){D.15=11}1c}}}J(D.15!=0){L 14}}L X};D.1Q=P(1d,a2,Z){J(F.1P.1i(Z)>=0){D.1H();L}F.a1=\'a0\';D.1e.8a(Z);L F.4P(D.1C[F.1j-1][2].1E(0))};D.7J=P(Z){K p=-1;K i,j=-1;K b,c=0,9Z,l;K 1d=D.1e.W;K m=D.1C[F.1j-1],n;K v=1m;J(!1d||D.15!=0||F.3H){J(F.2E(Z,l)){L D.1Q(1d,c,Z)}L D.1Q(0,0,Z)}b=D.1e;c=b[p=1d-1];n=Z.1M();1k(l=1;l=0){1c}J(l>=m.W){F.2E(Z,0);L D.1Q(1d,c,Z)}J((p=F.4O(n))<0){F.2E(Z,0);L D.1Q(1d,c,Z)}F.9Y=\'9X\';J(F.2E(Z,l)){L D.1Q(1d,c,Z)}c=b[p];K x=c.1l(0);K 3C=X;J(l==1){m=m[0];1k(i=0;!3C&&i0&&F.1r(n,1)==1&&p<1d-1&&D.4U(b[p])>=0&&D.3K(b[p-1])>=0&&b[0]!=D.1L&&b[0]!=D.1K){F.1D(p-1,b[p-1].1l(0),1,D.1F,n,X)}3C=14;1c}}1c}}}S{1k(i=0;i=0};D.82=P(){K 1d=D.1e.W;J(1d<=0){D.1O=14}S{J(F.2F[0]==1d-1)F.3J();K i=D.1W.W-1;K 60=D.1e[1d-1].1l(0);1o(i>=0&&D.1W[i]!=60){i--}J(i<0){i=D.1F.W-1;1o(i>=0&&D.1F[i]!=60){i--}}J(i>=0&&(i%2)==1){F.w--}--1d;D.1e.9W();J(1d==D.V.1q){D.V.1q=D.V.28[--D.V.1d]}J((D.15<0&&!1d)||(1d<=D.15)){D.15=0}}};D.1H=P(){D.15=0;F.w=0;D.V.5Z();F.3J();F.1R=\'\';F.1J=\'\';F.23=0;F.22=0;J(D.1e.W>0){F.3H=X;F.3G=X}D.1e=[]};D.2I=P(){J(2D(F.3B)!="2C"&&F.1jM.W||M.5W<0||M.5W>M.W||M.5W0){1o(c>=0&&1P.1i(M.1b.1E(c))<0){D.1e.9J(M.1b.1E(c));c=c-1}}F.21=c+1}S{D.1e=D.1N.7Q(M).4N(\'\')}D.1O=X};D.84=9;D.5P=8;D.5K=13;D.81=46;D.5J=32;D.7L=9I;D.5O=37;D.5N=39;D.7Z=36;D.7Y=35;D.7X=33;D.7W=34;D.7V=38;D.7U=40;D.7S=9H;D.7R=5b;D.7T=9G;D.5G=17;D.5I=16;D.9F=18;D.5C=P(1a,83){27(1a){19 D.84:19 D.5K:D.1H();1c;19 D.5P:J(!83){D.82()}1c;19 D.81:19 D.5O:19 D.5N:19 D.7Z:19 D.7Y:19 D.7X:19 D.7W:19 D.7V:19 D.7U:D.1O=14;1c}};D.7G=P(e,k){J(k==D.7T){F.4L();L 14}S J(k==D.7S||k==D.7R){D.1T();L 14}L X};D.1N=P(){L 4z};D.1N.5Q=P(M){J(!M.4y.3y){L}K 5R=M.4y.3y.5B;L(!1v.2A&&1f.2z)?5R.1f.1s.5S():5R.9E().9D(0)};D.1N.7Q=P(M){K 1h=D.1N.5Q(M);J(!1h){L\'\'}J(!1v.2A&&1f.2z){1o(1h.4w(\'1Z\',-1)==-1){J(D.1P.1i(1h.1B.1E(0))>=0){1h.4w(\'1Z\',1);1c}}L 1h.1B}K 4x=\'\';K s;J(!(s=1h.7O.4v)){L\'\'}K c=1h.7N-1;J(c>0){1o(c>=0&&D.1P.1i(s.1E(c))<0&&s.1l(c)!=9C){4x=s.1E(c)+4x;c=c-1}}L 4x};D.1N.6M=P(M,l){K 1h=D.1N.5Q(M);J(2D(1h)==\'2C\'){L}K b=D.1e;J(!1v.2A&&1f.2z){K x=-l;1h.4w(\'1Z\',x);1h.7P(\'1Z\',x+b.W);1h.9B(b.2N().2M(/,/g,\'\'));L}K 2B=1h.7O;K 3z=1h.7N;K 29=3z-l;2B.4v=2B.4v.2O(0,29)+b.2N().2M(/,/g,\'\')+2B.4v.2O(29+l);J(l0){1k(K i=0;i<4u.W;i++){J(M.1A==4u[i]){L 14}}}L X};D.4n=P(e){J(e==1m){e=1v.4t}J(e.7M==14){L}e.7M=14;K 1a=e.1a;J(1a==0){1a=e.4s}J(1a==0){1a=e.7D}J(F.1j==0){L}K M=1m;J(!(M=D.5F(e))||!D.5E||D.5D(M)){L}J(e.7F||e.7E||e.5H){J(1a==D.5P||1a==D.5O||1a==D.5N){D.1O=14}L}J(e.4s==1m||e.4s!=0){K Z=5M.5L(1a);J(1a==D.5J||1a==D.5K){D.1H()}S J(1a>D.5J&&1a=0){1c}p=11-1;F.9g=\'9f\';27(l=i){19 1:J(F.1r(k,1)==3){1c}19 2:6H:i=p;1o(i>=0&&b[i]=0&&(D.28.1i(b[i-1])>=0||b[i-1]>D.3L)&&D.6F(b[i-1],b[i])<0)i--;J(i==11-1&&i-1>=0&&(j=D.3K(b[i-1]))>0){27(b[i]){19 D.4T:19 D.4S:J((i-2<0||(j<24&&b[i-2]!=D.1L&&b[i-2]!=D.1K)||(j>=24&&b[i-2]!=D.4W&&b[i-2]!=D.4V))&&(l==2||(l==1&&F.1r(k,1)==1)))i--;1c;19 D.4Y:19 D.4X:J(i-2<0||(b[i-2]!=D.4W&&b[i-2]!=D.4V))i--;1c;19 D.6E:19 D.6D:J((!F.1x)&&i-2>=0&&b[i-2]!=D.1L&&b[i-2]!=D.1K){i--}1c}}J(i==11-1&&i-1>=0&&D.4U(b[i-1])>0){27(b[i]){19 D.4T:19 D.4S:J(!F.1x&&(l==2||(l==1&&F.1r(k,1)!=1)))i--;1c;19 D.6C:19 D.6B:J(!F.1x)i--;1c}}J(i==11-2&&i-1>=0){K 4R=D.3K(b[i]);J(4R>=0&&4R<24&(b[i-1]==D.1L||b[i-1]==D.1K)){i++}}p=i;1c};J(F.1r(k,1)==3&&b[0]==\'d\'){L 0}L p};F.1D=P(1X,6z,2J,6A,Z,4Q){K v=6A;K i;1k(i=0;i=0){J(j!=i){D.2L(1X,v[j]);F.2F=[1X,(D.1e[1X]).1l(0),v,Z]}S{D.2L(1X,v[0]);F.3J();J(4Q){D.15=D.1e.W+1}}}1c}L 14}}L X};F.3J=P(){F.2F=[-1,0,1m,\'z\']};F.4P=P(6y){J(D.15!=0){L X}K p=F.4O(6y);K a=F.2F;K b=D.1e;K v,i,j,c;J(p<0){L X}i=D.1W.W-1;c=b[p].1l(0);1o(i>=0&&D.1W[i]!=c){i--}j=D.1F.W-1;J(p>0){c=b[p-1].1l(0);1o(j>=0&&D.1F[j]!=c){j--}}S{j=-1}J(p0&&i>=0&&j>=0){J(F.w==1){J(i%2==0){F.1D(p,b[p].1l(0),1,D.1W,D.1C[F.1j-1][1].1E(1),X);J(b[0]==D.1L||b[0]==D.1K){F.1D(p-1,b[p-1].1l(0),1,D.1F,D.1C[F.1j-1][1].1E(1),X)}}S{J(b[0]!=D.1L&&b[0]!=D.1K){F.1D(p-1,b[p-1].1l(0),1,D.1F,D.1C[F.1j-1][1].1E(1),X)}}L 14}}J(a[0]>=0&&p>0&&a[0]!=p){F.1D(a[0],a[1],2,a[2],a[3],X);1k(i=0;i=0){L j}}L j}};F.26=P(){K d=9e 9d();d.9c(d.9b()+9a);K 6x=\';99=\'+d.98()+\';96=/\';K 1b=F.1j;K 1b=D.V.1V?1b+8:1b;1b=F.1x?1b+16:1b;1b=F.1w?1b+32:1b;1f.6w=\'|1g-6v=\'+1b+6x};F.6h=P(){K c=1f.6w.4N(\';\');1k(K i=0;iF 8A.8 <1U 2H="1g" 1A="1g-15" 1y="F.1u(0);" 1z="2G">\'+F.1t[0]+\'<1U 2H="1g" 1A="1g-6r" 1y="F.1u(1);" 1z="2G"> \'+F.1t[1]+\' <1U 2H="1g" 1A="1g-6q" 1y="F.1u(2);" 1z="2G"> \'+F.1t[2]+\' <1U 2H="1g" 1A="1g-6p" 1y="F.1u(3);" 1z="2G"> \'+F.1t[3]+\' <1U 2H="1g" 1A="1g-6o" 1y="F.1u(4);" 1z="2G"> \'+F.1t[4]+\' <1U 1A="1g-6n" 1y="6l:F.6g();" 1z="6j">\'+F.1t[5]+\'<1U 1A="1g-6m" 1y="6l:F.6k();" 1z="6j">\'+F.1t[6]+\' [&8z;\'+F.1t[7]+\' (8y) \'+F.1t[8]+\' (8x) ]\';f.25.3I=\'4J\';1f.6i.8w(f,1f.6i.6d);F.1S=f;F.6h()}};F.6g=P(){D.V.1T()};F.1T=P(){D.1T()};F.1u=P(m){D.1u(m)};F.4I=P(){D.4I()};F.6f=P(){};F.6e=P(){};F.66=P(){F.6f();F.4H();D.4G();F.6e()};F.8v=P(){L F.1S.6d.25};F.1j=4;F.1x=14;F.4F=4;F.1w=14;F.2F=[-1,0,1m,-1];F.w=0;F.3H=X;F.3G=X;F.3F=X;F.23=0;F.22=0;F.1J=\'\';F.1R=\'\';F.21=0;F.6c=\'8u\';F.6b=\'8t\';F.1t=[\'Tắt\',\'8s\',\'8r\',\'8q\',\'Tổ4E hợp\',\'8pí6a tả\',\'Bỏ dấu 8oểu mới\',\'Bật/Tắt\',\'Ẩn/8nện bả4E điều 8mển\'];F.67=[];1k(K i=1;i<3E;i++){8l("F.66()",8k*i)}',62,656,'|||||||||||||||||||||||||||||||||||||||CHIM||Mudim||||if|var|return|target|||function|||else|||Speller|length|false||key||len|||true|off||||case|keyCode|value|break|count|buffer|document|mudim|range|indexOf|method|for|charCodeAt|null|lkey|while|index|position|GetMarkTypeID|selection|LANG|SetMethod|window|showPanel|newAccentRule|onclick|type|id|text|modes|PutMark|charAt|vn_UW|VN|ClearBuffer|kp|headConsonants|CHAR_Q|CHAR_q|toLowerCase|HTMLEditor|dirty|separators|Append|tailConsonants|Panel|Toggle|input|enabled|vn_OW|pos|7900|character|textRange|startWordOffset|shiftSerie|ctrlSerie||style|SetPreference|switch|vowels|start|tagName|7906|7907|7904|7905|7902|7903|7901|7898|7899|416|417|7896|7897|7894|7895|7892|7893|7891|7888|7889|212|244|UI|doc|all|opera|container|undefined|typeof|CheckSpell|accent|radio|name|SetDisplay|group|vncode_2|SetCharAt|replace|toString|substring|GetCursorPosition|7890|7884|7885|213|245|7886|7887|210|242|211|243|111|||||||||7862|7863|7860|7861|7858|7859|7856|7857|7854|7855|258|259|7852|7853|7850|7851|7848|7849|7846|7847|7844|7845|194|226|iframe|offset|selectionStart|DISPLAY_ID|found|grp|100|newTempDisableSpellCheckRequest|tempDisableSpellCheck|tempOff|display|ResetAccentInfo|CharIsUI|CHAR_0x80|7920|7921|7918|7919|7916|7917|7914|7915|7912|7913|431|432|7908|7909||360|361|7910|7911|217||249|218|250|117|7840|7841|195|227|7842|7843|192|224|193|225|Attach|MouseDown|KeyHandler|KeyUp|KeyDown|addEventListener|attachEvent|charCode|event|ign|nodeValue|moveStart|word|parentNode|this|checked|getElementById|Set|typeid|ng|oldMethod|Activate|InitPanel|SwitchMethod|None|div|TogglePanel|href|split|FindAccentPos|AdjustAccent|checkDouble|uipos|CHAR_A|CHAR_a|CharIsO|CHAR_G|CHAR_g|CHAR_U|CHAR_u|HTML|7882|7883|296|297|7880|7881|204|236|205|237|105|121|7878|7879|7876|7877|7874|7875|7872|7873|7870|7871|202|234|7864|7865|7868|7869|7866|7867|200|232|201|233|101|catch|try|contentWindow|ProcessControlKey|Freeze|peckable|GetTarget|VK_CTRL|metaKey|VK_SHIFT|VK_SPACE|VK_ENTER|fromCharCode|String|VK_RIGHT_ARROW|VK_LEFT_ARROW|VK_BACKSPACE|GetRange|win|createRange|createTextRange|caret|contents|selectionEnd|ACCENTRULE_ID|SPELLCHECK_ID|Clear|code|consonants|idx|ecIdx|lasts||Init|IGNORE_ID|||nh|PANEL_BACKGROUND|COLOR|firstChild|AfterInit|BeforeInit|ToggleSpeller|GetPreference|body|checkbox|ToggleAccentRule|javascript|accentrule|checkspell|auto|viqr|telex|vni|opacity|HidePanel|ShowPanel|settings|cookie|tail|vk|charCodeAtPos|subsTab|CHAR_E|CHAR_e|CHAR_y|CHAR_Y|CharPriorityCompare|slice|default|nKey|scrollTop|SetCursorPosition|end|Process|UpdateUI|272|273|7924|7925|7928|7929|7926|7927|7922|7923|221|253|vn_DD|vn_AW|vn_OO||vn_EE|vn_AA|vncode_1|vn_y0|vn_Y0||vn_i0|vn_I0|vn_e6|vn_E6|vn_e0|vn_E0|vn_u7|vn_U7|vn_u0|vn_U0|vn_o7|vn_O7|vn_o6|vn_O6|vn_o0|vn_O0|vn_a8|vn_A8|vn_a6|vn_A6|vn_a0|vn_A0|contentDocument|getElementsByTagName|chim|onmousedown|onkeypress|onkeyup|onkeydown|which|ctrlLeft|ctrlKey|IsHotkey|preventDefault|stopPropagation|AddKey|UpdateBuffer|VK_LIMIT|isHandled|startOffset|startContainer|moveEnd|GetCurrentWord|VK_ONOFF2|VK_ONOFF|VK_PANELTOGGLE|VK_DOWN_ARROW|VK_UP_ARROW|VK_PAGE_DOWN|VK_PAGE_UP|VK_END|VK_HOME||VK_DELETE|BackSpace|release|VK_TAB||setSelectionRange|boundingLeft|srcElement||push|vwchk|Last|nvchk|spchk|tailConsonantsPattern|_|AIUEOYaiueoy|u2|u1|2000|setTimeout|khi|Hi|ki|Ch|Viqr|Telex|VNI|lightYellow|Black|GetPanelStyle|insertBefore|F8|F9|nbsp|v0|Method|Input|Mudzot|title|com|googlecode|http|10pt|size|font|center|align|width|right|top|fixed|alpha|filter|color|background|3px|padding|black|solid|1px|bottom|border|mudimPanel|innerHTML|createElement|parseInt|path||toGMTString|expires|604800000|getTime|setTime|Date|new|ot|is|0123456zsfrxj|6789ewoda|zsfrxj|ewoda|012345|6789|exc|frame|mousedown|keypress|keyup|keydown|shiftLeft|shiftKey|altLeft|altKey|returnValue|cancelBubble|setStart|setEnd|pasteHTML|160|getRangeAt|getSelection|VK_ALT|119|120|128|unshift|select|collapse|move|parentElement|duplicate|TEXTAREA|findText|INPUT|inRange|textarea|BODY|nodeType|pop|dz|lord|cc|mu|my|lastkey|CGKNPTcgknpt|hklms|ngh|ch|FfJjWwZz|yu|io|uu|eo|ie|eu|ia|iu|oi|ui||uo|ua|ye|ou|oe||ue|uy|oa|BDFJKLQSVWXZbdfjklqsvwxz|BCDFGHJKLMNPQRSTVWXZbcdfghjklmnpqrstvwxz||0x80|CHAR_I|CHAR_i||console'.split('|'),0,{})) Mudim.BeforeInit = function() { //Mudim.COLOR='Black'; //Mudim.PANEL_BACKGROUND='lightYellow'; //Mudim.LANG=['Tắt','VNI','Telex','Viqr','Tổng hợp','Chính tả','Bỏ dấu kiểu mới','Bật/Tắt','Ẩn/Hiện bảng điều khiển']; Mudim.IGNORE_ID = ['email']; }; Mudim.AfterInit = function() { //s = Mudim.GetPanelStyle(); //s.fontSize = '14pt'; //s.fontFamily = 'Serif'; };