
function convertAll(){
	try{
		var els = document.getElementsByTagName('DIV');
		var divText;
		for(var i=0;i<els.length;i++)
		{
			if(els[i].className=='m')//mongolian text
			{
					divText = getInnerText( els[i]);
					if( divText !== undefined)
						setInnerText(  els[i], convert( divText));
			}
		}
	}catch(e){/*fail gracefully*/}
	//document.getElementById('source').innerText = convert(document.getElementById('source').innerText);
}

function getInnerText( obj){
	if (document.all) { // IE;
		return obj.innerText;
	}else if (obj.textContent){// Firefox
		return obj.textContent;
	}else return "";
}
function setInnerText( obj, text){
	if (document.all) { // IE;
		obj.innerText = text;
	}else if (obj.textContent){// Firefox
		obj.textContent = text;
	}else return ;
}
function getInnerTextByName( objName){
	var obj = document.getElementById( objName);
	if (document.all) { // IE;
		return obj.innerText;
	}else if (obj.textContent){// Firefox
		return String(obj.textContent);
	}else return "";
}

mnLetter= new Array(1040,1041,1042,1043,1044,1045,1025,1046,1047,1048,1049,1050,1051,1052,1053,1054,1256,1055,1056,1057,1058,1059,1198,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1105,1078,1079,1080,1081,1082,1083,1084,1085,1086,1257,1087,1088,1089,1090,1091,1199,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103);
lnLetter= new Array("A","B","V","G","D","YE","YO","J","Z","I","I","K","L","M","N","O","OE","P","R","S","T","U","UE","F","H","C","CH","SH","SH",'"',"Y","'","E","YU","YA","a","b","v","g","d","ye","yo","j","z","i","i","k","l","m","n","o","oe","p","r","s","t","u","ue","f","h","c","ch","sh","sh",'"',"y","'","e","yu","ya");

// Converts from latin to cryllic 
function convert( strE)
{
	var strlen = strE.length;
	var resultStr="";
	var resultCode="";
		
	 i=0;
	 while(i<strlen) { 
		  var charstr = strE.charAt(i);

/*
		  if( charstr=="<"){
			  //skip tagged expressions:
			  while( i<strlen && charstr!==">"){
				  alert("no convert: " + charstr);
				  resultStr+=charstr;//no conversion
				  charstr = strE.charAt(++i);
			  }
			  charstr = strE.charAt(++i);
			  if(i>=strlen) break;//break while loop
		  }
*/
		  bool1=0;
		  j=0;
	    while (j<69 && bool1==0){
	    	if (charstr=="Y") { bool2=0; bool1=1;
		switch(strE.charAt(i+1)) {
		case "E": resultStr+=String.fromCharCode(mnLetter[5]); resultCode+="&#"+mnLetter[5]+";"; bool2=1; break;  //YE
		case "e": resultStr+=String.fromCharCode(mnLetter[5]); resultCode+="&#"+mnLetter[5]+";"; bool2=1; break;  //Ye
		case "O": resultStr+=String.fromCharCode(mnLetter[6]); resultCode+="&#"+mnLetter[6]+";"; bool2=1; break;  //YO
		case "o": resultStr+=String.fromCharCode(mnLetter[6]); resultCode+="&#"+mnLetter[6]+";"; bool2=1; break;  //Yo
		case "U": resultStr+=String.fromCharCode(mnLetter[33]); resultCode+="&#"+mnLetter[33]+";"; bool2=1; break; //YU
		case "u": resultStr+=String.fromCharCode(mnLetter[33]); resultCode+="&#"+mnLetter[33]+";"; bool2=1; break; //Yu
		case "A": resultStr+=String.fromCharCode(mnLetter[34]); resultCode+="&#"+mnLetter[34]+";"; bool2=1; break; //YA
		case "a": resultStr+=String.fromCharCode(mnLetter[34]); resultCode+="&#"+mnLetter[34]+";"; bool2=1; break; //Ya
		}
	if (bool2==0) {resultStr+=String.fromCharCode(mnLetter[30]); resultCode+="&#"+mnLetter[30]+";"; bool1==1} //Y
	               else i=i+1;  
	} 
	if (charstr=="y") { bool2=0; bool1=1;
	          switch(strE.charAt(i+1)) {
	          case "e": resultStr+=String.fromCharCode(mnLetter[40]); resultCode+="&#"+mnLetter[40]+";"; bool2=1; break;  //ye
	          case "o": resultStr+=String.fromCharCode(mnLetter[41]); resultCode+="&#"+mnLetter[41]+";"; bool2=1; break;  //yo
	          case "u": resultStr+=String.fromCharCode(mnLetter[68]); resultCode+="&#"+mnLetter[68]+";"; bool2=1; break; //yu
	          case "a": resultStr+=String.fromCharCode(mnLetter[69]); resultCode+="&#"+mnLetter[69]+";"; bool2=1; break; //ya
	          }
	          if (bool2==0) {resultStr+=String.fromCharCode(mnLetter[65]); resultCode+="&#"+mnLetter[65]+";"; bool1==1} //y
		                        else i=i+1;  
		  } 
	if (charstr=="O") { if (strE.charAt(i+1)=="e" || strE.charAt(i+1)=="E")
	   {resultStr+=String.fromCharCode(mnLetter[16]); resultCode+="&#"+mnLetter[16]+";"; i=i+1;}//OE
	   else 
	   if (strE.charAt(i+1)=="i" || strE.charAt(i+1)=="I") {
	        resultStr+=String.fromCharCode(mnLetter[15]); resultCode+="&#"+mnLetter[15]+";"; 
	        resultStr+=String.fromCharCode(mnLetter[10]); resultCode+="&#"+mnLetter[10]+";"; i=i+1;
	   }//OI
		else { resultStr+=String.fromCharCode(mnLetter[15]); resultCode+="&#"+mnLetter[15]+";"; }//O
		bool1=1;
	}
	if (charstr=="o") { if (strE.charAt(i+1)=="e" || strE.charAt(i+1)=="E")
	    {resultStr+=String.fromCharCode(mnLetter[51]); resultCode+="&#"+mnLetter[51]+";"; i=i+1;}//oe
	     else if (strE.charAt(i+1)=="i" || strE.charAt(i+1)=="I") {
	      resultStr+=String.fromCharCode(mnLetter[50]); resultCode+="&#"+mnLetter[50]+";"; 
	      resultStr+=String.fromCharCode(mnLetter[45]); resultCode+="&#"+mnLetter[45]+";"; i=i+1;
	          }//oi
	      else { resultStr+=String.fromCharCode(mnLetter[50]); resultCode+="&#"+mnLetter[50]+";"; }//o
	      bool1=1;
	}
	if (charstr=="U") { if (strE.charAt(i+1)=="e" || strE.charAt(i+1)=="E")
	        if (strE.charAt(i+2)=="i" || strE.charAt(i+2)=="I"){
		resultStr+=String.fromCharCode(mnLetter[22]); resultCode+="&#"+mnLetter[22]+";"; 
		resultStr+=String.fromCharCode(mnLetter[10]); resultCode+="&#"+mnLetter[10]+";"; i=i+2;} //UEI
		else {resultStr+=String.fromCharCode(mnLetter[22]); resultCode+="&#"+mnLetter[22]+";"; i=i+1;}//UE
		else if (strE.charAt(i+1)=="i" || strE.charAt(i+1)=="I")
		{resultStr+=String.fromCharCode(mnLetter[21]); resultCode+="&#"+mnLetter[21]+";"; 
		resultStr+=String.fromCharCode(mnLetter[10]); resultCode+="&#"+mnLetter[10]+";"; i=i+1;}//UI
		else { resultStr+=String.fromCharCode(mnLetter[21]); resultCode+="&#"+mnLetter[21]+";"; }//U
		bool1=1;
		}
        if (charstr=="u") { if (strE.charAt(i+1)=="e" || strE.charAt(i+1)=="E")
	        if (strE.charAt(i+2)=="i" || strE.charAt(i+2)=="I"){
	        resultStr+=String.fromCharCode(mnLetter[57]); resultCode+="&#"+mnLetter[57]+";"; 
	        resultStr+=String.fromCharCode(mnLetter[45]); resultCode+="&#"+mnLetter[45]+";"; i=i+2;} //uei
	        else {resultStr+=String.fromCharCode(mnLetter[57]); resultCode+="&#"+mnLetter[57]+";"; i=i+1;}//ue
	        else if (strE.charAt(i+1)=="i" || strE.charAt(i+1)=="I")
	        {resultStr+=String.fromCharCode(mnLetter[56]); resultCode+="&#"+mnLetter[56]+";"; 
	        resultStr+=String.fromCharCode(mnLetter[45]); resultCode+="&#"+mnLetter[45]+";"; i=i+1;}//ui
	        else { resultStr+=String.fromCharCode(mnLetter[56]); resultCode+="&#"+mnLetter[56]+";"; }//u
	        bool1=1;
	}
	if (charstr=="C") { if (strE.charAt(i+1)=="h" || strE.charAt(i+1)=="H"){
	        resultStr+=String.fromCharCode(mnLetter[26]); resultCode+="&#"+mnLetter[26]+";"; i=i+1; }//CH
		else {resultStr+=String.fromCharCode(mnLetter[25]); resultCode+="&#"+mnLetter[25]+";"; }//C
		bool1=1;
        }
	if (charstr=="c") { if (strE.charAt(i+1)=="h" || strE.charAt(i+1)=="H"){
	        resultStr+=String.fromCharCode(mnLetter[61]); resultCode+="&#"+mnLetter[61]+";"; i=i+1; }//ch
	        else { resultStr+=String.fromCharCode(mnLetter[60]); resultCode+="&#"+mnLetter[60]+";"; }//c
	        bool1=1;
	}
	if (charstr=="T") { if (strE.charAt(i+1)=="s" || strE.charAt(i+1)=="S"){
	        resultStr+=String.fromCharCode(mnLetter[25]); resultCode+="&#"+mnLetter[25]+";"; i=i+1;}//TS
		else {resultStr+=String.fromCharCode(mnLetter[20]); resultCode+="&#"+mnLetter[20]+";"; }//T
		bool1=1;
        }
	if (charstr=="t") { if (strE.charAt(i+1)=="s" || strE.charAt(i+1)=="S"){
	        resultStr+=String.fromCharCode(mnLetter[60]); resultCode+="&#"+mnLetter[60]+";"; i=i+1;}//ts
	        else {resultStr+=String.fromCharCode(mnLetter[55]); resultCode+="&#"+mnLetter[55]+";"; }//t
	        bool1=1;
	}
	if (charstr=="S") { if (strE.charAt(i+1)=="h" || strE.charAt(i+1)=="H") {
	        resultStr+=String.fromCharCode(mnLetter[27]); resultCode+="&#"+mnLetter[27]+";"; i=i+1;}//SH
		else { resultStr+=String.fromCharCode(mnLetter[19]); resultCode+="&#"+mnLetter[19]+";";  }//S
		bool1=1;
        }
	if (charstr=="s") { if (strE.charAt(i+1)=="h" || strE.charAt(i+1)=="H") {
	        resultStr+=String.fromCharCode(mnLetter[62]); resultCode+="&#"+mnLetter[62]+";"; i=i+1;}//sh
		else {resultStr+=String.fromCharCode(mnLetter[54]); resultCode+="&#"+mnLetter[54]+";"; }//s
		bool1=1;
        }
        if (charstr=="'") {resultStr+=String.fromCharCode(mnLetter[66]); resultCode+="&#"+mnLetter[66]+";"; //zoeoeloen temdeg
                           bool1=1;
        }
        if (charstr=='"') {resultStr+=String.fromCharCode(mnLetter[64]); resultCode+="&#"+mnLetter[64]+";"; //hatuu temdeg
                           bool1=1;
        }
        if (charstr=="A") { if (strE.charAt(i+1)=="i" || strE.charAt(i+1)=="I") {
                resultStr+=String.fromCharCode(mnLetter[0]); resultCode+="&#"+mnLetter[0]+";"; 
		resultStr+=String.fromCharCode(mnLetter[10]); resultCode+="&#"+mnLetter[10]+";"; i=i+1;}//AI
		//else bol A
		bool1=1;
	}
	if (charstr=="a") { if (strE.charAt(i+1)=="i" || strE.charAt(i+1)=="I") {
	        resultStr+=String.fromCharCode(mnLetter[35]); resultCode+="&#"+mnLetter[35]+";"; 
		resultStr+=String.fromCharCode(mnLetter[45]); resultCode+="&#"+mnLetter[45]+";"; i=i+1;}//ai
		else { resultStr+=String.fromCharCode(mnLetter[35]); resultCode+="&#"+mnLetter[35]+";"; }//a
		bool1=1;
	}
	if (charstr=="I") { if (strE.charAt(i+1)=="i" || strE.charAt(i+1)=="I") {
	        resultStr+=String.fromCharCode(mnLetter[9]); resultCode+="&#"+mnLetter[9]+";"; 
		resultStr+=String.fromCharCode(mnLetter[45]); resultCode+="&#"+mnLetter[45]+";"; i=i+1;}//II
		else { resultStr+=String.fromCharCode(mnLetter[9]); resultCode+="&#"+mnLetter[9]+";"; }//I
		bool1=1;
	}
	if (charstr=="i") { if (strE.charAt(i+1)=="i" || strE.charAt(i+1)=="I") {
	        resultStr+=String.fromCharCode(mnLetter[44]); resultCode+="&#"+mnLetter[44]+";"; 
		resultStr+=String.fromCharCode(mnLetter[45]); resultCode+="&#"+mnLetter[45]+";"; i=i+1;}//ii
		else { resultStr+=String.fromCharCode(mnLetter[44]); resultCode+="&#"+mnLetter[44]+";"; }//i
		bool1=1;
	}
	if (charstr=="E") { if (strE.charAt(i+1)=="i" || strE.charAt(i+1)=="I") {
	        resultStr+=String.fromCharCode(mnLetter[32]); resultCode+="&#"+mnLetter[32]+";"; 
		resultStr+=String.fromCharCode(mnLetter[10]); resultCode+="&#"+mnLetter[10]+";"; i=i+1;}//EI
		else { resultStr+=String.fromCharCode(mnLetter[32]); resultCode+="&#"+mnLetter[32]+";"; }//E
		bool1=1;
	}
	if (charstr=="e") { if (strE.charAt(i+1)=="i" || strE.charAt(i+1)=="I") {
	    resultStr+=String.fromCharCode(mnLetter[67]); resultCode+="&#"+mnLetter[67]+";"; 
	    resultStr+=String.fromCharCode(mnLetter[45]); resultCode+="&#"+mnLetter[45]+";"; i=i+1;}//ei
	    else {resultStr+=String.fromCharCode(mnLetter[67]); resultCode+="&#"+mnLetter[67]+";"; }//e
	    bool1=1;
	}
	if (charstr=="W") {resultStr+=String.fromCharCode(mnLetter[2]); resultCode+="&#"+mnLetter[2]+";"; 
	                   bool1=1;
	}
        if (charstr=="w") {resultStr+=String.fromCharCode(mnLetter[37]); resultCode+="&#"+mnLetter[37]+";"; 
	                   bool1=1;
	}
	if (charstr==lnLetter[j]) {resultStr+= String.fromCharCode(mnLetter[j]); resultCode+="&#"+mnLetter[j]+";"; bool1=1;}
	    j++;
	} // while j end
	if (bool1==0) { if (charstr=="[") while(strE.charAt(i)!="]" && i<strlen){
	                          	   resultStr+=strE.charAt(i); resultCode+=strE.charAt(i); 
	                                   i++;
	                                  }
		       resultStr+=strE.charAt(i); resultCode+=strE.charAt(i); }
	   i++;
       } //while i end

	return resultStr;
}