<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title> new document </title>
<script LANGUAGE="JavaScript">
<!--
 var moskey=new Array();
 moskey[0]=new Array("A","ㅗ","._","A","Alfa");
 moskey[1]=new Array("B","ㄷ","_...","B","Bravo");
 moskey[2]=new Array("C","ㅊ","_._.","C","Charlie");
 moskey[3]=new Array("D","ㅡ","_..","D","Delta");
 moskey[4]=new Array("E","ㅏ",".","E","Echo");
 moskey[5]=new Array("F","ㄴ",".._.","F","Foxtrot");
 moskey[6]=new Array("G","ㅅ","__.","G","Golf");
 moskey[7]=new Array("H","ㅜ","....","H","Hotel");
 moskey[8]=new Array("I","ㅑ","..","I","India");
 moskey[9]=new Array("J","ㅎ",".___","J","Juliet" );
 moskey[10]=new Array("K","ㅇ","_._","K","Kilo");
 moskey[11]=new Array("L","ㄱ","._..","L","Lima");
 moskey[12]=new Array("M","ㅁ","__","M","Mike");
 moskey[13]=new Array("N","ㅛ","_.","N","November");
 moskey[14]=new Array("O","ㅍ","___","O","Oscar");
 moskey[15]=new Array("P","ㅈ",".__.","P","Papa");
 moskey[16]=new Array("Q","ㅐ","__._","Q","Quebec");
 moskey[17]=new Array("R","ㅠ","._.","R","Romeo");
 moskey[18]=new Array("S","ㅕ","...","S","Sierra");
 moskey[19]=new Array("T","ㅓ","_","T","Tango");
 moskey[20]=new Array("U","ㅣ",".._","U","Uniform");
 moskey[21]=new Array("V","ㄹ","..._","V","Victor");
 moskey[22]=new Array("W","ㅂ",".__","W","Whisky");
 moskey[23]=new Array("X","ㅋ","_.._","X","X-ray");
 moskey[24]=new Array("Y","ㅔ","_.__","Y","Yankee");
 moskey[25]=new Array("Z","ㅌ","__..","Z","Zulu");
 moskey[26]=new Array("1","",".____","1","._");
 moskey[27]=new Array("2","","..___","2",".._");
 moskey[28]=new Array("3","","...__","3","..._");
 moskey[29]=new Array("4","","...._","4","...._");
 moskey[30]=new Array("5","",".....","5",".....");
 moskey[31]=new Array("6","","_....","6","_....");
 moskey[32]=new Array("7","","__...","7","_...");
 moskey[33]=new Array("8","","___..","8","_..");
 moskey[34]=new Array("9","","____.","9","_.");
 moskey[35]=new Array("0","","_____","0","_");
 moskey[36]=new Array(".","","._._._",".","Full-stop(period)");
 moskey[37]=new Array(",","","__..__",",","Comma");
 moskey[38]=new Array("?","","..__..","?","Question mark (query)");
 moskey[39]=new Array("/","","_.._.","/","Fraction bar");
 moskey[40]=new Array(":","","___...",":","Colon");
 moskey[41]=new Array("'","",".____.","'","Apostrophe");
 moskey[42]=new Array("+","","._._.","+","Plus");
 moskey[43]=new Array("-","","_...._","-","Hyphen");
 moskey[44]=new Array("=","","_..._","=","Equal");
 moskey[45]=new Array("(","","_.__.","(","Brackets (parentheses)");
 moskey[46]=new Array(")","","_.__._",")","");
 moskey[47]=new Array("정정","영문(HH)","........","국문(SN)","..._. ");
 //initial sound
 var is=new Array("ㄱ","ㄲ","ㄴ","ㄷ","ㄸ","ㄹ","ㅁ","ㅂ","ㅃ","ㅅ","ㅆ","ㅇ","ㅈ","ㅉ","ㅊ","ㅋ","ㅌ","ㅍ","ㅎ");
 //middle sound
 var ms=new Array("ㅏ","ㅐ","ㅑ","ㅒ","ㅓ","ㅔ","ㅕ","ㅖ","ㅗ","ㅘ","ㅙ","ㅚ","ㅛ","ㅜ","ㅝ","ㅞ","ㅟ","ㅠ","ㅡ","ㅢ","ㅣ");
 //final sounct
 var fs=new Array("","ㄱ","ㄲ","ㄳ","ㄴ","ㄵ","ㄶ","ㄷ","ㄹ","ㄺ","ㄻ","ㄼ","ㄽ","ㄾ","ㄿ","ㅀ","ㅁ","ㅂ","ㅄ","ㅅ","ㅆ","ㅇ","ㅈ","ㅊ","ㅋ","ㅌ","ㅍ","ㅎ");
 /*
 Hangul Jamo 1100(4352)-11FF(4607)
 Hangul Compatibility Jamo 3130(12592)-318F(12687)
 Hangul Syllables AC00(43032)-D7AF(55215)
 */
 function HToAsc(){
  var objD=document.getElementById("txt_debug");
  var strV=document.getElementById("txt_str").value;
  var objR=document.getElementById("txt_ret");
  var objM=document.getElementById("txt_mos");
  objD.innerHTML="";
  objR.value="";
  objM.value="";
  var nasc,ii,mi,fi;
  var ct="E";
  for (i=0;i<strV.length;i++)
  {
   nasc=strV.charCodeAt(i);
   if (nasc<256)
    ct="E";
   else if((nasc>=4352 && nasc<=4607)||(nasc>=12592 && nasc<=12687))
    ct="HJ";
   else if(nasc>=43032 && nasc<=55215)
    ct="HS";
   objR.value+=' '+nasc;
   if (ct=="HS")
   {
    ii=(nasc-44032)/(21*28)
    ii=Math.floor(ii)
    mi=((nasc-44032)%(21*28))/28
    mi=Math.floor(mi)
    fi=((nasc-44032)%(21*28))%28
    fi=Math.floor(fi)
    objD.innerHTML+='<br  />'+ii;
    objD.innerHTML+='-'+mi;
    objD.innerHTML+='-'+fi;
    objD.innerHTML+='-'+is[ii];
    objD.innerHTML+='-'+ms[mi];
    objD.innerHTML+='-'+fs[fi];
    CharToMos(is[ii],"kor");
    CharToMos(ms[mi],"kor");
    if (fs[fi]!="")
     CharToMos(fs[fi],"kor");
   }
   else if (ct=="HJ")
   {
    CharToMos(String.fromCharCode(nasc),"eng");
   }
   else if (ct=="E")
   {
    CharToMos(String.fromCharCode(nasc),"eng");
   }
  }
  objR.value+=' ';
 }
 function AscToH(){
  var objD=document.getElementById("txt_debug");
  var strV=document.getElementById("txt_ret").value;
  var objR=document.getElementById("txt_str");
  objR.value="";
  objD.innerHTML="";
  var nasc,ii,mi,fi;
  var cur=0,curv;
  for (i=0;i<strV.length;i++)
  {
   curv = strV.substr(cur+1, (strV.indexOf(" ",cur+1)-cur-1))
   cur = strV.indexOf(" ",cur+1);
   if (cur<=0)
   {
    cur=strV.length-1
   }
   objR.value+=""+String.fromCharCode(curv);
   nasc=curv;
   if (nasc<256)
    ct="E";
   else if((nasc>=4352 && nasc<=4607)||(nasc>=12592 && nasc<=12687))
    ct="HJ";
   else if(nasc>=43032 && nasc<=55215)
    ct="HS";
   if (ct=="HS")
   {
    ii=(nasc-44032)/(21*28)
    ii=Math.floor(ii)
    mi=((nasc-44032)%(21*28))/28
    mi=Math.floor(mi)
    fi=((nasc-44032)%(21*28))%28
    fi=Math.floor(fi)
    objD.innerHTML+='<br  />'+ii;
    objD.innerHTML+='-'+mi;
    objD.innerHTML+='-'+fi;
    objD.innerHTML+='-'+is[ii];
    objD.innerHTML+='-'+ms[mi];
    objD.innerHTML+='-'+fs[fi];
   }
  }
 }
 function CharToMos(pchr,lang){
  var objM=document.getElementById("txt_mos");
  for (j=0;j<moskey.length;j++)
  {
   if (lang=="eng")
   {
    if (moskey[j][0]==pchr.toUpperCase())
    {
     objM.value+=' '+moskey[j][2];
    }
   }
   else if(lang=="kor"){
    if (moskey[j][1]==pchr.toUpperCase())
    {
     objM.value+=' '+moskey[j][2];
    }
   }
  }
  objM.value+=' ';
 }
 function MosToChar(pmos,lang){
  var objM=document.getElementById("txt_mret");
  for (j=0;j<moskey.length;j++)
  {
   if (lang=="eng")
   {
    if (moskey[j][2]==pmos)
    {
     objM.value+=' '+moskey[j][0];
    }
   }
   else if(lang=="kor"){
    if (moskey[j][2]==pmos)
    {
     objM.value+=' '+moskey[j][1];
    }
   }
  }
  objM.value+=' ';
 }
//-->
</script>
</head>
<body>
<form id="frm" method="post">
 <br  /><input id="txt_str" type="text" size="50" /><input type="button" value="Parse" onclick="HToAsc();" />
 <br  /><input id="txt_ret" type="text" size="50" /><input type="button" value="ReParse" onclick="AscToH();" />
 <br  /><input id="txt_mos" type="text" size="50" />
 <br  /><input id="txt_mret" type="text" size="50" />
 <br  /><div id="txt_debug" style="border:solid 1px;width:400px;height:300px;overflow:scroll;"></div>
</form>
</body>
</html>