// Javascript Document
var timer=0;
var ptag=String.fromCharCode(5,6,7);

/******************************************************************** DEBUT FONCTIONS AJOUT ARTICLE ********************************************************************/
function insertion(repdeb, repfin) {
  var input = document.forms['ajout_article'].elements['a_contenu_article'];
  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);
  }
}

function  visualisation() {
	t=document.ajout_article.a_contenu_article.value  
	t=code_to_html(t)
	if (document.getElementById) document.getElementById("pouet").innerHTML=t
	if (document.ajout_article.auto.checked) timer=setTimeout(visualisation,1000)
}
function automatique() {
	if (document.ajout_article.auto.checked) visualisation()
}
/******************************************************************** FIN FONCTIONS AJOUT ARTICLE *********************************************************************/

/******************************************************************** DEBUT FONCTIONS MODIF ARTICLE ********************************************************************/
function insertion_modif(repdeb, repfin) {
  var input = document.forms['modif_article'].elements['m_contenu_article'];
  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);
  }
}

function  visualisation_modif() {
	t=document.modif_article.m_contenu_article.value  
	t=code_to_html(t)
	if (document.getElementById) document.getElementById("pouet").innerHTML=t
	if (document.modif_article.auto.checked) timer=setTimeout(visualisation_modif,1000)
}
function automatique_modif() {
	if (document.modif_article.auto.checked) visualisation_modif()
}
/******************************************************************** FIN FONCTIONS MODIF ARTICLE *********************************************************************/

function code_to_html(t) {
	t=nl2khol(t)
// balise Gras
	t=deblaie(/(\[\/b\])/g,t)
	t=remplace_tag(/\[b\](.+)\[\/b\]/g,'<b>$1</b>',t)  
	t=remblaie(t)
// balise Italique
	t=deblaie(/(\[\/i\])/g,t)
	t=remplace_tag(/\[i\](.+)\[\/i\]/g,'<i>$1</i>',t)  
	t=remblaie(t)
// balise Underline
	t=deblaie(/(\[\/u\])/g,t)
	t=remplace_tag(/\[u\](.+)\[\/u\]/g,'<u>$1</u>',t)  
	t=remblaie(t)
// balise code	
	t=remplace_tag(/\[code\](.+)\[\/code\]/g,'<code>$1</code>',t)  
	
// balise Img
	t=deblaie(/(\[\/img\])/g,t)
	t=remplace_tag(/\[img\](.+)\[\/img\]/g,'<img width="150px" src="$1"/>',t)
	t=remblaie(t)
	
// balise Img
	t=deblaie(/(\[\/img\])/g,t)
	t=remplace_tag(/\[imgt1\](.+)\[\/img\]/g,'<img width="250px" src="$1"/>',t)
	t=remblaie(t)
// balise Img
	t=deblaie(/(\[\/img\])/g,t)
	t=remplace_tag(/\[imgt2\](.+)\[\/img\]/g,'<img width="350px" src="$1"/>',t)
	t=remblaie(t)
	// balise Img
	t=deblaie(/(\[\/img\])/g,t)
	t=remplace_tag(/\[imgt3\](.+)\[\/img\]/g,'<img width="450px" src="$1"/>',t)
	t=remblaie(t)
	// balise Img
	t=deblaie(/(\[\/img\])/g,t)
	t=remplace_tag(/\[imgt4\](.+)\[\/img\]/g,'<img width="550px" src="$1"/>',t)
	t=remblaie(t)
	// balise Img
	t=deblaie(/(\[\/img\])/g,t)
	t=remplace_tag(/\[imgt5\](.+)\[\/img\]/g,'<img width="100%" src="$1"/>',t)
	t=remblaie(t)
	
		// balise table
	t=deblaie(/(\[\/table\])/g,t)
	t=remplace_tag(/\[table\](.+)\[\/table\]/g,'<table border="1px" width="100%">$1</table>',t)
	t=remblaie(t)
	
		// balise td
	t=deblaie(/(\[\/td\])/g,t)
	t=remplace_tag(/\[td\](.+)\[\/td\]/g,'<td>$1</td>',t)
	t=remblaie(t)
	
		// balise tr
	t=deblaie(/(\[\/tr\])/g,t)
	t=remplace_tag(/\[tr\](.+)\[\/tr\]/g,'<tr>$1</tr>',t)
	t=remblaie(t)
	
		// balise br
	t=remplace_tag(/\[br\]/g,'<br/>',t)
	
		// balise center
	t=deblaie(/(\[\/center\])/g,t)
	t=remplace_tag(/\[center\](.+)\[\/center\]/g,'<p align="center">$1</p>',t)
	t=remblaie(t)		
	
// balise <p align="right"></p>
	t=deblaie(/(\[\/right\])/g,t)
	t=remplace_tag(/\[right\](.+)\[\/right\]/g,'<p align=\"right\">$1</p>',t)
	t=remblaie(t)
// balise <div float="left"></p>
	t=deblaie(/(\[\/div\])/g,t)
	t=remplace_tag(/\[div left\](.+)\[\/div\]/g,'<div style=\"float:left; margin-right:5px; margin-bottom:5px;\">$1</div>',t)
	t=remblaie(t)
	// balise <div float="left"></p>
	t=deblaie(/(\[\/div\])/g,t)
	t=remplace_tag(/\[div right\](.+)\[\/div\]/g,'<div style=\"float:right; margin-left:5px; margin-bottom:5px;\">$1</div>',t)
	t=remblaie(t)
// balise URL
	t=deblaie(/(\[\/url\])/g,t)
	t=remplace_tag(/\[url=([^\s<>]+)\](.+)\[\/url\]/g,'<a href="$1" target="_blank">$2</a>',t)
	t=remblaie(t)
// balise red
	t=deblaie(/(\[\/red\])/g,t)
	t=remplace_tag(/\[red\](.+)\[\/red\]/g,'<font style="color:red;">$1</font>',t)
	t=remblaie(t)
// balise blue
	t=deblaie(/(\[\/bleu\])/g,t)
	t=remplace_tag(/\[bleu\](.+)\[\/bleu\]/g,'<font style="color:blue;">$1</font>',t)
	t=remblaie(t)
// balise size	
	t=deblaie(/(\[\/size\])/g,t)
	t=remplace_tag(/\[size=([+-]?[0-9])\](.+)\[\/size\]/g,'<font size="$2">$1</font>',t)
	t=remblaie(t)
	t=unkhol(t)
	t=nl2br(t)
	return t
}
function deblaie(reg,t) {
	texte=new String(t);
	return texte.replace(reg,'$1\n');
}
function remblaie(t) {
	texte=new String(t);
	return texte.replace(/\n/g,'');
}
function remplace_tag(reg,rep,t) {
	texte=new String(t);
	return texte.replace(reg,rep);
}
function nl2br(t) {
	texte=new String(t);
	return texte.replace(/\n/g,'<br/>');
}
function nl2khol(t) {
	texte=new String(t);
	return texte.replace(/\n/g,ptag);
}
function unkhol(t) {
	texte=new String(t);
	return texte.replace(new RegExp(ptag,'g'),'\n');
}

function valid_char(evt)
{
	var keyCode = evt.which ? evt.which : evt.keyCode;
	var interdit = '\"';
	if (interdit.indexOf(String.fromCharCode(keyCode)) >= 0)
		return false;
}

function aproposde()
{
window.open("photoliste.php", "aproposde", "toolbar=no, location=no, directories=no, status=yes, scrollbars=yes, resizable=no, copyhistory=no, width=450, height=350, left=300, top=50"); 
}

