// Fonction de réécriture des liens.
function rw_link(selection, lien)
	{
	// Récupération de l'id à insérer, de l'adresse à modifier
	var id=document.getElementById(selection).options[document.getElementById(selection).selectedIndex].value;
	var adresse=document.getElementById(lien).href;
	// et des indices des dernier et avant-dernier ";" de l'adresse.
	var indice_fin=adresse.lastIndexOf(";");
	var temp=adresse.substring(0, indice_fin);
	var indice_deb=temp.lastIndexOf(";");
	
	// Réécriture de l'adresse du lien.
	adresse = adresse.substring(0, indice_deb+1)+id+adresse.substring(indice_fin);	
	document.getElementById(lien).href=adresse;
	}
	
// Affichage d'un élément masqué							     */
function ShowElem(indice, idelem)
{
	document.getElementById(idelem).style.display='block';
	document.getElementById('show'+indice).style.display='none';
	document.getElementById('hide'+indice).style.display='inline';
}

// Masquage d'un élément affiché
function HideElem(indice, idelem)
{
	document.getElementById(idelem).style.display='none';
	document.getElementById('show'+indice).style.display='inline';
	document.getElementById('hide'+indice).style.display='none';
}

// Redirection automatique
function redirect(destination)
{
	window.location=destination;
}


// Insertion du Code de mise en forme.
/* ------------------------------------------------------------------------------------------------------------------------------- */
/* Cette fonction a été réalisée à partir de codes sources largement disponibles sur Internet.			    */
/* Les quelques modifications qui y ont été apportées l'on été par M. Belhomme Florian, dans le cadre du	    */
/* développement de Galaxia - http://solune.no-ip.org/galaxia/ -.								    */
/* ------------------------------------------------------------------------------------------------------------------------------- */


function insertion(repdeb, repfin)
{
  var input = document.forms['edition'].elements['contenu'];
  input.focus();
  /* pour l'Explorer Internet */
  if(typeof document.selection != 'undefined')
  {
    /* Insertion du code de formatage */
    var range = document.selection.createRange();
    var insText = range.text;
    range.text = repdeb + insText + repfin;
    /* Ajustement de la position du curseur */
    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();
  }
  /* pour navigateurs plus récents basés sur Gecko*/
  else if(typeof input.selectionStart != 'undefined')
  {
    /* Insertion du code de formatage */
    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);
    /* Ajustement de la position du curseur */
    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;
  }
  /* pour les autres navigateurs */
  else
  {
    /* requête de la position d'insertion */
    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;
    }
    /* Insertion du code de formatage */
    var insText = prompt("Veuillez entrer le texte à formater:");
    input.value = input.value.substr(0, pos) + repdeb + insText + repfin + input.value.substr(pos);
  }
}

// Fonction d'insertion du code lié aux tableaux
function tab(colonnes, lignes, width)
{
	var contenu_cellule='[table width='+width+']';
	for(i=1; i<=lignes; i++)
		{
		for(j=1; j<=colonnes; j++)
			{
			var numero_champ='l'+i+':c'+j;
			contenu_cellule=contenu_cellule+document.tableau.elements[numero_champ].value;
			if(j!=colonnes)
				{
				contenu_cellule+='[/fc]';
				}
			}
		if(i!=lignes)
			{
			contenu_cellule=contenu_cellule+'[/fl]';
			}
		}
	contenu_cellule=contenu_cellule+'[/table]';
	
	window.opener.document.forms['edition'].elements['contenu'].value+=contenu_cellule;
	window.close();
}

