/*********************************************************************************************************/
// Fonction permettant d'afficher une image dans une boite flottante.
// Utilistation : onmouseover="Box.show('TITRE','src',event);" onmouseout="Box.hide();"
Box = function() { }
Box.__name__ = ["Box"];
Box.Box = null;
Box.showTop = function(title,content_src,evt) {
	if( (title != '') && (content_src != '') ) content_src = "<div class='BoxTitle'>" + title + "</div>" + "<div class='BoxContent'><img border='0' src='" + content_src + "' /></div>";
	else if( (title == '') && (content_src != '') )content_src = "<div class='BoxContent'><img border='0' src='" + content_src + "' /></div>";
	else if( (title != '') && (content_src == '') ) content_src = "<div class='BoxTitle'>" + title + "</div>";
	else content_src = "";
	document.getElementById("BoxContent").innerHTML = content_src;
	document.onmousemove = closure(Box,"updateTop");
	document.getElementById("Box").style.display = "block";
	Box.update(evt);
}
Box.show = function(title,content_src,evt) {
	if( (title != '') && (content_src != '') ) content_src = "<div class='BoxTitle'>" + title + "</div>" + "<div class='BoxContent'><img border='0' src='" + content_src + "' /></div>";
	else if( (title == '') && (content_src != '') )content_src = "<div class='BoxContent'><img border='0' src='" + content_src + "' /></div>";
	else if( (title != '') && (content_src == '') ) content_src = "<div class='BoxTitle'>" + title + "</div>";
	else content_src = "";
	document.getElementById("BoxContent").innerHTML = content_src;
	document.onmousemove = closure(Box,"update");
	document.getElementById("Box").style.display = "block";
	Box.update(evt);
}
Box.hide = function() {
	document.getElementById("Box").style.display = "none";
	document.onmousemove = null;
}
Box.getMouse = function(e) {
	if(e == null) e = window.event;
	if(e != null)
	{
		if( e.pageX != null) return { x : e.pageX, y : e.pageY}
		else if(e.clientX != null) return { x : e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft, y : e.clientY + document.body.scrollTop + document.documentElement.scrollTop}
	}
	else return { x : null, y : null}
}
Box.update = function(e) {
	var tip = document.getElementById("Box");
	var mouse = Box.getMouse(e);
	var x = (mouse.x - tip.offsetWidth / 2);
	var y = (mouse.y + 20);
	var innerWidth = document.documentElement.clientWidth + document.documentElement.scrollLeft;
	x = (Math.min(x,innerWidth - tip.offsetWidth - 10));
	tip.style.left = x + "px";
	tip.style.top = y + "px";
}
Box.updateTop = function(e) {
	var tip = document.getElementById("Box");
	var mouse = Box.getMouse(e);
	var x = (mouse.x - tip.offsetWidth / 2);
	var y = (mouse.y + 20);
	var innerWidth = document.documentElement.clientWidth + document.documentElement.scrollLeft;
	x = (Math.min(x,innerWidth - tip.offsetWidth - 10));
	tip.style.left = x + "px";
	tip.style.top = (y - 30 - tip.clientHeight) + "px";
}
closure = function(o,f) {
	var m = o[f];
	if(m == null) return null;
	var f1 = function() {
		return m.apply(o,arguments);
	}
	f1.scope = o;
	f1.method = m;
	return f1;
}
/*********************************************************************************************************/



