browserName = navigator.appName;
browserVer = parseInt(navigator.appVersion);

var ns = (browserName == "Netscape" && browserVer <5);
var ns6 = (browserName == "Netscape" && browserVer == 5);
var ie = (browserName == "Microsoft Internet Explorer");
var mac = (navigator.userAgent.indexOf("Mac") != -1);




function visible(lelayer){
	if (ns){
		document.layers["Vue" + lelayer].display = "";
		document.layers["Vue" + lelayer + "L"].display = "";
		document.layers["Desc" + lelayer].display = "";
		document.layers["DescLess" + lelayer].display = "";
	}
	else if (ie){
		document.all["Vue" + lelayer].style.display = "";
		document.all["Vue" + lelayer + "L"].style.display = "";
		document.all["Desc" + lelayer].style.display = "";
		document.all["DescLess" + lelayer].style.display = "none";
	}
	else if (ns6){
		document.getElementById("Vue" + lelayer).style.display = "";
		document.getElementById("Vue" + lelayer + "L").style.display = "";
		document.getElementById("Desc" + lelayer).style.display = "";
		document.getElementById("DescLess" + lelayer).style.display = "none";
	}
}

function invisible(lelayer){
if (ns){
		document.layers["Vue" + lelayer].display = "none";
		document.layers["Vue" + lelayer + "L"].display = "none";
		document.layers["Desc" + lelayer].display = "none";
		document.layers["DescLess" + lelayer].display = "none";
	}
	else if (ie){
		
		document.all["Vue" + lelayer].style.display = "none";
		document.all["Vue" + lelayer + "L"].style.display = "none";
		document.all["Desc" + lelayer].style.display = "none";
		document.all["DescLess" + lelayer].style.display = "";
		
	}
	else if (ns6){
		document.getElementById("Vue" + lelayer).style.display = "none";
		document.getElementById("Vue" + lelayer + "L").style.display = "none";
		document.getElementById("Desc" + lelayer).style.display = "none";
		document.getElementById("DescLess" + lelayer).style.display = "";
	}
}

function visible_rub(lelayer){
if (ns){document.layers[lelayer].visibility = "show";}
else if (ie){document.all[lelayer].style.visibility = "visible";}
else if (ns6){document.getElementById(lelayer).style.visibility = "visible";}
}
function invisible_rub(lelayer){
if (ns){document.layers[lelayer].visibility = "hide";}
else if (ie){document.all[lelayer].style.visibility = "hidden";}
else if (ns6){document.getElementById(lelayer).style.visibility = "hidden";}
}

function totalCheck(strCheckBoxName,errorMessage)
{
	//Vérification des checkboxes existantes :
	var totalChecked=0;
	var i = 0;
	var j = 1;
	var startBox = "_ctl0:_ctl";
	var middleBox = ":dtlVersion:_ctl";
	var endBox = ":cbCompare";
	while(document.getElementById(startBox+i+middleBox+j+endBox))
	{
		while(document.getElementById(startBox+i+middleBox+j+endBox))
		{
			if(document.getElementById(startBox+i+middleBox+j+endBox).checked)
			{
				totalChecked++;
			}
			j++;
		}
		j = 1;
		i++;
	}
	
	var checkBox;
	if(ie)
	{
		checkBox = document.all.item(strCheckBoxName);
	}
	else
	{
		checkBox = document.getElementById(strCheckBoxName);
	}
	
	if (totalChecked > 2)
	{
		alert(errorMessage);
		checkBox.checked = false;
	}
}

function totalCheckSave(strCheckBoxName,errorMessage)
{
	//Vérification des checkboxes existantes :
	var totalChecked=0;
	var i = 1;
	var startBox = "rptConfigSave:_ctl";
	var endBox = ":cbCompare";
	while(document.getElementById(startBox+i+endBox))
	{
		if(document.getElementById(startBox+i+endBox).checked)
		{
			totalChecked++;
		}
		i++;
	}

	var checkBox;
	if(ie)
	{
		checkBox = document.all.item(strCheckBoxName);
	}
	else
	{
		checkBox = document.getElementById(strCheckBoxName);
	}
	
	if (totalChecked > 2)
	{
		alert(errorMessage);
		checkBox.checked = false;
	}
}

function DisabledCheckBox(CurrentID)
{
	var intFormLength = document.Form1.elements.length;
	for(var i=0;i<intFormLength;i++)
	{
		if(document.Form1.elements[i].type == "checkbox" && document.Form1.elements[i].id != CurrentID && !document.Form1.elements[i].checked)
		{ 
			document.Form1.elements[i].disabled = true; 
		}
	}
}
		
function defaultImageLoading(strImageName,strImageSrc)
{
	if (ie)
	{
		document.all.item(strImageName).src = strImageSrc;
		document.all.item(strImageName).onerror = "";
	}
	else
	{
		document.getElementById(strImageName).src = strImageSrc;
		document.getElementById(strImageName).onerror = "";
	}
}
  
/***allows to print page ***/
var da = (document.all) ? 1 : 0;
var pr = (window.print) ? 1 : 0;
var mac = (navigator.userAgent.indexOf("Mac") != -1); 

function PrintPage(){
  if (pr && !mac){
	  window.print();
	}
  else if ( browserName == "Microsoft Internet Explorer" && browserVer <= 4 && !mac ){
	  vbPrintPage();
	}
  else if (mac){
      if (da){
	    alert("Pour imprimer cette page,\n veuillez utiliser le menu fichier - imprimer\n de votre navigateur.");
      }else{
            window.print();
      }
	}
}

if (da && !pr && !mac) with (document) {
  writeln('<OBJECT ID="WB" WIDTH="0" HEIGHT="0" CLASSID="clsid:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>');
  writeln('<' + 'SCRIPT LANGUAGE="VBScript">');
  writeln('Sub window_onunload');
  writeln('  On Error Resume Next');
  writeln('  Set WB = nothing');
  writeln('End Sub');
  writeln('Sub vbPrintPage');
  writeln('  OLECMDID_PRINT = 6');
  writeln('  OLECMDEXECOPT_DONTPROMPTUSER = 2');
  writeln('  OLECMDEXECOPT_PROMPTUSER = 1');
  writeln('  On Error Resume Next');
  writeln('  WB.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER');
  writeln('End Sub');
  writeln('<' + '/SCRIPT>');
}

// HEADER LINKS METHODS //

function openHeaderCustomPopup(page, nom, width, height, scroll, resize)
{
	page = addReturnUrl(page);
	    
	window_handle = window.open(page, nom, "scrollbars=" + scroll + ",resizable=" + resize + ",menubar=no,width=" + width + ",height=" + height);
   	window_handle.focus(); // focus sur popup
}

function openHeaderInWindow(url)
{
	url = addReturnUrl(url);
	
	document.location.href = url;
}

function openInNewWindow(url)
{
	url = addReturnUrl(url);
	
	window_handle = window.open(url, "", "scrollbars=yes,resizable=yes,menubar=yes,toolbar=yes,copyhistory=yes,directories=yes,location=yes,status=yes,width=800,height=600");
   	window_handle.focus();
}

function addReturnUrl(url)
{
	if(url.indexOf('?') != -1)
	{
		url += returnUrl;
	}
	else
	{
		var tmpReturnUrl = returnUrl.substring(1, returnUrl.length);		
		url += '?' + tmpReturnUrl;
	}
	
	return url;
}

// END OF HEADER LINKS METHODS //

function openLinkWithXMLInNewWindowPost(parentLink)
{
	document.XMLForm.target = "_new";
	document.XMLForm.action = parentLink;
	document.XMLForm.submit();
}

function openLinkWithXML(parentLink)
{
	document.XMLForm.target = "_self";
	document.XMLForm.action = parentLink;
	document.XMLForm.submit();
}

function openContacts(parentLink)
{
	if(document.XMLForm != null)
	{
		document.XMLForm.target = "_self";
		document.XMLForm.action = parentLink;
		document.XMLForm.submit();
	}
}


function openLinkWithXMLPost(parentLink)
{
	addUrlParametersToForm(parentLink);
	
	var action = parentLink.split('?')[0];
	
	document.XMLForm.target = "_self";
	document.XMLForm.action = action;
	document.XMLForm.submit();
}

function openLinkWithXMLInNewWindow(parentLink)
{
	document.XMLForm.target = "_new";
	document.XMLForm.action = parentLink;
	document.XMLForm.submit();
}

function openLinkInParent(parentLink)
{
	if (window.opener.closed)
	{
		window.open(parentLink);
	}
	else
	{
		window.opener.location = parentLink;
		window.opener.focus();
	}
}

function openLinkInParentXML(parentLink)
{
	if (window.opener.closed)
	{
		document.XMLForm.target = "_blank";
	}
	else
	{
		window.opener.name = "openerWindows";
		document.XMLForm.target = "openerWindows";
		window.opener.focus();
	}
	
	document.XMLForm.action = parentLink;
	document.XMLForm.submit();
}

function openLinkInParentXMLPost(parentLink)
{
	if (window.opener.closed)
	{
		document.XMLForm.target = "_blank";
	}
	else
	{
		window.opener.name = "openerWindows";
		document.XMLForm.target = "openerWindows";
		window.opener.focus();
	}
	
	document.XMLForm.action = parentLink;
	document.XMLForm.submit();
}

function close_window(libelle)
{
	//if (confirm(libelle))
	{
		window.close();
	}
}

function addUrlParametersToForm(url)
{

	var completeUrl = url;
	
	var hiddenType = "hidden";
	
	var xmlForm = document.XMLForm;
	
	var params = completeUrl.split('?');
	
	var action = params[0];
	
	if(null != params[1])
	{
		var parameters = params[1].split('&');
		
		for(i = 0; i < parameters.length; i++)
		{	
			var parameter = parameters[i].split('=');
			
			var isAlreadyAdded = xmlForm.elements[parameter[0]];
			
			if(null == isAlreadyAdded)
			{
				var elementToAdd = document.createElement("input");
				
				elementToAdd.type = hiddenType;
				elementToAdd.name = parameter[0];
				elementToAdd.value = parameter[1];
			
				xmlForm.appendChild(elementToAdd);
			}
			else
			{
				isAlreadyAdded.value = parameter[1];
			}
		}
	}
}

function openPopupWithXMLLinkPost(url)
{	

	addUrlParametersToForm(url);
	
	var action = url.split('?')[0];
	
	window.open('','MiniSite','scrollbars=1, resizable=1, menuBar=1, width=800, height=600');

	document.XMLForm.target = "MiniSite";
	document.XMLForm.action = action;
	document.XMLForm.submit();
}

//ouvrir un lien dans la même fenêtre
function openInWindow(url)
{
	if(url.indexOf('?') != -1) {
		url += returnUrl;
	}
	else {
		url += '?';
		url += returnUrl.substring(1, returnUrl.length);
	}
	document.location.href = url;
}

//ouvrir un lien dans la même fenêtre
function backFromContacts(url)
{
	document.location.href = url;
}

//ouvrir un lien dans la même fenêtre
function openInWindowPost(url)
{
	addUrlParametersToForm(url);

	var action = url.split('?')[0];

	document.XMLForm.action = action;
	document.XMLForm.submit();
}

//ouvrir un lien dans la même fenêtre
function openWithXMLInWindow(url)
{
	document.XMLForm.action = url;
	document.XMLForm.submit();
}

//ouvrir un lien dans une nouvelle fenêtre
function openInNewWindow(url)
{
	window_handle = window.open(url, "", "scrollbars=yes,resizable=yes,menubar=yes,toolbar=yes,copyhistory=yes,directories=yes,location=yes,status=yes,width=800,height=600");
   	window_handle.focus();
}

function openInNewWindowPost(url)
{	
	addUrlParametersToForm(url);
	
	var action = url.split('?')[0];
	
	window_handle = window.open('', "NewWindow", "scrollbars=yes,resizable=yes,menubar=yes,toolbar=yes,copyhistory=yes,directories=yes,location=yes,status=yes,width=800,height=600");
   	window_handle.focus();
	document.XMLForm.target = "NewWindow";
	document.XMLForm.action = action;
	document.XMLForm.submit();
}

function openCustomPopupPost(page, nom, width, height, scroll, resize)
{	
	addUrlParametersToForm(page);
	
	var action = page.split('?')[0];
	
	window_handle = window.open('', "NewWindow", "scrollbars=" + scroll + ",resizable=" + resize + ",menubar=no,width=" + width + ",height=" + height);
   	window_handle.focus(); 
   	document.XMLForm.target = "NewWindow";
	document.XMLForm.action = action;
	document.XMLForm.submit();
}

/***************************************************************/
/*** Ajout infobulle persistante *******************************/
/***************************************************************/

var IB=new Object;
var posX=0;posY=0;
var xOffset=10;yOffset=10;
function AffBulle(texte)
{
  contenu="<span class='hoverText'>"+texte+"</span>";
  var finalPosX=posX-xOffset;
  if (finalPosX<0) finalPosX=0;
  if (document.layers) {
    document.layers["bulle"].document.write(contenu);
    document.layers["bulle"].document.close();
    document.layers["bulle"].top=posY+yOffset;
    document.layers["bulle"].left=finalPosX;
    document.layers["bulle"].visibility="show";}
  if (document.all)
  {
    bulle.innerHTML=contenu;
    document.all["bulle"].style.top=posY+yOffset;
    document.all["bulle"].style.left=finalPosX;
    document.all["bulle"].style.visibility="visible";
  }
  else if (document.getElementById)
  {
    document.getElementById("bulle").innerHTML=contenu;
    document.getElementById("bulle").style.top=posY+yOffset;
    document.getElementById("bulle").style.left=finalPosX;
    document.getElementById("bulle").style.visibility="visible";
  }
}




function getMousePos(e)
{
  if (document.all)
  {
	posX=event.x+document.body.scrollLeft;
	posY=event.y+document.body.scrollTop;
  }
  else
  {
	posX=e.pageX;
	posY=e.pageY; 
  }
}

function HideBulle()
{
	if (document.layers) {document.layers["bulle"].visibility="hide";}
	if (document.all) {document.all["bulle"].style.visibility="hidden";}
	else if (document.getElementById){document.getElementById("bulle").style.visibility="hidden";}
}

function InitBulle()
{
	if (document.layers)
	{
		window.captureEvents(Event.MOUSEMOVE);window.onMouseMove=getMousePos;
		document.write("<layer name='bulle' top=0 left=0 visibility='hide'></layer>");
	}
	if (document.all)
	{
		document.write("<div id='bulle' style='position:absolute;top:0;left:0;visibility:hidden'></div>");
		document.onmousemove=getMousePos;
	}
	else if (document.getElementById)
	{
	        document.onmousemove=getMousePos;
	        document.write("<div id='bulle' style='position:absolute;top:0;left:0;visibility:hidden'></div>");
	}
}

/******************************/
/*function show/hide tooltip*/
/******************************/

function Show_Tooltip(sender,content,tooltip,deltaX,deltaY,deltaX_FF,deltaY_FF)
{
	//var isDisplay = 1;
	
/*	if (document.layers)
	{
		if (document.layers[tooltip].visibility=="show")
		{
			isDisplay = 0;
		}
	}
	if (document.all)
	{
		if (document.all[tooltip].style.visibility=="visible")
		{
			isDisplay = 0;
		}
	}
	if (document.getElementById)
	{
		if (document.getElementById(tooltip).style.visibility=="visible")
		{
			isDisplay = 0;
		}
	}
*/	
	if (navigator.appName != "Netscape")
	{
		deltaX_FF = 0;
		deltaY_FF = 0;
	}
	//if (isDisplay == 1)
	//{
		if(sender!=null)
		{
			var SenderPos = findPos(sender);
			document.getElementById(tooltip + "_top").innerHTML=unescape(content);
			document.getElementById(tooltip).style.left = SenderPos.x + deltaX + deltaX_FF + 'px';
			document.getElementById(tooltip).style.top = SenderPos.y + deltaY + deltaY_FF + 'px';
			document.getElementById(tooltip).style.display = 'block';
			document.getElementById(tooltip).style.visibility ='visible';
			
		}
	//}

}

function Hide_Tooltip(tooltip)
{
	if (document.layers)
	{
		document.layers[tooltip].visibility=="hidden";
		document.getElementById(tooltip).style.display = 'none';
	}
	if (document.all)
	{
		document.all[tooltip].style.visibility="hidden";
		document.getElementById(tooltip).style.display = 'none';
	}
	if (document.getElementById)
	{
		document.getElementById(tooltip).style.visibility="hidden";
		document.getElementById(tooltip).style.display = 'none';
	}
}


function findPos(obj) {
    var curleft = obj.offsetLeft || 0;
    var curtop = obj.offsetTop || 0;
    while (obj = obj.offsetParent) {
        curleft += obj.offsetLeft
        curtop += obj.offsetTop
    }
    return {x:curleft,y:curtop};
}

function HtmlDecode(s) 
{ 
      var out = ""; 
      if (s==null) return; 
  
      var l = s.length; 
      for (var i=0; i<l; i++) 
      { 
            var ch = s.charAt(i); 
           
            if (ch == '&') 
            { 
            var semicolonIndex = s.indexOf(';', i+1); 
                 
            if (semicolonIndex > 0) 
            { 
                        var entity = s.substring(i + 1, semicolonIndex); 
                        if (entity.length > 1 && entity.charAt(0) == '#') 
                        { 
                              if (entity.charAt(1) == 'x' || entity.charAt(1) == 'X') 
                                    ch = String.fromCharCode(eval('0'+entity.substring(1))); 
                              else 
                                    ch = String.fromCharCode(eval(entity.substring(1))); 
                        } 
                    else 
                      { 
                              switch (entity) 
                              { 
                                    case 'quot': ch = String.fromCharCode(0x0022); break; 
                                    case 'amp': ch = String.fromCharCode(0x0026); break; 
                                    case 'lt': ch = String.fromCharCode(0x003c); break; 
                                    case 'gt': ch = String.fromCharCode(0x003e); break; 
                                    case 'nbsp': ch = String.fromCharCode(0x00a0); break; 
                                    case 'iexcl': ch = String.fromCharCode(0x00a1); break; 
                                    case 'cent': ch = String.fromCharCode(0x00a2); break; 
                                    case 'pound': ch = String.fromCharCode(0x00a3); break; 
                                    case 'curren': ch = String.fromCharCode(0x00a4); break; 
                                    case 'yen': ch = String.fromCharCode(0x00a5); break; 
                                    case 'brvbar': ch = String.fromCharCode(0x00a6); break; 
                                    case 'sect': ch = String.fromCharCode(0x00a7); break; 
                                    case 'uml': ch = String.fromCharCode(0x00a8); break; 
                                    case 'copy': ch = String.fromCharCode(0x00a9); break; 
                                    case 'ordf': ch = String.fromCharCode(0x00aa); break; 
                                    case 'laquo': ch = String.fromCharCode(0x00ab); break; 
                                    case 'not': ch = String.fromCharCode(0x00ac); break; 
                                    case 'shy': ch = String.fromCharCode(0x00ad); break; 
                                    case 'reg': ch = String.fromCharCode(0x00ae); break; 
                                    case 'macr': ch = String.fromCharCode(0x00af); break; 
                                    case 'deg': ch = String.fromCharCode(0x00b0); break; 
                                    case 'plusmn': ch = String.fromCharCode(0x00b1); break; 
                                    case 'sup2': ch = String.fromCharCode(0x00b2); break; 
                                    case 'sup3': ch = String.fromCharCode(0x00b3); break; 
                                    case 'acute': ch = String.fromCharCode(0x00b4); break; 
                                    case 'micro': ch = String.fromCharCode(0x00b5); break; 
                                    case 'para': ch = String.fromCharCode(0x00b6); break; 
                                    case 'middot': ch = String.fromCharCode(0x00b7); break; 
                                    case 'cedil': ch = String.fromCharCode(0x00b8); break; 
                                    case 'sup1': ch = String.fromCharCode(0x00b9); break; 
                                    case 'ordm': ch = String.fromCharCode(0x00ba); break; 
                                    case 'raquo': ch = String.fromCharCode(0x00bb); break; 
                                    case 'frac14': ch = String.fromCharCode(0x00bc); break; 
                                    case 'frac12': ch = String.fromCharCode(0x00bd); break; 
                                    case 'frac34': ch = String.fromCharCode(0x00be); break; 
                                    case 'iquest': ch = String.fromCharCode(0x00bf); break; 
                                    case 'Agrave': ch = String.fromCharCode(0x00c0); break; 
                                    case 'Aacute': ch = String.fromCharCode(0x00c1); break; 
                                    case 'Acirc': ch = String.fromCharCode(0x00c2); break; 
                                    case 'Atilde': ch = String.fromCharCode(0x00c3); break; 
                                    case 'Auml': ch = String.fromCharCode(0x00c4); break; 
                                    case 'Aring': ch = String.fromCharCode(0x00c5); break; 
                                    case 'AElig': ch = String.fromCharCode(0x00c6); break; 
                                    case 'Ccedil': ch = String.fromCharCode(0x00c7); break; 
                                    case 'Egrave': ch = String.fromCharCode(0x00c8); break; 
                                    case 'Eacute': ch = String.fromCharCode(0x00c9); break; 
                                    case 'Ecirc': ch = String.fromCharCode(0x00ca); break; 
                                    case 'Euml': ch = String.fromCharCode(0x00cb); break; 
                                    case 'Igrave': ch = String.fromCharCode(0x00cc); break; 
                                    case 'Iacute': ch = String.fromCharCode(0x00cd); break; 
                                    case 'Icirc': ch = String.fromCharCode(0x00ce ); break; 
                                    case 'Iuml': ch = String.fromCharCode(0x00cf); break; 
                                    case 'ETH': ch = String.fromCharCode(0x00d0); break; 
                                    case 'Ntilde': ch = String.fromCharCode(0x00d1); break; 
                                    case 'Ograve': ch = String.fromCharCode(0x00d2); break; 
                                    case 'Oacute': ch = String.fromCharCode(0x00d3); break; 
                                    case 'Ocirc': ch = String.fromCharCode(0x00d4); break; 
                                    case 'Otilde': ch = String.fromCharCode(0x00d5); break; 
                                    case 'Ouml': ch = String.fromCharCode(0x00d6); break; 
                                    case 'times': ch = String.fromCharCode(0x00d7); break; 
                                    case 'Oslash': ch = String.fromCharCode(0x00d8); break; 
                                    case 'Ugrave': ch = String.fromCharCode(0x00d9); break; 
                                    case 'Uacute': ch = String.fromCharCode(0x00da); break; 
                                    case 'Ucirc': ch = String.fromCharCode(0x00db); break; 
                                    case 'Uuml': ch = String.fromCharCode(0x00dc); break; 
                                    case 'Yacute': ch = String.fromCharCode(0x00dd); break; 
                                    case 'THORN': ch = String.fromCharCode(0x00de); break; 
                                    case 'szlig': ch = String.fromCharCode(0x00df); break; 
                                    case 'agrave': ch = String.fromCharCode(0x00e0); break; 
                                    case 'aacute': ch = String.fromCharCode(0x00e1); break; 
                                    case 'acirc': ch = String.fromCharCode(0x00e2); break; 
                                    case 'atilde': ch = String.fromCharCode(0x00e3); break; 
                                    case 'auml': ch = String.fromCharCode(0x00e4); break; 
                                    case 'aring': ch = String.fromCharCode(0x00e5); break; 
                                    case 'aelig': ch = String.fromCharCode(0x00e6); break; 
                                    case 'ccedil': ch = String.fromCharCode(0x00e7); break; 
                                    case 'egrave': ch = String.fromCharCode(0x00e8); break; 
                                    case 'eacute': ch = String.fromCharCode(0x00e9); break; 
                                    case 'ecirc': ch = String.fromCharCode(0x00ea); break; 
                                    case 'euml': ch = String.fromCharCode(0x00eb); break; 
                                    case 'igrave': ch = String.fromCharCode(0x00ec); break; 
                                    case 'iacute': ch = String.fromCharCode(0x00ed); break; 
                                    case 'icirc': ch = String.fromCharCode(0x00ee); break; 
                                    case 'iuml': ch = String.fromCharCode(0x00ef); break; 
                                    case 'eth': ch = String.fromCharCode(0x00f0); break; 
                                    case 'ntilde': ch = String.fromCharCode(0x00f1); break; 
                                    case 'ograve': ch = String.fromCharCode(0x00f2); break; 
                                    case 'oacute': ch = String.fromCharCode(0x00f3); break; 
                                    case 'ocirc': ch = String.fromCharCode(0x00f4); break; 
                                    case 'otilde': ch = String.fromCharCode(0x00f5); break; 
                                    case 'ouml': ch = String.fromCharCode(0x00f6); break; 
                                    case 'divide': ch = String.fromCharCode(0x00f7); break; 
                                    case 'oslash': ch = String.fromCharCode(0x00f8); break; 
                                    case 'ugrave': ch = String.fromCharCode(0x00f9); break; 
                                    case 'uacute': ch = String.fromCharCode(0x00fa); break; 
                                    case 'ucirc': ch = String.fromCharCode(0x00fb); break; 
                                    case 'uuml': ch = String.fromCharCode(0x00fc); break; 
                                    case 'yacute': ch = String.fromCharCode(0x00fd); break; 
                                    case 'thorn': ch = String.fromCharCode(0x00fe); break; 
                                    case 'yuml': ch = String.fromCharCode(0x00ff); break; 
                                    case 'OElig': ch = String.fromCharCode(0x0152); break; 
                                    case 'oelig': ch = String.fromCharCode(0x0153); break; 
                                    case 'Scaron': ch = String.fromCharCode(0x0160); break; 
                                    case 'scaron': ch = String.fromCharCode(0x0161); break; 
                                    case 'Yuml': ch = String.fromCharCode(0x0178); break; 
                                    case 'fnof': ch = String.fromCharCode(0x0192); break; 
                                    case 'circ': ch = String.fromCharCode(0x02c6); break; 
                                    case 'tilde': ch = String.fromCharCode(0x02dc); break; 
                                   case 'Alpha': ch = String.fromCharCode(0x0391); break; 
                                    case 'Beta': ch = String.fromCharCode(0x0392); break; 
                                    case 'Gamma': ch = String.fromCharCode(0x0393); break; 
                                    case 'Delta': ch = String.fromCharCode(0x0394); break; 
                                    case 'Epsilon': ch = String.fromCharCode(0x0395); break; 
                                    case 'Zeta': ch = String.fromCharCode(0x0396); break; 
                                    case 'Eta': ch = String.fromCharCode(0x0397); break; 
                                    case 'Theta': ch = String.fromCharCode(0x0398); break; 
                                    case 'Iota': ch = String.fromCharCode(0x0399); break; 
                                    case 'Kappa': ch = String.fromCharCode(0x039a); break; 
                                    case 'Lambda': ch = String.fromCharCode(0x039b); break; 
                                    case 'Mu': ch = String.fromCharCode(0x039c); break; 
                                    case 'Nu': ch = String.fromCharCode(0x039d); break; 
                                    case 'Xi': ch = String.fromCharCode(0x039e); break; 
                                    case 'Omicron': ch = String.fromCharCode(0x039f); break; 
                                    case 'Pi': ch = String.fromCharCode(0x03a0); break; 
                                    case ' Rho ': ch = String.fromCharCode(0x03a1); break; 
                                    case 'Sigma': ch = String.fromCharCode(0x03a3); break; 
                                    case 'Tau': ch = String.fromCharCode(0x03a4); break; 
                                    case 'Upsilon': ch = String.fromCharCode(0x03a5); break; 
                                    case 'Phi': ch = String.fromCharCode(0x03a6); break; 
                                    case 'Chi': ch = String.fromCharCode(0x03a7); break; 
                                    case 'Psi': ch = String.fromCharCode(0x03a8); break; 
                                    case 'Omega': ch = String.fromCharCode(0x03a9); break; 
                                    case 'alpha': ch = String.fromCharCode(0x03b1); break; 
                                    case 'beta': ch = String.fromCharCode(0x03b2); break; 
                                    case 'gamma': ch = String.fromCharCode(0x03b3); break; 
                                    case 'delta': ch = String.fromCharCode(0x03b4); break; 
                                    case 'epsilon': ch = String.fromCharCode(0x03b5); break; 
                                    case 'zeta': ch = String.fromCharCode(0x03b6); break; 
                                    case 'eta': ch = String.fromCharCode(0x03b7); break; 
                                    case 'theta': ch = String.fromCharCode(0x03b8); break; 
                                    case 'iota': ch = String.fromCharCode(0x03b9); break; 
                                    case 'kappa': ch = String.fromCharCode(0x03ba); break; 
                                    case 'lambda': ch = String.fromCharCode(0x03bb); break; 
                                    case 'mu': ch = String.fromCharCode(0x03bc); break; 
                                    case 'nu': ch = String.fromCharCode(0x03bd); break; 
                                    case 'xi': ch = String.fromCharCode(0x03be); break; 
                                    case 'omicron': ch = String.fromCharCode(0x03bf); break; 
                                    case 'pi': ch = String.fromCharCode(0x03c0); break; 
                                    case 'rho': ch = String.fromCharCode(0x03c1); break; 
                                    case 'sigmaf': ch = String.fromCharCode(0x03c2); break; 
                                    case 'sigma': ch = String.fromCharCode(0x03c3); break; 
                                    case 'tau': ch = String.fromCharCode(0x03c4); break; 
                                    case 'upsilon': ch = String.fromCharCode(0x03c5); break; 
                                    case 'phi': ch = String.fromCharCode(0x03c6); break; 
                                    case 'chi': ch = String.fromCharCode(0x03c7); break; 
                                    case 'psi': ch = String.fromCharCode(0x03c8); break; 
                                    case 'omega': ch = String.fromCharCode(0x03c9); break; 
                                    case 'thetasym': ch = String.fromCharCode(0x03d1); break; 
                                    case 'upsih': ch = String.fromCharCode(0x03d2); break; 
                                    case 'piv': ch = String.fromCharCode(0x03d6); break; 
                                    case 'ensp': ch = String.fromCharCode(0x2002); break; 
                                    case 'emsp': ch = String.fromCharCode(0x2003); break; 
                                    case 'thinsp': ch = String.fromCharCode(0x2009); break; 
                                    case 'zwnj': ch = String.fromCharCode(0x200c); break; 
                                    case 'zwj': ch = String.fromCharCode(0x200d); break; 
                                    case 'lrm': ch = String.fromCharCode(0x200e); break; 
                                    case 'rlm': ch = String.fromCharCode(0x200f); break; 
                                    case 'ndash': ch = String.fromCharCode(0x2013); break; 
                                    case 'mdash': ch = String.fromCharCode(0x2014); break; 
                                    case 'lsquo': ch = String.fromCharCode(0x2018); break; 
                                    case 'rsquo': ch = String.fromCharCode(0x2019); break; 
                                    case 'sbquo': ch = String.fromCharCode(0x201a); break; 
                                    case 'ldquo': ch = String.fromCharCode(0x201c); break; 
                                    case 'rdquo': ch = String.fromCharCode(0x201d); break; 
                                    case 'bdquo': ch = String.fromCharCode(0x201e); break; 
                                    case 'dagger': ch = String.fromCharCode(0x2020); break; 
                                    case 'Dagger': ch = String.fromCharCode(0x2021); break; 
                                    case 'bull': ch = String.fromCharCode(0x2022); break; 
                                    case 'hellip': ch = String.fromCharCode(0x2026); break; 
                                    case 'permil': ch = String.fromCharCode(0x2030); break; 
                                    case 'prime': ch = String.fromCharCode(0x2032); break; 
                                    case 'Prime': ch = String.fromCharCode(0x2033); break; 
                                    case 'lsaquo': ch = String.fromCharCode(0x2039); break; 
                                    case 'rsaquo': ch = String.fromCharCode(0x203a); break; 
                                    case 'oline': ch = String.fromCharCode(0x203e); break; 
                                    case 'frasl': ch = String.fromCharCode(0x2044); break; 
                                    case 'euro': ch = String.fromCharCode(0x20ac); break; 
                                    case 'image': ch = String.fromCharCode(0x2111); break; 
                                    case 'weierp': ch = String.fromCharCode(0x2118); break; 
                                    case 'real': ch = String.fromCharCode(0x211c); break; 
                                    case 'trade': ch = String.fromCharCode(0x2122); break; 
                                    case 'alefsym': ch = String.fromCharCode(0x2135); break; 
                                    case 'larr': ch = String.fromCharCode(0x2190); break; 
                                    case 'uarr': ch = String.fromCharCode(0x2191); break; 
                                    case 'rarr': ch = String.fromCharCode(0x2192); break; 
                                    case 'darr': ch = String.fromCharCode(0x2193); break; 
                                    case 'harr': ch = String.fromCharCode(0x2194); break; 
                                    case 'crarr': ch = String.fromCharCode(0x21b5); break; 
                                    case 'lArr': ch = String.fromCharCode(0x21d0); break; 
                                    case 'uArr': ch = String.fromCharCode(0x21d1); break; 
                                    case 'rArr': ch = String.fromCharCode(0x21d2); break; 
                                    case 'dArr': ch = String.fromCharCode(0x21d3); break; 
                                    case 'hArr': ch = String.fromCharCode(0x21d4); break; 
                                    case 'forall': ch = String.fromCharCode(0x2200); break; 
                                    case 'part': ch = String.fromCharCode(0x2202); break; 
                                    case 'exist': ch = String.fromCharCode(0x2203); break; 
                                    case 'empty': ch = String.fromCharCode(0x2205); break; 
                                    case 'nabla': ch = String.fromCharCode(0x2207); break; 
                                    case 'isin': ch = String.fromCharCode(0x2208); break; 
                                    case 'notin': ch = String.fromCharCode(0x2209); break; 
                                    case 'ni': ch = String.fromCharCode(0x220b); break; 
                                    case 'prod': ch = String.fromCharCode(0x220f); break; 
                                    case 'sum': ch = String.fromCharCode(0x2211); break; 
                                    case 'minus': ch = String.fromCharCode(0x2212); break; 
                                    case 'lowast': ch = String.fromCharCode(0x2217); break; 
                                    case 'radic': ch = String.fromCharCode(0x221a); break; 
                                    case 'prop': ch = String.fromCharCode(0x221d); break; 
                                    case 'infin': ch = String.fromCharCode(0x221e); break; 
                                    case 'ang': ch = String.fromCharCode(0x2220); break; 
                                    case 'and': ch = String.fromCharCode(0x2227); break; 
                                    case 'or': ch = String.fromCharCode(0x2228); break; 
                                    case 'cap': ch = String.fromCharCode(0x2229); break; 
                                    case 'cup': ch = String.fromCharCode(0x222a); break; 
                                    case 'int': ch = String.fromCharCode(0x222b); break; 
                                    case 'there4': ch = String.fromCharCode(0x2234); break; 
                                    case 'sim': ch = String.fromCharCode(0x223c); break; 
                                    case 'cong': ch = String.fromCharCode(0x2245); break; 
                                    case 'asymp': ch = String.fromCharCode(0x2248); break; 
                                    case 'ne': ch = String.fromCharCode(0x2260); break; 
                                    case 'equiv': ch = String.fromCharCode(0x2261); break; 
                                    case 'le': ch = String.fromCharCode(0x2264); break; 
                                    case 'ge': ch = String.fromCharCode(0x2265); break; 
                                    case 'sub': ch = String.fromCharCode(0x2282); break; 
                                    case 'sup': ch = String.fromCharCode(0x2283); break; 
                                    case 'nsub': ch = String.fromCharCode(0x2284); break; 
                                    case 'sube': ch = String.fromCharCode(0x2286); break; 
                                    case 'supe': ch = String.fromCharCode(0x2287); break; 
                                    case 'oplus': ch = String.fromCharCode(0x2295); break; 
                                    case 'otimes': ch = String.fromCharCode(0x2297); break; 
                                    case 'perp': ch = String.fromCharCode(0x22a5); break; 
                                    case 'sdot': ch = String.fromCharCode(0x22c5); break; 
                                    case 'lceil': ch = String.fromCharCode(0x2308); break; 
                                    case 'rceil': ch = String.fromCharCode(0x2309); break; 
                                    case 'lfloor': ch = String.fromCharCode(0x230a); break; 
                                    case 'rfloor': ch = String.fromCharCode(0x230b); break; 
                                    case 'lang': ch = String.fromCharCode(0x2329); break; 
                                    case 'rang': ch = String.fromCharCode(0x232a); break; 
                                    case 'loz': ch = String.fromCharCode(0x25ca); break; 
                                    case 'spades': ch = String.fromCharCode(0x2660); break; 
                                    case 'clubs': ch = String.fromCharCode(0x2663); break; 
                                    case 'hearts': ch = String.fromCharCode(0x2665); break; 
                                    case 'diams': ch = String.fromCharCode(0x2666); break; 
                                    default: ch = ''; break; 
                              } 
                        } 
                        i = semicolonIndex; 
                  } 
            } 
            out += ch; 
      } 
      return out; 
} 




