ajouteScript("/core/javascript/ajax.js");
ajouteScript("/core/javascript/patience.js");
ajouteScript("/core/javascript/agglo_combobox.js");

var agglo_component = {};

agglo_component.afficheBulleAide = function(Component){
	var aideElement = document.getElementById("bulle_aide_"+Component.id);
	aideElement.style.display = "block";
	aideElement.style.left = Component.offsetLeft + Component.offsetWidth +"px";
	aideElement.style.marginTop = (Component.offsetHeight * -1) +"px";
	aideElement.style.width = "150px";
	if (navigator.bIsExplorer()){
		aideElement.style.marginLeft = "30px";
	}else{
		aideElement.style.marginLeft = "5px";
	}
}
agglo_component.masqueBulleAide = function(Component){
	var aideElement = document.getElementById("bulle_aide_"+Component.id);
	aideElement.style.display = "none";
}

SelfOnLoadComponent = function(){
	for(var i = 0; i < document.forms.length; i++){
		var form = document.forms[i];

		for (var j = 0; j < form.elements.length; j++){
			var element = form.elements[j];
			var aideElement = document.getElementById("bulle_aide_"+element.id);
			if (aideElement){
				element.onfocus = new Function("agglo_component.afficheBulleAide(this);");
				element.onblur = new Function("agglo_component.masqueBulleAide(this);");
			}
		}
	}
}
if (window.addEventListener){
	window.addEventListener('load', SelfOnLoadComponent, false); //pour FF
} else {
	window.attachEvent('onload', SelfOnLoadComponent); //pour IE
}

agglo_component.UpdateComponent = function(url, NomParams, IdComponentDest){
	var _url = url;
	var _NomParams = NomParams;
	var _IdComponentDest = IdComponentDest;
	
	var objAjax = new ajax();
	objAjax.setTypeResponse("xml");
	// On defini le fichier appele lors de l'envoie
	// ms ne sert qu'a éviter le problème du cache d'IE
	Url = _url;
	for (var i = 0; i < _NomParams.length; i++){
		if (i == 0){
			Url += "?";
		}else{
			Url += "&";
		}
		var val = document.getElementById(_NomParams[i]).value;
		Url += _NomParams[i] + "=" + val.replace(".", "_");
	}
	var objComponentDest = document.getElementById(_IdComponentDest);
	if (objComponentDest.nodeName == "SELECT"){
		Url += "&comboid=" + _IdComponentDest + "&ms=" + new Date().getTime();//,true);
	}else{
		Url += "&compDest=" + _IdComponentDest + "&ms=" + new Date().getTime();//,true);
	}
	
	objAjax.ActionApresEnvoi = patience.AffichePatiente;
	objAjax.ActionApresTraitement = patience.MasquePatiente;
	objAjax.Action404 = patience.MasquePatiente;
	if (objComponentDest.nodeName == "SELECT"){
		objAjax.callAjax(Url, agglo_combobox.UpdateCallback, "GET", null, _IdComponentDest);
	}else{
		objAjax.callAjax(Url, agglo_component.UpdateCallback, "GET", null, _IdComponentDest);
	}
}
agglo_component.UpdateCallback = function(response, AutreAction, IdCompDest){
	var objCompDest = document.getElementById(IdCompDest);
	objCompDest.innerHTML = "";
	var NdTmp = response.cloneNode(true);
	NdTmp = NdTmp.firstChild;
	if (NdTmp != null){
		if (NdTmp.childNodes[0] != null){
			objCompDest.appendChild(document.createTextNode(NdTmp.childNodes[0].nodeValue));
		}
	}
}