/*************************************************************************************************************
 * Gestion des title
 ************************************************************************************************************/
var Overlib = {

	oDiv : null,
	oSrc : null,
	isOpen : false,
	checkSrcInterval : null,

	open : function(e, sText, maxWidth, extraClass) {
		maxWidth = maxWidth || 350;

		if (!e) {
			e = event;
		}
		e.cancelBubble = true;

		if (Overlib.isOpen) {
			Overlib.close();
		}

		if (!sText) {
			return;
		}

		if (Overlib.oDiv == null) {
			Overlib.oDiv = $(document.createElement("div"));
			Overlib.oDiv.id = 'overlib';
			Overlib.oDiv.style.position = "absolute";
			Overlib.oDiv.hide();
			document.body.appendChild(Overlib.oDiv);
		}
		Overlib.oDiv.className = "overlib " + (extraClass || "");

		Overlib.oDiv.innerHTML = '<div class="content">' + sText.replace(/\r?\n/g, "<br/>") + '</div>';
		Overlib.oDiv.setStyle({
					left : "0px",
					top : "0px",
					width : "",
					display : "inline"
				});
		var iWidth = Overlib.oDiv.getWidth();
		Overlib.oDiv.setStyle({
					width : Math.min(iWidth, maxWidth) + 'px',
					display : "block"
				});
		Overlib.oDiv.show();
		Overlib.move(e);
		Overlib.isOpen = true;

		Overlib.oSrc = (_IE ? e.srcElement : e.target);
		Overlib.checkSrcInterval = window.setInterval(Overlib.checkSrc, 100);
		if (typeof(Overlib.oSrc.onmouseout) == "undefined" || Overlib.oSrc.onmouseout == null) {
			Overlib.oSrc.onmouseout = Overlib.close;
		}
		if (typeof(Overlib.oSrc.onmousemove) == "undefined" || Overlib.oSrc.onmousemove == null) {
			Overlib.oSrc.onmousemove = Overlib.move;
		}
	},

	move : function(e) {
		if (!e) {
			e = event;
		}
		e.cancelBubble = true;

		if (Overlib.oDiv != null) {
			$(Overlib.oDiv).setStyle({
						left : (Event.pointerX(e) + 15) + "px",
						top : (Event.pointerY(e) + 3) + "px"
					});
			keepElmInWindow(Overlib.oDiv, 0, 0);
		}
	},

	checkSrc : function() {
		if (!Overlib.isOpen) {
			return;
		}
		var o = Overlib.oSrc;
		while (o && o.tagName.toLowerCase() != 'body') {
			o = o.parentNode;
		}
		if (!o) {
			Overlib.close();
		}
	},

	close : function() {
		if (!Overlib.isOpen) {
			return;
		}
		window.clearInterval(Overlib.checkSrcInterval);
		Overlib.oSrc = null;
		Overlib.oDiv.hide();
		Overlib.isOpen = false;
	}

}
/** ************************************************************************** */
