/*
 *  UseFul JavaScripts :)
 *  Copyright (c) 2009 Informatique de France
 *  21/08/09
*/


//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
// Affichage d'éléments
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 

function afficher(id){
	document.getElementById(id).style.display = "block"; 
	return true;
}

function cacher(id){
	document.getElementById(id).style.display = "none";
	return true;
}


//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
// Gestion de paragraphes
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 

function changer_etat(id1, id2, img_ferme, img_ouvert, lid){
	var element_id1 = document.getElementById(id1);
	var element_id2 = document.getElementById(id2);
	if (element_id1.style.display == "block"){
		cacher(id1);
		element_id2.src = img_ferme;
	}
	else {
		afficher(id1);
		element_id2.src = img_ouvert;
	}
	return true;
}


//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
// Formulaires
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 

// Désactive le champs "id"
function disable (id){
	document.getElementById(id).disabled = true;
	return true;
}

// Active le champs "id"
function enable (id){
	document.getElementById(id).disabled = false;
	return true;
}

// Change l'état actif / inactif sur le champs "id" 
function changer_disponibilite (id){
	var etat = document.getElementById(id);
	if (etat.disabled == true) document.getElementById(id).disabled = false;
	else document.getElementById(id).disabled = true;
	return true;
}

// Initialise sur la valeur "valeur" le champs texte "id"
function initialiser (id, valeur){
	document.getElementById(id).value = valeur;
	return true;
}

// Efface toutes les options du select "id"
function effacer_toutes_options(id){
	var nselect=0;
	for(n=0;n<document.getElementById(id).length;n++){
		if (document.getElementById(id).options[n].selected == true) {
		nselect++;
		}
		if (nselect>0) {
			for (n=0;n<document.getElementById(id).length;n++) {
				if (document.getElementById(id).options[n].selected == true) {
				document.getElementById(id).options[n] = null;
				}
			}
		effacer_toutes_options(id);
		}
	}
}

// Ajoute l'option "label" de valeur "valeur" au select "id"
function ajouter_option(id, label, valeur){
	var nouvelleOption = document.createElement('option');
	nouvelleOption.text = label;
	nouvelleOption.value = valeur;
	var select = document.getElementById(id);
	try {
		select.add(nouvelleOption, null); // Firefox
	}
	catch(ex) {
		select.add(nouvelleOption); // IE
	}
}


//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
// Impressions
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 

// Imprime le contenu d'une iframe
function impression() {
	window.frames[0].print();
	return true;
}
