jQuery.fn.aPosition = function() {thisLeft = this.offset().left;thisTop = this.offset().top; thisParent = this.parent();parentLeft = thisParent.offset().left;parentTop = thisParent.offset().top;return {left: thisLeft-parentLeft, top: thisTop-parentTop}}$(document).ready(function() {  $('.bubbleInfo').each(function () {    // options    var distance = 10;    var time = 350;    var hideDelay = 50;    var hideDelayTimer = null;    // tracker    var beingShown = false;    var shown = false;        var trigger = $('.trigger', this);    var popup = $('.popup', this).css('opacity', 0);				  		var xOffset = $(this.parentNode).position().left-40;				var yOffset = $(this.parentNode).position().top+120;				    // set the mouseover and mouseout on both element    $([trigger.get(0), popup.get(0)]).mouseover(function () {																																																							      // stops the hide event if we move from the trigger to the popup element      if (hideDelayTimer) clearTimeout(hideDelayTimer);      // don't trigger the animation again if we're being shown, or already visible      if (beingShown || shown) {        return;      } else {        beingShown = true;        // reset position of popup box        popup.css({          //top: 120,          //left: -46,										top: yOffset,										left: xOffset,          display: 'block' // brings the popup back in to view        })        // (we're using chaining on the popup) now animate it's opacity and position        .animate({          top: '-=' + distance + 'px',          opacity: 1        }, time, 'swing', function() {          // once the animation is complete, set the tracker variables          beingShown = false;          shown = true;										        });      }    }).mouseout(function () {      // reset the timer if we get fired again - avoids double animations      if (hideDelayTimer) clearTimeout(hideDelayTimer);            // store the timer so that it can be cleared in the mouseover if required      hideDelayTimer = setTimeout(function () {        hideDelayTimer = null;        popup.animate({          top: '-=' + distance + 'px',          opacity: 0        }, time, 'swing', function () {          // once the animate is complete, set the tracker variables          shown = false;          // hide the popup entirely after the effect (opacity alone doesn't do the job)          popup.css('display', 'none', 'zIndex', '99');        });      }, hideDelay);    });  });});$(document).ready(function() {				$('#tweets').hide();var timeout;$('#Twitter').mouseover(function() {clearTimeout(timeout);$('#tweets').fadeIn('fast');});$('#tweets').mouseover(function() {clearTimeout(timeout);});$('#Twitter, #tweets').mouseout(function() {timeout = setTimeout(function(){$('#tweets').fadeOut('fast');}, 1000);});/*$('.galleryLink').click(function($item_id) {var HCnid = 1;// fire AJAX$.ajax({ url: "/uklabel2/?q=/statistics/ajax/" + HCnid,type: "GET",dataTypeString: "text",//success: function() { alert("updated Node ID " + NiD + "!"); },success: function(data) {    $('.result').html(data);    alert('Node ID ' + HCnid + ' was updated.');  }});});*/});
