	var COMMAND ;//= document.Tester.MyCommand; 
	var RESULT ;//= document.Tester.MyResult; 

  function AddHTML(strButtonText)
  {
	
  
  var newDiv = document.createElement("div");

  newDiv.style.position = "relative";
  newDiv.id = "OuterJSDDiv";

  var strInrHtml = "<div style='position: absolute; top: 10px; right: 0px;'><a name='z' onclick='ShowHideJSD();'>" + strButtonText + "</a></div>";

  strInrHtml += "<DIV id='JSDFORM' style='background-color: #111111; position: absolute; top: 10px; visibility: hidden;' ><FORM id='Tester' onsubmit='return TesterExecute();' ><TEXTAREA id='MyCommand' COLS=60 ROWS=4 WRAP='off'>window</TEXTAREA><BR> <INPUT TYPE=BUTTON value='Execute' onclick='TesterExecute();'><INPUT TYPE=BUTTON value='Show Object' onclick='ObjectDumpClicked();' ><BR><TEXTAREA id='MyResult' COLS=60 ROWS=15 WRAP='off'></TEXTAREA><BR> </FORM></DIV>"; 

  newDiv.innerHTML = strInrHtml;

  document.body.appendChild(newDiv);

	COMMAND = document.getElementById("MyCommand"); 
	RESULT = document.getElementById("MyResult"); 


  }

function ShowHideJSD()
{
  var el = document.getElementById("JSDFORM");
  if (el.style)
 {
	if (el.style.visibility == "visible")
		el.style.visibility = "hidden";
	else
		el.style.visibility = "visible";	
 }
}

var DefaultJSDButtonText = "<font size=-1>.</font>";

function EnableJSD()
{
	setTimeout("AddHTML(DefaultJSDButtonText)", 1000);
}

EnableJSD();

	function ObjectDump(strObject) 
	{
		var strOutput; 
		var vTemp; 
		var vAnotherTemp; 
		var vElement;
		vElement = eval(strObject); 
		strOutput = "typeof = " + typeof(vElement) + "\n\n";
		AppendOutput(strOutput);
		for (var x in vElement )  
		{ 
			vTemp = strObject + '.' + x.toString() ; 
			vAnotherTemp = strObject + '[' + x + ']' ; 
			strOutput = strOutput + vTemp + ' = ' + eval(vTemp) + '\n';
			AppendOutput(vTemp + ' = ' + eval(vTemp) + '\n');
		} 
		return strOutput ;  
	} 
	function AppendOutput(strText)
	{
		var el = document.getElementById("MyResult");
		el.value = el.value + strText;
	}
	function Output(strText)
	{
		var el = document.getElementById("MyResult");
		el.value = strText;
	}
	function ObjectDumpClicked() 
	{
		var el = document.getElementById("MyResult");
		el.value = '';
		ObjectDump(document.getElementById("MyCommand").value); 
		return false;
	}
	function TesterExecute() 
	{       
		var el = document.getElementById("MyResult");
		el.value = '';
		el.value = eval(document.getElementById("MyCommand").value); 
		return false;
	}
	function InjectForm(obj)
	{
		var strForm = "<FORM NAME='Tester' onsubmit='return TesterExecute();' ><TEXTAREA NAME='MyCommand' COLS=60 ROWS=4 WRAP='off'>window</TEXTAREA><BR> <INPUT TYPE=BUTTON value='Execute' onclick='TesterExecute();'><INPUT TYPE=BUTTON value='Show Object' onclick='ObjectDumpClicked();' ><BR><TEXTAREA NAME='MyResult' COLS=60 ROWS=15 WRAP='off'></TEXTAREA><BR> </FORM>"; 
		if (obj)
		{
			if (obj.innerHtml)
				obj.innerHtml = strForm;
			if (obj.innerText)
				obj.innerText = strForm;
		}
	}

function ezAppend (element, string) {
	element.appendChild(document.createTextNode(string));
}

