var http_request = false;


function decocher_module(t_id_site, t_nom_module, nom_fichier)
{
	t_nom_module_interne = t_nom_module;
	http_request = false;
	if(window.XMLHttpRequest)
	{ // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if(http_request.overrideMimeType)
		{
			http_request.overrideMimeType('text/xml');
		}
	}
	else if(window.ActiveXObject)
	{ // IE
		try
		{
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch(e) 
		{
			try
			{
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e)
			{}
		}
	}
	
	if(!http_request) 
	{
		alert('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	}
	/*
	*	En fonction de la valeur des autres input de site, il faut laisser la possibilité de cocher
	*	que les modules qui sont liés aux sites dont les input sont toujours cochés
	*	Tous les modules non liés aux sites cochés doivent être désactivés (disabled)
	*/
	var liste_id_site = '';
	for(var i = 0; i < t_id_site.length; i += 1)
	{
		if(document.getElementById('site_'+t_id_site[i]).checked)
		{
			liste_id_site += t_id_site[i]+',';
		}
	}
	liste_id_site = liste_id_site.substring(0,(liste_id_site.length - 1));

	var url_fichier = './modules/recherche/'+nom_fichier+'?liste_id_site='+liste_id_site+'&liste_nom_module='+t_nom_module_interne.join(",");
	//alert('url du ficher : '+url_fichier);
	http_request.onreadystatechange = alertContents;
	//alert('avant appel du fichier php');
	http_request.open('GET', url_fichier, true);
	//alert('apres appel du ficher php');
	http_request.send(null);
}

function alertContents()
{
	//alert('noms des modules : '+t_nom_module_interne.join(','));
	//alert(http_request.readyState);
	if(http_request.readyState == 4)
	{
		//alert('alertContents(t_nom_module_interne) : '+t_nom_module_interne);
		if(http_request.status == 200 || http_request.status == 301)
		{
			//alert(http_request.responseText);
			// Le retour est la liste des modules internes qui sont liés aux sites cochés
			var liste_nom_module_interne_lie = http_request.responseText;
			
			var reg = new RegExp(",", "gi");
			var t_nom_module_interne_lie = liste_nom_module_interne_lie.split(reg);
			// On va parcourir tout les modules internes liés aux sites (cochés ou non)
			
			for(var i = 0; i < t_nom_module_interne.length; i++)
			{
				if(t_nom_module_interne[i]!="")
				{
					// Pour chacun on va regarder s'il fait partit des modules liés aux sites cochés
					var flag = false;
					for(var j = 0; j < t_nom_module_interne_lie.length; j++)
					{
						// S'il en fait partit, on passe le drapeau à true pour rendre ce module actif et coché
						if(t_nom_module_interne[i] == t_nom_module_interne_lie[j])
						{
							flag = true;
						}
					}
					if(flag)
					{
						// Si le module est lié on va l'activer et le cocher par défaut
						document.getElementById('checkbox_'+t_nom_module_interne[i]).attributes['etat'].nodeValue = 1;
						document.getElementById('checkbox_'+t_nom_module_interne[i]).checked = true;
						document.getElementById('checkbox_'+t_nom_module_interne[i]).disabled = false;
						//alert('activation et cochage de :'+t_nom_module_interne[i]);
					}
					else
					{
						// Si le module n'est pas lié, on va le décocher et le désactiver
						document.getElementById('checkbox_'+t_nom_module_interne[i]).attributes['etat'].nodeValue = 0;
						document.getElementById('checkbox_'+t_nom_module_interne[i]).checked = false;
						document.getElementById('checkbox_'+t_nom_module_interne[i]).disabled = true;
						//alert('désactivation et décochage de :'+t_nom_module_interne[i]);
					}
				}
			}
		}
		else
		{
			alert('Problème survenu dans la requête.');
		}
	}
}

function cocher_module(input_appelant, t_nom_module)
{
	/*
	*	Tous les modules doivent être selectionnables
	*/
	if(input_appelant == 'sites' && document.getElementById(input_appelant)!=null)
	{

		if(document.getElementById(input_appelant).checked)
		{
			for(var i = 0; i < t_nom_module.length; i += 1)
			{
				var id_input = 'checkbox_'+t_nom_module[i];
				document.getElementById(id_input).attributes['etat'].nodeValue = 1;
				document.getElementById(id_input).checked = true;
				document.getElementById(id_input).disabled = false;
				//alert('activation et cochage de :'+t_nom_module[i]);
			}
		}
	}
}
