var isNav4, isNav6, isIE4;

function init()
{
	setBrowser();
}

function setBrowser()
{
  if (navigator.appVersion.charAt(0) == "4")
  {
	if (navigator.appName.indexOf("Explorer") >= 0)
	{
	  isIE4 = true;
	}
	else
	{
	  isNav4 = true;
	}
  }
  else if (navigator.appVersion.charAt(0) > "4")
  {
	isNav6 = true;
  }
}

function toggle( evt, elem )
{
	var ref = getEventElement( evt );
	var fn = ref.form.name;
	
	var e = document.forms[fn].elements[elem];
	
	var str = ( ref.checked ) ? "visible" : "hidden";
	e.style.visibility = str;
}

function getObject( name )
{
	if( isNav6 )
	{
		return document.getElementById(name);
	}
	else if( isIE4 )
	{
		var temp = document.all[name];
//		if( temp.nodeName == "TABLE" ) temp = temp.tBodies[0];
		return temp;
	}
	else if( isNav4 )
	{
		return document.layers[name];
	}
}

function getEventElement( evt )
{
	if( isNav6 ) var ref = ( evt.nodeType ) ? evt : evt.target;
	else if( isIE4 ) var ref = ( evt.nodeType ) ? evt : evt.srcElement;

	return ref;
}

function findOwner( node, elem )
{  
	while( node )
	{
		if( node.nodeName == elem ) return node;	
		node = node.parentNode;
	}
  
	return null;
}

function addEvent( obj, ev, func )
{
	if( isIE4 )
	{
		var event = "on" + ev;
		obj.attachEvent( event, func );
	}
	else if( isNav6 )
	{
		obj.addEventListener( ev, func, false );
	}
}

function removeEvent( obj, ev, func )
{
	if( isIE4 )
	{
		var event = "on" + ev;
		return obj.detachEvent( event, func );
	}
	else if( isNav6 )
	{
		return obj.removeEventListener( ev, func, false );
	}
}

function myElement( elem )
{
	if( elem == "removebutton" )
	{
		var e = document.createElement( "input" );
		e.type = "button";
		e.value = " - ";
	}

	return e;
}

function myTableRow( tblid, fn )
{
	var tbl = getObject( tblid );
	var ntr = document.createElement( "tr" );
	ntr.setAttribute( "align", "center" );
	tbl.appendChild( ntr );

	if( !fn ) { fn = 0; }
	this.formnum = fn;
	var cnt_str = tblid + "_cnt";

	this.linecounter = document.forms[this.formnum].elements[cnt_str];
		
	this.tds = new Array();

	this.appendTD = function( num ) 
	{
		this.tdlastnum = num - 1;
		for( var i = 0; i < num; i++ )
		{
			var ntd = document.createElement( "td" );
			ntr.appendChild( ntd );
			this.tds[i] = ntd;
		}

		var rb = new myElement( "removebutton" );		
		addEvent( rb, "click", removeLine );
		this.tds[this.tds.length-1].appendChild( rb );
		this.tds[this.tds.length-1].width = "5%";
	}
}

function removeLine( evt )
{
	var ref = getEventElement( evt );
	var row = findOwner( ref, "TR" );

	var tbl = row.parentNode;
	tbl.removeChild( row );
}