function trim(myStr)
{ 
	var isFirst = true; 
	var fIndex = 0; 
	var lIndex = 0; 
	if (myStr.length != 0) 
	{ 
		for ( var i = 0; i < myStr.length ; i ++ ) 
		{ 
			var ch = myStr.charAt( i ); 
			if ( isFirst ) 
			{ 
				if ( ch == ' ' || ch == '\t' ) 
				{ 
					fIndex = i + 1; 
					lIndex = i + 1; 
				} 
				else 
				{ 
					isFirst = false; 
				} 
			}
			else
			{ 
				if ( ch != ' ' && ch != '\t' ) 
				{ 
					lIndex = i; 
				} 
			} 
		} 
		myStr = myStr.substring( fIndex, lIndex+1 ); 
		return(myStr); 
	} 
	else 
		return(""); 
}

function isset(element)
{
	/*
	Fonction permettant de tester si la variable élément est initialisée 
	et différente de la valeur null ou de la chaine vide
	*/
	var eltTest;
	if (element != "" && element != undefined && element != "undefined" && element != eltTest && element != null && element != "null" && element != "NULL")
		return(true);
	else
		return(false);
}



function ouvrirFenetre(script, largeur, hauteur, scrolling, nomFenetre)
{
	var param='top=0,left=0,location=no,directories=no,menubar=no,resizable=yes,scrollbars=yes,status=no,toolbar=no,';
	param+='width='+largeur+',height='+hauteur;
	if (!isset(nomFenetre))
		nomFenetre = '';
	window.open(script,nomFenetre, param);
}

function chargerDansIframe(nomIframe,script, Inparent)
{
	var elt,eltRef;
	if (Inparent)
		elt = parent.document.getElementById(nomIframe);
	else
		elt = document.getElementById(nomIframe);
	
	if (isset(elt))
		elt.src = script;
	else
		return(false);
}

function charger(source)
{
	document.location = source;
}


function chargerIframe(div, nomIframe, script, width, height, scrolling)
{
	if (isset(document.getElementById(div)))
		document.getElementById(div).innerHTML = '<iframe name="'+nomIframe+'" src="'+script+'" frameborder="0" scrolling="'+scrolling+'" width="'+width+'" height="'+height+'"></iframe>';
}

function chargerIframeParent(div, nomIframe, script)
{
	if (isset(div))
		parent.document.getElementById(div).innerHTML = '<iframe name="'+nomIframe+'" src="'+script+'" frameborder="0" style="display: none"></iframe>';
}





function insererTag(idSelect, idText)
{
	if (document.getElementById(idSelect) && document.getElementById(idText))
	{
		$eltSel = document.getElementById(idSelect);
		$eltTexte = document.getElementById(idText);
		if ($eltTexte.createTextRange && $eltTexte.caretPos) 
		{ 
			var caretPos = $eltTexte.caretPos; 
			caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? $eltSel.value + ' ' : $eltSel.value;
		}
		else
			$eltTexte.value += ' ' + $eltSel.value + ' ';
	}
}


function storeCaret (textEl) 
{ 
	if (textEl.createTextRange) 
		textEl.caretPos = document.selection.createRange().duplicate(); 
}

function selectionnerOptions(select)
{
	var mySelect = document.getElementById(select);
	if (isset(mySelect))
	{
		for($ind = 0; $ind <mySelect.options.length;$ind++)
			mySelect[$ind].selected = true;
	}
}


function genereListe(_liste, _tabTexte, _tabValue, _tabStyle, _tailleTab) 
{
	for (var i=0; i<_tailleTab; i++)
	{
    	_liste.options[i]=new Option(_tabTexte[i], _tabValue[i]);
		_liste.options[i].style.background = _tabStyle[i].background;
	}
}

function bubbleSort(_tabText, _tabValue, _tabStyle, _tailleTab) 
{
	var i,s;

	do 
	{
		s=0;
		for (i=1; i<_tailleTab; i++)
			if (_tabText[i-1] > _tabText[i]) 
			{
				y = _tabText[i-1];
				_tabText[i-1] = _tabText[i];
				_tabText[i] = y;
				y = _tabValue[i-1];
				_tabValue[i-1] = _tabValue[i];
				_tabValue[i] = y;
				y = _tabStyle[i-1];
				_tabStyle[i-1] = _tabStyle[i];
				_tabStyle[i] = y;
				s = 1;
			}
	}while (s);
}
    
function videListe(_liste)
{

	var cpt = _liste.options.length;

	for(var i=0; i<cpt; i++) 
		_liste.options[0] = null;
}

function selectUtil(lSource, lDest)
{
	var _listeSource = document.getElementById(lSource);
	var _listeDest = document.getElementById(lDest);
	var i,j;
	var ok = false;
	var tabDestStyle = new Array();
	var tabDestTexte = new Array();
	var tabDestValue = new Array();
	var tailleTabDest = 0;

	for (i=0; i<_listeDest.options.length; i++) 
	{
		tabDestStyle[tailleTabDest]   = _listeDest.options[i].style;
		tabDestTexte[tailleTabDest]   = _listeDest.options[i].text;
		tabDestValue[tailleTabDest++] = _listeDest.options[i].value;
	}

	for (j=_listeSource.options.length-1; j>=0; j--) 
	{
		if (_listeSource.options[j].selected) 
		{
			ok = true;
			tabDestStyle[tailleTabDest]   = _listeSource.options[j].style;
			tabDestTexte[tailleTabDest]   = _listeSource.options[j].text;
			tabDestValue[tailleTabDest++] = _listeSource.options[j].value;
			_listeSource.options[j] = null;
		}
	}

	if (ok) 
	{
		//Trie du tableau
		bubbleSort(tabDestTexte, tabDestValue, tabDestStyle, tailleTabDest);
		//Vide la liste destination
		videListe(_listeDest);
		//Recrée la liste
		genereListe(_listeDest, tabDestTexte, tabDestValue, tabDestStyle, tailleTabDest);
		}
	}
 
function synchroIndex(select1, select2, sens)
{
	var selectOuv = document.getElementById(select1);
	var selectFerm = document.getElementById(select2);
	if (selectFerm.selectedIndex < selectOuv.selectedIndex)
	{
		if (sens == 1)
			selectFerm.selectedIndex = selectOuv.selectedIndex;
		else
			selectOuv.selectedIndex = selectFerm.selectedIndex;
	}
}

function is_numeric(num)
{
	var exp = new RegExp("^[0-9]*$","g");
	return exp.test(num);
}

function changeLien(idElt, nvLien, typeLien)
{
 var theElt = document.getElementById(idElt);
 if (isset(theElt))
 {
    if (typeLien == "image") theElt.src= nvLien;
    else if (typeLien == "texte") theElt.className = nvLien;

 }
}