jQuery.fn.xbinfos = function(options){

//	var ltie7 = ($.browser.msie && /MSIE\s(5\.5|6\.)/.test(navigator.userAgent));
	var settings = {
			imgsrc	 : "/_media/img/aide.png",
			offsetX  : 10, 				// right offset
			offsetY  : 10,  			// left offset
			fade 	 : false,			// increase opacity for appears ?
			fadingSpeed : "normal",		// slow, normal, fast
			delay	 : 0,				// wait X second for hide
			followPointer : false, 		// follow the mouse pointer ?
			addImage : true,
			cssToolTip : "toolTipContainer"
	};
	if (options) jQuery.extend(settings, options);
	var posY,posX,tooltip,twidth,theight,bwidth,bheight;

	$('body').append("<div class='"+settings.cssToolTip+"'></div>");
	tooltip=$('.'+settings.cssToolTip);
	twidth = tooltip.width();
	theight = tooltip.height();
	bwidth = $('body').width();
	bheight = $('body').height();

	$(this).each(function(){
		if (settings.addImage) $(this).append("<a href='#' name='_tooltip_"+$(this).attr('id')+"'><img src='"+settings.imgsrc+"' border='0' alt= 'Aide'/></a>");
		if ($("#tooltip_"+$(this).attr('id')).size()!=0 && $("#tooltip_"+$(this).attr('id')).text() != "") {
			$("#tooltip_"+$(this).attr('id')).hide();
			if (settings.addImage) {
				$(this).find('img').mouseover(xbShowToolTip).mouseout(xbHideToolTip);
				$(this).find('a').focus(xbShowToolTip).blur(xbHideToolTip);
			}else {
				$(this).mouseover(xbShowToolTip).mouseout(xbHideToolTip).focus(xbShowToolTip).blur(xbHideToolTip);
			}
		}
	});
	function xbtooltipize_setPosition(jobj,X,Y) {
		if (X+settings.offsetX+twidth > bwidth) X=X-twidth-parseInt(settings.offsetX/2);
		else X=X+settings.offsetX;
		if (Y+settings.offsetY+theight > bheight) Y=Y-theight-parseInt(settings.offsetY/2);
		else Y=Y+settings.offsetY;
		jobj
			.css('position','absolute')
			.css('top', Y)
			.css('left',X);
	}
	function xbtooltipize_gm(e) {
		posY = (window.ActiveXObject) ? (window.event.clientY + document.body.scrollTop)  : e.pageY ;
		posX = (window.ActiveXObject) ? (window.event.clientX + document.body.scrollTop)  : e.pageX ;
		xbtooltipize_setPosition(tooltip,posX+settings.offsetX,posY+settings.offsetY);
	}
	function xbHideToolTip(e) {
		if (settings.delay>0) {
			setTimeout(function(){if(settings.fade)tooltip.fadeOut(settings.fadingSpeed);else tooltip.hide();},settings.delay*1000);
		}
		else {
			if(settings.fade)tooltip.fadeOut(settings.fadingSpeed);else tooltip.hide();
		}
		$(this).mousemove(null);
//		if (ltie7) $('select').css('visibility', 'visible');
	}
	function xbShowToolTip(e) {
		var idOk=$(this).attr('id');
		if (!idOk) idOk=$(this).parent().parent().attr('id');
		tooltip.html($('#tooltip_'+idOk).html());
		if (settings.followPointer) {
			$(this).mousemove(xbtooltipize_gm);
		}else {
			var offset=$(this).offset();
			posX = offset.left;
			posY = offset.top;
			xbtooltipize_setPosition(tooltip,posX,posY+settings.offsetY);
		}
		if (settings.fade) tooltip.fadeIn("fast");else tooltip.show();
//		if (ltie7) $('select').css('visibility', 'hidden');
	}
};