/* * JTip * By Cody Lindley (http://www.codylindley.com) * Under an Attribution, Share Alike License * JTip is built on top of the very light weight jquery library. */ //on page load (as soon as its ready) call JT_init $(document).ready(JT_init); function JT_init(){ $("a.jtip") .hover(function(){JT_show(this.id)},function(){$('#JT').remove()}) //this line originally was commented .click(function(){return false}); } function JT_show(theIcon){ var de = document.documentElement; var w = self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth; var hasArea = w - getAbsoluteLeft(theIcon); var clickElementy = getAbsoluteTop(theIcon) - 3; //set y position var popupWidth = 54; //le popup n'apparait pas si le lien est coupé sur deux lignes... if(hasArea>((popupWidth*1)+75)) { $("body").append("
");//right side var arrowOffset = getElementWidth(theIcon) + 4; var clickElementx = getAbsoluteLeft(theIcon) + arrowOffset; //set x position } else { $("body").append("");//left side var clickElementx = getAbsoluteLeft(theIcon) - ((popupWidth*1) + 4); //set x position } document.getElementById('JT').innerHTML = ""; $('#JT').css({left: clickElementx+"px", top: clickElementy+"px"}); $('#JT').show(); } function getElementWidth(objectId) { x = document.getElementById(objectId); return x.offsetWidth; } function getAbsoluteLeft(objectId) { // Get an object left position from the upper left viewport corner o = document.getElementById(objectId) oLeft = o.offsetLeft // Get left position from the parent object while(o.offsetParent!=null) { // Parse the parent hierarchy up to the document element oParent = o.offsetParent // Get parent object reference oLeft += oParent.offsetLeft // Add parent left position o = oParent } return oLeft } function getAbsoluteTop(objectId) { // Get an object top position from the upper left viewport corner o = document.getElementById(objectId) oTop = o.offsetTop // Get top position from the parent object while(o.offsetParent!=null) { // Parse the parent hierarchy up to the document element oParent = o.offsetParent // Get parent object reference oTop += oParent.offsetTop // Add parent top position o = oParent } return oTop } function parseQuery ( query ) { var Params = new Object (); if ( ! query ) return Params; // return empty object var Pairs = query.split(/[;&]/); for ( var i = 0; i < Pairs.length; i++ ) { var KeyVal = Pairs[i].split('='); if ( ! KeyVal || KeyVal.length != 2 ) continue; var key = unescape( KeyVal[0] ); var val = unescape( KeyVal[1] ); val = val.replace(/\+/g, ' '); Params[key] = val; } return Params; } function blockEvents(evt) { if (evt.target){ evt.preventDefault(); } else{ evt.returnValue = false; } }