diff options
Diffstat (limited to 'autocomplete/js/getobject2.js')
-rw-r--r-- | autocomplete/js/getobject2.js | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/autocomplete/js/getobject2.js b/autocomplete/js/getobject2.js new file mode 100644 index 0000000..d8125c5 --- /dev/null +++ b/autocomplete/js/getobject2.js @@ -0,0 +1,126 @@ +//misc objects +//a simple encapsulation object +//used to query widths and heights + +function cDomObject( sId ) +{ + if( bw.dom || bw.ie ) + { + this.hElement = document.getElementById( sId ) + this.hStyle = this.hElement.style + } +} + +cDomObject.prototype.getWidth = function( ) +{ + return cDomObject.getWidth( this.hElement ) +} + +cDomObject.getWidth = function( hElement ) +{ + if( hElement.currentStyle ) + { + var nWidth = parseInt( hElement.currentStyle.width ) + if( isNaN( nWidth ) ) + { + return parseInt( hElement.offsetWidth ) + } + else + { + return nWidth + } + } + else + { + return parseInt( hElement.offsetWidth ) + } +} + +cDomObject.prototype.getHeight = function( ) +{ + return cDomObject.getHeight( this.hElement ) +} + +cDomObject.getHeight = function( hElement ) +{ + if( hElement.currentStyle ) + { + var nHeight = parseInt( hElement.currentStyle.height ) + if( isNaN( nHeight ) ) + { + return parseInt( hElement.offsetHeight ) + } + else + { + return nHeight + } + } + else + { + return parseInt( hElement.offsetHeight ) + } +} + +cDomObject.prototype.getLeft = function() +{ + return cDomObject.getLeft( this.hElement ) +} + +cDomObject.getLeft = function( hElement ) +{ + return parseInt( hElement.offsetLeft ) +} + +cDomObject.prototype.getTop = function( ) +{ + return cDomObject.getTop( this.hElement ) +} + +cDomObject.getTop = function( hElement ) +{ + return parseInt( hElement.offsetTop ) +} + + +// used to get the absolute position of an relativeli position element +// by accumulating the offset parameters +// example +// cDomObject.getOffsetParam( hElement,'offsetLeft' ) + +cDomObject.getOffsetParam = function( hElement, sParam, hLimitParent ) +{ + var nRes = 0 + if( hLimitParent == null ) + { + hLimitParent = document.body.parentElement + } + while( hElement != hLimitParent ) + { + nRes += eval( 'hElement.' + sParam ) + if( !hElement.offsetParent ) { break } + hElement = hElement.offsetParent + } + return nRes +} + + +// used to get the absolute position of an relativeli position element +// by accumulating the scroll offset parameters +// example +// cDomObject.getScrollOffset( hElement,'Left' ) + +cDomObject.getScrollOffset = function( hElement, sParam, hLimitParent ) +{ + nRes = 0 + if( hLimitParent == null ) + { + hLimitParent = document.body.parentElement + } + while( hElement != hLimitParent ) + { + nRes += eval( 'hElement.scroll' + sParam ) + if( !hElement.offsetParent ) { break } + hElement = hElement.parentNode + } + return nRes +}
\ No newline at end of file |