/**
* Script du mini-module "Machine ? Projets"
*/

/* CONFIGURATION ***********************/
var _map =
{
	// message (optionnel)
	invite: "--- Choisissez un projet ---",

	// bouton "lancer"
	urlLancer: "img/machineaprojets/map_selecteur_lancer.gif",

	// source XML
	urlXML: "xml/machineaprojets.xml"
}

/* CODE *********************************/
try {
	// document XML charg?
	_map.xmlDoc;
	
	/**
	* Chargement du document XML
	*/
	_map.chargerXML = function (url, notifyCallback)
	{
		// code pour IE
		if (window.ActiveXObject)
		{
			_map.xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
			_map.xmlDoc.async = false;
			_map.xmlDoc.load(url);
			notifyCallback();
		}
		// code pour Mozilla, etc.
		else if (document.implementation && document.implementation.createDocument)
		{
			_map.xmlDoc = document.implementation.createDocument("","",null);
			_map.xmlDoc.load(url);
			_map.xmlDoc.onload = notifyCallback;
		}
	}
	
	/**
	* Extraction et mise en forme des donn?es XML
	*/
	_map.afficher = function ()
	{
		var x = _map.xmlDoc.getElementsByTagName('item');
	
		// s?lecteur de projet
		var n = x.length;
		var res = '<form name="map"><select name="choix">';
		if (_map.invite.length) res += '<option value="">'+_map.invite+'</option>';
	
		for (var i=0; i<n; i++)
		{
			var label = x[i].attributes[0].value;
			var url = x[i].attributes[1].value;
			res += '<option value="'+url+'">'+label+'</option>';
		}
		res += '</select></form>';
	
		// bouton lancer
		res += '<a class="lancermap" href="javascript:_map.lancer();" title="Lancer la machine à projets">'
		       + '<img src="'+_map.urlLancer+'" alt="Lancer" /></a>';
	
		document.getElementById("selecteurMAP").innerHTML = res;
	}
	
	/**
	* Charger et afficher des donn?es XML
	*/
	_map.charger = function ()
	{
		if (!document.getElementById) return;
	
		document.getElementById("selecteurMAP").innerHTML = "Chargement...";
		_map.chargerXML(_map.urlXML, _map.afficher);
	}
	
	/**
	* Ouvrir le projet
	*/
	_map.lancer = function ()
	{
		if (!document.map) return;
		var url = document.map.choix.value;
		if (url.length > 0) location.href = url;
	}
} catch (e) {
	// We don't show nor log these errors
}
