X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=phpfspot.git;a=blobdiff_plain;f=bubble.js;h=d44780e4ab22cb12a7402691c3c5dd195fb51515;hp=74ad4605750396cb5ee138d02a77f4029d911ea6;hb=7b0e0e56666b6755665b76a4c525a1269e4bc0d1;hpb=1f8f27b4ac3afc282c9d7aecd91953498a40f8ee diff --git a/bubble.js b/bubble.js index 74ad460..d44780e 100644 --- a/bubble.js +++ b/bubble.js @@ -17,9 +17,39 @@ if(typeof Array.prototype.push!="function"){ } } -function WSR_getElementsByClassName(_2,_3,_4){ +function WSR_getElementsByClassName(oElm, strTagName, oClassNames){ + var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName); + var arrReturnElements = new Array(); + var arrRegExpClassNames = new Array(); + if(typeof oClassNames == "object"){ + for(var i=0; i= _iH) { - var _f=findPos(_c)[1]-283; - var _mT=16; - var _mL=12; - bubbleImage = bubbleImageUp; + // should the bubble be displayed above or below the object + if(cur_height >= get_page_height()) { + var _f=findPos(_c)[1]-363; + bubbleImage = bubbleImageUp; + } + else { + var _f=findPos(_c)[1]+17; + bubbleImage = bubbleImageDown; + } } else { - var _f=findPos(_c)[1]+17; - var _mT=27; - var _mL=12; - bubbleImage = bubbleImageDown; + var _e=findPos(_c)[0]+5; + var _f=findPos(_c)[1]+129; + bubbleImage = bubbleImageDown; } - if (BrowserDetect.browser == 'Explorer') { - _10.style.width="240px"; + _10.style.width="275px"; + _10.style.height="275px"; _10.style.position="absolute"; _10.style.top=_f; _10.style.zIndex=99999; _10.style.left=_e; _10.style.textAlign="left"; - _10.style.height="190px"; - _10.style.paddingTop="0"; - _10.style.paddingLeft="0"; - _10.style.paddingBottom="0"; - _10.style.paddingRight="0"; - _10.style.marginTop="0"; - _10.style.marginLeft="0"; - _10.style.marginBottom="0"; - _10.style.marginRight="0"; _10.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + bubbleImage + "',sizingMethod='image')"; + } else if (BrowserDetect.browser == 'Safari' || BrowserDetect.browser == 'Konqueror' ) { + _10.setAttribute("style","text-align: center; z-index: 99999; position: absolute; top: "+ _f +"px ; left: "+ _e +"px ; background: url("+ bubbleImage +") no-repeat; width: 275px; height: 275px; padding: 0; margin: 0;"); } else { - _10.setAttribute("style","text-align: center; z-index: 99999; position: absolute; top: "+_f+"px ; left: "+_e+"px ; background: url("+ bubbleImage +") no-repeat; width: 240px; height: 190px; padding: 0; margin: 0;"); - } - - if (BrowserDetect.browser == 'Safari' || BrowserDetect.browser == 'Konqueror' ) { - - var _height = _f; - - _10.setAttribute("style","text-align: center; z-index: 99999; position: absolute; top: "+ _height +"px ; left: "+_e+"px ; background: url("+ bubbleImage +") no-repeat; width: 240px; height: 190px; padding: 0; margin: 0;"); - + _10.setAttribute("style","text-align: center; z-index: 99999; position: absolute; top: "+_f+"px ; left: "+ _e +"px ; background: url("+ bubbleImage +") no-repeat; width: 275px; height: 275px; padding: 0; margin: 0;"); } - var img=document.createElement("img"); - _10.appendChild(img); + if(cur_height >= get_page_height()) + showBubbleDetails(_10, _c.id, 'up'); + else + showBubbleDetails(_10, _c.id, 'down'); - if (BrowserDetect.browser == 'Explorer') { - img.style.paddingTop="0"; - img.style.paddingLeft="0"; - img.style.paddingBottom="0"; - img.style.paddingRight="0"; - img.style.margin="auto"; - img.style.marginTop=_mT; - img.style.marginLeft=_mL; - img.style.marginBottom="0"; - img.style.marginRight="0"; - img.style.borderTop="0"; - img.style.borderLeft="0"; - img.style.borderBottom="0"; - img.style.borderRight="0"; - } else { - img.setAttribute("style","padding-top: 0; padding-left: 0; padding-right: 0; padding-bottom: 0; margin-top: " + _mT +"px; margin-left: " + _mL +"px; margin-bottom: 0; margin-right: 0; border: 0"); - } - img.setAttribute("src","phpfspot_img.php?idx=" + _c.id + "&width=200"); - img.setAttribute("width",202); - img.setAttribute("height",152); - img.setAttribute("alt","Snapshot"); } function detachBubble(_12){ @@ -141,12 +146,6 @@ function detachBubble(_12){ } } -/*if(window.addEventListener){ - addEventListener("load",bindBubbles,false); -}else{ - attachEvent("onload",bindBubbles); -}*/ - function findPos(obj){ var _14=curtop=0; if(obj.offsetParent){ @@ -265,13 +264,71 @@ var BrowserDetect = { }; -function var_dump(obj) { - if(typeof obj == "object") { - return "Type: "+typeof(obj)+((obj.constructor) ? "\nConstructor: "+obj.constructor : "")+"\nValue: " + obj; - } else { - return "Type: "+typeof(obj)+"\nValue: "+obj; +function var_dump(arr,level) { + var dumped_text = ""; + if(!level) level = 0; + + //The padding given at the beginning of the line. + var level_padding = ""; + for(var j=0;j \"" + value + "\"\n"; + } + } + } else { //Stings/Chars/Numbers etc. + dumped_text = "===>"+arr+"<===("+typeof(arr)+")"; } + return dumped_text; + }//end function var_dump +function get_page_height() +{ + var myHeight = 0; + if( typeof( window.innerHeight ) == 'number' ) { + //Non-IE + myHeight = window.innerHeight; + } else if( document.documentElement && document.documentElement.clientHeight ) { + //IE 6+ in 'standards compliant mode' + myHeight = document.documentElement.clientHeight; + } else if( document.body && document.body.clientHeight ) { + //IE 4 compatible + myHeight = document.body.clientHeight; + } + + return myHeight; +} + +function get_scroll_position() +{ + if (typeof window.pageYOffset != 'undefined') { + return window.pageYOffset; + } + else { + if (typeof document.compatMode != 'undefined' && + document.compatMode != 'BackCompat' && + typeof window.scrollTop != 'undefined') + return window.scrollTop; + else { + if(typeof document.documentElement.scrollTop != 'undefined') + return document.documentElement.scrollTop; + else { + if (typeof document.body.scrollTop != 'undefined') + return document.body.scrollTop; + } + } + } + + return 0; + +} BrowserDetect.init();