//===========================================================================
// jctsobj_c.asp
//
// (c) 2001 Computer Technology Systems B.V.
//
// Last updated by Henk de Jong 23-08-2001 19:45
//===========================================================================

bIe=(document.all)?true:false;
//===========================================================================
// ctsFindObj, find object, original from Macromedia
// parm1: (char) -> name of object to find (case sensitive!!)
// [parm2]: (document object) -> which document, default is current
// Examples:
// Find image 'home' from frame 'leftbar' -> ctsFindObj( 'home?leftbar' )
//===========================================================================
function ctsFindObj(sObj, d) {
	var p,i,x;  
		
	if( !d ) d=document; 
	if( (p=sObj.indexOf("?") ) > 0 && parent.frames.length ) {
		var sFrame = sObj.substring(p+1);
		if( parent.frames[sFrame]) {
			d=parent.frames[sFrame].document;
			sObj=sObj.substring(0,p);
		}
		else alert( "Cannot find frame '" + sFrame );		
	}
	if( !(x=d[sObj]) && d.all) x=d.all[sObj]; 
	for( i=0; !x&&i < d.forms.length; i++ ) x=d.forms[i][sObj];
	for( i=0; !x && d.layers && i < d.layers.length; i++) 
		x=ctsFindObj( sObj, d.layers[i].document );
	if( !x && document.getElementById ) x=document.getElementById(sObj);
	return x;
}

//===========================================================================
// ctsShowDiv - Shows or hides a div(s)(layer(s)), original From Macromedia
// parm1: (object) -> layer object
// parm2: (string) -> empty (not used)
// parm3: (string) -> "show" or "hide"
//===========================================================================
function ctsShowDiv() { //v3.0
  var i,p,v,obj,args=ctsShowDiv.arguments;
  for (i=0; i < (args.length-2); i+=3) 
  	if ((obj=ctsFindObj(args[i]))!=null) {
		v=args[i+2];
    	if (obj.style) { 
			obj=obj.style; 
			v=(v=='show')?'visible':(v='hide')?'hidden':v;
		}
		obj.visibility=v;
	}
}

//===========================================================================
// ctsDisplayDiv, sets or retrieves whether the object is rendered.
// parm1 (string) : id of div
// parm2 (string) : "none" -> object is rendered as a block element
// 					"block" -> object is not rendered
//					for other options see msdn or netscape dev or whatever
//===========================================================================
function ctsDisplayDiv() {
	var oDiv,sDisp,oArgs = ctsDisplayDiv.arguments;
	for( var i=0; i < oArgs.length-1; i+=2 ) {
		if( ( oDiv = ctsFindObj( oArgs[i])) != null )
			if( oDiv.style ) oDiv.style.display = oArgs[i+1];			
	}
}

//===========================================================================
// ctsGetOffsetLeft, get the left position from element
// oElement (object) : element object to get position from
// return (number) : left position
//===========================================================================
function ctsGetOffsetLeft( oElement ) {
  var oLeft = oElement.offsetLeft;
  
  while( (oElement = oElement.offsetParent) != null)
    oLeft += oElement.offsetLeft;
  
  return oLeft;
}

//===========================================================================
// ctsGetOffsetTop, get the top position from element
// oElement (object) : element object to get position from
// return (number) : top position
//===========================================================================
function ctsGetOffsetTop( oElement ) {
	var oTop = oElement.offsetTop;
  
  while( (oElement = oElement.offsetParent) != null)
  	oTop += oElement.offsetTop;
  
	return oTop;
}

//===========================================================================
// ctsSetDivPos, sets the div(layer) position (x(left),y(top))
// oDivElement (object) : div element
// nLeft (number) : left position
// nTop (number) : top position
//===========================================================================
function ctsSetDivPos( oDivElement, nLeft,nTop ) {
	if( !oDivElement ) return;

	if( bIe ) {			
		oDivElement.style.pixelLeft = nLeft;
		oDivElement.style.pixelTop = nTop;
	}
	else {
		oDivElement.left = nLeft;
		oDivElement.top = nTop;
	}
}

//===========================================================================
// ctsGetDivPosLeft, get the left position of div(layer)
// oDivElement (object) : div element
// returns (number) : left position
//===========================================================================
function ctsGetDivPosLeft( oDivElement ) {
	var nLeft = null;
	if( !oDivElement ) return nLeft;
	if( bIe ) nLeft = oDivElement.style.pixelLeft;
	else nLeft = oDivElement.left;
	
	return nLeft;
}

//===========================================================================
// ctsGetDivPosTop, get the top position of div(layer)
// oDivElement (object) : div element
// returns (number) : top position
//===========================================================================
function ctsGetDivPosTop( oDivElement ) {
	var nTop = null;
	if( !oDivElement ) return nTop;
	if( bIe ) nTop = oDivElement.style.pixelTop;
	else nTop = oDivElement.top;
	
	return nTop;
}

//===========================================================================
// ctsSetFocus, sets focus to object
// oObj (object) : object that must have the focus
// returns (boolean) : true, focus set
//===========================================================================
function ctsSetFocus( oObj ) {
	if( oObj && oObj.focus ) {
		oObj.focus();
		return true;
	}
	return false;
}
