var ArrayTmp	=new Array			// Viet Unicode Map
(
192,193,194,
195,200,201,202,204,205,210,211,212,213,217,218,221,224,225,
226,227,232,233,234,236,237,242,243,244,245,249,250,253,258,
259,272,273,296,297,360,361,416,417,431,432,7840,7841,7842,
7843,7844,7845,7846,7847,7848,7849,7850,7851,7852,7853,7854,
7855,7856,7857,7858,7859,7860,7861,7862,7863,7864,7865,7866,
7867,7868,7869,7870,7871,7872,7873,7874,7875,7876,7877,7878,
7879,7880,7881,7882,7883,7884,7885,7886,7887,7888,7889,7890,
7891,7892,7893,7894,7895,7896,7897,7898,7899,7900,7901,7902,
7903,7904,7905,7906,7907,7908,7909,7910,7911,7912,7913,7914,
7915,7916,7917,7918,7919,7920,7921,7922,7923,7924,7925,7926,
7927,7928,7929
);
var isoData	=	new Array
(
"&#192","&#193","&#194",
"&#195","&#200","&#201","&#202","&#204","&#205","&#210","&#211","&#212","&#213","&#217","&#218","&#221","&#224","&#225",
"&#226","&#227","&#232","&#233","&#234","&#236","&#237","&#242","&#243","&#244","&#245","&#249","&#250","&#253","&#258",
"&#259","&#272","&#273","&#296","&#297","&#360","&#361","&#416","&#417","&#431","&#432","&#7840","&#7841","&#7842",
"&#7843","&#7844","&#7845","&#7846","&#7847","&#7848","&#7849","&#7850","&#7851","&#7852","&#7853","&#7854",
"&#7855","&#7856","&#7857","&#7858","&#7859","&#7860","&#7861","&#7862","&#7863","&#7864","&#7865","&#7866",
"&#7867","&#7868","&#7869","&#7870","&#7871","&#7872","&#7873","&#7874","&#7875","&#7876","&#7877","&#7878",
"&#7879","&#7880","&#7881","&#7882","&#7883","&#7884","&#7885","&#7886","&#7887","&#7888","&#7889","&#7890",
"&#7891","&#7892","&#7893","&#7894","&#7895","&#7896","&#7897","&#7898","&#7899","&#7900","&#7901","&#7902",
"&#7903","&#7904","&#7905","&#7906","&#7907","&#7908","&#7909","&#7910","&#7911","&#7912","&#7913","&#7914",
"&#7915","&#7916","&#7917","&#7918","&#7919","&#7920","&#7921","&#7922","&#7923","&#7924","&#7925","&#7926",
"&#7927","&#7928","&#7929" );
function KTCode(so)
{
		var first=0,last=147,mid=0,val;
		var kt=false;
		while((!kt)&&(last>=first))
		{
			mid 	=	Math.floor((last+first)/2);
			val		= 	ArrayTmp[mid];
			if(so	==	val)
			{
				kt  = true;
				break;
			}
			else
			{
				if(so>val)
				{
					first	=	mid		+	1;
				}
				else
				{
					last	=	mid		-	1;
				}
			}
			if((so>ArrayTmp[last])||(so<ArrayTmp[first]))
			{
				kt=false;
				break;
			}
		}
		return (kt==false)?0:mid;
}
function sortNumber(a, b)
{
	return a - b
}

function Unicode2ISO(txtarea)	
{
	var strTA = txtarea.value;
	var strTemp = "";
	var curUniChar;
	var chrReplace;
	var blnReplace;
	var count = 1;
	var strDec;
	var k;

   for (var i=0; i < strTA.length; i++) {
			   curUniChar = strTA.charAt(i);
			   blnReplace = false;
			k	=	parseInt(KTCode(strTA.charCodeAt(i)));
			if(k!=0)
			{
								 count 				+= 1;    
								 //window.status 		= "Converting char: " + count;
								 strDec 			= 	ArrayTmp[k];           
								 if (curUniChar 	== 	String.fromCharCode(strDec)) 
								 {	
									 chrReplace 	= 	isoData[k];	
									 blnReplace 	= 	true;
								 }
			}
				(blnReplace == true)? (strTemp += chrReplace) : (strTemp += curUniChar);
	}
	//window.status = "Converting Complete 100%" ;
	//txtarea.value = strTemp;
	return strTemp;
}
function codau2kodau(txtarea)
{
	//var strTA = txtarea.value;
	var strTA = txtarea;
	var strTemp = "";
	var curUniChar;
	var chrReplace;
	var blnReplace;
	var count = 1;
	var strDec;
	var k;

   for (var i=0; i < strTA.length; i++) {
			   curUniChar = strTA.charAt(i);
			   blnReplace = false;
			k	=	parseInt(KTCode(strTA.charCodeAt(i)));
			if(k!=0)
			{
								 count 				+= 1;    
								 //window.status 		= "Converting char: " + count;
								 strDec 			= 	ArrayTmp[k];           
								 if (curUniChar 	== 	String.fromCharCode(strDec)) 
								 {	
									 chrReplace 	= 	chuyenfont[k];	
									 blnReplace 	= 	true;
								 }
			}
				(blnReplace == true)? (strTemp += chrReplace) : (strTemp += curUniChar);
	}
	//window.status = "Converting Complete 100%" ;
	//txtarea.value = strTemp;
	return strTemp;

}

var chuyenfont	=new Array			// Viet Unicode Map
(
"A","A","A",
"A","E","E","E","I","I","O","O","O","O","U","U","Y","a","a",
"a","a","e","e","e","i","i","o","o","o","o","u","u","y","A",
"a","D","d","I","i","U","u","O","o","U","u","A","a","A",
"a","A","a","A","a","A","a","A","a","A","a","A",
"a","A","a","A","a","A","a","A","a","E","e","E",
"e","E","e","E","e","E","e","E","e","E","e","E",
"e","I","i","I","i","O","o","O","o","O","o","O",
"o","O","o","O","o","O","o","O","o","O","o","O",
"o","O","o","O","o","U","u","U","u","U","u","U",
"u","U","u","U","u","U","u","Y","y","Y","y","Y",
"y","Y","y"
);
