function replaceMe(str, phrase, chg) 
{
  //var xpr = eval("phrase")
  var pattern = new RegExp (phrase ,'ig');
  return str.replace( pattern, chg);
}

function getElementsByClass(node,searchClass,tag) 
{
   var classElements = new Array();
   var els = node.getElementsByTagName(tag); // use "*" for all elements
   var elsLen = els.length;
   var pattern = new RegExp("\\b"+searchClass+"\\b");
   for (i = 0, j = 0; i < elsLen; i++) 
   {
     if ( pattern.test(els[i].className) ) 
	 {
       classElements[j] = els[i];
       j++;
     }
   }
   return classElements;
}

function getLayerHtml(id)
{
	var inHtml = new String('');
	if (document.getElementById)
	{
		//x = document.getElementById(id);
		inHtml = id.innerHTML;
	}
	else
	 if (document.all)
	{
		//x = document.all[id];
		inHtml = id.innerHTML;
	}
	return inHtml;
}

function setLayerHtml(text,id)
{
	if (document.getElementById)
	{
		elemObj = id;
		elemObj.innerHTML = text;
	}
	else if (document.all)
	{
		elemObj = id;
		elemObj.innerHTML = text;
	}

}

function markText(txtKeyword, inputHtml, myColor, no_font) 
{
   var re;
   var font = 2588;
   var varMatches, woHtmlEntities; 					
   var outHtml; 					
   var replaceText;
   var new_font= new String();
   new_font='"' + "\\u" + font +'"';
   
   if(no_font == true)
   {
	   replaceText = '<span style="color:' + myColor + ';background-color:'+ myColor +';font-weight:bold;">'+txtKeyword+'</span>';   	   
   }
   else
   {
	   replaceText = '<span style="color:' + myColor + ';font-weight:bold;">'+eval(new_font)+'</span>';   
   }
   re = new RegExp("(\<[^>][^<]*\>)([^<]*)","g");
   outHtml=new String('');
   while ((varMatches = re.exec(inputHtml)) != null)			   
   {
	 outHtml+=varMatches[1];
	 outHtml+=replaceMe(varMatches[2], "((?![^<]+>)(?![^{]+}))(?![^&]+;)" + txtKeyword + "(?![^&]+;)(?![^<]+[>])", replaceText);
//	 outHtml+=replaceMe(varMatches[2], "(?![^<]+>|[^&];|&)" + txtKeyword + "(?![^<]+>|[^&];|[a-z]+;)", replaceText);
   }
   return outHtml;
}

function manual_mark(inHtml)
{
	if(inHtml == '')
	   return;
	
	var kromoTable = new Array();
	var outHtml = '';
    kromoTable = {"a":"#FFD600", "b":"#008FD4", "c":"#F0C1DA", "d":"#DCDDDE", "e":"#F68B1F", "f":"#FDCC99", "g":"#BB418C", "h":"#FBF49C", "i":"#00FF00", "j":"#F69799", "k":"#772778", "l":"#FF0000", "m":"#69617C", "n":"#CC9966", "o":"#999999", "p":"#D1E8C5", "q":"#A32B21", "r":"#E270AB", "s":"#8FBEE6", "t":"#2C2E8C", "u":"#FFF200", "v":"#0000FF", "w":"#0F7139", "x":"#996666", "y":"#F16668", "z":"#CCCC66"};
   outHtml = inHtml;
   for ( letter in kromoTable )
   {
   	  outHtml = markText(letter, outHtml, kromoTable[letter], true);
   }
   return outHtml;
}


function main()
{

    var classElements = new Array();
	var hiliteUrl = new String('hilite');
	var letter = new String('');
    var inHtml;
	var outHtml;

	var hiliteText;
	kromoTable = new Array();
    kromoTable = {"a":"#FFD600", "b":"#008FD4", "c":"#F0C1DA", "d":"#DCDDDE", "e":"#F68B1F", "f":"#FDCC99", "g":"#BB418C", "h":"#FBF49C", "i":"#00FF00", "j":"#F69799", "k":"#772778", "l":"#FF0000", "m":"#69617C", "n":"#CC9966", "o":"#999999", "p":"#D1E8C5", "q":"#A32B21", "r":"#E270AB", "s":"#8FBEE6", "t":"#2C2E8C", "u":"#FFF200", "v":"#0000FF", "w":"#0F7139", "x":"#996666", "y":"#F16668", "z":"#CCCC66"};
	
	classElements = getElementsByClass(document, 'message-part', 'div');

    for (var i = 0; i < classElements.length; i++ )
	{
	inHtml = '<em></em>'+classElements[i].innerHTML;
    outHtml = inHtml;
       
	   for ( letter in kromoTable )
	   {
    	  outHtml = markText(letter, outHtml, kromoTable[letter],false);
	   }
       classElements[i].innerHTML = outHtml;
    }
	if(classElements[0] != null)
  		classElements[0].style.color = "#FFFFFF"
	return;
}

function replaceFont(new_font)
{
	newer_font='"' + "\\u" + new_font +'"';
	older_font='"' + "\\u" + font +'"';
	font = new_font;
	
	classElements = getElementsByClass(document, 'message-part', 'div');
	//var re=new RegExp(eval(older_font),"g");
	
	for (var i = 0; i < classElements.length; i++ )
	{
	  inHtml = '<em></em>'+classElements[i].innerHTML;
    outHtml=new String('');
		outHtml+=replaceMe(inHtml, eval(older_font), eval(newer_font));   
    classElements[i].innerHTML = outHtml;
  }
}
	
