//-------------------------------------------------
function ltrim(chaine)
{
	//supprime les espaces à gauche de la chaine
	return chaine.replace(/^[\s]+/g,"");
}

//-------------------------------------------------
function rtrim(chaine)
{
	//supprime les espaces à droite de la chaine
	return chaine.replace(/[\s]+$/g,"");
}

//-------------------------------------------------
function trim(chaine)
{
	//supprime les espaces à gauche et à droite de la chaine
	return rtrim(ltrim(chaine));
}

//-------------------------------------------------
function left(chaine, longueur)
{
	if (!chaine) return("");
	//retourne la chaine à gauche
	if (chaine.length >= longueur)
		{
		chaine = chaine.substr(0, longueur) ;
		//alert(chaine) ;
		}
	return(chaine) ;
}

//-------------------------------------------------
function right(chaine, longueur)
{
	//retourne la chaine à gauche
	if (chaine.length >= longueur)
		{
		chaine = chaine.substr(chaine.length-longueur, longueur) ;
		//alert(chaine) ;
		}
	return(chaine) ;
}


//-------------------------------------------------
function url_est_javascript(url)
{
if (left(url, 10) == "javascript")
	{return(true) ;}
return(false) ;
}


//-------------------------------------------------
function remplacer_caracteres_speciaux(ch)	
{
	ch=ch.replace(/[à]/g, "&agrave;");
	ch=ch.replace(/[â]/g, "&acirc;");
	ch=ch.replace(/[æ]/g, "&aelig;");
	ch=ch.replace(/[é]/g, "&eacute;");
	ch=ch.replace(/[è]/g, "&egrave;");
	ch=ch.replace(/[ê]/g, "&ecirc;");
	ch=ch.replace(/[ç]/g, "&ccedil;");
	ch=ch.replace(/[î]/g, "&icirc;");
	ch=ch.replace(/[ï]/g, "&iuml;");
	ch=ch.replace(/[ô]/g, "&ocirc;");
	ch=ch.replace(/[û]/g, "&ucirc;");
	ch=ch.replace(/[ù]/g, "&ugrave;");
return(ch);
}


//-------------------------------------------------
// ET 11/08/03 : la fonction javascript .replace ne fonctionne pas avec les caractères spéciaux
// Remplace "texte" par  "new_texte" dans  chaine
// 
function chaine_remplacer(chaine,texte,new_texte) 
{
    
    var chaine_longueur, texte_longueur, i, new_chaine;
	
	if (!chaine || chaine.length==0) return("");
	
	chaine_longueur = chaine.length;
	texte_longueur = texte.length;
    
    if ((chaine_longueur == 0) || (texte_longueur == 0)) return chaine;

    i = chaine.indexOf(texte);
    if ((!i) && (texte != chaine.substring(0,texte_longueur))) return chaine;
    if (i == -1) return chaine;

	new_chaine = chaine.substring(0,i) + new_texte;

    if (i+texte_longueur < chaine_longueur)
        new_chaine +=chaine_remplacer(chaine.substring(i+texte_longueur,chaine_longueur),texte,new_texte);
	

    return new_chaine;
}

//-------------------------------------------------
function recuperer_caracteres_speciaux(ch)	
{
    ch = chaine_remplacer(ch,'&quot;',unescape('%22'));
    ch = chaine_remplacer(ch,'&amp;',unescape('%26'));
    ch = chaine_remplacer(ch,'&lt;',unescape('%3C'));
    ch = chaine_remplacer(ch,'&gt;',unescape('%3E'));
    ch = chaine_remplacer(ch,'&nbsp;',unescape('%A0'));
    ch = chaine_remplacer(ch,'&iexcl;',unescape('%A1'));
    ch = chaine_remplacer(ch,'&cent;',unescape('%A2'));
    ch = chaine_remplacer(ch,'&pound;',unescape('%A3'));
    ch = chaine_remplacer(ch,'&yen;',unescape('%A5'));
    ch = chaine_remplacer(ch,'&brvbar;',unescape('%A6'));
    ch = chaine_remplacer(ch,'&sect;',unescape('%A7'));
    ch = chaine_remplacer(ch,'&uml;',unescape('%A8'));
    ch = chaine_remplacer(ch,'&copy;',unescape('%A9'));
    ch = chaine_remplacer(ch,'&ordf;',unescape('%AA'));
    ch = chaine_remplacer(ch,'&laquo;',unescape('%AB'));
    ch = chaine_remplacer(ch,'&not;',unescape('%AC'));
    ch = chaine_remplacer(ch,'&shy;',unescape('%AD'));
    ch = chaine_remplacer(ch,'&reg;',unescape('%AE'));
    ch = chaine_remplacer(ch,'&macr;',unescape('%AF'));
    ch = chaine_remplacer(ch,'&deg;',unescape('%B0'));
    ch = chaine_remplacer(ch,'&plusmn;',unescape('%B1'));
    ch = chaine_remplacer(ch,'&sup2;',unescape('%B2'));
    ch = chaine_remplacer(ch,'&sup3;',unescape('%B3'));
    ch = chaine_remplacer(ch,'&acute;',unescape('%B4'));
    ch = chaine_remplacer(ch,'&micro;',unescape('%B5'));
    ch = chaine_remplacer(ch,'&para;',unescape('%B6'));
    ch = chaine_remplacer(ch,'&middot;',unescape('%B7'));
    ch = chaine_remplacer(ch,'&cedil;',unescape('%B8'));
    ch = chaine_remplacer(ch,'&sup1;',unescape('%B9'));
    ch = chaine_remplacer(ch,'&ordm;',unescape('%BA'));
    ch = chaine_remplacer(ch,'&raquo;',unescape('%BB'));
    ch = chaine_remplacer(ch,'&frac14;',unescape('%BC'));
    ch = chaine_remplacer(ch,'&frac12;',unescape('%BD'));
    ch = chaine_remplacer(ch,'&frac34;',unescape('%BE'));
    ch = chaine_remplacer(ch,'&iquest;',unescape('%BF'));
    ch = chaine_remplacer(ch,'&Agrave;',unescape('%C0'));
    ch = chaine_remplacer(ch,'&Aacute;',unescape('%C1'));
    ch = chaine_remplacer(ch,'&Acirc;',unescape('%C2'));
    ch = chaine_remplacer(ch,'&Atilde;',unescape('%C3'));
    ch = chaine_remplacer(ch,'&Auml;',unescape('%C4'));
    ch = chaine_remplacer(ch,'&Aring;',unescape('%C5'));
    ch = chaine_remplacer(ch,'&AElig;',unescape('%C6'));
    ch = chaine_remplacer(ch,'&Ccedil;',unescape('%C7'));
    ch = chaine_remplacer(ch,'&Egrave;',unescape('%C8'));
    ch = chaine_remplacer(ch,'&Eacute;',unescape('%C9'));
    ch = chaine_remplacer(ch,'&Ecirc;',unescape('%CA'));
    ch = chaine_remplacer(ch,'&Euml;',unescape('%CB'));
    ch = chaine_remplacer(ch,'&Igrave;',unescape('%CC'));
    ch = chaine_remplacer(ch,'&Iacute;',unescape('%CD'));
    ch = chaine_remplacer(ch,'&Icirc;',unescape('%CE'));
    ch = chaine_remplacer(ch,'&Iuml;',unescape('%CF'));
    ch = chaine_remplacer(ch,'&ETH;',unescape('%D0'));
    ch = chaine_remplacer(ch,'&Ntilde;',unescape('%D1'));
    ch = chaine_remplacer(ch,'&Ograve;',unescape('%D2'));
    ch = chaine_remplacer(ch,'&Oacute;',unescape('%D3'));
    ch = chaine_remplacer(ch,'&Ocirc;',unescape('%D4'));
    ch = chaine_remplacer(ch,'&Otilde;',unescape('%D5'));
    ch = chaine_remplacer(ch,'&Ouml;',unescape('%D6'));
    ch = chaine_remplacer(ch,'&times;',unescape('%D7'));
    ch = chaine_remplacer(ch,'&Oslash;',unescape('%D8'));
    ch = chaine_remplacer(ch,'&Ugrave;',unescape('%D9'));
    ch = chaine_remplacer(ch,'&Uacute;',unescape('%DA'));
    ch = chaine_remplacer(ch,'&Ucirc;',unescape('%DB'));
    ch = chaine_remplacer(ch,'&Uuml;',unescape('%DC'));
    ch = chaine_remplacer(ch,'&Yacute;',unescape('%DD'));
    ch = chaine_remplacer(ch,'&THORN;',unescape('%DE'));
    ch = chaine_remplacer(ch,'&szlig;',unescape('%DF'));
    ch = chaine_remplacer(ch,'&agrave;',unescape('%E0'));
    ch = chaine_remplacer(ch,'&aacute;',unescape('%E1'));
    ch = chaine_remplacer(ch,'&acirc;',unescape('%E2'));
    ch = chaine_remplacer(ch,'&atilde;',unescape('%E3'));
    ch = chaine_remplacer(ch,'&auml;',unescape('%E4'));
    ch = chaine_remplacer(ch,'&aring;',unescape('%E5'));
    ch = chaine_remplacer(ch,'&aelig;',unescape('%E6'));
    ch = chaine_remplacer(ch,'&ccedil;',unescape('%E7'));
    ch = chaine_remplacer(ch,'&egrave;',unescape('%E8'));
    ch = chaine_remplacer(ch,'&eacute;',unescape('%E9'));
    ch = chaine_remplacer(ch,'&ecirc;',unescape('%EA'));
    ch = chaine_remplacer(ch,'&euml;',unescape('%EB'));
    ch = chaine_remplacer(ch,'&igrave;',unescape('%EC'));
    ch = chaine_remplacer(ch,'&iacute;',unescape('%ED'));
    ch = chaine_remplacer(ch,'&icirc;',unescape('%EE'));
    ch = chaine_remplacer(ch,'&iuml;',unescape('%EF'));
    ch = chaine_remplacer(ch,'&eth;',unescape('%F0'));
    ch = chaine_remplacer(ch,'&ntilde;',unescape('%F1'));
    ch = chaine_remplacer(ch,'&ograve;',unescape('%F2'));
    ch = chaine_remplacer(ch,'&oacute;',unescape('%F3'));
    ch = chaine_remplacer(ch,'&ocirc;',unescape('%F4'));
    ch = chaine_remplacer(ch,'&otilde;',unescape('%F5'));
    ch = chaine_remplacer(ch,'&ouml;',unescape('%F6'));
    ch = chaine_remplacer(ch,'&divide;',unescape('%F7'));
    ch = chaine_remplacer(ch,'&oslash;',unescape('%F8'));
    ch = chaine_remplacer(ch,'&ugrave;',unescape('%F9'));
    ch = chaine_remplacer(ch,'&uacute;',unescape('%FA'));
    ch = chaine_remplacer(ch,'&ucirc;',unescape('%FB'));
    ch = chaine_remplacer(ch,'&uuml;',unescape('%FC'));
    ch = chaine_remplacer(ch,'&yacute;',unescape('%FD'));
    ch = chaine_remplacer(ch,'&thorn;',unescape('%FE'));
    ch = chaine_remplacer(ch,'&yuml;',unescape('%FF'));

    return(ch);
}

//------------------------
function remplacer_espaces_par_pourcent20(url_param)
{
url_param = url_param.replace(/ /g,"%20") ;
return(url_param) ;
}

//------------------------
function mettre_antislash_devant_apostrophes(url_param)
{
url_param = url_param.replace(/'/g,"\'") ;
return(url_param) ;
}

//------------------------
function chaine_js_preparer(chaine)
{
if (!chaine) return("");
chaine = chaine.replace(/'/g,"\'") ;
chaine = chaine.replace(/"/g,"\"") ;
return(chaine) ;
}

//------------------------
function chaine_js_param_preparer(chaine)
{
if (!chaine) return("");
chaine = chaine.replace(/'/g,"\\\'") ;
chaine = chaine.replace(/"/g,"\\\"") ;
return(chaine) ;
}

//------------------------
function remplacer_caracteres_accentues(ch)	
{
	
	ch=ch.replace(/[àâ]/g,"a");
	ch=ch.replace(/[ç]/g,"c");
	ch=ch.replace(/[éèêë]/g,"e");
	ch=ch.replace(/[îï]/g,"o");
	ch=ch.replace(/[ôöó]/g,"o");
	ch=ch.replace(/[ùû]/g,"u");
return(ch);
}


//****************************************************************
function recuperer_valeur_parametre_dans_url(url_param, parametre)
{
var pos, url, valeur;

url=url_param;
//url=url_param.toUpperCase();
valeur="";

pos=url.indexOf('?');

if (pos<0) return("");

pos=url.indexOf(parametre + '=');

if (pos>-1) 
	{
	valeur=url.substring(pos+parametre.length+1,url.length);

	pos=valeur.indexOf('&');
    if (pos>0)
       		valeur=valeur.substring(0,pos);
    }
return(valeur);
}



//---------------------------------------------------------
// positionne une liste (select) en fonction d'un mot saisi
function liste_positionner(liste, saisie)
{
	var mot_cle, l, debut;
	var  mot, cle, index=-1;
	mot_cle=saisie.value;
	if (!mot_cle || mot_cle==undefined) return;
	mot_cle=mot_cle.toLowerCase(); 
	l=mot_cle.length;

	if (l==0)
		return;

	// on test si on peut repartir de l'index courant
	debut=liste.selectedIndex;
	if(debut== null || debut<0)  
		debut=0;
	else
	{
		mot=liste.options[debut].text;
		cle=mot.substr(0, l);
		cle=cle.toLowerCase(); 
		cle=remplacer_caracteres_accentues(cle);
		if (mot_cle<cle)
			debut=0;
	}	

	for (i=debut; i<liste.options.length; i++)
	{
		mot=liste.options[i].text;
		//alert(mot_cle + " " + mot);
		cle=mot.substr(0, l);
		cle=cle.toLowerCase(); 
		cle=remplacer_caracteres_accentues(cle);
		//alert(mot_cle + "<=" + cle);
		if (mot_cle<=cle)
			{
			//alert(mot_cle + " " + mot);
			index=i;
			break;
			}
	}	

	// si on veut se placer sur le mot le plus près
	if (index <0)
	{
		index=i-1;
		if (index <0) index=0;
	}
	// fin

	if (index >=0)
	{
		liste.selectedIndex=0;
		liste.selectedIndex=index;
	}
}

