document.pos_x = 0;
document.pos_y = 0;
document.showing_bubble = false;
document.over_cat_id = 0;
document.set_cat_id = 0;

function register_position_tracking() {
	document.body.onmousemove = function(e) {
		
		if (!e) var e = window.event;
		e.cancelBubble = true;
		
		if (e.stopPropagation) e.stopPropagation();
		
		e = e || window.event;
		
		var cur = getPosition(e);		
		
		var update_pos = false;
		var update_text = false;
		var update_vis = false;
		
		var elem = document.getElementById('blurbDiv');
		
		if ((elem.style.display == 'none') && (document.show_bubble == true))
			elem.style.display = 'block';
			
		if ((elem.style.display == 'block') && (document.show_bubble == false))
			elem.style.display = 'none';
		
 		if (document.over_cat_id != document.set_cat_id)
			update_text = true;
					
		if ((document.pos_x != cur.x) || (document.pos_y != cur.y))
			update_pos = true;
		
		//document.title = document.pos_x;
		//document.title = document.pos_y;
		//document.title = document.pos_x + ',' + document.pos_y + ':'+ (document.show_popup?'true':'false');
		
		if (update_pos) {
			document.pos_x = cur.x;
			document.pos_y = cur.y-120;
		
			elem.style.left = document.pos_x+'px';
			elem.style.top = document.pos_y+'px';
			
			if (update_text) {
				document.getElementById('blurbDivText').innerHTML = document.getElementById('thumb_blurb_for_'+document.over_cat_id).innerHTML;
				document.set_cat_id = document.over_cat_id;	
			}
		
		}
	
		//return false;
	}
}

function getPosition(e) {
    var cursor = {x:0, y:0};
     if (e.pageX || e.pageY) {
         cursor.x = e.pageX;
         cursor.y = e.pageY;
     }
     else {
         cursor.x = e.clientX +
             (document.documentElement.scrollLeft ||
             document.body.scrollLeft) -
             document.documentElement.clientLeft;
         cursor.y = e.clientY +
             (document.documentElement.scrollTop ||
             document.body.scrollTop) -
             document.documentElement.clientTop;
     }
     return cursor;
}

addEvent(window, 'load', register_position_tracking);
