/**
 * Reset de tout les champs du formulaire dont le nom est passe en parametre
 */
function reset_form (nom_form)
{
	var cpt = 0 ;
	while ( cpt < document.forms[nom_form].elements.length )
	{
		document.forms[nom_form].elements[cpt].value = "" ;
		if ( document.forms[nom_form].elements[cpt].type == "checkbox" ) {
			document.forms[nom_form].elements[cpt].checked = false ;
		}
		cpt++;
	}
}

/**
 * Fonction permettant de cacher ou afficher un element en fonction de son Id
 */
function cache_affiche(clef)
{
	var div  = "moteur_contenu_"+clef ;
	var span = "moteur_titre_"+clef ;

	if (document.getElementById(div).style.display != "none")
	{
		document.getElementById(div).style.display = "none";
		document.getElementById(span).className = "titre_moteur_onglet" ;
	}
	else
	{
		document.getElementById(div).style.display = "block";
		document.getElementById(span).className = "titre_moteur_onglet visible" ;
	}
}

/**
 * Fonction remplissant <input type="text" name="source"> selon les donnees contenues
 * dans les champs de name="se" et name="su"
 */
function maj_source() {
	var source = "" ;
	var cpt = 0 ;
	if (document.getElementsByName("su")[0].value != "")
	{
		source = document.getElementsByName("su")[0].value ;
	}
	else
	{
		cpt = 0 ;
		while (document.getElementsByName("se")[cpt]) 
		{
			val = document.getElementsByName("se")[cpt].value ;
			val = val.replace(/^\s+/g,'').replace(/\s+$/g,'') ;
			if (val != "")
			{
				if (cpt > 0) { source += "," ; }
				source += "-"+val ;
			}
			cpt++ ;
		}
	}
	document.getElementById("source").value = source ;
	/*
	// On vide les champs su et se afin de ne pas passer leur contenu en parametre
	document.getElementsByName("su")[0].value = "" ;
	var cpt = 0 ;
	while (document.getElementsByName("se")[cpt]) 
	{
		document.getElementsByName("se")[cpt].value = "" ;
		cpt++ ;
	}
	*/
}

/**
 * Affiche la possibilite de selection d'une source unique
 */
function display_su() {
	document.getElementById("source_unique").style.display = "block" ;
	document.getElementById("afficher_unique").style.display = "none" ;
	hide_se() ;
}

/**
 * Cache la possibilite de selection d'une source unique
 */
function hide_su() {
	document.getElementsByName("su")[0].value = "" ;
	document.getElementById("source_unique").style.display = "none" ;
	document.getElementById("afficher_unique").style.display = "block" ;
}

/**
 * Affiche la possibilite d'exclusion de sources
 */
function display_se() {
	document.getElementById("source_exclu").style.display = "block" ;
	document.getElementById("afficher_exclu").style.display = "none" ;
	hide_su() ;
}

/**
 * Cache la possibilite d'exclusion de sources
 */
function hide_se() {
	var cpt = 0 ;
	while (document.getElementsByName("se")[cpt]) 
	{
		document.getElementsByName("se")[cpt].value = "" ;
		cpt++ ;
	}
	document.getElementById("source_exclu").style.display = "none" ;
	document.getElementById("afficher_exclu").style.display = "block" ;
}

/**
 * Affiche un champ permettant d'exclure une source de plus
 */
function add_se(e) {
	pere = e.parentNode ;
	temp = e.previousSibling ; // <input> precedant le <a>
	noeud = temp.cloneNode(true) ;
	noeud.value = "" ;
	pere.insertBefore(noeud, e) ;
	hide_su() ;
}