// http://www.howtocreate.co.uk/tutorials/javascript/browserwindow function getScrollXY() { var scrOfX = 0, scrOfY = 0; if( typeof( window.pageYOffset ) == 'number' ) { //Netscape compliant scrOfY = window.pageYOffset; scrOfX = window.pageXOffset; } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) { //DOM compliant scrOfY = document.body.scrollTop; scrOfX = document.body.scrollLeft; } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) { //IE6 standards compliant mode scrOfY = document.documentElement.scrollTop; scrOfX = document.documentElement.scrollLeft; } return { x : scrOfX, y : scrOfY }; } //http://www.quirksmode.org/js/findpos.html function findPos(obj) { var curleft = curtop = 0; if (obj) { do { curleft += obj.offsetLeft; curtop += obj.offsetTop; } while (obj = obj.offsetParent); } return { left: curleft, top: curtop }; } function Hover(){}; Hover.show = function( cardname, hid) { Hover.hide(); Hover.sib = document.getElementById( hid ); if( Hover.sib != undefined && Hover.sib.parentNode != undefined ) { var offsets = getScrollXY(); var pos = findPos( Hover.sib ); Hover.el = document.createElement("div"); Hover.el.style.border= "3px solid #000000"; Hover.el.style.position = "absolute"; Hover.el.style.left = pos.left + "px"; var divHeight = 291; var topAbove = pos.top - divHeight; if( topAbove >= offsets.y ) { Hover.el.style.top = pos.top - divHeight + "px"; } else { Hover.el.style.top = pos.top + Hover.sib.offsetHeight + "px"; } var img = document.createElement("img"); img.src = cardname; Hover.el.appendChild( img ); setTimeout( "if( Hover.el != undefined ) { document.body.appendChild( Hover.el ); }", 400 ); } }; Hover.hide = function() { if( Hover.el != undefined ) { if( Hover.el.parentNode != undefined ) { Hover.el.parentNode.removeChild( Hover.el ); } } Hover.sib = undefined; Hover.el = undefined; };