//***********************************************************************************************************************************************************************************
	function padLeft(val,length)
	{
		val = val.toUpperCase();
		while(val.length < length)
		{
			val = "0"+val;
		}
		return val;
	}
	
	function value2Hex(val)
	{
		if(val < 256)
		{
			return padLeft(val.toString(16),2)+" ";
		}
		return "-- ";
	}
	
	function normaliseText(sText)
	{
		var returnValue = "";
		for(i=0;i<sText.length;i++)
		{
			if(32 > sText.charCodeAt(i))
			{
				returnValue+=".";
			}
			else
			{
				returnValue+=sText.charAt(i);
			}
		}
		return returnValue;
	}
	
	function text2Hex(sText)
	{
		var returnValue = "";
		for(i=0;i<sText.length;i++)
		{
			if( 0 == (i % 8))
			{
				if( 0 == (i % 16))
				{
					if(i > 0)
					{
						returnValue+="<br/>";
					}
					returnValue+=padLeft(i.toString(16),8)+":";
				}
				returnValue+="&nbsp;";
			}
			returnValue+=value2Hex(sText.charCodeAt(i));
		}
		return returnValue;
	}
	
	function stuffPanel(cPanel,sText)
	{
		var iPosition = 0;
		var buffer = "1";
		cPanel.innerHTML = "";
		buffer = sText.substr(iPosition,16);
		while(buffer.length > 0)
		{
				cPanel.insertAdjacentText("BeforeEnd",buffer);
				cPanel.insertAdjacentHTML("BeforeEnd","<br/>");
				buffer = sText.substr( (iPosition+=16) ,16);
		}
	}
	function convertText2Hex(textBoxId,panelId)
	{
		var panel = document.getElementById(panelId);
		var textPanel = document.getElementById(textBoxId);
		panel.innerHTML = text2Hex(textPanel.value);
		return false;
	}
	function pasteFromClipboard(textBoxId,panelId)
	{
		document.getElementById(textBoxId).createTextRange().execCommand("Paste");
		return convertText2Hex(textBoxId,panelId);
	}
//*************************************************************************************************
