﻿var nav = navigator.userAgent.toLowerCase();
var ie = nav.search("msie");
var ie6 = nav.search("msie 6");
var browserVer = parseInt(navigator.appVersion); 

function changement_point(v_nombre)
{
   var v_char = "";
  // alert(document.aspnetForm.langue.value);
   
   if (document.aspnetForm.langue.value == "fr")
{
   v_char = v_nombre.toString().replace(".",",");
}
else
{
   v_char = v_nombre.toString();
}

 return v_char;
   
}

function popupOpener(linkto)
{
  window.open(linkto,'popupwindow','scrollbars=yes,resizable,width=800,height=700');
}

var win=null;
function openfenetre(mypage,myname,w,h,scroll,pos)
{
	if(pos=="random")
	    {LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;}
	if(pos=="center")
	    {LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;}
	else if((pos!="center" && pos!="random") || pos==null)
	    {LeftPosition=0;TopPosition=20}
	    
	settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no';
	
	win=window.open(mypage,myname,settings);
}

var winpop=null;
function popWin(url,popname,w,h,pos,scrl,loc,dir,sts,mb,tbr,rsz)
{
	if(pos=="random"){LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;}
	if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;}
	else if((pos!="center" && pos!="random") || pos==null){LeftPosition=100;TopPosition=20}
	settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scrl+',location='+loc+',directories='+dir+',status='+sts+',menubar='+mb+',toolbar='+tbr+',resizable='+rsz+'';
	winpop=window.open(url,popname,settings);
}

function popup(url,w,h,pos)
{
    popWin(url,'popupwin',w,h,pos,'yes','no','no','no','no','no','no');
    //return false;
}

function toggleDiv(total,bloc_width,id,flagit) 
{
    //var total = 7;
    var width_menu = 0;
    var margin_left = 0;
    var width_tblmenu = document.getElementById('tblMenu').offsetWidth;
    
    for (var i=0; i<total; i++) 
    {
        if (width_menu + bloc_width > width_tblmenu)
        {
            margin_left = width_menu + bloc_width - width_tblmenu;
            
            document.getElementById('menu1_' + i).style.marginLeft = "-" + margin_left + "px";
        }
            
        width_menu = width_menu + document.getElementById('menulink' + i).offsetWidth;
    }
    
	if (flagit=="1")
	{    
		if (document.layers) document.layers[''+id+''].visibility = "show";
		else if (document.all) document.all[''+id+''].style.display = "block";
		else if (document.getElementById) document.getElementById(''+id+'').style.display = "block";
	}
	else
	{
		if (document.layers) document.layers[''+id+''].visibility = "hide";
		else if (document.all) document.all[''+id+''].style.display = "none";
		else if (document.getElementById) document.getElementById(''+id+'').style.display = "none";
	}
}

function showOrHideAllDropDowns(newState) 
{            
    var elements = document.documentElement.getElementsByTagName('select');
     
    for (var i=0; i<elements.length; i++) 
    {
        elements[i].style.visibility = newState;
    }
} 
    
function toggleRegion(id,flagit,idregion,classname_over,classname_out) 
{
    //alert(document.getElementById(''+idregion+'').className);

	if (flagit=="1")
	{
	    if (ie6 > 0)
        {
            showOrHideAllDropDowns("hidden");
        }
    
	    document.getElementById(''+idregion+'').className = classname_over;
        toggleDiv(id,flagit);
	}
	else
	{
	    if (ie6 > 0)
        {
            showOrHideAllDropDowns("visible");
        }
        	
	    document.getElementById(''+idregion+'').className = classname_out;
        toggleDiv(id,flagit);
	}
}

function toggleBloc(id,flagit) 
{
	if (flagit=="1")
	{
		if (document.layers) document.layers[''+id+''].visibility = "show";
		else if (document.all) document.all[''+id+''].style.display = "";
		else if (document.getElementById) document.getElementById(''+id+'').style.display = "";
	}
	else
	{
		if (document.layers) document.layers[''+id+''].visibility = "hide";
		else if (document.all) document.all[''+id+''].style.display = "none";
		else if (document.getElementById) document.getElementById(''+id+'').style.display = "none";
	}
}

function toggleFieldsByCase(id,idToggle,FieldsToggle) 
{
    //alert(FieldsToggle);
	var arrFields = FieldsToggle.split("|");
	
	if (id == idToggle)
        flagit = 1;
    else
        flagit = 0;
    
	for (i=0;i<arrFields.length;i++)
	{
	    //alert(arrFields[i]);
	    toggleBloc("BlocToggle"+arrFields[i],flagit);
	}       
}

function closeDiv(id) 
{
	if (document.layers) document.layers[''+id+''].visibility = "hide";
	else if (document.all) document.all[''+id+''].style.display = "none";
	else if (document.getElementById) document.getElementById(''+id+'').style.display = "none";
}

function attribDiv(id,val) 
{
    document.getElementById(''+id+'').style.display = "block";
    document.getElementById(''+id+'').innerHTML = val;
}

function attribDiv1ToDiv2(id1,id2) 
{
    //alert(document.getElementById(''+id1+'').innerHTML);
    document.getElementById(''+id2+'').style.display = "block";
    document.getElementById(''+id2+'').innerHTML = document.getElementById(''+id1+'').innerHTML;
}

function replaceDivVal(id,val,red) 
{
    if (red == 1)
        document.getElementById(''+id+'').innerHTML = "<span style='color:red'>*</span> " + val;
    else
        document.getElementById(''+id+'').innerHTML = val;
}

function replaceInputVal(id,val) 
{
    document.getElementById(''+id+'').value = val;
}

function expandcontent(id,bullet) 
{
    //alert(document.getElementById(''+id+'').style.display);
    if (document.getElementById(''+id+'').style.display == "none" || document.getElementById(''+id+'').style.display == "")
    {
        document.getElementById(''+bullet+'').innerHTML = "-";
        document.getElementById(''+id+'').style.display = "block";
    }
    else
    {
        document.getElementById(''+bullet+'').innerHTML = "+";
        document.getElementById(''+id+'').style.display = "none";
    }
}

function onEnterpress(e,id)
{
    //define any varible
    var KeyPress;  
  
    //if which property of event object is supported  
  	if (!e) var e = window.event
	if (e.keyCode) KeyPress = e.keyCode;
	else if (e.which) KeyPress = e.which;
  
    //13 is the key code of enter key
    if(KeyPress == 13)
    {
        //alert(':'+KeyPress);
        //alert(':'+id);
        //frmLogin is the name of form
        //document.forms[0].submit();

        WebForm_FireDefaultButton(e,id);
        return false     
    }
    else
    {
        return true
    }
}


function PopUpWindow(url, hWind, nWidth, nHeight, nScroll, nResize) 
{ 
    return (EkTbWebMenuPopUpWindow (url, hWind, nWidth, nHeight, nScroll, nResize));
}

function ecmPopUpWindow (url, hWind, nWidth, nHeight, nScroll, nResize) 
{ 
    PopUpWindow(url, hWind, nWidth, nHeight, nScroll, nResize) ; 
} 


function scan_a_href()
{
  var tag,i,j;
  var total = 0;
  //document.body.//innerHTML
  
  var menulink = document.getElementById('menulink0');
   var menulink_tag_a = menulink.childNodes.item(0).childNodes.item(1);
  //menulink.childNodes.length;
       
  //alert(menulink_tag_a.innerHTML);
  
  //alert(unescape(menulink_tag_a.innerHTML));
  
  var menubloc = unescape(menulink.innerHTML);
  menubloc = HtmlDecode(menubloc);
  menubloc = menubloc.replace(/href\=\"EkTbWebMenuPopUpWindow\(\" workarea=\"\" collections.aspx\?action=\"AddMenuItem/g,"href='#' onclick=\"EkTbWebMenuPopUpWindow('/WorkArea/collections.aspx?action=AddMenuItem");
  //menubloc = menubloc.replace(/collections.aspx\?action=\"AddMenuItem/g,"collections.aspx?action=AddMenuItem");
  //menubloc = menubloc.replace(/8\",\" admin400=/g,"TRI");
  menubloc = menubloc.replace(/\",\" admin400=\"\" ,800,=\"\" 600,=\"\" 1,=\"\" 1\);=\"\"/g,"', 'Admin400',800, 600, 1, 1\);\"");
  
  //menubloc = menubloc.replace(/href\=\"EkTbWebMenuPopUpWindow/g,"TRI"); HtmlDecode(menubloc)
  
  menulink.innerHTML = menubloc;
  
  alert(menubloc);
 
  if (document.getElementsByTagName) 
  {


     tag = document.getElementsByTagName("a");
         
     for(i in tag)
     {
        //alert(tag.item(i).href);
        if (tag.item(i).href.search(/EkTbWebMenuPopUpWindow/i) > 0)
        {
            if (total > 1)
                exit;
                
             j = tag.item(i).href.replace(/\(/,"\(\"");
            //alert("[" + j + "]");
            //alert("[" + tag.item(i).attributes.item + "]");

            total++;
        }        
     }
     
     //alert(total);
  }

}

// hack pour fixer les menus de EKTRON Admin =======================================================================================================================================
function scan_ektron_admin_link(id)
{
    //alert("Tri log in!");
    var tag,i,menubloc;
      
    //document.body.//innerHTML  
    var menulink = document.getElementById('' + id + '');
    tag = menulink.getElementsByTagName("div");
   
    for(i in tag)
    { 
        if (typeof(tag[i].id) != "undefined" && tag[i].id != "")
        {
            //alert(tag[i].id);
            menubloc = unescape(tag[i].innerHTML);
          
            menubloc = HtmlDecode(menubloc);
          
            if (ie > 0)
            {
                // pour bouton ADD
//                menubloc = menubloc.replace(/href\=\"EkTbWebMenuPopUpWindow\(\" 1\);\? 1, 600, \?Admin400\?,800, collections.aspx\?action='AddMenuItem/g,"href='#' onclick=\"EkTbWebMenuPopUpWindow('/WorkArea/collections.aspx?action=AddMenuItem");
//                menubloc = menubloc.replace(/\",' WorkArea/g,"', 'Admin400',800, 600, 1, 1\);\"");
//                   
//                // pour bouton EDIT
//                menubloc = menubloc.replace(/href\=\"EkTbWebMenuPopUpWindow\(\" 1\);\? 1, 600, \?Admin400\?,800, WorkArea workarea.aspx\?page='menutree.aspx/g,"href='#' onclick=\"EkTbWebMenuPopUpWindow('/WorkArea/workarea.aspx?page=menutree.aspx");
//                menubloc = menubloc.replace(/\",'>/g,"', 'Admin400',800, 600, 1, 1\);\">");

                // pour bouton ADD
                menubloc = menubloc.replace(/href\=\"EkTbWebMenuPopUpWindow\(\" 1\);\? 1, \b[1-9][0-9]{2,3}\b, \?Admin400\?,\b[1-9][0-9]{2,3}\b, collections.aspx\?action='AddMenuItem/g,"href='#' onclick=\"EkTbWebMenuPopUpWindow('/WorkArea/collections.aspx?action=AddMenuItem");
                menubloc = menubloc.replace(/\",' WorkArea/g,"', 'Admin400',800, 600, 1, 1\);\"");
                   
                // pour bouton EDIT
                menubloc = menubloc.replace(/href\=\"EkTbWebMenuPopUpWindow\(\" 1\);\? 1, \b[1-9][0-9]{2,3}\b, \?Admin400\?,\b[1-9][0-9]{2,3}\b, WorkArea workarea.aspx\?page='menutree.aspx/g,"href='#' onclick=\"EkTbWebMenuPopUpWindow('/WorkArea/workarea.aspx?page=menutree.aspx");
                menubloc = menubloc.replace(/\",'>/g,"', 'Admin400',800, 600, 1, 1\);\">");
            }
            else
            {
                // pour bouton ADD
                menubloc = menubloc.replace(/href\=\"EkTbWebMenuPopUpWindow\(\" workarea=\"\" collections.aspx\?action=\"AddMenuItem/g,"href='#' onclick=\"EkTbWebMenuPopUpWindow('/WorkArea/collections.aspx?action=AddMenuItem");
              
                // pour bouton EDIT
                menubloc = menubloc.replace(/href\=\"EkTbWebMenuPopUpWindow\(\" workarea=\"\" workarea.aspx\?page=\"menutree.aspx/g,"href='#' onclick=\"EkTbWebMenuPopUpWindow('/WorkArea/workarea.aspx?page=menutree.aspx");

                // pour la fin du HREF
                menubloc = menubloc.replace(/\",\" admin400=\"\" ,\b[1-9][0-9]{2,3}\b,=\"\" \b[1-9][0-9]{2,3}\b,=\"\" 1,=\"\" 1\);=\"\"/g,"', 'Admin400',800, 600, 1, 1\);\"");
            }
                
            //menulink.innerHTML = menubloc;
            tag[i].innerHTML = menubloc;
                
            //alert(menubloc);            
        }
    }
}


function scan_ektron_admin_link_ie(id)
{
  var tag,i,menubloc;
  
  //document.body.//innerHTML  
  //var menulink = document.getElementById('tblMenu');
  var menulink = document.getElementById('' + id + '');
  
   tag = menulink.getElementsByTagName("div");
   
   for(i in tag)
   { 
    //alert(tag[i].id);
     if (typeof(tag[i].id) != "undefined" && tag[i].id != "")
     //if (typeof(tag[i].id) != "undefined")
    {
      alert(tag[i].id);
      menubloc = unescape(tag[i].innerHTML);
      
      menubloc = HtmlDecode(menubloc);
      
      // pour bouton ADD
      menubloc = menubloc.replace(/href\=\"EkTbWebMenuPopUpWindow\(\" 1\);\? 1, 600, \?Admin400\?,800, collections.aspx\?action='AddMenuItem/g,"href='#' onclick=\"EkTbWebMenuPopUpWindow('/WorkArea/collections.aspx?action=AddMenuItem");
      menubloc = menubloc.replace(/\",' WorkArea/g,"', 'Admin400',800, 600, 1, 1\);\"");
       
      // pour bouton EDIT
      menubloc = menubloc.replace(/href\=\"EkTbWebMenuPopUpWindow\(\" 1\);\? 1, 600, \?Admin400\?,800, WorkArea workarea.aspx\?page='menutree.aspx/g,"href='#' onclick=\"EkTbWebMenuPopUpWindow('/WorkArea/workarea.aspx?page=menutree.aspx");
      menubloc = menubloc.replace(/\",'>/g,"', 'Admin400',800, 600, 1, 1\);\">");
        
      tag[i].innerHTML = menubloc;
      //alert(menubloc);
      }

   }
  //alert(menubloc);
}


function escapeHTML (str)
{
   var div = document.createElement('div');
   var text = document.createTextNode(str);
   div.appendChild(text);
   return div.innerHTML;
}

// HtmlDecode http://lab.msdn.microsoft.com/annotations/htmldecode.js 
//   client side version of the useful Server.HtmlDecode method 
//   takes one string (encoded) and returns another (decoded) 
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; 

      

} 

