//===========================================================================

// jctsobj_c.asp

//

// (c) 2001 Computer Technology Systems B.V.

//

// Last updated by Henk de Jong 23-08-2001 19:45

//===========================================================================

 

bIe=(document.getElementById)?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.left = nLeft;

                        oDivElement.style.top = 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;

}
