//////////////////////////////////////////////////////////////////////////////////////////////
//																	   //
// Scripts mlmb par erwansims													   //
//																	   //
// Si vous souhaitez prendre une partie du code contenu dans ce fichier, veuillez d'abord m'en informer	   //
// sur MessLive (http://www.messlive.net)											   //
//																	   //
//////////////////////////////////////////////////////////////////////////////////////////////

window.addEvent('domready', function() {
	VerifyAllMLWSAjax();
});

function VerifyAllMLWSAjax()
{
	$$('.mlws_ajax').each(function (item) {
		item.addEvent('click', function() {
			AffMLWSAjax(item.get('href'));
			return false;
		});
	});
	
	$$('.mlws_text').each(function (item) {
		item.addEvent('click', function() {
			AffWaitMessage();
			HideWaitMessage();
			AffMLWS(item.get('title'));
			return false;
		});
	});
	
	$$('.mlws_html').each(function (element) {
		element.addEvent('click', function() {
			AffWaitMessage();
			HideWaitMessage();
			
			AffMLWS($(element.get('id') + 'Content').get('html'));
			
			getAllChildren($('MLWSContent')).each(function(item, index) {
				item.cloneEvents(this[index]);

				if(this[index].get('id') != null && this[index].get('id') != "")
				{
					item.set('id', this[index].get('id') + 'MLWS');
				}
			}, getAllChildren($(element.get('id') + 'Content')));
			
			return false;
		});
	});
}

function AddMLWSHtml(element)
{
	element.addEvent('click', function() {
		AffWaitMessage();
		HideWaitMessage();
		
		AffMLWS($(element.get('id') + 'Content').get('html'));
		
		getAllChildren($('MLWSContent')).each(function(item, index) {
			item.cloneEvents(this[index]);

			if(this[index].get('id') != null && this[index].get('id') != "")
			{
				item.set('id', this[index].get('id') + 'MLWS');
			}
		}, getAllChildren($(element.get('id') + 'Content')));
		
		return false;
	});
}

//Fonction permettant d'obtenir tous les enfants d'un élément, en effet, la fonction getChildren
//ne permet d'obtenir que les enfants directs de l'élément
function getAllChildren(element)
{
	var array = element.getChildren();
	array.each(function(item, index) {
		array.push(item);
		if(item.getChildren().length != 0)
		{
			array = array.concat(getAllChildren(item));
		}
	}, array);
	return array;
}

function AffMLWSAjax(path)
{
	AffWaitMessage();
	
	path = path.split('?');
	
	var ajax = new Request({url: path[0], method: 'get'});
	
	ajax.addEvent('success', function(responseText, responseXML) {
		HideWaitMessage();
		AffMLWS(responseText);
	});
	
	ajax.addEvent('failure', function() {
		tb_remove();
		alert("Erreur lors de la requête AJAX");
	});
	
	ajax.send(path[1]);
}

function AffWaitMessage()
{
	var TB_overlay = new Element('div', {'id': 'TB_overlay'});
	TB_overlay.fade('hide');
	$(document.body).grab(TB_overlay, 'bottom');
	TB_overlay.addEvent('click', tb_remove);
	
	if(tb_detectMacXFF()){
		TB_overlay.set('class', "TB_overlayMacFFBGHack");
	}else{
		TB_overlay.set('class', "TB_overlayBG");
	}
	
	var TB_load = new Element('div', {'id': 'TB_load', 'html': '<img src="'+imgLoader.src+'" />'});
	TB_load.fade('hide');
	$(document.body).grab(TB_load);
	$('TB_load').setStyle('display', 'block');
	
	TB_overlay.fade(0.75);
	TB_load.fade(0.75);
}

function HideWaitMessage()
{
	$('TB_load').setStyle('display', 'none');
}

function AffMLWS(content)
{
	var MLWS = new Element('div', {
		'id': 'MLWS',
		'html': '<table cellspacing="0" cellpadding="0"><tr><td style="background-image: url(themes/MessLivePro/images/tlu.png); width: 8px; height: 8px;"></td><td style="background-image: url(themes/MessLivePro/images/tu.png); height: 8px;"></td><td style="background-image: url(themes/MessLivePro/images/tru.png); width: 8px; height: 8px;"></td></tr><tr><td style="background-image: url(themes/MessLivePro/images/tl.png); width: 8px;"></td><td id="MLWSContent" style="padding: 5px; background-image: url(themes/MessLivePro/images/tm.png);">' + content + '</td><td style="background-image: url(themes/MessLivePro/images/tr.png); width: 8px;"></td></tr><tr><td style="background-image: url(themes/MessLivePro/images/tld.png); width: 8px; height: 8px;"></td><td style="background-image: url(themes/MessLivePro/images/td.png); height: 8px;"></td><td style="background-image: url(themes/MessLivePro/images/trd.png); width: 8px; height: 8px;"></td></tr></table>',
		'styles': {
			'z-index': '102',
			'position': 'fixed',
			'top': '10px',
			'left': '10px',
			'width': 'auto'
		}
	});
	
	MLWS.fade('hide');
	$(document.body).grab(MLWS);
	MLWS.fade(1);
	
	var arr = getCenter(MLWS, true);
	MLWS.setStyles({'top': arr[1] - 20, 'left': arr[0]});
}