
// Détermination du navigateur
var browserName = navigator.appName;

var browser_ns = (browserName == 'Netscape') ? 1:0
var browser_ie = (browserName == 'Microsoft Internet Explorer') ? 1:0
 

//affiche un élément HTML 
function displayAndBlockElement(elementName){
	if (document.getElementById(elementName) != null){
		document.getElementById(elementName).style.visibility="visible";
		
		// Pour la compatibilité Firefox / IE, la valeur de l'attribut "display" dépend du tagName 
		var displayAttribute = "block";
		var currentTagName = document.getElementById(elementName).tagName;
		if(currentTagName == "TR" && !(browser_ie)) {
			document.getElementById(elementName).style.display="table-row";
		} else if(currentTagName == "TD" && !(browser_ie)) {
			document.getElementById(elementName).style.display="table-cell";
		} else {
			document.getElementById(elementName).style.display="block";
		}
	}
}

//masque un élément HTML
function hideAndUnblockElement(elementName){
	if (document.getElementById(elementName) != null){
		document.getElementById(elementName).style.visibility="hidden";
		document.getElementById(elementName).style.display="none";
	}
}

//masque un élément HTML s'il est affiché
function hideAndUnblockElementIfNot(elementName){
	if (document.getElementById(elementName) != null){
		if(document.getElementById(elementName).style.visibility=="visible" && document.getElementById(elementName).style.display=="block"){
			hideAndUnblockElement(elementName);
		}
	}
}

//affiche un élément HTML s'il n'est pas affiché
function displayAndBlockElementIfNot(elementName){
	if (document.getElementById(elementName) != null){
		if(document.getElementById(elementName).style.visibility=="hidden" && document.getElementById(elementName).style.display=="none"){
			displayAndBlockElement(elementName);
		}
	}	
}

function hideElement(elementName) {
	element = document.getElementById(elementName);
	if(element != null) {
		element.style.visibility = "hidden";
		element.style.display = "none";
	} 
}
	
function showElement(elementName) {
	element = document.getElementById(elementName);
	if(element != null) {
		element.style.visibility = "visible";
		element.style.display = "block";
	} 
}
	
function showHideElement(elementName) {
	element = document.getElementById(elementName);
	if(element != null) {
		if(element.style.visibility == "visible" || element.style.display == "block") {
			hideElement(elementName);
		} else {
			showElement(elementName);
		}
	} 
}
	
function showHideElementAndRenameButton(elementName, buttonName, buttonValue0, buttonValue1) {
	showHideElement(elementName);
	button = document.getElementById(buttonName);
	if(button != null) {
		if(button.value == buttonValue0) {
			button.value = buttonValue1;
		} else {
			button.value = buttonValue0;
		}
	}
}

function copyFormElements(formToCopyId, formToFillId) {
	//alert("=> debugFormElements('" + formToCopyId + "', '" + formToFillId + "')");
	var formToCopy = document.getElementById(formToCopyId);
	if(formToCopy == null) {
		var byNames = document.getElementsByName(formToCopyId);
		//alert("byNames=" + byNames);
		//alert("byNames.length=" + byNames.length);
		formToCopy = byNames[0];
	}
	var formToFill = document.getElementById(formToFillId);
	//alert("formToCopy:" + formToCopy);
	if(formToCopy != null) {
		var elems = formToCopy.elements;
		//alert('elems.length :' + elems.length);
		for(var i=0; i<elems.length;i++) {
			var elem = elems[i];
			var brElem = document.createElement("br");
			formToFill.appendChild(brElem);
			var newField = document.createElement("input");
			newField.id = elem.id;
			newField.name = elem.name;
			newField.type = 'hidden';
			newField.value = elem.value;
			formToFill.appendChild(newField);
		}
		formToFill.submit();
	}
}

/**
 * Affecte une valeur donnée à l'input spécifié
 * @param {Object} valueToCopy
 * @param {Object} inputId
 */
function copyToInput(valueToCopy, inputId) {
	var inputToSet = document.getElementById(inputId);
	if(inputToSet != null) {
		inputToSet.value = valueToCopy; 
	}
}

/**
 * Cache un élément HTML s'il existe 
 * @param {Object} elementId
 */
function hideElementIfExists(elementId) {
	
	var elem_1 = document.getElementById(elementId);
	if(elem_1 != null) {
		hideAndUnblockElement(elementId);
	}	
}

/**
 * Affiche un élément HTML s'il existe 
 * @param {Object} elementId
 */
function showElementIfExists(elementId) {
	var elem_1 = document.getElementById(elementId);
	if(elem_1 != null) {
		displayAndBlockElement(elementId);
	}	
}


