<head>
<PUBLIC:COMPONENT tagName=TEXT_EDIT>
	<PUBLIC:PROPERTY NAME=rows>
	<PUBLIC:PROPERTY NAME=cols>
	<PUBLIC:METHOD NAME=setText>
	<PUBLIC:METHOD NAME=getText>
	<PUBLIC:METHOD NAME=setSelection>
	<PUBLIC:METHOD NAME=getSelection>
	<PUBLIC:METHOD NAME=setFocus>
	<PUBLIC:METHOD NAME=test>
	<PUBLIC:DEFAULTS viewLinkContent/>
  	<PUBLIC:ATTACH event="oncontentready" onevent="fnInit()"/>
</PUBLIC:COMPONENT>

<STYLE>
	#codeEdit
	{
				font-family:fixedsys;
				background:tan;
	}
	#linenumbers
	{
		font-family:fixedsys;
	}
</STYLE>
<script type='text/javascript'>
var curSelection = "";
function fnInit()
{
	var s = ""
	cols = (cols==null)?120:cols
	rows = (rows==null)?25:rows
	codeEdit.cols = cols
	codeEdit.rows = rows
	linenumbers.rows = codeEdit.rows
	codeEdit.onscroll = scrollLinenumbers
	linenumbers.onscroll = scrollCodeEdit
	for(var i = 1; i < 2000; i++)
		s += i + "\n"
	linenumbers.value = s
	document.onkeydown = checkTab;
	document.onmouseup = setSel;
}
function setFocus()
{
	codeEdit.focus()
}
function setSel()
{
	curSelection = document.selection.createRange()
	codeEdit.focus()
}
function checkTab() {
  	if (9==event.keyCode) {
		var s = ""
		codeEdit.selection = document.selection.createRange()
		var k = codeEdit.selection.text
		k = k.split("\n")
    		for(var i=0; i<k.length; i++)
			s += String.fromCharCode(9) + k[i]
 		codeEdit.selection.text= s
 		event.returnValue=false
  	}
	curSelection = document.selection.createRange()
}
function scrollLinenumbers(){
	linenumbers.scrollTop=codeEdit.scrollTop
}
function scrollCodeEdit(){
	codeEdit.scrollTop=linenumbers.scrollTop
}
function getText()
{
	return codeEdit.value
}
function setText(t)
{
	codeEdit.value = t
}
function getSelection()
{
	return curSelection
}
function setSelection(t)
{
	try
	{
		curSelection.text = t
	}
	catch(e){}
}
function test()
{
	alert("codeEdit method")
}
</script>
</head>
<body>
<table>
<tr><td>
<textarea id="linenumbers" rows="25" cols="4" WRAP="off"></textarea>
</td><td>
<textarea id="codeEdit" WRAP="off" rows="25" cols="80"></textarea>
</td></tr>
</table>
</body>
