﻿
var _pickListWindow = null;
var _currentPickListControlName = null;
var _pickListWindowName = null;
var _awndAddEdit = new Array(0);
var currentPicklists = new Array();


function getAnchorPosition(anchorname) {
	// This function will return an Object with x and y properties
	var useWindow=false;
	var coordinates=new Object();
	var x=0,y=0;
	// Browser capability sniffing
	var use_gebi=false, use_css=false, use_layers=false;
	if (document.getElementById) { use_gebi=true; }
	else if (document.all) { use_css=true; }
	else if (document.layers) { use_layers=true; }
	// Logic to find position
 	if (use_gebi && document.all) {
		x=AnchorPosition_getPageOffsetLeft(document.all[anchorname]);
		y=AnchorPosition_getPageOffsetTop(document.all[anchorname]);
		}
	else if (use_gebi) {
		var o=document.getElementById(anchorname);
		x=AnchorPosition_getPageOffsetLeft(o);
		y=AnchorPosition_getPageOffsetTop(o);
		}
 	else if (use_css) {
		x=AnchorPosition_getPageOffsetLeft(document.all[anchorname]);
		y=AnchorPosition_getPageOffsetTop(document.all[anchorname]);
		}
	else if (use_layers) {
		var found=0;
		for (var i=0; i<document.anchors.length; i++) {
			if (document.anchors[i].name==anchorname) { found=1; break; }
			}
		if (found==0) {
			coordinates.x=0; coordinates.y=0; return coordinates;
			}
		x=document.anchors[i].x;
		y=document.anchors[i].y;
		}
	else {
		coordinates.x=0; coordinates.y=0; return coordinates;
		}
	coordinates.x=x;
	coordinates.y=y;
	return coordinates;
	};

function AnchorPosition_getPageOffsetLeft (el) {
	var ol=el.offsetLeft;
	while ((el=el.offsetParent) != null) { ol += el.offsetLeft; }
	return ol;
	};
function AnchorPosition_getWindowOffsetLeft (el) {
	return AnchorPosition_getPageOffsetLeft(el)-document.body.scrollLeft;
	}	;
function AnchorPosition_getPageOffsetTop (el) {
	var ot=el.offsetTop;
	while((el=el.offsetParent) != null) { ot += el.offsetTop; }
	return ot;
	};
function AnchorPosition_getWindowOffsetTop (el) {
	return AnchorPosition_getPageOffsetTop(el)-document.body.scrollTop;
};

function setPickListPosition(pickListId)
{
    var coordinates = getAnchorPosition(pickListId);
    if (document.getElementById('toolbarDiv'))
      coordinates.y -= document.getElementById('toolbarDiv').offsetHeight;
    if (document.getElementById('headerDiv'))
      coordinates.y -= document.getElementById('headerDiv').offsetHeight;
    if (document.getElementById('navDiv'))
      coordinates.x -= document.getElementById('navDiv').offsetWidth;
  	document.getElementById('iframe'+pickListId).style.left = coordinates.x + 14 + "px";
  	document.getElementById('iframe'+pickListId).style.top = coordinates.y + document.getElementById(pickListId).offsetHeight + "px";
  	document.getElementById('iframe'+pickListId).style.width = document.getElementById(pickListId).offsetWidth + "px";
    document.getElementById('iframe'+pickListId).style.display='block';  
};

function generatePickList(baseUrl, pickListDataUrl, pickListId, pickListDefinitionId, allowMultipleSelections, addEqualSign, parentSearchControl, groupId, activeDataGroups, releaseNumber, languageId, addUrl, uiLabel, primaryTable, JSVersion, lBaseUrl)
{
  if (!document.getElementById('iframe'+pickListId))
  {
    var tempIFrame=document.createElement('iframe');
    tempIFrame.setAttribute('id','iframe'+pickListId);
    tempIFrame.setAttribute('name','iframe'+pickListId);
    tempIFrame.style.cssText = document.getElementById('tmpiframe'+pickListId).style.cssText;
    tempIFrame.src="javascript:false;";
    document.getElementById('mainDiv').appendChild(tempIFrame);
    setPickListPosition(pickListId);
    writeLoadingMessage(pickListId);
    var tmp = 'generatePickList("'+baseUrl+'", "'+pickListDataUrl+'", "'+pickListId+'", "'+pickListDefinitionId+'", '+String(allowMultipleSelections)+', '+String(addEqualSign)+', "'+parentSearchControl+'", "'+groupId+'", "'+activeDataGroups+'", "'+releaseNumber+'", "'+languageId+'", "'+addUrl+'", "'+uiLabel+'", "'+primaryTable+'", "'+JSVersion+'", "'+lBaseUrl+'");';
    setTimeout(tmp,0);
    return;
  }
	currentPicklists[currentPicklists.length] = pickListId;
  document.getElementById('iframe'+pickListId).style.display='block'; 

  if (eval('typeof('+pickListId+'JSVersion)') != 'undefined')
  {
  	JSVersion = eval(pickListId+'JSVersion');
  	JSVersion++;
  }

  var name = "_PLID="+pickListDefinitionId+"_";
	name = name+"LID="+languageId+"_DG="+activeDataGroups+"_";
	if ((groupId != "0") && (groupId != ""))
		name = name + "GID=" + groupId+"_";
	if (allowMultipleSelections)
		name = name+"AMS="+"_";
	if (addEqualSign)
		name = name+"AES="+"_";
	if (parentSearchControl != "")
		name = name + "PS="+parentSearchControl+"_";
	name = name + "PT="+primaryTable+"_JV="+JSVersion+"_";
  var temp = '';
  //temp = temp + '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >';
  temp = temp + '<HTML>';
  temp = temp + '	<HEAD>';
  temp = temp + '		<title>EmbeddedPickList</title>';
  //temp = temp + '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">';
  //temp = temp + '<meta content="Microsoft Visual Studio 7.0" name="GENERATOR">';
  //temp = temp + '<meta content="C#" name="CODE_LANGUAGE">';
  //temp = temp + '<meta content="JavaScript" name="vs_defaultClientScript">';
  
  // Debug URL
  //var runtimeURL = baseUrl;
  
  // Runtime URL
  var runtimeURL = lBaseUrl;
  
  
  
  temp = temp + '<LINK href="'+runtimeURL+'ActiveWidgets/runtime/styles/xp/grid.css" type="text/css" rel="stylesheet" id="ActiveWidgetsGridCSS"></LINK>';
  //temp = temp + '<LINK href="" type="text/css" rel="stylesheet" id="customActiveWidgetsGridCSS"></LINK>';
  temp = temp + '<script>var cssUrl=\''+pickListDataUrl+name+'.css\';';
  temp = temp + 'image1 = new Image();';
	temp = temp + 'image1.src="'+runtimeURL+'ActiveWidgets/runtime/styles/xp/grid.png";';
  temp = temp + '</script>';
  temp = temp + '<link href="'+runtimeURL+'VocusPR40.css" type="text/css" rel="stylesheet" >';
  temp = temp + '<script src="'+runtimeURL+'Common.js" type="text/javascript"></script> ';
  temp = temp + '<script src="'+runtimeURL+'XR/PICKLIST.JS" type="text/javascript"></script> ';
  temp = temp + '<script src="'+pickListDataUrl+name+'.JS" type="text/javascript"></script> ';
	
// code for new tooltips (not 100% yet)
  temp = temp + '<script src="'+runtimeURL+'domtt/domLib.js" type="text/javascript"></script> ';
  temp = temp + '<script src="'+runtimeURL+'domtt/AlphaAPI.js" type="text/javascript"></script> ';
  temp = temp + '<script src="'+runtimeURL+'domtt/domTT.js" type="text/javascript"></script> ';
  temp = temp + '<link href="'+runtimeURL+'domtt/domtt.css" type="text/css" rel="stylesheet" >';

	if (document.all)
	{
		temp = temp + '<script src="'+runtimeURL+'ACTIVEWIDGETS/RUNTIME/LIB/GRID.JS" type="text/javascript"></script> ';
	}
	else
	{
		temp = temp + '<script src="'+runtimeURL+'ACTIVEWIDGETS/SOURCE/LIB/namespaces/grid.js" type="text/javascript"></script> ';
		temp = temp + '<script src="'+runtimeURL+'ACTIVEWIDGETS/SOURCE/LIB/browsers/gecko.js" type="text/javascript"></script> ';
		temp = temp + '<script src="'+runtimeURL+'ACTIVEWIDGETS/SOURCE/LIB/system/object.js" type="text/javascript"></script> ';
		temp = temp + '<script src="'+runtimeURL+'ACTIVEWIDGETS/SOURCE/LIB/system/model.js" type="text/javascript"></script> ';
		temp = temp + '<script src="'+runtimeURL+'ACTIVEWIDGETS/SOURCE/LIB/system/format.js" type="text/javascript"></script> ';
		temp = temp + '<script src="'+runtimeURL+'ACTIVEWIDGETS/SOURCE/LIB/system/html.js" type="text/javascript"></script> ';
		temp = temp + '<script src="'+runtimeURL+'ACTIVEWIDGETS/SOURCE/LIB/system/template.js" type="text/javascript"></script> ';
		temp = temp + '<script src="'+runtimeURL+'ACTIVEWIDGETS/SOURCE/LIB/system/control.js" type="text/javascript"></script> ';
		temp = temp + '<script src="'+runtimeURL+'ACTIVEWIDGETS/SOURCE/LIB/formats/string.js" type="text/javascript"></script> ';
		temp = temp + '<script src="'+runtimeURL+'ACTIVEWIDGETS/SOURCE/LIB/formats/number.js" type="text/javascript"></script> ';
		temp = temp + '<script src="'+runtimeURL+'ACTIVEWIDGETS/SOURCE/LIB/formats/date.js" type="text/javascript"></script> ';
		temp = temp + '<script src="'+runtimeURL+'ACTIVEWIDGETS/SOURCE/LIB/html/tags.js" type="text/javascript"></script> ';
		temp = temp + '<script src="'+runtimeURL+'ACTIVEWIDGETS/SOURCE/LIB/templates/status.js" type="text/javascript"></script> ';
		temp = temp + '<script src="'+runtimeURL+'ACTIVEWIDGETS/SOURCE/LIB/templates/error.js" type="text/javascript"></script> ';
		temp = temp + '<script src="'+runtimeURL+'ACTIVEWIDGETS/SOURCE/LIB/templates/text.js" type="text/javascript"></script> ';
		temp = temp + '<script src="'+runtimeURL+'ACTIVEWIDGETS/SOURCE/LIB/templates/image.js" type="text/javascript"></script> ';
		temp = temp + '<script src="'+runtimeURL+'ACTIVEWIDGETS/SOURCE/LIB/templates/link.js" type="text/javascript"></script> ';
		temp = temp + '<script src="'+runtimeURL+'ACTIVEWIDGETS/SOURCE/LIB/templates/item.js" type="text/javascript"></script> ';
		temp = temp + '<script src="'+runtimeURL+'ACTIVEWIDGETS/SOURCE/LIB/templates/list.js" type="text/javascript"></script> ';
		temp = temp + '<script src="'+runtimeURL+'ACTIVEWIDGETS/SOURCE/LIB/templates/row.js" type="text/javascript"></script> ';
		temp = temp + '<script src="'+runtimeURL+'ACTIVEWIDGETS/SOURCE/LIB/templates/header.js" type="text/javascript"></script> ';
		temp = temp + '<script src="'+runtimeURL+'ACTIVEWIDGETS/SOURCE/LIB/templates/box.js" type="text/javascript"></script> ';
		temp = temp + '<script src="'+runtimeURL+'ACTIVEWIDGETS/SOURCE/LIB/templates/scroll.js" type="text/javascript"></script> ';
		temp = temp + '<script src="'+runtimeURL+'ACTIVEWIDGETS/SOURCE/LIB/controls/grid.js" type="text/javascript"></script> ';
		temp = temp + '<script src="'+runtimeURL+'ACTIVEWIDGETS/SOURCE/LIB/http/request.js" type="text/javascript"></script> ';
		temp = temp + '<script src="'+runtimeURL+'ACTIVEWIDGETS/SOURCE/LIB/text/table.js" type="text/javascript"></script> ';
		temp = temp + '<script src="'+runtimeURL+'ACTIVEWIDGETS/SOURCE/LIB/xml/table.js" type="text/javascript"></script> ';
	}
  temp = temp + '<script src="'+runtimeURL+'ACTIVEWIDGETS/PATCHES/PAGING1.JS" type="text/javascript"></script> ';
  temp = temp + '		<style type="text/css">A {';
  temp = temp + '	COLOR: #663300';
  temp = temp + '}';
  temp = temp + 'A:hover {';
  temp = temp + '	COLOR: red';
  temp = temp + '}';
  //temp = temp + '   .active-scroll-bars.gecko {overflow-y: scroll;} ';
  temp = temp + '</style>';
  temp = temp + '	</HEAD>';
  temp = temp + '	<body onload="createGrid();" style="margin:0px;BORDER-RIGHT: medium none; PADDING-RIGHT: 0px; BORDER-TOP: medium none; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; OVERFLOW: hidden; BORDER-LEFT: medium none; PADDING-TOP: 0px; BORDER-BOTTOM: medium none">';
  temp = temp + '		<form style="margin:0px;" name="PickList" method="post" action="" id="PickList">';
  temp = temp + '			<div id="loadingDiv" style="Z-INDEX: 10; BACKGROUND-COLOR: white">';
  temp = temp + '				<table height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0">';
  temp = temp + '					<tr>';
  temp = temp + '						<td vAlign="middle" align="center" width="100%"><font runat="server" face="Arial" color="'+ colorLight +'" size="4"><b>'+ loadingMessage +'</b></font></td>';
  temp = temp + '					</tr>';
  temp = temp + '				</table>';
  temp = temp + '			</div>';
  temp = temp + '			<input name="hidDataEntryControlName" id="hidDataEntryControlName" type="hidden" value="'+pickListId+'" />';
  temp = temp + '			<input name="hidSelected" id="hidSelected" type="hidden" />';
  if (addUrl != "")
  {
    temp = temp + '			<div id="addLinkPanel" style="height:15px;width:100%;Z-INDEX: -1; BACKGROUND: threedlightshadow; VERTICAL-ALIGN: middle; TEXT-ALIGN: right">';
    temp = temp + '				<a href="javascript:;" id="addAnchor" style="FONT: Tahoma;font-size:8pt;COLOR: black" onclick="var wndAddEdit=windowOpen(\''+addUrl+'\', \'\', true, 1, 0); childWindowAdd(wndAddEdit);parent.BlurPickListIframe(\''+pickListId+'\');">';
    temp = temp + '				<span id="addLabel">'+uiLabel+'</span></a>';
    temp = temp + '			</div>';
  }
  temp = temp + '			<div id="divGrid" style="Z-INDEX: -1; HEIGHT: 1px;">';
  temp = temp + '			</div>';
  temp = temp + '			<div id="divPagingControl" style="DISPLAY: none; Z-INDEX: -1; BACKGROUND: threedlightshadow; WIDTH: 100%; HEIGHT: 28px">';
  temp = temp + '				<table style="WIDTH: 100%;table-layout: fixed;">';
  temp = temp + '					<tr>';
  temp = temp + '						<td style="WIDTH: 55px; align="left"><button style="width:28px;HEIGHT: 22px;font-size: 8pt;font-family: Verdana;" onclick="gridHome()" type="button">&lt;&lt;</button><button style="width:22px;HEIGHT: 22px;font-size: 8pt;font-family: Verdana;" onclick="gridPageUp()" type="button">&lt;</button>';
  temp = temp + '						</td>';
  temp = temp + '						<td style="WIDTH: auto;" align="center"><span style="FONT: menu;font-size:10pt;" id="pageLabel"></span></td>';
  temp = temp + '						<td style="WIDTH: 55px;" align="right"><button style="width:22px;HEIGHT: 22px;font-size: 8pt;font-family: Verdana;" onclick="gridPageDown()" type="button">&gt;</button><button style="width:28px;HEIGHT: 22px;font-size: 8pt;font-family: Verdana;" onclick="gridEnd()" type="button">&gt;&gt;</button>';
  temp = temp + '						</td>';
  temp = temp + '					</tr>';
  temp = temp + '				</table>';
  temp = temp + '			</div>';
  temp = temp + '			<div id="divGroupHeader" style="PADDING-RIGHT: 2px; DISPLAY: none; PADDING-LEFT: 2px; Z-INDEX: -1; BACKGROUND: threedlightshadow; PADDING-BOTTOM: 2px; WIDTH: 100%; PADDING-TOP: 2px; HEIGHT: 40px">'+ groupsLabel +':<BR>';
  temp = temp + '			<SELECT size="1" name="Groups" id="Groups" class="InputFullWidth" onclick="" onChange="groupsChange(event);" onfocus="" >';
  temp = temp + '</SELECT>';
  temp = temp + '</div>';
  temp = temp + '		</form>';
  //temp = temp + "<script>setTimeout('createGrid();',50);</script>";
  temp = temp + '	</body>';
  temp = temp + '</HTML>';
  try
  {
	  document.getElementById('iframe'+pickListId).contentWindow.document.write(temp); 
	  document.getElementById('iframe'+pickListId).contentWindow.document.close();
	  addPickListToList(pickListId);
	 	eval(pickListId+'JSVersion = '+JSVersion+';');
  } catch (e)
  {
  	if (eval('typeof('+pickListId+'JSVersion)') != 'undefined')
  	{
  		JSVersion--;
  	}
    var tmp = 'generatePickList("'+baseUrl+'", "'+pickListDataUrl+'", "'+pickListId+'", "'+pickListDefinitionId+'", '+String(allowMultipleSelections)+', '+String(addEqualSign)+', "'+parentSearchControl+'", "'+groupId+'", "'+activeDataGroups+'", "'+releaseNumber+'", "'+languageId+'", "'+addUrl+'", "'+uiLabel+'", "'+primaryTable+'", "'+JSVersion+'", "'+lBaseUrl+'");';
    setTimeout(tmp,0);
    return;  
  }
};

function writeLoadingMessage(pickListId)
{
  var temp = generateLoadingMessage();
  temp = "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"></head>"+"<body style=\"background-color:white;\">"+temp;
  temp = temp + "</body>" + "</html>";
	document.getElementById('iframe'+pickListId).contentWindow.document.write(temp); 
	document.getElementById('iframe'+pickListId).contentWindow.document.close();
};

function generateLoadingMessage()
{
  var temp = '';
	//temp = temp + "<html>";
	//temp = temp + "<body style=\"background-color:white;\">";
	temp = temp + "<table width=\"100%\" height=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">";
	temp = temp + "<tr>";
	temp = temp + "<td width=\"100%\" align=\"middle\" valign=\"middle\">";
	temp = temp + "<font face=\"Arial\" size=\"4\" color=\"" + colorLight + "\"><b>"+ loadingMessage +"</b></font>";
	temp = temp + "</td>";
	temp = temp + "</tr>";
	temp = temp + "</table>";
 	//temp = temp + "</body>";
	//temp = temp + "</html>";
  return temp;
};

function gotoNextField(field) 
{
	var fieldFound = false;
	var form = field.form;
	for (var i = 0; i < form.elements.length; i++) {
  if ((fieldFound) && (form.elements[i].type != 'hidden') || ((form.elements[i].visible) && (!form.elements[i].disabled)))
  {
	  try
	  {
	    form.elements[i].focus();
	    break;
	  }
	  catch (e) {}
	}
  if (field == form.elements[i])
		fieldFound = true;
	}
	
	  
	document.getElementById('iframe' + field.id).contentWindow.blnNextField = false;
};

function newPickListKeyPress(event, pickListId)
{
	if (document.all) 
	{
		var keyPressed = event.keyCode;
	} 
	else 
	{
		var keyPressed = event.which;
		if (((keyPressed == 107) || (keyPressed == 75)) && (event.ctrlKey || event.altKey))
		  keyPressed = 730
	}
  if ((keyPressed==11) || (keyPressed==730))
  {
    FocusPickList(pickListId);
    //if ((document.getElementById(pickListId).value != '') && (document.getElementById(pickListId).value.indexOf(';') == -1))
    //{
    //  var temp = eval(pickListId+"Loaded");
    //  if (temp)
    //  {
    //    document.getElementById('iframe' + pickListId).contentWindow.quickFindTime = (new Date())/1000;
    //    document.getElementById('iframe' + pickListId).contentWindow.strQuickFind = document.getElementById(pickListId).value.toUpperCase();
    //    document.getElementById('iframe' + pickListId).contentWindow.eval('quickFind()');
    //  }
   // }
  }
};

function clearId(pickListId)
{
	var tmpControlName = pickListId;
  if (eval('typeof('+tmpControlName+'HiddenName)') != 'undefined')
  {
    tmpControlName = eval(tmpControlName+'HiddenName');
  }
  //if (typeof(VocusAutoCompleter) == 'undefined')
		document.getElementById(tmpControlName+'ID').value ='';
};
function newPickListKeyDown(event, pickListId)
{
  if (event.keyCode==40)
  {
    FocusPickList(pickListId);
		event.returnValue = false;
		event.cancelBubble = true;
  }
};

var picklistLoadErrorCount = 0;
var pickListPageLoaded = false;

function FocusPickList(pickListId)
{
  if (!pickListPageLoaded)
    return;
  if (!document.getElementById(pickListId).readOnly && !document.getElementById(pickListId).disabled)
  {
    if (eval('!'+pickListId+'Loaded')) 
    { 
      document.onclick();
      hideSelects('NO');
      document.getElementById('img'+pickListId).src = pickListBaseUrl + 'Images/picklist-dropdown-pressed.jpg'; 
      eval('load'+pickListId+'();');
    }
	  ///  Used to load the picklist on subsequent displays
	  else if (document.getElementById('iframe'+pickListId).style.display == 'none') 
	  { 
      document.onclick();
      hideSelects('NO');
	    document.getElementById('img'+pickListId).src = pickListBaseUrl + 'Images/picklist-dropdown-pressed.jpg';
	    document.getElementById('iframe'+pickListId).style.display='block';
	    document.getElementById('iframe'+pickListId).disabled=false;
	    document.getElementById('iframe'+pickListId).contentWindow.focus();
	    document.getElementById('iframe'+pickListId).contentWindow.initialFind();
	    document.getElementById('iframe'+pickListId).contentWindow.refreshPickList();
	    //if (document.all) document.getElementById('iframe'+pickListId).contentWindow.obj.element().focus();
	    //document.getElementById('iframe'+pickListId).contentWindow.objFocus()
	    //sendTab();
	    setPickListPosition(pickListId);
	    //document.getElementById('iframe'+pickListId).contentWindow.resizePickList();
      document.getElementById('iframe'+pickListId).contentWindow.refreshPickList();

	  }
	  ///  Used for tabbing from field to field
	  else if (document.getElementById('iframe'+pickListId).contentWindow.blnNextField) 
	  { 
	    gotoNextField(document.getElementById(pickListId));
	  }
	  ///  Set Focus back to text box
	  else 
	  { 
	    BlurPickListIframe(pickListId);
	    document.getElementById(pickListId).focus(); 
	  }
	}
};

function addOnClickToIFrames()
{
	SafeAddOnclick(hidePickLists);
	pickListPageLoaded = true;
};


function BlurPickListIframe(pickListId)
{
  if (eval(pickListId+"Loaded"))
  {
		showSelects();
    var temp = '';
  	temp = temp + "document.getElementById('img"+pickListId+"').src = '" + pickListBaseUrl + "Images/picklist-dropdown.jpg'; document.getElementById('iframe"+pickListId+"').disabled = true; document.getElementById('iframe"+pickListId+"').style.display='none';";
  	temp = temp + " if (document.getElementById('iframe"+pickListId+"').contentWindow.blnNextField) { gotoNextField(document.getElementById('"+pickListId+"')); }";
  	temp = temp + "document.getElementById('iframe"+pickListId+"').contentWindow.hideAllTooltips();";
  	eval(temp);
  }
};

function GetEmbeddedPickListUrl(controlName, pickListDefinitionId, allowMultipleSelections, addEqualSign, forceRefresh, parentSearch, additionalUrl)
{
	var left;
	var width;
	var features;
	var hRef = pickListBaseUrl + 'XR/EmbeddedPickList.aspx?PickListDefinitionId=' + pickListDefinitionId + '&AllowMultipleSelections=' + allowMultipleSelections + '&AddEqualSign=' + addEqualSign;
	var tmpControlName = controlName;
  if (eval('typeof('+tmpControlName+'HiddenName)') != 'undefined')
  {
    tmpControlName = eval(tmpControlName+'HiddenName');
  }
	var origControlName = tmpControlName + "Orig";
	
	hRef = hRef + '&DataEntryControlName=' + tmpControlName + "&ParentSearch=" + escapeEx(parentSearch) + additionalUrl;
	
  return hRef;
};

function OpenPickList(controlName, pickListDefinitionId, allowMultipleSelections, addEqualSign, forceRefresh, parentSearch, additionalUrl)
{
	var left;
	var width;
	var features;

 	var hRef = pickListBaseUrl + 'XR/PickList.aspx?PickListDefinitionId=' + pickListDefinitionId + '&AllowMultipleSelections=' + allowMultipleSelections + '&AddEqualSign=' + addEqualSign;

	var tmpControlName = controlName;
  var tmpparentSearch = parentSearch;
	if (eval('typeof('+tmpControlName+'HiddenName)') != 'undefined')
	{
		tmpControlName = eval(tmpControlName+'HiddenName');
    if (tmpparentSearch != "") tmpparentSearch = "text" + tmpparentSearch; 
	}
  else
  {
  }
	var origControlName = tmpControlName + "Orig";
	
	hRef = hRef + '&DataEntryControlName=' + controlName;	
	
	if (tmpparentSearch != "")
	{
		hRef = hRef + "&ParentSearch=" + escapeEx(document.getElementById(tmpparentSearch).value);
	}
		
	if (_pickListWindow == null || _pickListWindow.closed == true)
	{
		if (screen.availWidth <= 800)
		{
			width = 450;
		}
		else
		{
			width = 550;			
		}
				
		left = screen.availWidth - width - 15;

		if (_pickListWindowName == null) 
		{
			_pickListWindowName = 'wnd' + Math.floor(30000*Math.random() + 1);
		}
		
		features = 'toolbar=no,location=no,status=yes,menubar=no,resizable=yes,top=0,left='+ left + ',width=' + width + ',height=' + (screen.availHeight-80);

		if (window.location.href.toLowerCase().indexOf("vocus_link.aspx") != -1)
		{
			//vocusLog(1,true);
			oEditor.window.parent.picklistCustomParent = window;
			_pickListWindow = oEditor.window.parent.open(hRef + additionalUrl, _pickListWindowName, features, true);
			//_pickListWindow.picklistCustomParent = window;
			//vocusLog(_pickListWindow, true);
		}
		else
		{
			window.picklistCustomParent = null;
			_pickListWindow = window.open(hRef + additionalUrl, _pickListWindowName, features, true);
		}
    if (!_pickListWindow)
    {
      try 
      { 
        showPopUpBlockerMessage(); 
        return;
      }
      catch (e) {}     
    }
		_currentPickListControlName = controlName;
	}
	else if (forceRefresh == true || _currentPickListControlName != controlName) 
	{		
		_pickListWindow.location.replace(hRef + additionalUrl);
		_currentPickListControlName = controlName;
	}
	else if (this.form.elements[controlName].value != this.form.elements[origControlName].value)
	{
		_pickListWindow.document.forms[0].submit();	
	}
	
	// Need to only set focus if client OS is NOT macintosh
	// since the Macintosh raises an error
	if (navigator.appVersion.indexOf('Macintosh')==-1)
	{		
		_pickListWindow.focus();
	}
	if (typeof(m_wndPickList) != "undefined")
	{
	  m_wndPickList = _pickListWindow;
    m_strCurrentPickListControlName = _currentPickListControlName;
  }
};

var IFrameObj; // our IFrame object
function callToServer(queryString) {
  if (!document.createElement) {return true};
  var IFrameDoc;
  var URL = queryString;
  if (!IFrameObj && document.createElement) {
    // create the IFrame and assign a reference to the
    // object to our global variable IFrameObj.
    // this will only happen the first time 
    // callToServer() is called
   try {
      var tempIFrame=document.createElement('iframe');
      tempIFrame.setAttribute('id','RSIFrame');
      tempIFrame.style.border='0px';
      tempIFrame.style.width='0px';
      tempIFrame.style.height='0px';
      tempIFrame.src="javascript:false;";
      IFrameObj = document.body.appendChild(tempIFrame);
      
      if (document.frames) {
        // this is for IE5 Mac, because it will only
        // allow access to the document object
        // of the IFrame if we access it through
        // the document.frames array
        IFrameObj = document.frames['RSIFrame'];
      }
    } catch(exception) {
      // This is for IE5 PC, which does not allow dynamic creation
      // and manipulation of an iframe object. Instead, we'll fake
      // it up by creating our own objects.
      iframeHTML='\<iframe id="RSIFrame" style="';
      iframeHTML+='border:0px;';
      iframeHTML+='width:0px;';
      iframeHTML+='height:0px;';
      iframeHTML+='"><\/iframe>';
      document.body.innerHTML+=iframeHTML;
      IFrameObj = new Object();
      IFrameObj.document = new Object();
      IFrameObj.document.location = new Object();
      IFrameObj.document.location.iframe = document.getElementById('RSIFrame');
      IFrameObj.document.location.replace = function(location) {
        this.iframe.src = location;
      }
    }
  }
  
  if (navigator.userAgent.indexOf('Gecko') !=-1 && !IFrameObj.contentDocument) {
    // we have to give NS6 a fraction of a second
    // to recognize the new IFrame
    setTimeout('callToServer()',10);
    return false;
  }
  
  if (IFrameObj.contentDocument) {
    // For NS6
    IFrameDoc = IFrameObj.contentDocument; 
  } else if (IFrameObj.contentWindow) {
    // For IE5.5 and IE6
    IFrameDoc = IFrameObj.contentWindow.document;
  } else if (IFrameObj.document) {
    // For IE5
    IFrameDoc = IFrameObj.document;
  } else {
    return true;
  }
  
  IFrameDoc.location.replace(URL);
  return false;
};

function ValidatePickList(controlName, pickListDefinitionId, allowMultipleSelections, addEqualSign, displayWaitMessage)
{
	var tmpControlName = controlName;
  if (eval('typeof('+tmpControlName+'HiddenName)') != 'undefined')
  {
    tmpControlName = eval(tmpControlName+'HiddenName');
  }
	var controlValue = this.form.elements[controlName].value;
	var controlValueOrig = this.form.elements[tmpControlName + "Orig"].value;
	var controlValueId = this.form.elements[tmpControlName + "ID"].value;
	var clientOnChange = this.form.elements[tmpControlName + "ClientOnChange"].value;
	var groupId = this.form.elements[tmpControlName + "GroupID"].value;
	
	if (this.form.elements[tmpControlName + "Validating"].value == "0")
	{
		if (controlValue != controlValueOrig)
		{
			if (displayWaitMessage)
			{
				showWaitMessage();
			}
			
			this.form.elements[tmpControlName + "Validating"].value = "1";

			var temp = "";
			temp+=(temp=='')?'?':'&';
      temp+='PickListDefinitionID'+'='+escapeEx(pickListDefinitionId);
			temp+=(temp=='')?'?':'&';
      temp+='ControlName'+'='+escapeEx(controlName);
			temp+=(temp=='')?'?':'&';
      temp+='ControlValue'+'='+escapeEx(controlValue);
			temp+=(temp=='')?'?':'&';
      temp+='ControlValueID'+'='+escapeEx(controlValueId);
			temp+=(temp=='')?'?':'&';
      temp+='GroupID'+'='+escapeEx(groupId);
			temp+=(temp=='')?'?':'&';
      temp+='AllowMultipleSelections'+'='+escapeEx(String(allowMultipleSelections));
			temp+=(temp=='')?'?':'&';
      temp+='AddEqualSign'+'='+escapeEx(String(addEqualSign));
			temp+=(temp=='')?'?':'&';
      temp+='ClientOnChange'+'='+escapeEx(clientOnChange);
			temp+=(temp=='')?'?':'&';
      temp+='OneResultOnly'+'='+escapeEx(String(eval(controlName+'OneResultOnly')));
		
			var hRef = pickListBaseUrl + 'XR/PickListValidate.aspx' + temp;

      callToServer(hRef);

		}
		else
		{
			this.form.elements[controlName].style.color = this.form.elements[tmpControlName + 'Color'].value;
		}
	}
};

function PickListKeyPress(e, controlName, pickListDefinitionId, allowMultipleSelections, addEqualSign, parentSearch)
{
	var tmpControlName = controlName;
  if (eval('typeof('+tmpControlName+'HiddenName)') != 'undefined')
  {
    tmpControlName = eval(tmpControlName+'HiddenName');
  }
	var intKEYCODE_CTRL_K = 11;
	var intKEYCODE_ALT_K = 730;
	if (document.all) {
		var keyPressed = window.event.keyCode;
	} else {
		var keyPressed = e.which;
		if (((keyPressed == 107) || (keyPressed == 75)) && (e.ctrlKey || e.altKey))
		  keyPressed = 730;
	}
	if (keyPressed == intKEYCODE_CTRL_K || keyPressed == intKEYCODE_ALT_K)
	{
		var value = document.getElementById(controlName).value;
		
		var additionalUrl = "&AutoSearchValue=" + escapeEx(value) ;
		if (this.form.elements[tmpControlName + "GroupID"].value != 0)
		{
			additionalUrl = additionalUrl + "&GroupId=" + escapeEx(this.form.elements[tmpControlName + "GroupID"].value)
		}
	
		OpenPickList(controlName, pickListDefinitionId, allowMultipleSelections, addEqualSign, true, parentSearch, additionalUrl);
		return false;
	}
};

function escapeEx(strValue) 
{
	// Written because JavaScript Escape does not URLEncode the '+' character.

	var strChar = '';
	var strNewValue = '';			
	var intI;
		
	for (intI = 0; intI <= strValue.length -1; intI ++)
	{			
		strChar = strValue.charAt(intI);
		
		//Fix for international apostrophe - MD
		//The 2019 and 8217 apostrophes are different and must be differentiated immediately, else
		//JS defaults it to the 2019, which will return a PickList error. 
		if (strChar.charCodeAt(0) == '8217')
		{
		  strChar = escape(strChar);
		}
		else if (strChar == '\u8217')
		{
		strChar = escape(strChar);
		}
		else if (strChar == '+')
		{
		  strChar = '%2B';
		}
		else if (strChar == '\u00AA') 
		{
		  strChar='%C2%AA';
		}
		else if (strChar == '\u00BA') 
		{
		  strChar='%C2%BA';
		}
		else if (strChar == '\u00C0') 
		{
		  strChar='%C3%80';
		}
		else if (strChar == '\u00C1') 
		{
		  strChar='%C3%81';
		}
		else if (strChar == '\u00C2') 
		{
		  strChar='%C3%82';
		}
		else if (strChar == '\u00C3') 
		{
		  strChar='%C3%83';
		}
		else if (strChar == '\u00C4') 
		{
		  strChar='%C3%84';
		}
		else if (strChar == '\u00C5') 
		{
		  strChar='%C3%85';
		}
		else if (strChar == '\u00C6') 
		{
		  strChar='%C3%86';
		}
		else if (strChar == '\u00C7') 
		{
		  strChar='%C3%87';
		}
		else if (strChar == '\u00C8') 
		{
		  strChar='%C3%88';
		}
		else if (strChar == '\u00C9') 
		{
		  strChar='%C3%89';
		}
		else if (strChar == '\u00CA') 
		{
		  strChar='%C3%8A';
		}
		else if (strChar == '\u00CB') 
		{
		  strChar='%C3%8B';
		}
		else if (strChar == '\u00CC') 
		{
		  strChar='%C3%8C';
		}
		else if (strChar == '\u00CD') 
		{
		  strChar='%C3%8D';
		}
		else if (strChar == '\u00CE') 
		{
		  strChar='%C3%8E';
		}
		else if (strChar == '\u00CF') 
		{
		  strChar='%C3%8F';
		}
		else if (strChar == '\u00D0') 
		{
		  strChar='%C3%90';
		}
		else if (strChar == '\u00D1') 
		{
		  strChar='%C3%91';
		}
		else if (strChar == '\u00D2') 
		{
		  strChar='%C3%92';
		}
		else if (strChar == '\u00D3') 
		{
		  strChar='%C3%93';
		}
		else if (strChar == '\u00D4') 
		{
		  strChar='%C3%94';
		}
		else if (strChar == '\u00D5') 
		{
		  strChar='%C3%95';
		}
		else if (strChar == '\u00D6') 
		{
		  strChar='%C3%96';
		}
		else if (strChar == '\u00D8') 
		{
		  strChar='%C3%98';
		}
		else if (strChar == '\u00D9') 
		{
		  strChar='%C3%99';
		}
		else if (strChar == '\u00DA') 
		{
		  strChar='%C3%9A';
		}
		else if (strChar == '\u00DB') 
		{
		  strChar='%C3%9B';
		}
		else if (strChar == '\u00DC') 
		{
		  strChar='%C3%9C';
		}
		else if (strChar == '\u00DD') 
		{
		  strChar='%C3%9D';
		}
		else if (strChar == '\u00DE') 
		{
		  strChar='%C3%9E';
		}
		else if (strChar == '\u00DF') 
		{
		  strChar='%C3%9F';
		}
		else if (strChar == '\u00E0') 
		{
		  strChar='%C3%A0';
		}
		else if (strChar == '\u00E1') 
		{
		  strChar='%C3%A1';
		}
		else if (strChar == '\u00E2') 
		{
		  strChar='%C3%A2';
		}
		else if (strChar == '\u00E3') 
		{
		  strChar='%C3%A3';
		}
		else if (strChar == '\u00E4') 
		{
		  strChar='%C3%A4';
		}
		else if (strChar == '\u00E5') 
		{
		  strChar='%C3%A5';
		}
		else if (strChar == '\u00E6') 
		{
		  strChar='%C3%A6';
		}
		else if (strChar == '\u00E7') 
		{
		  strChar='%C3%A7';
		}
		else if (strChar == '\u00E8') 
		{
		  strChar='%C3%A8';
		}
		else if (strChar == '\u00E9') 
		{
		  strChar='%C3%A9';
		}
		else if (strChar == '\u00EA') 
		{
		  strChar='%C3%AA';
		}
		else if (strChar == '\u00EB') 
		{
		  strChar='%C3%AB';
		}
		else if (strChar == '\u00EC') 
		{
		  strChar='%C3%AC';
		}
		else if (strChar == '\u00ED') 
		{
		  strChar='%C3%AD';
		}
		else if (strChar == '\u00EE') 
		{
		  strChar='%C3%AE';
		}
		else if (strChar == '\u00EF') 
		{
		  strChar='%C3%AF';
		}
		else if (strChar == '\u00F0') 
		{
		  strChar='%C3%B0';
		}
		else if (strChar == '\u00F1') 
		{
		  strChar='%C3%B1';
		}
		else if (strChar == '\u00F2') 
		{
		  strChar='%C3%B2';
		}
		else if (strChar == '\u00F3') 
		{
		  strChar='%C3%B3';
		}
		else if (strChar == '\u00F4') 
		{
		  strChar='%C3%B4';
		}
		else if (strChar == '\u00F5') 
		{
		  strChar='%C3%B5';
		}
		else if (strChar == '\u00F6') 
		{
		  strChar='%C3%B6';
		}
		else if (strChar == '\u00F8') 
		{
		  strChar='%C3%B8';
		}
		else if (strChar == '\u00F9') 
		{
		  strChar='%C3%B9';
		}
		else if (strChar == '\u00FA') 
		{
		  strChar='%C3%BA';
		}
		else if (strChar == '\u00FB') 
		{
		  strChar='%C3%BB';
		}
		else if (strChar == '\u00FC') 
		{
		  strChar='%C3%BC';
		}
		else if (strChar == '\u00FD') 
		{
		  strChar='%C3%BD';
		}
		else if (strChar == '\u00FE') 
		{
		  strChar='%C3%BE';
		}
		else if (strChar == '\u00FF') 
		{
		  strChar='%C3%BF';
		}
		else if (strChar == '\u0100') 
		{
		  strChar='%C4%80';
		}
		else if (strChar == '\u0101') 
		{
		  strChar='%C4%81';
		}
		else if (strChar == '\u0102') 
		{
		  strChar='%C4%82';
		}
		else if (strChar == '\u0103') 
		{
		  strChar='%C4%83';
		}
		else if (strChar == '\u0104') 
		{
		  strChar='%C4%84';
		}
		else if (strChar == '\u0105') 
		{
		  strChar='%C4%85';
		}
		else if (strChar == '\u0106') 
		{
		  strChar='%C4%86';
		}
		else if (strChar == '\u0107') 
		{
		  strChar='%C4%87';
		}
		else if (strChar == '\u0108') 
		{
		  strChar='%C4%88';
		}
		else if (strChar == '\u0109') 
		{
		  strChar='%C4%89';
		}
		else if (strChar == '\u010A') 
		{
		  strChar='%C4%8A';
		}
		else if (strChar == '\u010B') 
		{
		  strChar='%C4%8B';
		}
		else if (strChar == '\u010C') 
		{
		  strChar='%C4%8C';
		}
		else if (strChar == '\u010D') 
		{
		  strChar='%C4%8D';
		}
		else if (strChar == '\u010E') 
		{
		  strChar='%C4%8E';
		}
		else if (strChar == '\u010F') 
		{
		  strChar='%C4%8F';
		}
		else if (strChar == '\u0112') 
		{
		  strChar='%C4%92';
		}
		else if (strChar == '\u0113') 
		{
		  strChar='%C4%93';
		}
		else if (strChar == '\u0114') 
		{
		  strChar='%C4%94';
		}
		else if (strChar == '\u0115') 
		{
		  strChar='%C4%95';
		}
		else if (strChar == '\u0116') 
		{
		  strChar='%C4%96';
		}
		else if (strChar == '\u0117') 
		{
		  strChar='%C4%97';
		}
		else if (strChar == '\u0118') 
		{
		  strChar='%C4%98';
		}
		else if (strChar == '\u0119') 
		{
		  strChar='%C4%99';
		}
		else if (strChar == '\u011A') 
		{
		  strChar='%C4%9A';
		}
		else if (strChar == '\u011B') 
		{
		  strChar='%C4%9B';
		}
		else if (strChar == '\u011C') 
		{
		  strChar='%C4%9C';
		}
		else if (strChar == '\u011D') 
		{
		  strChar='%C4%9D';
		}
		else if (strChar == '\u011E') 
		{
		  strChar='%C4%9E';
		}
		else if (strChar == '\u011F') 
		{
		  strChar='%C4%9F';
		}
		else if (strChar == '\u0120') 
		{
		  strChar='%C4%A0';
		}
		else if (strChar == '\u0121') 
		{
		  strChar='%C4%A1';
		}
		else if (strChar == '\u0122') 
		{
		  strChar='%C4%A2';
		}
		else if (strChar == '\u0123') 
		{
		  strChar='%C4%A3';
		}
		else if (strChar == '\u0124') 
		{
		  strChar='%C4%A4';
		}
		else if (strChar == '\u0125') 
		{
		  strChar='%C4%A5';
		}
		else if (strChar == '\u0128') 
		{
		  strChar='%C4%A8';
		}
		else if (strChar == '\u0129') 
		{
		  strChar='%C4%A9';
		}
		else if (strChar == '\u012A') 
		{
		  strChar='%C4%AA';
		}
		else if (strChar == '\u012B') 
		{
		  strChar='%C4%AB';
		}
		else if (strChar == '\u012C') 
		{
		  strChar='%C4%AC';
		}
		else if (strChar == '\u012D') 
		{
		  strChar='%C4%AD';
		}
		else if (strChar == '\u012E') 
		{
		  strChar='%C4%AE';
		}
		else if (strChar == '\u012F') 
		{
		  strChar='%C4%AF';
		}
		else if (strChar == '\u0130') 
		{
		  strChar='%C4%B0';
		}
		else if (strChar == '\u0131') 
		{
		  strChar='%C4%B1';
		}
		else if (strChar == '\u0132') 
		{
		  strChar='%C4%B2';
		}
		else if (strChar == '\u0133') 
		{
		  strChar='%C4%B3';
		}
		else if (strChar == '\u0134') 
		{
		  strChar='%C4%B4';
		}
		else if (strChar == '\u0135') 
		{
		  strChar='%C4%B5';
		}
		else if (strChar == '\u0136') 
		{
		  strChar='%C4%B6';
		}
		else if (strChar == '\u0137') 
		{
		  strChar='%C4%B7';
		}
		else if (strChar == '\u0139') 
		{
		  strChar='%C4%B9';
		}
		else if (strChar == '\u013A') 
		{
		  strChar='%C4%BA';
		}
		else if (strChar == '\u013B') 
		{
		  strChar='%C4%BB';
		}
		else if (strChar == '\u013C') 
		{
		  strChar='%C4%BC';
		}
		else if (strChar == '\u013D') 
		{
		  strChar='%C4%BD';
		}
		else if (strChar == '\u013E') 
		{
		  strChar='%C4%BE';
		}
		else if (strChar == '\u013F') 
		{
		  strChar='%C4%BF';
		}
		else if (strChar == '\u0140') 
		{
		  strChar='%C5%80';
		}
		else if (strChar == '\u0143') 
		{
		  strChar='%C5%83';
		}
		else if (strChar == '\u0144') 
		{
		  strChar='%C5%84';
		}
		else if (strChar == '\u0145') 
		{
		  strChar='%C5%85';
		}
		else if (strChar == '\u0146') 
		{
		  strChar='%C5%86';
		}
		else if (strChar == '\u0147') 
		{
		  strChar='%C5%87';
		}
		else if (strChar == '\u0148') 
		{
		  strChar='%C5%88';
		}
		else if (strChar == '\u014C') 
		{
		  strChar='%C5%8C';
		}
		else if (strChar == '\u014D') 
		{
		  strChar='%C5%8D';
		}
		else if (strChar == '\u0150') 
		{
		  strChar='%C5%90';
		}
		else if (strChar == '\u0151') 
		{
		  strChar='%C5%91';
		}
		else if (strChar == '\u0154') 
		{
		  strChar='%C5%94';
		}
		else if (strChar == '\u0155') 
		{
		  strChar='%C5%95';
		}
		else if (strChar == '\u0156') 
		{
		  strChar='%C5%96';
		}
		else if (strChar == '\u0157') 
		{
		  strChar='%C5%97';
		}
		else if (strChar == '\u0158') 
		{
		  strChar='%C5%98';
		}
		else if (strChar == '\u0159') 
		{
		  strChar='%C5%99';
		}
		else if (strChar == '\u015A') 
		{
		  strChar='%C5%9A';
		}
		else if (strChar == '\u015B') 
		{
		  strChar='%C5%9B';
		}
		else if (strChar == '\u015C') 
		{
		  strChar='%C5%9C';
		}
		else if (strChar == '\u015D') 
		{
		  strChar='%C5%9D';
		}
		else if (strChar == '\u015E') 
		{
		  strChar='%C5%9E';
		}
		else if (strChar == '\u015F') 
		{
		  strChar='%C5%9F';
		}
		else if (strChar == '\u0160') 
		{
		  strChar='%C5%A0';
		}
		else if (strChar == '\u0161') 
		{
		  strChar='%C5%A1';
		}
		else if (strChar == '\u0162') 
		{
		  strChar='%C5%A2';
		}
		else if (strChar == '\u0163') 
		{
		  strChar='%C5%A3';
		}
		else if (strChar == '\u0164') 
		{
		  strChar='%C5%A4';
		}
		else if (strChar == '\u0165') 
		{
		  strChar='%C5%A5';
		}
		else if (strChar == '\u0168') 
		{
		  strChar='%C5%A8';
		}
		else if (strChar == '\u0169') 
		{
		  strChar='%C5%A9';
		}
		else if (strChar == '\u016A') 
		{
		  strChar='%C5%AA';
		}
		else if (strChar == '\u016B') 
		{
		  strChar='%C5%AB';
		}
		else if (strChar == '\u016C') 
		{
		  strChar='%C5%AC';
		}
		else if (strChar == '\u016D') 
		{
		  strChar='%C5%AD';
		}
		else if (strChar == '\u016E') 
		{
		  strChar='%C5%AE';
		}
		else if (strChar == '\u016F') 
		{
		  strChar='%C5%AF';
		}
		else if (strChar == '\u0170') 
		{
		  strChar='%C5%B0';
		}
		else if (strChar == '\u0171') 
		{
		  strChar='%C5%B1';
		}
		else if (strChar == '\u0172') 
		{
		  strChar='%C5%B2';
		}
		else if (strChar == '\u0173') 
		{
		  strChar='%C5%B3';
		}
		else if (strChar == '\u0174') 
		{
		  strChar='%C5%B4';
		}
		else if (strChar == '\u0175') 
		{
		  strChar='%C5%B5';
		}
		else if (strChar == '\u0176') 
		{
		  strChar='%C5%B6';
		}
		else if (strChar == '\u0177') 
		{
		  strChar='%C5%B7';
		}
		else if (strChar == '\u0178') 
		{
		  strChar='%C5%B8';
		}
		else if (strChar == '\u0179') 
		{
		  strChar='%C5%B9';
		}
		else if (strChar == '\u017A') 
		{
		  strChar='%C5%BA';
		}
		else if (strChar == '\u017B') 
		{
		  strChar='%C5%BB';
		}
		else if (strChar == '\u017C') 
		{
		  strChar='%C5%BC';
		}
		else if (strChar == '\u017D') 
		{
		  strChar='%C5%BD';
		}
		else if (strChar == '\u017E') 
		{
		  strChar='%C5%BE';
		}
		else if (strChar == '\u00A1') 
		{
		  strChar='%C2%A1';
		}
		else if (strChar == '\u00A6') 
		{
		  strChar='%C2%A6';
		}
		else if (strChar == '\u00A7') 
		{
		  strChar='%C2%A7';
		}
		else if (strChar == '\u00A9') 
		{
		  strChar='%C2%A9';
		}
		else if (strChar == '\u00AB') 
		{
		  strChar='%C2%AB';
		}
		else if (strChar == '\u00AC') 
		{
		  strChar='%C2%AC';
		}
		else if (strChar == '\u00AD') 
		{
		  strChar='%C2%AD';
		}
		else if (strChar == '\u00AE') 
		{
		  strChar='%C2%AE';
		}
		else if (strChar == '\u00B0') 
		{
		  strChar='%C2%B0';
		}
		else if (strChar == '\u00B5') 
		{
		  strChar='%C2%B5';
		}
		else if (strChar == '\u00B6') 
		{
		  strChar='%C2%B6';
		}
		else if (strChar == '\u00B7') 
		{
		  strChar='%C2%B7';
		}
		else if (strChar == '\u00BB') 
		{
		  strChar='%C2%BB';
		}
		else if (strChar == '\u00BF') 
		{
		  strChar='%C2%BF';
		}
		else if (strChar == '\u2013') 
		{
		  strChar='%E2%80%93t%A4%F7%E4';
		}
		else if (strChar == '\u2014') 
		{
		  strChar='%E2%80%94t%A4%F7%8C';
		}
		else if (strChar == '\u2015') 
		{
		  strChar='%E2%80%95t%A4%F7%BC';
		}
		else if (strChar == '\u2018') 
		{
		  strChar='%E2%80%98t%A4%F7%E4';
		}
		else if (strChar == '\u2019') 
		{
		  strChar='%E2%80%99t%A4%F7%E4';
		}
		else if (strChar == '\u201A') 
		{
		  strChar='%E2%80%9At%A4%F7%BC';
		}
		else if (strChar == '\u201C') 
		{
		  strChar='%E2%80%9Ct%A4%F7%8C';
		}
		else if (strChar == '\u201D') 
		{
		  strChar='%E2%80%9Dt%A4%F7%E4';
		}
		else if (strChar == '\u201E') 
		{
		  strChar='%E2%80%9Et%A4%F7%8C';
		}
		else if (strChar == '\u2020') 
		{
		  strChar='%E2%80%A0t%A4%F7%BC';
		}
		else if (strChar == '\u2021') 
		{
		  strChar='%E2%80%A1t%A4%F7%E4';
		}
		else if (strChar == '\u2022') 
		{
		  strChar='%E2%80%A2t%A4%F7%8C';
		}
		else if (strChar == '\u2026') 
		{
		  strChar='%E2%80%A6t%A4%F7%BC';
		}
		else if (strChar == '\u2030') 
		{
		  strChar='%E2%80%B0t%A4%F7%8C';
		}
		else if (strChar == '\u2032') 
		{
		  strChar='%E2%80%B2t%A4%F7%E4';
		}
		else if (strChar == '\u2033') 
		{
		  strChar='%E2%80%B3t%A4%F7%BC';
		}
		else if (strChar == '\u2039') 
		{
		  strChar='%E2%80%B9t%A4%F7%8C';
		}
		else if (strChar == '\u203A') 
		{
		  strChar='%E2%80%BAt%A4%F7%E4';
		}
		else if (strChar == '\u2044') 
		{
		  strChar='%E2%81%84t%A4%F7%BC';
		}
		else if (strChar == '\u00A2') 
		{
		  strChar='%C2%A2';
		}
		else if (strChar == '\u00A3') 
		{
		  strChar='%C2%A3';
		}
		else if (strChar == '\u00A5') 
		{
		  strChar='%C2%A5';
		}
		else if (strChar == '\u20AC') 
		{
		  strChar='%E2%82%ACt%A4%F7%BC';
		}
		else if (strChar == '\u00B2') 
		{
		  strChar='%C2%B2';
		}
		else if (strChar == '\u00B3') 
		{
		  strChar='%C2%B3';
		}
		else if (strChar == '\u00B9') 
		{
		  strChar='%C2%B9';
		}
		else if (strChar == '\u2122') 
		{
		  strChar='%E2%84%A2t%A4%F7%E4';
		}
		else if (strChar == '\u2126') 
		{
		  strChar='%E2%84%A6t%A4%F7%8C';
		}
		else if (strChar == '\u00BC') 
		{
		  strChar='%C2%BC';
		}
		else if (strChar == '\u00BD') 
		{
		  strChar='%C2%BD';
		}
		else if (strChar == '\u00BE') 
		{
		  strChar='%C2%BE';
		}
		else if (strChar == '\u2190') 
		{
		  strChar='%E2%86%90t%A4%F7%E4';
		}
		else if (strChar == '\u2191') 
		{
		  strChar='%E2%86%91t%A4%F7%BC';
		}
		else if (strChar == '\u2192') 
		{
		  strChar='%E2%86%92t%A4%F7%8C';
		}
		else if (strChar == '\u2193') 
		{
		  strChar='%E2%86%93t%A4%F7%BC';
		}
		else if (strChar == '\u2194') 
		{
		  strChar='%E2%86%94t%A4%F7%E4';
		}
		else if (strChar == '\u2195') 
		{
		  strChar='%E2%86%95t%A4%F7%8C';
		}
		else if (strChar == '\u21A8') 
		{
		  strChar='%E2%86%A8t%A4%F7%8C';
		}
		else if (strChar == '\u00B1') 
		{
		  strChar='%C2%B1';
		}
		else if (strChar == '\u00D7') 
		{
		  strChar='%C3%97';
		}
		else if (strChar == '\u00F7') 
		{
		  strChar='%C3%B7';
		}
		else if (strChar == '\u2202') 
		{
		  strChar='%E2%88%82t%A4%F7%E4';
		}
		else if (strChar == '\u2206') 
		{
		  strChar='%E2%88%86t%A4%F7%BC';
		}
		else if (strChar == '\u220F') 
		{
		  strChar='%E2%88%8Ft%A4%F7%8C';
		}
		else if (strChar == '\u2211') 
		{
		  strChar='%E2%88%91t%A4%F7%E4';
		}
		else if (strChar == '\u2212') 
		{
		  strChar='%E2%88%92t%A4%F7%BC';
		}
		else if (strChar == '\u2215') 
		{
		  strChar='%E2%88%95t%A4%F7%8C';
		}
		else if (strChar == '\u2219') 
		{
		  strChar='%E2%88%99t%A4%F7%E4';
		}
		else if (strChar == '\u221A') 
		{
		  strChar='%E2%88%9At%A4%F7%8C';
		}
		else if (strChar == '\u221E') 
		{
		  strChar='%E2%88%9Et%A4%F7%BC';
		}
		else if (strChar == '\u221F') 
		{
		  strChar='%E2%88%9Ft%A4%F7%BC';
		}
		else if (strChar == '\u2229') 
		{
		  strChar='%E2%88%A9t%A4%F7%E4';
		}
		else if (strChar == '\u222B') 
		{
		  strChar='%E2%88%ABt%A4%F7%8C';
		}
		else if (strChar == '\u2248') 
		{
		  strChar='%E2%89%88t%A4%F7%BC';
		}
		else if (strChar == '\u2260') 
		{
		  strChar='%E2%89%A0t%A4%F7%E4';
		}
		else if (strChar == '\u2261') 
		{
		  strChar='%E2%89%A1t%A4%F7%8C';
		}
		else if (strChar == '\u2264') 
		{
		  strChar='%E2%89%A4t%A4%F7%E4';
		}
		else if (strChar == '\u2265') 
		{
		  strChar='%E2%89%A5t%A4%F7%BC';
		}
		else if (strChar == '\u2320') 
		{
		  strChar='%E2%8C%A0t%A4%F7%8C';
		}
		else if (strChar == '\u2321') 
		{
		  strChar='%E2%8C%A1t%A4%F7%E4';
		}
		else if (strChar == '\u2592') 
		{
		  strChar='%E2%96%92t%A4%F7%BC';
		}
		else if (strChar == '\u25A0') 
		{
		  strChar='%E2%96%A0t%A4%F7%8C';
		}
		else if (strChar == '\u25B2') 
		{
		  strChar='%E2%96%B2t%A4%F7%E4';
		}
		else if (strChar == '\u25BC') 
		{
		  strChar='%E2%96%BCt%A4%F7%BC';
		}
		else if (strChar == '\u25CA') 
		{
		  strChar='%E2%97%8At%A4%F7%BC';
		}
		else if (strChar == '\u25CF') 
		{
		  strChar='%E2%97%8Ft%A4%F7%8C';
		}
		else if (strChar == '\u00A8') 
		{
		  strChar='%C2%A8';
		}
		else if (strChar == '\u00AF') 
		{
		  strChar='%C2%AF';
		}
		else if (strChar == '\u00B4') 
		{
		  strChar='%C2%B4';
		}
		else if (strChar == '\u00B8') 
		{
		  strChar='%C2%B8';
		}
		else if (strChar == '\u02C6') 
		{
		  strChar='%CB%86';
		}
		else if (strChar == '\u02C7') 
		{
		  strChar='%CB%87';
		}
		else if (strChar == '\u02D8') 
		{
		  strChar='%CB%98';
		}
		else if (strChar == '\u02D9') 
		{
		  strChar='%CB%99';
		}
		else if (strChar == '\u02DA') 
		{
		  strChar='%CB%9A';
		}
		else if (strChar == '\u02DB') 
		{
		  strChar='%CB%9B';
		}
		else if (strChar == '\u02DC') 
		{
		  strChar='%CB%9C';
		}
		else if (strChar == '\u02DD') 
		{
		  strChar='%CB%9D';
		}
		else if (strChar == '\u0300') 
		{
		  strChar='%CC%80';
		}
		else if (strChar == '\u0301') 
		{
		  strChar='%CC%81';
		}
		else if (strChar == '\u0303') 
		{
		  strChar='%CC%83';
		}
		else if (strChar == '\u0110') 
		{
		  strChar='%C4%90';
		}
		else if (strChar == '\u0111') 
		{
		  strChar='%C4%91';
		}
		else if (strChar == '\u0141') 
		{
		  strChar='%C5%81';
		}
		else if (strChar == '\u0142') 
		{
		  strChar='%C5%82';
		}
		else if (strChar == '\u014A') 
		{
		  strChar='%C5%8A';
		}
		else if (strChar == '\u014B') 
		{
		  strChar='%C5%8B';
		}
		else if (strChar == '\u0166') 
		{
		  strChar='%C5%A6';
		}
		else if (strChar == '\u0167') 
		{
		  strChar='%C5%A7';
		}
		else
		{
		  strChar = escape(strChar);	
		}
						
		strNewValue = strNewValue + strChar;

	}

	return strNewValue;
};
