﻿// JScript File

var backDiv=null;
var confirmDiv=null;
var numOfBackDivs=0;


/*function submitSearchBox()
{
    alert('light');
    try
    {
        SearchParams = Trim(ObjTxtSearch.value);
        if(SearchParams.length > 0) 
        {
            createFormAndSubmit('' ,'SRBoxForm', 'action=' + actionUrl, 'q=' + SearchParams +'', 'SRBoxFormSubmit', 'true');        
        }
          
    }   
    catch(ex){}  
}
*/
/*function TogglePopup(DatePickerId)
{
alert('hhhhh');
    eval(DatePickerId).ShowPopup();
}  */

function arrivalsAndDeparturesClicked(reqType, regionChannel)
{
	// get the select value
	
	var tdSel = document.getElementById("tdSelect");
	var selObj = tdSel.getElementsByTagName("select")[0];
	if(selObj.selectedIndex==0)
		return;
	var selectedVal = selObj.options[selObj.selectedIndex].value;
	//alert(selectedVal);
	// get the radio button value
	/*
	var reqType;
	var rdbDepat = document.getElementById("rdOption1");
	if(rdbDepat.checked)
		reqType = 0;
	else
		reqType = 1;
	*/
	//alert(selectedVal);
	//alert(reqType);
	//alert(regionChannel);	
	window.open(appPath+"/Pages/CmsTemplates/ArrivalsAndDepartures.aspx?airport="+selectedVal+"&reqType="+reqType+"&regionChannel="+regionChannel, "adWindow", "scrollbars=1,resizable=yes,width=720,height=480,top=100,left=100");
	
}

// flight schedule interface
function flightScheduleClicked(formAction, errMsg, regionChannel,DatePickerId)
{
    var formName = "resrvForm";
	var formAttributes = 
	"target=scheduleWindow"+
	"$method=post"+
	"$action="+formAction;
	
	var inputsAttributes="";
	
	var srcSpan = document.getElementById("flightScheduleSpan");
	
	var ErrMsg = document.getElementById("spErr");

    var objFrom = document.getElementById("From");
    var objTo = document.getElementById("To"); 
   
    if( objFrom .selectedIndex == 0 ||objTo.selectedIndex == 0)    
	{
	    // no value from ddlFrm and from ddlTo was selected
		document.getElementById("spErr").innerHTML = errMsg;
		return;
	}
	else
	{
		ErrMsg.innerText = "";
	}
	
	if(objFrom.selectedIndex == objTo.selectedIndex)
	{
		if(regionChannel == "Hebrew")
		{
		    ErrMsg.innerHTML = "אנא בחר יעד שונה";
		}
		else  //if(regionChannel == "English")
	    {
		    ErrMsg.innerHTML = "Please choose different destination";
		}
		return;
	}
	else
	{
		ErrMsg.innerHTML = "";
	}
	// QUERY_FROM
	var QUERY_FROM = objFrom.options[objFrom.selectedIndex].value;
	inputsAttributes+="QUERY_FROM="+QUERY_FROM;
	
	// QUERY_TO
	var QUERY_TO = objTo.options[objTo.selectedIndex].value;
	inputsAttributes+="$QUERY_TO="+QUERY_TO;
	
	//Date
	objDatePicker = eval(DatePickerId);
	sDate =  objDatePicker.GetDate();
	//QUERY_YEAR
	var iYear = sDate.getYear();		
	inputsAttributes+="$QUERY_YEAR="+iYear;
	//QUERY_MONTH
	iMonth = sDate.getMonth();
	sMonth =  getMonthValue(iMonth);
	inputsAttributes+="$QUERY_MONTH="+sMonth;
	//QUERY_DAY
	iDay = sDate.getDate();
	iDay = ( (iDay < 10) ? "0" + iDay : iDay);// pad with 0
	inputsAttributes+="$QUERY_DAY="+iDay;// pad with 0
	
	// qtype
	var qtype;
	var checkBok = document.getElementById('check1');
	
	if(checkBok.checked==true)
		{qtype = document.getElementById('check1').value;}
	else
		{qtype = document.getElementById('check2').value;}
	
		
	inputsAttributes+="$qtype="+qtype;
		
	var w = window.open("","scheduleWindow","width=650,height=550,toolbar=0,scrollbars=1");
	w.focus(); 
	window.setTimeout("createFormAndSubmit("+"''"+",'"+formName+"','"+formAttributes+"','"+
		inputsAttributes+"','fSubmit',"+ false+");",250);
}

function clearRdb_ebooking()
{

    // journeyType
	var journeyTypeValue;
	var objRdbOneWay = document.getElementById("oneWayRadio");
	var objRdbTwoWay = document.getElementById("twoWayRadio");	
	//clear choise
	if(objRdbOneWay != null)
	{
	    objRdbOneWay.checked = false;
	}
	if(objRdbTwoWay != null)
	{
	    objRdbTwoWay.checked = false;
	}	
}

/*function showHide_select_depRetPeriod()
{

    
    var ckbEmission =  document.getElementById("ckbEmission");
    ckbEmission.checked = false;      
     var DDL_TicketType = document.getElementById("TicketType");
    DDL_TicketType.disable = false;
    var DDL_TicketType = document.getElementById("TicketType");
    DDL_TicketType.disabled = false;
    
    var objSelectDepPeriod =  document.getElementById("select_depPeriod");
    var objSelectRetPeriod = document.getElementById("select_retPeriod");
     
    if( objSelectDepPeriod != null && objSelectRetPeriod!=null)
    {
        //*change display:
        //if none--> change to ""
        //if "" --> change to "none"
        objSelectDepPeriod.style.display = (objSelectDepPeriod.style.display == "none") ? "" : "none";
        objSelectRetPeriod.style.display = (objSelectRetPeriod.style.display == "none") ? "" : "none";        
      
        //**allways make sure that the default selected value of the 2 ddl is  option 3     
        if(objSelectDepPeriod.style.display == "" && objSelectRetPeriod.style.display == "")
        {
            objSelectDepPeriod.selectedIndex = 3;
            objSelectRetPeriod.selectedIndex = 3;
        }
    }
     
}
function DisableFlexiblity()
{
    var chbFlexible =  document.getElementById("ckbFlexible");
    chbFlexible.checked = false;    
    var DDL_TicketType = document.getElementById("TicketType");
    DDL_TicketType.disabled = true;
}*/

/*function eBookingClicked(formAction)
{
alert('ggg');
    var formName = "requirementsform";
	var formAttributes = 
	"target="+
	"$method=post"+
	"$action="+formAction; 	
	
	var inputsAttributes="";

	// origin
	//objDdlFrom defined in usercontrol ebooking.ascx
	var originSelectedValue = objDdlFrom.options[objDdlFrom.selectedIndex].value;
	inputsAttributes+="origin="+originSelectedValue;
	//clear choise to default
	objDdlFrom.selectedIndex = 0;

	// destination	
	//objDdlTo defined in usercontrol ebooking.ascx
	var destSelectedValue = objDdlTo.options[objDdlTo.selectedIndex].value;
	inputsAttributes+="$destination="+destSelectedValue;
    //clear choise to default
	objDdlTo.selectedIndex = 0;

    // journeyType
	var journeyTypeValue;
	var objRdbOneWay = document.getElementById("oneWayRadio");
	var objRdbTwoWay = document.getElementById("twoWayRadio");
	if(objRdbOneWay.checked == true)
	{
		journeyTypeValue = objRdbOneWay.value
	}
	else
	{
		journeyTypeValue = objRdbTwoWay.value
	}
	inputsAttributes+="$journeyType="+journeyTypeValue;
	//clear choise to default
	objRdbOneWay.checked = false;
	objRdbTwoWay.checked = true;
	
	
	// departDate
	sDateDepart = objDatePicker_1.GetDate();		
	// departMonth
	iMonthDepart = sDateDepart.getMonth();
	inputsAttributes+="$departMonth="+iMonthDepart;	
	// departDay
	iDayDepart = sDateDepart.getDate();
	inputsAttributes+="$departDay="+iDayDepart;	
	
	// returnDate
	sDateReturn = objDatePicker_2.GetDate();			
	// returnMonth
	iMonthReturn = sDateReturn.getMonth();
	inputsAttributes+="$returnMonth="+iMonthReturn;	
	// returnDay
	iDayReturn = sDateReturn.getDate();
	inputsAttributes+="$returnDay="+iDayReturn;
			
	// cabin
	var objCabin = document.getElementById("TicketType");
	var cabinSelectedValue = objCabin.options[objCabin.selectedIndex].value;
	inputsAttributes+="$cabin="+cabinSelectedValue;
	//clear choise to default
	objCabin.selectedIndex = 2;
	
	// adults
	var objAdults = document.getElementById("NumOfAdults");
	var adultsSelectedValue = objAdults.options[objAdults.selectedIndex].value;
	inputsAttributes+="$adults="+adultsSelectedValue;
	//clear choise to default
	objAdults.selectedIndex = 0;
	
	// children
	var objChildren = document.getElementById("NumOfKids");
	var childrenSelectedValue = objChildren.options[objChildren.selectedIndex].value;
	inputsAttributes+="$children="+childrenSelectedValue;
	//clear choise to default
	objChildren.selectedIndex = 0;
	
	// infants
	var objInfants = document.getElementById("NumOfBabies");
	var infantsSelectedValue = objInfants.options[objInfants.selectedIndex].value;
	inputsAttributes+="$infants="+infantsSelectedValue;
	//clear choise to default
	objInfants.selectedIndex = 0;
	
	//add shopper	
	var objCkbFlexible = document.getElementById("ckbFlexible");
	var optDepPeriod = 0;//default value
	var optRetPeriod = 0;//default value
	//if checkbox is checked take value from ddl select_depPeriod and ddl select_retPeriod
	//else put the defulte values
	if(objCkbFlexible != null && objCkbFlexible.checked)
	{
	    //take options from ddl select_depPeriod and ddl select_retPeriod
	    try
	    {
	        objDepPeriod = document.getElementById("select_depPeriod");
	        optDepPeriod = objDepPeriod.selectedIndex;
	        objRetPeriod = document.getElementById("select_retPeriod");
	        optRetPeriod = objRetPeriod.selectedIndex;
	        //clear choise to default
	        objDepPeriod.selectedIndex = 3;
	        objDepPeriod.style.display = "none";	        
	        objRetPeriod.selectedIndex = 3;
	        objRetPeriod.style.display = "none";
	        
	    }
	    catch(ex)
	    {
            optDepPeriod = 0;//default value
            optRetPeriod = 0;//default value	        
	    }
	}
	
    inputsAttributes+="$depPeriod="+optDepPeriod;
    inputsAttributes+="$retPeriod="+optRetPeriod;
	//clear choise to default
	objCkbFlexible.checked = false;
	//end shoper
	
	//FrquentFlyer - password and user
	//get password and user	FrquentFlyer - from session
	AJAX.syncWithCallback('/ELAL/Pages/AjaxPages/GetFrquentFlyerUserPassword.aspx',"", "frquentFlyerUserPassword");
	//matmid user 
	inputsAttributes+="$userName="+sClubMember;//sClubMember defines in this file
	//matmid password
	inputsAttributes+="$password="+sClubCode;//sClubCode defines in this file
	//end FrquentFlyer	
	
	
	inputsAttributes+="$agent=-1";
	inputsAttributes+="$agentGroup=-1";
	inputsAttributes+="$departTime=-1";
	inputsAttributes+="$returnTime=-1";
	inputsAttributes+="$operators=-1";
	
	//set LANG

	if(curLang == "EN")
	{
	    inputsAttributes+="$LANG="+innerLang;
	}
	else
	{
	    inputsAttributes+="$LANG="+curLang;
	}
	//debugger;
	//alert(inputsAttributes);
	createFormAndSubmit("formContainer", formName, formAttributes,
	inputsAttributes, "fares", false);
	
}*/
function swapImgSrc(id)
{
 with (document.getElementById(id))
 {
	//alert(attributes["altsrc"].value);
  attributes["altsrc"].value;
  var saveSrc = src;
  src = attributes["altsrc"].value;
  attributes["altsrc"].value = saveSrc;
 }
}
function swapImgSrcIF(id, showSelected)
{
	with (document.getElementById(id))
	{
	    if (attributes["selected"].value == showSelected)
	    {
		    var saveSrc = src;
		    src = attributes["altsrc"].value;
		    attributes["altsrc"].value = saveSrc;
		}
	}
}
function activateInputField(IFelement)
{
    if (inputFieldsCollection==null )
    {
        inputFieldsCollection = new Array();
    }
        
    inputFieldsCollection[InputFieldIdx]=new InputField("inputFieldsCollection["+InputFieldIdx+"]", IFelement);
    InputFieldIdx++;
}
function hideDivs(regionChannel)
{

    document.getElementById('mainTable').style.display = 'none';
	if(regionChannel == 'Hebrew')
	{
	    document.getElementById('HebLoadingIMG1').src = HebLoadingIMG1var;
		document.getElementById('HebLoadingIMG2').src = HebLoadingIMG2var;
		document.getElementById('HebLoadingIMG3').src = HebLoadingIMG3var;
		document.getElementById('HebLoadingIMG4').src = HebLoadingIMG4var;
		document.getElementById('HebLoadingIMG5').src = HebLoadingIMG5var;
		document.getElementById('HebLoadingIMG6').src = HebLoadingIMG6var;
		document.getElementById('HebLoadingIMG7').src = HebLoadingIMG7var;
		document.getElementById('HebLoadingIMG8').src = HebLoadingIMG8var;
		document.getElementById('HebLoadingIMG9').src = HebLoadingIMG9var;
		
		document.getElementById('divWaitHEB').style.display = '';
		
	}
	else if(regionChannel == 'Russian')
	{
			document.getElementById('LoadingIMG1').src = LoadingIMG1var;
			document.getElementById('LoadingIMG2').src = LoadingIMG2var;
			document.getElementById('LoadingIMG3').src = LoadingIMG3var;
			document.getElementById('LoadingIMG4').src = LoadingIMG4var;
			document.getElementById('LoadingIMG5').src = LoadingIMG5var;
			document.getElementById('LoadingIMG6').src = LoadingIMG6var;
			document.getElementById('LoadingIMG7').src = LoadingIMG7var;
			document.getElementById('LoadingIMG8').src = LoadingIMG8var;
			document.getElementById('LoadingIMG9').src = LoadingIMG9var;
			
			document.getElementById('divWaitENG').style.display = '';			
	}		
	else
	{
	    //english
	    document.getElementById('LoadingIMG1').src = LoadingIMG1var;
		document.getElementById('LoadingIMG2').src = LoadingIMG2var;
		document.getElementById('LoadingIMG3').src = LoadingIMG3var;
		document.getElementById('LoadingIMG4').src = LoadingIMG4var;
		document.getElementById('LoadingIMG5').src = LoadingIMG5var;
		document.getElementById('LoadingIMG6').src = LoadingIMG6var;
		document.getElementById('LoadingIMG7').src = LoadingIMG7var;
		document.getElementById('LoadingIMG8').src = LoadingIMG8var;
		document.getElementById('LoadingIMG9').src = LoadingIMG9var;
			
		document.getElementById('divWaitENG').style.display = '';				
	}
	
	setTimeout("MoveToTheIFrame('"+regionChannel+"')", 6000);	
	
   	
   
}

function fillScheduleDDdlDest(id)
{
	var arrSelCont = document.getElementById(id).getElementsByTagName("select");
	var selFrom = arrSelCont[0];
	var selTo = arrSelCont[1];
	removeOptionsOutOf1(selTo);
	var oOption,i;

	if (selFrom != null && selTo != null )
	removeOptionsOutOf1(selTo);
	var oOption,i;
	if (selFrom.options[selFrom.selectedIndex].value!="-1")
	{
		if(selFrom.options[selFrom.selectedIndex].value == "TLV")
		{	// tel-aviv was select
			for(i=1; i<selFrom.options.length; i++)
			{
				if(selFrom.options[i].value!="TLV")
				{
					oOption = document.createElement("OPTION");
					selTo.options.add(oOption);
					oOption.innerText = selFrom.options[i].text;
					oOption.value = selFrom.options[i].value;
				}
			}
		}
		else// tel-aviv was not selected
		{
			// add tel aviv
			oOption = document.createElement("OPTION");
			selTo.options.add(oOption);
			
			var tlvStr = document.getElementById("tlvDestenation");
			oOption.innerText = tlvStr.value;
			//oOption.innerText = "TEL AVIV"; //selFrom.options[1].text;
			oOption.value = "TLV";//selFrom.options[1].value;
			//alert(selFrom.options[selFrom.selectedIndex].value);
			// los angeles was selected
			if(selFrom.options[selFrom.selectedIndex].value == "LAX")
			{
				// add toronto
				oOption = document.createElement("OPTION");
				selTo.options.add(oOption);
				oOption.innerText = "TORONTO";
				oOption.value = "YTO";
			}	
			
			 // toronto was selected
			else if(selFrom.options[selFrom.selectedIndex].value == "YTO")
			{
				// add los angeles
				oOption = document.createElement("OPTION");
				selTo.options.add(oOption);
				oOption.innerText = "LOS ANGELES";
				oOption.value = "LAX";
			}
			if (selTo.options.length == 2)
			{
				selTo.options.selectedIndex = 1;
			}
		}
	}

}


function controlInputElements(boolSetToShow)
{
	inputArrays=document.getElementsByTagName("input");
	selectArrays=document.getElementsByTagName("select");
	objectArrays=document.getElementsByTagName("object");

	for (i=0; i<objectArrays.length; ++i)		// hide placeHolders
	{
		if (objectArrays[i].id.indexOf('PH')>=0)
			objectArrays[i].style.visibility=boolSetToShow ? "visible" : "hidden";		
	}

	for (i=0; i<inputArrays.length; ++i)		// hide inputs
	{
		if (inputArrays[i].type=="text" && inputArrays[i].attributes['doNotHide']==null)
			inputArrays[i].style.visibility=boolSetToShow ? "visible" : "hidden";		
	}
		
	for (i=0; i<selectArrays.length; ++i)		// hide selects
		if (selectArrays[i].attributes['doNotHide']==null)
			selectArrays[i].style.visibility=boolSetToShow ? "visible" : "hidden";				
}

function showBackDiv()
{	


	if(backDiv==null)
	{
	

		backDiv = document.createElement("<div style='background-color:white;position:absolute;filter:alpha(opacity=70);''>");

		backDiv.style.left=backDiv.style.top = 0;
		
		backDiv.style.width = Math.max(document.body.scrollWidth, document.documentElement.clientWidth);
		backDiv.style.height = Math.max(document.body.scrollHeight, document.documentElement.clientHeight);

		backDiv.id="backDiv";
		
		document.body.appendChild(backDiv);


	}

	numOfBackDivs++;
	backDiv.style.display="";

	controlInputElements(false);

}

function removeBackDiv()
{
	numOfBackDivs--;
	
	if (backDiv!=null)
	{
		backDiv.style.zIndex=0;	
		if (numOfBackDivs<=0)
		{
			numOfBackDivs=0;
			backDiv.style.display="none";
			controlInputElements(true);
		}
	}
}


function setDivPosition(divObj, Position, Repetitive)
{
	if (typeof(divObj)!="object")
		divObj=document.getElementById(divObj);
	
	if (divObj==null)
		return;
	
	divObj.style.pixelLeft=0;
	divObj.style.pixelTop=0;
	
	if (Position!=null && Position.toLowerCase()=="cursor")
	{
		divObj.style.pixelLeft	= event.clientX+document.documentElement.scrollLeft;
		divObj.style.pixelTop	= event.clientY+document.documentElement.scrollTop;
	}
	else 
	{
		var leftPos=document.documentElement.scrollLeft + (document.documentElement.clientWidth/2) - (divObj.clientWidth/2);
		var topPos=document.documentElement.scrollTop + (document.documentElement.clientHeight/2) - (divObj.clientHeight/2);
		
		divObj.style.pixelLeft = (leftPos<0 ? 0 : leftPos);
		divObj.style.pixelTop = (topPos<0 ? 0 : topPos);		
	}
	
	if (Repetitive && divObj.style.display!="none")
		window.setTimeout("setDivPosition("+divObj.id+",'"+Position+"',true)", 10);
}


function clearFloatingDiv()
{
	if (confirmDiv!=null)
		document.body.removeChild(confirmDiv);
		
	confirmDiv=null;
	
	removeBackDiv();
}

function wrapMessage(msg, noConfirm)
{
	if (msg!=null && msg!="")
	{	

		makeFloatingDiv("<span class='interfaceDir'>"+msg+"</span>"+(noConfirm!=true ? "<input type=button class=adminButton onclick='clearFloatingDiv()' value='ok'/>" : ""), "Center", "popupDiv Beige");
	}
	else
	{
		
		clearFloatingDiv();
	}
}

function makeFloatingDiv(TxtToBind, Position, DivClass)
{

	if (confirmDiv!=null)
	{
		
		clearFloatingDiv();
	}
		
	showBackDiv();
	confirmDiv=document.createElement("<DIV id='floatingDiv' class='"+ (DivClass!=null ? DivClass : "popupDiv" ) +"' ondblclick='clearFloatingDiv()'>");

	confirmDiv.innerHTML="<table border='1'><tr><td>"+TxtToBind+"</td></tr></table>";

	document.body.appendChild(confirmDiv);
	
	setDivPosition(confirmDiv, Position, (Position!=null && Position.indexOf('Repetitive')>=0));
}

function setPlaceholderContent(postingGuid, phName, content)
{
	var ResponseString=sendPostAjax("setPlaceholderContent","postingGuid="+postingGuid+"&phName="+phName+"&Content="+content);
	
	if (ResponseString!="OK")
		return wrapMsg(ResponseString);
}






function clearFloatingDiv()
{
	if (confirmDiv!=null)
		document.body.removeChild(confirmDiv);
		
	confirmDiv=null;
	
	removeBackDiv();
}

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;

     

}






