Event.observe(window, "load", initM4Box);
function initM4Box()
{
	$$("a").each(function(a)
	{
		if(a.rel == "")
			return;
		var r = a.rel, t;
		r.sub(/M4Box\[([a-z0-9\_\-]+)\]/,function (match){return t = match[1];});
		if(t)
		{
			a.rel = t;
			Event.observe(a, "click", aClickDisplayBox);
		}
		r.sub(/M4Box\[ajax\:([^\]]+)\]/, function (match){return t=match[1];});
		if(t)
		{
			a.rel = t;
			Event.observe(a, "click", aClickAjaxBox);
		}
	});
}


function aClickAjaxBox(e)
{
	Event.stop(e);
    var rel = e.target["rel"]?e.target["rel"]:$(e.target).up("a").rel;
	new Ajax.Request(rel, {"onSuccess":displayBoxAjax});
}

function displayBoxAjax(pResponse)
{
	M4Box.display(pResponse.responseText);
}

function aClickDisplayBox(e)
{
	Event.stop(e);
    var rel = e.target["rel"]?e.target["rel"]:$(e.target).up("a").rel;
	var d = document.getElementById(rel);
	M4Box.display(d.innerHTML);
}

function M4Box(){}
M4Box.created = false;
M4Box.display = function(pHtml)
{
	if(!M4Box.created)
		M4Box.create();
	var a = document.getElementById("M4BoxHide");
	var b = document.getElementById("M4Box");
	b.innerHTML = "";
	b.style.width = "auto";
	b.innerHTML = pHtml;
	a.style.display = "block";
	b.style.display = "block";
	b.style.filter = "alpha(opacity=0)";
	M4Tween.to("M4BoxHide", .2, {"opacity":.65});
	M4Tween.to("M4Box", .3, {"opacity":1});
	$("M4Box").style.left = "50%";
	$("M4Box").style.marginLeft = "-"+($("M4Box").getStyle("width").replace(/(px|\%)/,"") * .5)+"px";
	var close = document.createElement("div");
	a = document.createElement("a");
	a.href="#";
	a.appendChild(document.createTextNode("Fermer"));
	close.appendChild(a);
	b.appendChild(close);
	$(close).addClassName("close");
	Event.observe(a, "click", CloseM4BoxHandler);
	$("M4Box").fire("M4Box:loaded");
};

M4Box.hide = function()
{
	var a = document.getElementById("M4BoxHide");
	var b = document.getElementById("M4Box");
	M4Tween.to("M4BoxHide", .3, {"opacity":0}).onComplete(function(){a.style.display="none";b.style.display="none";});
	M4Tween.to("M4Box", .2, {"opacity":0});
};

M4Box.create = function()
{
	var hide = document.createElement("div");
	hide.setAttribute("id", "M4BoxHide");
	document.body.appendChild(hide);
	var box = document.createElement("div");
	box.setAttribute("id","M4Box");
	document.body.appendChild(box);
	M4Box.created = true;
	Event.observe(hide, "click", CloseM4BoxHandler)
};

function CloseM4BoxHandler(e)
{
	M4Box.hide();
	Event.stop(e);
}
