/**
 * @desc Methodes pour un composant de type "modalbox"
 * 		IE ne gérant pas l'opacité, les effets sont uniquement destinés aux autres Browsers
 * TODO:: Class Modalbox
 */

function loadModalbox(modalboxURL){
	
	new Ajax.Request(
			modalboxURL, {
				method: 'get',
				onComplete: function(){
					$$('#modalbox *[class=\"close\"]').invoke('observe', 'click', closeModalbox);
				},		
				onSuccess: function(transport){
					showModalbox(transport.responseText);
				}
			}
	);
}


function showModalbox(modalboxContent){
	
	$(document.body).insert({'top': modalboxContent});
	_setPosition('modalbox');
	
	if (Prototype.Browser.IE) {
		$('modalbox').show();
	} else {
		new Effect.Appear('modalbox', {duration: 1});
	}
	
}


function closeModalbox(){
	
	xt_med('C','0','modalbox_fermer','A');
	
	if (Prototype.Browser.IE) {
		$('modalbox').hide();
	} else {	
		new Effect.Fade('modalbox', {
			duration: 0.6,
			afterFinish: function(){
				$('modalbox').remove();
			}
		});
	}
}


function _setPosition(el){
	
	var posLeft = (document.viewport.getDimensions().width /2) - ($(el).getWidth() /2);
	var posTop = (document.viewport.getDimensions().height /2) - ($(el).getHeight() /2);
	
	$(el).setStyle({'left': posLeft+'px', 'top': posTop+'px'});
	
}