
function anchorTime_withId(idLink)
{
	var curLink = document.getElementById(idLink);
				
	if (curLink)
	{
		if (curLink.target)
		{XHRTarget=curLink.target}
		else
		{XHRTarget="content"}
		
		// alert(curLink.href)
		myXHR = new httpRequest(curLink.href, "", "POST");
		myXHR.LoadContent_noTurnOffTimer(XHRTarget);
	}
}

function onChange_sendContent(obj)
{
	var myXHR = new httpRequest(obj.getAttribute("src") + "&isCheck=" + obj.checked, "", "POST");
	myXHR.sendContent(''); 
}

function onChange_execContent(obj)
{
	var myXHR = new httpRequest(obj.getAttribute("src") + "&isCheck=" + obj.checked, "", "POST");
	myXHR.execContent(''); 
}


function inputEvent_XhrBlur(obj)
{
	if (obj.target)
	{XHRTarget=obj.target}
	else
	{XHRTarget="content"} 
	
	
	var myXHR = new httpRequest(obj.getAttribute("src") + '&' + obj.name + '=' + obj.value, "", "POST");
	myXHR.LoadContent(XHRTarget,'','');
}

/*
 * fonction permettant de transférer le contenu d'un div ou span vers un textbox pour l'éditer
 */
function EditObj_input(obj, andReload)
{
	var TAGID = obj.id;
	var cont = obj.innerHTML;
	
	var span_elmt = document.createElement("span");
	var inputObj = document.createElement("input");
	
	//on renseigne l'id et la class de notre span
	span_elmt.setAttribute("id",TAGID +"editableObj");	 
	span_elmt.className = obj.className + "-edit";
	
	//on renseigne l'id de notre input
	inputObj.setAttribute("id",TAGID + "editableContent");
	inputObj.setAttribute("type", "text");
	inputObj.setAttribute("style", "margin-top:2px;width:450px;position:absolute;")
	inputObj.onkeypress = function(event) {return blurOnEnter(this, event);};
	inputObj.value = cont;
	

	// on inscris l'input dans le span
	span_elmt.appendChild(inputObj);
	
	// on affecte au noeud du texte a remplacé, le span  
	obj.parentNode.insertBefore(span_elmt, obj)
			
	// on cache la chaine de caractère		
	obj.setAttribute("last_display",obj.style.display);
	obj.style.display = "none";
		
	inputObj.focus(); 
	
	
	Event.observe(TAGID + "editableContent", "blur", function()
	{
		var new_content =  $F(TAGID + "editableContent");
	    var new_content_formatted =  escape($F(TAGID + "editableContent"));
		var moreAction = "";
		
		if(obj.getAttribute("moreaction"))
		{moreAction = obj.getAttribute("moreaction");};
		
		obj.innerHTML = new_content;
		
		
		obj.style.display = obj.getAttribute("last_display");
		Element.remove(TAGID + 'editableObj');
        
		if (andReload) {
            obj.href = obj.href + '&new_text=' + new_content;
		    anchorEvent_xhrLink(obj);
		}
		else {
        var myXHR = new httpRequest(obj.href + '&nomInstr=' + new_content + '&new_text=' + new_content,'','POST')
	
		    myXHR.execContent(moreAction); 
		}
		
	    
	}, false); 	
}

function EditObj_input_txtArea(obj)
{
	var TAGID = obj.id;
	var cont = obj.innerHTML.replace(/(<br( \/)?>)/g, '\n');
	
	var span_elmt = document.createElement("span");
	var inputObj = document.createElement("textarea");
	
	//on renseigne l'id et la class de notre span
	span_elmt.setAttribute("id",TAGID +"editableObj");	 
	span_elmt.className = obj.className + "-edit";
	
	//on renseigne l'id de notre input
	inputObj.setAttribute("id",TAGID +"editableContent");
	inputObj.setAttribute("type","text");
	inputObj.setAttribute("style", "margin-top:2px;width:" + (obj.parentNode.offsetWidth - 40) + "px;position:absolute;")
	inputObj.value = cont;
	
	// on inscris l'input dans le span
	span_elmt.appendChild(inputObj);
	
	// on affecte au noeud du texte a remplacé, le span  
	obj.parentNode.insertBefore(span_elmt, obj)
			
	// on cache la chaine de caractère		
	obj.setAttribute("last_display",obj.style.display);
	obj.style.display = "none";
		
	inputObj.focus(); 

	obj.parentNode.style.height = obj.parentNode.clientHeight + 'px';
	
	if (obj.parentNode.offsetHeight > 60) { document.getElementById(TAGID + "editableContent").style.height = (obj.parentNode.offsetHeight - 40)+ 'px'}
 
	
	 
	Event.observe(TAGID + 'editableContent', 'blur', function()
	{
		var new_content =  $F(TAGID +'editableContent').replace(/\n/g, '<br />');
	    var new_content_formatted =  escape($F(TAGID +'editableContent'));
		var myXHR = new httpRequest(obj.href + '&nomInstr=' + new_content + '&new_text=' + new_content,'','POST')
		var moreAction = "";
		
		if(obj.getAttribute("moreaction"))
		{moreAction = obj.getAttribute("moreaction");};
		
		obj.parentNode.style.height = 'auto';
		obj.innerHTML = new_content;
		
		myXHR.sendContent(moreAction); 
		
		obj.style.display = obj.getAttribute("last_display");
		
		Element.remove(TAGID + 'editableObj');
	}, false); 
}


function blurOnEnter(curObj, e)
{
	var keyPress;
	
	if (window.event)
	{
		keyPress = e.keyCode;
	}
	else
	{
		keyPress = e.which;
	}
	
	
	if (keyPress == 13) 
	{
		curObj.blur();
		return false;
	}
}

/*
	Evenement à affecter aux liens XHR qui vont devoir mettre à jour le contenu d'un div
	Le lien doit contenir les attributs suivants 
	--> target
	--> href 
	--> type = XHRLink
*/
function anchorEvent_xhrLink(self)
{
	var waitMsg = 'Chargement de la page en cours...<br>Veuillez patienter';
	var moreAction = ''
	var execLink = true;
	
	if(self.getAttribute("message"))
	{waitMsg= self.getAttribute("message")};
	
	if(self.getAttribute("moreaction"))
	{moreAction = self.getAttribute("moreaction");};
		
	if (self.getAttribute("validation"))
	{
		execLink = eval(self.getAttribute("validation"))
	}
	
	if (self.target)
	{XHRTarget=self.target}
	else
	{XHRTarget="content"}
	
	if (execLink)
	{
		if (self.getAttribute("type") == "XHRLink"	&& !self.getAttribute("notsave"))
		{
			setCookie("XHRcok_TAR_" + XHRTarget, self.href);
		}

		myXHR = new httpRequest(self.href, "", "POST");
		myXHR.LoadContent(XHRTarget,waitMsg,moreAction);
	}
	else
	{
		alert(self.getAttribute("msg_error"));
	}
	
		
	return false;
}


function inputEvent_xhrLink(self)
{
	var waitMsg = '';
	var moreAction = ''
	
	if(self.getAttribute("message"))
	{waitMsg= self.getAttribute("message")};
	
	if(self.getAttribute("moreaction"))
	{moreAction = self.getAttribute("moreaction");};
		
	if(self.getAttribute("target"))
	{XHRTarget=self.getAttribute("target")}
	else
	{XHRTarget="content"}

	myXHR = new httpRequest(self.getAttribute("src"), "", "POST");
	myXHR.LoadContent(XHRTarget,waitMsg,moreAction);
		
	return false;
}

function selectEvent_autoLoad(self)
{		
	if(self.getAttribute("moreaction"))
	{eval(self.getAttribute("moreaction"));}

	var forId = "id";
	
	// on check si une id n'a pas été spécifié
	if (objTarget.getAttribute(CONST_forId))
	{forId = objTarget.getAttribute(CONST_forId);}
	
	XHRTarget=self.getAttribute("target");
	var xhrTo = document.getElementById(XHRTarget).getAttribute("src");
	
	for (var i=0; i<self.options.length; i++) 
	{
		if (this.options[i].selected)
		{
			xhrTo  = xhrTo  + "&" + forId + "=" + self.options[i].value;
			
			
		}
	}		
	document.getElementById(XHRTarget).disabled= false;
	myXHR = new httpRequest(xhrTo, "", "POST");
	myXHR.LoadContent(XHRTarget,'Chargement de la page en cours...<br>Veuillez patienter','');

	return false;
}	

function selectEvent_xhrLink(self, moreActionParam)
{
	var waitMsg = '';
	var moreAction = '';
	var src= self.getAttribute("src");
	var forId = "id";
	
	
	
	var paramAdd = self.options[self.selectedIndex].value;
	
	if(moreActionParam && moreActionParam.length > 0)
	{moreAction = moreActionParam}
	
	else if(self.getAttribute("moreaction"))
	{moreAction = self.getAttribute("moreaction");};
	
	if(self.getAttribute("message"))
	{waitMsg= self.getAttribute("message")};
	
	if(self.getAttribute("target"))
	{XHRTarget=self.getAttribute("target")}
	else
	{XHRTarget="content"}
	
	// on check si une id n'a pas été spécifié
	if (document.getElementById(XHRTarget).getAttribute(CONST_forId))
	{forId = document.getElementById(XHRTarget).getAttribute(CONST_forId);}
	
	
	if(self.getAttribute("for_select"))
	{src = document.getElementById(XHRTarget).getAttribute("src") + '&' +  forId + '=';}

 
	myXHR = new httpRequest(src + paramAdd , "", "POST");
	
	
	myXHR.LoadContent(XHRTarget,waitMsg,moreAction);
		
	return false;
}
 

function anchorEvent_xhrUpdatePan(self, withReload)
{
	if (self.getAttribute("forlinkid"))
	{
		var objForId = document.getElementById(self.getAttribute("forlinkid"));
		if (self.getAttribute("tolower"))
		{
			objForId.innerHTML  = objForId.innerHTML.charAt(0).toUpperCase() + objForId.innerHTML.substr(1, objForId.innerHTML.length - 1).toLowerCase();
		}
        
		return anchorEvent_xhrUpdatePan(objForId, withReload);
	}
	else
	{
		 
		if (self.getAttribute("tolower"))
		{
			self.innerHTML  = self.innerHTML.charAt(0).toUpperCase() + self.innerHTML.substr(1, self.innerHTML.length - 1).toLowerCase();
		}
		 
	}

	var moreAction = "";
	
	if (self.getAttribute("moreaction")) {
        moreAction = self.getAttribute("moreaction");
    }
	
	EditObj_input(self, withReload);
    
	return false;	
}

function anchorEvent_xhrUpdatePan_textArea(self)
{
	var moreAction = "";
	
	if(self.getAttribute("moreaction"))
	{moreAction = self.getAttribute("moreaction");};
	
	EditObj_input_txtArea(self);
	
	
	return false;	
}



function anchorEvent_xhrUpdateAjax(self)
{
	var moreAction = "";
	
	if(self.getAttribute("moreaction"))
	{moreAction = self.getAttribute("moreaction");};
	
	myXHR = new httpRequest(self.href , "", "POST");
	myXHR.execContent(moreAction);

	return false;	
}


function anchorEvent_xhrLinkConfirm(self)
{
	var msg = "";
	var waitMsg = 'Chargement de la page en cours...<br>Veuillez patienter';
	
	if(self.getAttribute("moreaction"))
	{eval(self.getAttribute("moreaction"));}
	
	if(self.getAttribute("msgConfirm"))
	{msg = self.getAttribute("msgConfirm");}

	if(self.getAttribute("message"))
	{waitMsg= self.getAttribute("message")};
	
	if (self.target)
	{XHRTarget=self.target}
	else
	{XHRTarget="content"}
	
	if (confirm(msg))
	{
		myXHR = new httpRequest(self.href, "", "POST");
		myXHR.LoadContent(XHRTarget,waitMsg,'');
	}
	
	return false;
}



/* 
	Evenement à affecter aux liens XHR qui vont devoir se charger dans un div de style pseudo-popUp 
	(Le fond s'obscurcit, et seul le div est clair) 
	Le lien doit contenir les attributs suivants 
	--> target
	--> href 
	--> type = XHRPopUp
*/
function anchorEvent_xhrPopUp(self, withBG)
{
	var moreAction = "";
	var waitMsg = "";
	
	if(self.getAttribute("moreaction"))
	{moreAction = self.getAttribute("moreaction");}
			
	
	if(self.getAttribute("message"))
	{waitMsg= self.getAttribute("message")};
	
	if (withBG)
	{
		print_pseudoPopUp(self.href, moreAction, withBG, 2, waitMsg);
	}
	else
	{
		print_pseudoPopUp(self.href, moreAction, withBG, 1, waitMsg);
	}
	
	
	return false;
}


/*
	Evenement à affecter aux liens XHR qui vont devoir soumettre un formulaire 
	Le lien doit contenir les attributs suivants 
	--> target
	--> formName
	--> href 
	--> type = XHRForm
	--> sur la balise form, si onsubmit rempli, la fonction sera executée 
*/
function anchorEvent_xhrForm (self)
{		
	var XHR_MOREACTION = ""
	if(self.getAttribute("moreaction"))
	{XHR_MOREACTION = self.getAttribute("moreaction");}
//alert(self)
//alert(self.slt_Fam.selectedIndex);
	
	if (self.target)
	{XHRTarget=self.target}
	else
	{XHRTarget="content"}

	// setCookie("XHRcok_TAR_" + XHRTarget, self.href)
	myXHR = new httpRequest(self.href, "", "POST");

    
	if (myXHR.PostForm(self.getAttribute("formName")))
	{myXHR.LoadContent(XHRTarget,'Formulaire en cours de validation',XHR_MOREACTION)}

	return false;
}

function anchorEvent_execFormLink(self)
{
	var XHR_MOREACTION = ""

	if(self.getAttribute("moreaction"))
	{XHR_MOREACTION = self.getAttribute("moreaction");}
	
	myXHR = new httpRequest(self.href, "", "POST");

	if (myXHR.PostForm(self.getAttribute("formName")))
	{myXHR.execContent(XHR_MOREACTION)}
	
	return false;
}

function selectEvent_xhrForm (self)
{
	return anchorEvent_xhrForm(document.getElementById(self.getAttribute("submitformid")));
}	
 

function keyPress_xhrForm(self,e)
{		
	var keyPress;
	
	if (window.event)
	{keyPress = e.keyCode;}
	else
	{keyPress = e.which;} 
	if (keyPress == 13) 
	{
		var XHR_MOREACTION = ""
		
		if(self.getAttribute("moreaction"))
		{XHR_MOREACTION = self.getAttribute("moreaction");}

		if (self.getAttribute("target"))
		{XHRTarget=self.getAttribute("target")}
		else
		{XHRTarget="content"}

		if (XHRTarget == "pseudo-popUp")
		{
			XHR_MOREACTION = "print_pseudoPopUp.resize_popUp()";
		}
		// setCookie("XHRcok_TAR_" + XHRTarget, self.href)
		
		myXHR = new httpRequest(self.getAttribute("src"), "", "POST");

		if (myXHR.PostForm(self.getAttribute("formName")))
		{myXHR.LoadContent(XHRTarget,'Formulaire en cours de validation',XHR_MOREACTION)}
		return false;
	}
}	

 

function xhr_redirect(path, target)
{
	myXHR = new httpRequest(path, "", "POST");
	myXHR.LoadContent(target,'Chargement de la page en cours...<br>Veuillez patienter','');
}