/** Variables et fonctions permettant de savoir sous quel navigateur on est. */
var MS = 0, OP = 0;
if (window.opera) { OP = 1; }
if(document.all && !OP) { MS = 1; }

/**
 * Marque a vrai le fait que l'action effectuée soit comme une action submit.
 * Utile lorsqu'un lien A est utilisé comme submit de formulaire.
 */
function setNormalActionSubmit() {

	document.getElementById("idNormalActionSubmit").value = "true";
}

/**
 * Marque a vrai de manière explicite le fait que le formulaire courant a été mofifié.
 * Utilisé lorsqu'un SELECT a un événement 'onchange' et ne souhaite pas être écrasé
 * par le 'js_formcontrol'.
 */
function setFormModified() {

	document.getElementById("idFormModified").value = "true";
}

/**
 * Fonction permettant de décoder des accents dans une chaîne donnée.
 * @param ch Chaîne à décoder.
 */
function decode (ch) {

	var index = ch.lastIndexOf("&#xE9;");
	while (index != -1) {
		ch = ch.replace("&#xE9;", "é");
		index = ch.lastIndexOf("&#xE9;");
	}

	return ch;
}

/**
 * Permet de sélectionner / déselectionner l'ensemble des checkboxes portant le même nom.
 * @param sens Détermine si on sélectionne ou déselectionne.
 * @param nom Nom commun des checkboxes. 
 */
function tousAucun(sens, nom) {

	var oCol = document.getElementsByName(nom);
	for(var i = 0 ; i < oCol.length ; i++){
		oCol[i].checked = sens;
	}
}

/**
 * Permet d'afficher une popup d'aide basée sur les outils Artwaï.
 * @param idContenu Identifiant de la 'div' cachée contenant l'information à afficher. 
 */
function afficherAide(idContenu) {

	// On masque les listes déroulantes pour pallier à un pb IE.
	SCacher();

	var p = document.createElement("p");
	p.innerHTML = document.getElementById(idContenu).innerHTML;
	window.js_launcher.popupmessage('', p, 'info');
}

/**
 * Fonction permettant de cacher les listes déroulantes (select) d'une page, ceci
 * pour pallier à un défaut d'IE.
 */
function SCacher(){

	if (MS) {
		lesSelect = document.getElementsByTagName("select");
		for (i = 0 ; i < lesSelect.length ; i++) {			
			lesSelect[i].style.visibility = "hidden";
		}
	}
}

/**
 * Fonction permettant de montrer les listes déroulantes (select) d'une page, ceci
 * pour pallier à un défaut d'IE. Celles-ci avaient été masquées auparavant.
 */
function SMontrer(){

	if (MS) {
		lesSelect = document.getElementsByTagName("select");
		for (i = 0 ; i < lesSelect.length ; i++) {
			lesSelect[i].style.visibility = "visible";
		}
	}
}

/**
 * On associe les fonctions de gestion des listes déroulantes sur les menus déroulants. 
 */
function actualiseMenus() {

	if (MS) {
		var menus = document.getElementById('navigation').getElementsByTagName('UL');
		for(var i = 0 ; i < menus.length ; i++) {
			menus[i].onmouseover = function () { SCacher(); };
			menus[i].onmouseout = function () { SMontrer(); };
		}
	}
}