var supported=(document.all||document.getElementById);var disabled=false;var charmapid=1;var keymodeid=0;var linebreak=0;var theTyper=null;reset=function(){};telexingVietUC=initTyper;function setTypingMode(a){keymodeid=a;if(theTyper){theTyper.keymode=initKeys()}if(!supported&&!disabled){alert("Xin loi, trinh duyet web cua ban khong cho phep dung VietTyping.\n");disabled=true}}var vumapsURI="http://www.avys.de/js/vumaps.js";var vumaps=0;function setCharMap(a){charmapid=a+1;if(!vumaps){loadModule(vumapsURI,"vumaps")}if(theTyper){theTyper.charmap=initCharMap()}}function autoConvert(e,d){if(!e){return}var b=detectFormat(e.value);if(!b){return}var c=initCharMap(b);var a=initCharMap(d);e.value=c.convertTxtTo(e.value,a)}function loadModule(mURI,idstr){if(!document.all){return alert("Sorry, only IE4,5,6 support this feature.")}var ls="&nbsp;<script defer type='text/javascript' src='"+mURI+"'><\/script>";document.body.insertAdjacentHTML("beforeEnd",ls);if(!eval(idstr)){alert(errormsg)}}var errormsg="Module chu+a na.p xong, co' the^? ke^'t no^'i cha^.m...\nBa.n ha~y thu+.c hie^.n thao ta'c mo^.t la^`n nu+~a!";function convertAtOnce(b){if(!b){return}if(theTyper.keymode.off){var a="Bo^. go~ ddang o+? tra.ng tha'i ta('t.\n Ba.n pha?i ddu+a ve^` kie^?u dda~ du`ng dde^? vie^'t ba`i truo+'c khi soa't da^'u";return alert(a)}if(!theTyper){theTyper=new CVietString("")}b.value=theTyper.doConvertIt(b.value)}initCharMap=function(){return new CVietUniCodeMap()};initKeys=function(){switch(keymodeid){case 1:return new CTelexKeys();case 2:return new CVniKeys();case 3:return new CViqrKeys();default:return new CVKOff()}};function initTyper(a){a.vietarea=true;a.onkeyup=null;if(!supported){return}a.onkeypress=vietTyping;a.getCurrentWord=getCurrentWord;a.replaceWord=replaceWord;a.onkeydown=onKeyDown;a.onmousedown=onMouseDown}function getEvt(a){return document.all?event.keyCode:(a&&a.which)?a.which:0}function onKeyDown(a){var b=getEvt(a);if((b==10)||(b==13)){reset(1);linebreak=1}else{if((b<49)&&(b!=16)&&(b!=20)){linebreak=0;reset(b==32)}}return true}function onMouseDown(a){reset(0);linebreak=0;return true}function vietTyping(a){var d=getEvt(a);if(theTyper){theTyper.value=this.getCurrentWord()}else{theTyper=new CVietString(this.getCurrentWord())}var b=(d>32)&&theTyper.typing(d);if(b){this.replaceWord(theTyper.value)}return !b}function getCurrentWord(){if(!document.all){return this.value}var c=this.document.selection.createRange();var b=-17;do{var a=c.duplicate();a.moveStart("character",b++)}while(a.parentElement()!=this&&b<0);this.curword=a.duplicate();return a.text}function replaceWord(a){if(!document.all){this.value=a;return}this.curword.text=a;this.curword.collapse(false)}function CVietString(a){this.value=a;this.keymode=initKeys();this.charmap=initCharMap();this.ctrlchar="-";this.changed=0;this.typing=typing;this.Compose=Compose;this.doConvertIt=doConvertIt;this.findCharToChange=findCharToChange;return this}function typing(a){this.changed=0;this.ctrlchar=String.fromCharCode(a);if(linebreak){linebreak=0}else{this.keymode.getAction(this)}return this.changed}function doConvertIt(b){var c=1,a=b.length;this.value=b.charAt(0);while(c<a){this.ctrlchar=b.charAt(c++);this.changed=0;this.keymode.getAction(this);if(!this.changed){this.value+=this.ctrlchar}}return this.value}function Compose(a){var b=this.findCharToChange(a);if(!b){return}var c;if(b[0]=="\\"){c=[1,this.ctrlchar,1]}else{if(a>6){c=this.charmap.getAEOWD(b[0],a,b[3])}else{c=this.charmap.getDau(b[0],a)}}if(!(this.changed=c[0])){return}this.value=this.value.replaceAt(b[1],c[1],b[2]);if(!c[2]){spellerror=1;this.value+=this.ctrlchar}}function findCharToChange(k){var o=this.charmap.lastCharsOf(this.value,5);var f=0,h=o[0][0],e=0;if(h=="\\"){return[h,this.value.length-1,1]}if(k==15){while(!(e=this.charmap.isVD(h))){if((h<"A")||(f>=4)||!(h=o[++f][0])){return null}}}else{while("cghmnptCGHMNPT".indexOf(h)>=0){if((h<"A")||(f>=2)||!(h=o[++f][0])){return null}}}h=o[0][0].toLowerCase();var n=o[1][0].toLowerCase();var b=o[2][0].toLowerCase();if(f==2&&k<6){var g=n+h;if((g!="ng")&&(g!="ch")&&(g!="nh")){return null}if(g=="ch"&&k!=1&&k!=3){return null}}else{if(f==1&&k<6){if((h=="g")||(h=="h")){return null}if("cpt".indexOf(h)>=0&&k!=1&&k!=3){return null}}else{if(f==0&&k!=15){if((e=this.charmap.isVowel(o[1][0]))&&("uyoia".indexOf(h)>=0)&&!this.charmap.isUO(n,h)&&!((n=="o"&&h=="a")||(n=="u"&&h=="y"))&&!((b=="q"&&n=="u")||(b=="g"&&n=="i"))){++f}if(h=="a"&&(k==9||k==7)){f=0}}}}h=o[f][0];if((f==0||e==0)&&k!=15){e=this.charmap.isVowel(h)}if(!e){return null}var m=o[f][1],a=0;if((f>0)&&(k==7||k==8||k==11)){a=this.charmap.isUO(o[f+1][0],h);if(a){e=a;m+=o[++f][1];a=1}}var l=this.value.length;for(var d=0;d<=f;d++){l-=o[d][1]}return[e,l,m,a]}function CVietCharMap(){this.vietchars=null;this.length=149;return this}CVietCharMap.prototype.charAt=function(a){var b=this.vietchars[a];return b?String.fromCharCode(b):null};CVietCharMap.prototype.isVowel=function(a){var b=this.length-5;while((a!=this.charAt(b))&&b){--b}return b};CVietCharMap.prototype.isVD=function(a){var b=this.length-5;while((a!=this.charAt(b))&&(b<this.length)){++b}return(b<this.length)?b:0};CVietCharMap.prototype.isCol=function(a,c){var b=12,d=a+1;while(b>=0&&(this.charAt(b*12+d)!=c)){--b}return(b>=0)?b*12+d:0};CVietCharMap.prototype.isUO=function(c,b){if(!c||!b){return 0}var a=this.isCol(9,c);if(!a){a=this.isCol(10,c)}if(!a){return 0}var d=this.isCol(6,b);if(!d){d=this.isCol(7,b)}if(!d){d=this.isCol(8,b)}if(!d){return 0}return[a,d]};CVietCharMap.prototype.getDau=function(f,d){var c=(f<25)?0:1;var e=(f-1)%24+1;var g=(d==6)?0:d;if((d==6)&&!c){return[0]}var b=g*24+e;if(b==f){b=e}var a=this.charAt(b);if(!a){a=this.lowerCaseOf(0,b)}return[1,a,b>24||d==6]};var map=[[7,7,7,8,8,8,9,10,11,15],[0,3,6,0,6,9,0,3,6,0],[1,4,7,2,8,10,1,4,7,1]];CVietCharMap.prototype.getAEOWD=function(e,k,a){var j=0,f=a?e[0]:e;var b=(k==15)?(f-1)%2:(f-1)%12;if(a){base=e[1]-(e[1]-1)%12;if(k==7||k==11){j=this.charAt(f-b+9)+this.charAt(base+7)}else{if(k==8){j=this.charAt(f-b+10)+this.charAt(base+8)}}return[j!=0,j,1]}var h=-1,d=0,l=0;while(d==0&&++h<map[0].length){if(map[0][h]==k){if(map[1][h]==b){d=map[2][h]-b}else{if(map[2][h]==b){d=map[1][h]-b}}}}if(d==0){if(k==7&&(b==2||b==8)){d=-1}else{if((k==9&&b==2)||(k==11&&b==8)){d=-1}else{if(k==8&&(b==1||b==7)){d=1}}}l=1}else{l=(d>0)}var g=this.charAt(f+d);if(!g){g=this.lowerCaseOf(0,f+d)}return[d!=0,g,l]};CVietCharMap.prototype.lastCharsOf=function(d,b){if(!b){return[d.charAt(d.length-1),1]}var a=new Array(b);for(var c=0;c<b;c++){a[c]=[d.charAt(d.length-c-1),1]}return a};String.prototype.replaceAt=function(c,b,a){return this.substring(0,c)+b+this.substring(c+a)};function CVietUniCodeMap(){var a=new CVietCharMap();a.vietchars=new Array("UNICODE",97,226,259,101,234,105,111,244,417,117,432,121,65,194,258,69,202,73,79,212,416,85,431,89,225,7845,7855,233,7871,237,243,7889,7899,250,7913,253,193,7844,7854,201,7870,205,211,7888,7898,218,7912,221,224,7847,7857,232,7873,236,242,7891,7901,249,7915,7923,192,7846,7856,200,7872,204,210,7890,7900,217,7914,7922,7841,7853,7863,7865,7879,7883,7885,7897,7907,7909,7921,7925,7840,7852,7862,7864,7878,7882,7884,7896,7906,7908,7920,7924,7843,7849,7859,7867,7875,7881,7887,7893,7903,7911,7917,7927,7842,7848,7858,7866,7874,7880,7886,7892,7902,7910,7916,7926,227,7851,7861,7869,7877,297,245,7895,7905,361,7919,7929,195,7850,7860,7868,7876,296,213,7894,7904,360,7918,7928,100,273,68,272);return a}function CVietKeys(){this.getAction=function(b){var a=this.keys.indexOf(b.ctrlchar.toLowerCase());if(a>=0){b.Compose(this.actions[a])}};return this}function CVKOff(){this.off=true;this.getAction=function(){};return this}function CTelexKeys(){var a=new CVietKeys();a.keys="sfjrxzaeowd";a.actions=[1,2,3,4,5,6,9,10,11,8,15];a.istelex=true;return a}function CVniKeys(){var a=new CVietKeys();a.keys="0123456789";a.actions=[6,1,2,4,5,3,7,8,8,15];return a}function CViqrKeys(){var a=new CVietKeys();a.keys="\xB4/'`.?~-^(*+d";a.actions=[1,1,1,2,3,4,5,6,7,8,8,8,15];return a};