/*
 *		fonctionsGlobales.js
 *
 *		Version : 3
 *		Auteur : Gyan <Gyan000@free.fr>
 *		Date modification : 05/11/2006
 *
 *		Fonction :
 *		- Ensemble de fonctions javascript.
 *
 */

function attribuerHauteur(divPrincipal, divAModifier, ajustement) {

	var divPrincipalID = document.getElementById(divPrincipal);
	var divAModifierID = document.getElementById(divAModifier);

	var hauteurDeBase = divPrincipalID.offsetHeight;
	hauteurModifiee = hauteurDeBase+ajustement;

	if (hauteurDeBase < 400) hauteurModifiee = 0;
	
	divAModifierID.style.height = hauteurModifiee+"px";
}

function attenteChargement() {
	if(document.getElementById) document.getElementById('attenteChargement').style.visibility = 'hidden';
	else {
		if(document.layers) document.hidepage.visibility = 'hidden';
		else document.all.hidepage.style.visibility = 'hidden';
   }
}

function visibilite(elementId) {

	var elementCible = document.getElementById(elementId);

	if(elementCible.style.display == 'none') elementCible.style.display = '';
	else elementCible.style.display = 'none';
}

function changerOnglet(idOnglet) {
	// On récupère le nombre d'onglets total dans
	// le div caché.
	var nbrOnglets = document.getElementById('nbrOnglets').value;

	// On switch l'affichage des onglets.
	for(i=1; i<=nbrOnglets; i++) {

		// ID du contenu de l'onglet.
		var ongletContenuCible = document.getElementById('contenuOnglet_' + i);
		// ID de l'onglet.
		var ongletCible = document.getElementById('onglet_' + i);

		// Si i est l'onglet actif, on l'affiche et on active l'onglet correspondant.
		if(i == idOnglet) {
			ongletContenuCible.style.display = '';
			ongletCible.className = 'ongletActif';
		}
		else {
			ongletContenuCible.style.display = 'none';
			ongletCible.className = 'ongletInactif';
		}

	}
}

function modifierTaille(typeModification, nomChamp) {

	// On r�cup�re la taille actuelle du champ.
	var tailleChamp = document.getElementById(nomChamp).rows;

	switch(typeModification) {

		// Incr�mentation de la taille du textearea.
		case 'plus':
			document.getElementById(nomChamp).rows = tailleChamp + 5;
		break;

		// D�cr�mentation de la taille du formulaire.
		case 'moins':
			document.getElementById(nomChamp).rows = tailleChamp - 5;
		break;
	}
}


function insertion(repdeb, repfin, formulaire, saisie) {

	var input = document.forms[formulaire].elements[saisie];
	input.focus();

	if(typeof document.selection != 'undefined') {
		var range = document.selection.createRange();
		var insText = range.text;

		range.text = repdeb + insText + repfin;
		range = document.selection.createRange();

		if(insText.length == 0) range.move('character', -repfin.length);
		else range.moveStart('character', repdeb.length + insText.length + repfin.length);

		range.select();
	}

	else if(typeof input.selectionStart != 'undefined') {
		var start = input.selectionStart;
		var end = input.selectionEnd;
		var insText = input.value.substring(start, end);
		input.value = input.value.substr(0, start) + repdeb + insText + repfin + input.value.substr(end);
		var pos;

		if(insText.length == 0) pos = start + repdeb.length;
		else pos = start + repdeb.length + insText.length + repfin.length;

		input.selectionStart = pos;
		input.selectionEnd = pos;
	}

	else {
		var pos;
		var re = new RegExp('^[0-9]{0,3}$');

		while(!re.test(pos))  pos = prompt('Insertion � la position(0..' + input.value.length + '):', '0');
		if(pos > input.value.length) pos = input.value.length;

		var insText = prompt('Veuillez entrer le texte � formater:');
		input.value = input.value.substr(0, pos) + repdeb + insText + repfin + input.value.substr(pos);
	}
}