
/************************************************************************
*	FONCTION:	Ecr_DoNavAction									*
*																		*
*	DESCRIPTION:														*
*		Réponse au clique d'un bouton de la barre de nav. Après controle*
*		des éventuelles règles de gestion coté client, provoque un submt*
*		du formulaire pour traiter les R.G. coté serveur				*
*-----------------------------------------------------------------------*
*	AUTEUR:	Julien RENIER												*
*	DATE:	22/06/1999													*
*-----------------------------------------------------------------------*
*	PARAMETRES EN ENTREE:												*
*		+ oItem : ID de l'action à éxécuter								*
*	PARAMETRES EN SORTIE: <Néant>										*
*	VALEUR RETOURNEE    : <Néant>										*
************************************************************************/
function Ecr_DoNavAction(sIDNav, bCheckRGPost)
{
	var fRGFunc;
	var bOkAction = true;
	var oRecep = new Object();
	var sHeaderAlert;


	// si un item doit être vérifié
	if(oPreviousFocus!=null)
	{
		// retrouve la RG si elle n'a encore jamais été associée
		//oPreviousFocus.CheckRGSaisie = _Ecr_GetRG(oPreviousFocus.id, oPreviousFocus.CheckRGSaisie, "_saisie");

		if(typeof(oPreviousFocus.onchange)=="function")
			oPreviousFocus.onchange();

		if(bCheckRGPost)
		{
			if(typeof(oPreviousFocus.DataOK)=="function")
			{
				var bOkAction = oPreviousFocus.DataOK();
				if(oPreviousFocus.sLastErr!=null)
				{
					Ecr_Alert( !bOkAction, oPreviousFocus.sLastErr);
				}
				oPreviousFocus.sLastErr = null;
				if(!bOkAction)
				{
					oPreviousFocus.GiveFocus();
					return(false);
				}
			}
		}
	}
	
	// vérifie la RG du bouton de navigation si elle existe
	fRGFunc = UtilJS_GetFunctionPtr("oUserWindow." + sIDNav + "_post");
	if(fRGFunc!=null)
	{
		oRecep.sLastErr = null;
		oRecep.checkRG = fRGFunc;
		bOkAction = oRecep.checkRG();
		if(!bOkAction)
			return(false);
	}

	bUnloadInProgress = true;
	
	// enregistre l'action demandée
	oMainForm.actionForm.value = sIDNav;

	// submit du formulaire
	Ecr_SubmitForm(bCheckRGPost);
	
	return(true)
}



/************************************************************************
*	FONCTION:	UtilJS_TrimString()										*
*																		*
*	DESCRIPTION:														*
*		supprime les espaces avant et apres la chaine.					*
*-----------------------------------------------------------------------*
*	AUTEUR:	Julien RENIER												*
*	DATE:	23/09/1999													*
*-----------------------------------------------------------------------*
*	PARAMETRES EN ENTREE:												*
*		+ theString : chaîne à convertir								*
*	VALEUR RETOURNEE    : chaîne convertie								*
************************************************************************/ 
//---------------------------------------------------------------
// supprime les espaces avant et apres la chaine
//---------------------------------------------------------------
function UtilJS_TrimString(sTheString)
{
	if(sTheString==null)		return(null);
	// remove blank spaces after and before the value
	iDep = 0;
	while(sTheString.charAt(iDep++)==' ');
	if(iDep-1 == sTheString.length)	return("");
	iFin = sTheString.length;
	while(sTheString.charAt(--iFin)==' ');
	return(sTheString.substring(iDep-1, iFin+1));
}


/************************************************************************
*	FONCTION:	UtilJS_GetFunctionPtr()									*
*																		*
*	DESCRIPTION:														*
*		renvoi un pointeur sur une fonction dont le nom est donné en	*
*		parametre si la fonction n'existe pas, renvoi null				*
*-----------------------------------------------------------------------*
*	AUTEUR:	Julien RENIER												*
*	DATE:	23/09/1999													*
*-----------------------------------------------------------------------*
*	PARAMETRES EN ENTREE:												*
*		+ sFuncName : nom de la fonction à rechercher					*
*	VALEUR RETOURNEE    : pointeur de fonction, null si pas trouvée		*
************************************************************************/ 
function UtilJS_GetFunctionPtr(sFuncName)
{
	var sTest;
	var vRetVal;

	eval("sTest = typeof(" + sFuncName + ");");	// test l'existance de la fonction associée
	if(sTest=="function")
		eval("vRetVal = " + sFuncName + ";");
	else
		vRetVal = null;

	return(vRetVal);
}


/************************************************************************
*	FONCTION:	UtilJS_GetItemPtr()										*
*																		*
*	DESCRIPTION:														*
*		renvoi un pointeur sur une entite html passée en parametre		*
*		si l'item n'existe pas, renvoi null								*
*-----------------------------------------------------------------------*
*	AUTEUR:	Julien RENIER												*
*	DATE:	23/09/1999													*
*-----------------------------------------------------------------------*
*	PARAMETRES EN ENTREE:												*
*		+ sItemName : nom de l'item à rechercher						*
*	VALEUR RETOURNEE    : pointeur sur l'objet, null si pas trouvé		*
************************************************************************/ 
function UtilJS_GetItemPtr(sItemName)
{
	var vRetVal;

	if(bNS_enabled)
		eval("vRetVal =oMainForm."+ sItemName + ";");	// test l'existance de la fonction associée		
	else
		eval("vRetVal = oUserWindow.document.all('" + sItemName + "');");	// test l'existance de la fonction associée

	if(typeof(vRetVal)!="object")
		vRetVal = null;

	return(vRetVal);
}

function _Ecr_handleAccelerator()
{
	switch(oUserWindow.event.keyCode)
	{
/*	case 13:		// ENTER
		if(oUserWindow.event.srcElement.tagName!="TEXTAREA")
		{
			if(oUserWindow.sDefaultAction!=null && typeof(oUserWindow.sDefaultAction)!="undefined")
			{
				Ecr_DoNavAction(sDefaultAction);
			}
			return(false);
		}
		return(true);
		break;
*/	case 27:		// ECHAP
		Ecr_DoNavAction("CANCEL");
		return(false);
		break;
	}
	return(true);
}

function GetDocumentPtr(sItemName)
{
	var vRetVal;
	if(bNS_enabled)		// Netscape
	{
		eval("vRetVal = oMainForm." + sItemName + ";");
	}
	else
		vRetVal = oUserWindow.document.all(sItemName);
	
	return(vRetVal);
}


function GetFormPtr(sFormName)
{
	var oRetVal;
	
	if(bNS_enabled)
		eval("oRetVal = oUserWindow.document.forms." + sFormName + ";");
	else
		oRetVal = oUserWindow.document.forms(sFormName);
	
	return(oRetVal);
}

function GetEventObjectPtr(e)
{
	if(bNS_enabled)
		return(e);
	else
		return(oUserWindow.event);
}

function InvertButton(oItem)
{
	oItem.style.filter = "invert";
	oItem.filters.invert.enabled = true;
}
function NormalButton(oItem)
{
	oItem.filters.invert.enabled = false;
}
