//js ¹öÁ¯ ÇÑ±ÛÀ» ÀÚ¼Ò·Î ºÐ¸®ÇÏ´Â ÇÔ¼ö.. 
//º¹¸ðÀ½°ú º¹ÀÚÀ½µµ ºÐ¸®°¡ °¡´ÉÇÏµµ·Ï °³¼± 2009/08 (ikchoi@ceric.net)
var hangulToJaso = function (text)
{

    //ÃÊ¼º(19ÀÚ) ¤¡ ¤¢ ¤¤ ¤§ ¤¨ ¤© ¤± ¤² ¤³ ¤µ ¤¶ ¤· ¤¸ ¤¹ ¤º ¤» ¤¼ ¤½ ¤¾
    var ChoSeong = new Array (	0x3131, 0x3132, 0x3134, 0x3137, 0x3138,
														    0x3139, 0x3141, 0x3142, 0x3143, 0x3145, 0x3146, 0x3147, 0x3148,
														    0x3149, 0x314a, 0x314b, 0x314c, 0x314d, 0x314e );

    //Áß¼º(21ÀÚ) ¤¿ ¤À ¤Á ¤Â ¤Ã ¤Ä ¤Å ¤Æ ¤Ç ¤È(9) ¤É(10) ¤Ê(11) ¤Ë ¤Ì ¤Í(14) ¤Î(15) ¤Ï(16) ¤Ð ¤Ñ ¤Ò(19) ¤Ó
    var JungSeong = new Array (	0x314f, 0x3150, 0x3151, 0x3152, 0x3153,
														    0x3154, 0x3155, 0x3156, 0x3157, 0x3158, 0x3159, 0x315a, 0x315b,
														    0x315c, 0x315d, 0x315e, 0x315f, 0x3160, 0x3161, 0x3162, 0x3163 );

    //Á¾¼º(28ÀÚ) <¾øÀ½> ¤¡ ¤¢ ¤£(3) ¤¤ ¤¥(5) ¤¦(6) ¤§ ¤© ¤ª(9) ¤«(10) ¤¬(11) ¤­(12) ¤®(13) ¤¯(14) ¤°(15) ¤± ¤² ¤´(18) ¤µ ¤¶ ¤· ¤¸ ¤º ¤» ¤¼ ¤½ ¤¾
    var JongSeong = new Array (	0x0000, 0x3131, 0x3132, 0x3133, 0x3134,
														    0x3135, 0x3136, 0x3137, 0x3139, 0x313a, 0x313b, 0x313c, 0x313d,
														    0x313e, 0x313f, 0x3140, 0x3141, 0x3142, 0x3144, 0x3145, 0x3146,
														    0x3147, 0x3148, 0x314a, 0x314b, 0x314c, 0x314d, 0x314e );
    var chars = new Array()
    var v = new Array();
    for (var i = 0; i < text.length; i++) 
    {
	    chars[i] = text.charCodeAt(i);
	    //// "AC00:°¡" ~ "D7A3:ÆR" ¿¡ ¼ÓÇÑ ±ÛÀÚ¸é ºÐÇØ		
	    if (chars[i] >= 0xAC00 && chars[i] <= 0xD7A3) 
	    {
		    var i1, i2, i3;
			
		    i3 = chars[i] - 0xAC00;
		    i1 = i3 / (21 * 28);			
		    i3 = i3 % (21 * 28);		
			
		    i2 = i3 / 28;
		    i3 = i3 % 28;			
			
		    v.push(String.fromCharCode(ChoSeong[parseInt(i1)]));

	        //º¹¸ðÀ½ ºÐ¸®
	        switch(parseInt(i2))
	        {
	            case 9 : v.push('¤Ç¤¿'); break;
		        case 10 : v.push('¤Ç¤À'); break; 
	            case 11 : v.push('¤Ç¤Ó'); break;
	            case 14 : v.push('¤Ì¤Ã'); break;
	            case 15 : v.push('¤Ì¤Ä'); break;
	            case 16 : v.push('¤Ì¤Ó'); break;
	            case 19 : v.push('¤Ñ¤Ó'); break;		       
		        
	            default : v.push(String.fromCharCode(JungSeong[parseInt(i2)]));
	        }			
		    //v.push(String.fromCharCode(JungSeong[parseInt(i2)]));
			
			
			
		    if (i3 != 0x0000) // c°¡ 0ÀÌ ¾Æ´Ï¸é, Áï ¹ÞÄ§ÀÌ ÀÖÀ¸¸é
		    {						
		        //º¹ÀÚÀ½ ºÐ¸®
		        switch(parseInt(i3))
		        {
		            case 3 : v.push('¤¡¤µ'); break;
			        case 5 : v.push('¤¤¤¸'); break; 
		            case 6 : v.push('¤¤¤¾'); break;
		            case 9 : v.push('¤©¤¡'); break;
		            case 10 : v.push('¤©¤±'); break;
		            case 11 : v.push('¤©¤²'); break;
		            case 12 : v.push('¤©¤µ'); break;
		            case 13 : v.push('¤©¤¼'); break;
		            case 14 : v.push('¤©¤½'); break;
		            case 15 : v.push('¤©¤¾'); break;
		            case 18 : v.push('¤²¤µ'); break;
			        
		            default : v.push(String.fromCharCode(JongSeong[parseInt(i3)])); 
		        }
		    }
			
	    }
	    else {
		    v.push(String.fromCharCode(chars[i] ));
	    }
    }
	
    return v;
}
