var isMozilla = (navigator.userAgent.toLowerCase().indexOf('gecko')!=-1) ? true : false;
var regexp = new RegExp("[\r]","gi");

function storeCaretFr(selec)
{
	if (isMozilla) 
	{
	// Si on est sur Mozilla

		oField = document.forms['Post'].elements['txtDescriptionFr'];

		objectValue = oField.value;

		deb = oField.selectionStart;
		fin = oField.selectionEnd;

		objectValueDeb = objectValue.substring( 0 , oField.selectionStart );
		objectValueFin = objectValue.substring( oField.selectionEnd , oField.textLength );
		objectSelected = objectValue.substring( oField.selectionStart ,oField.selectionEnd );

		colortest = /color/;
		if( colortest.test(selec) )
			oField.value = objectValueDeb + "[" + selec + "]" + objectSelected + "[/color]" + objectValueFin;
		else
			oField.value = objectValueDeb + "[" + selec + "]" + objectSelected + "[/" + selec + "]" + objectValueFin;
		
		oField.focus();
		oField.setSelectionRange(
			objectValueDeb.length + selec.length + 2,
			objectValueDeb.length + selec.length + 2);
	}
	else
	{
	// Si on est sur IE
		
		oField = document.forms['Post'].elements['txtDescriptionFr'];
		var str = document.selection.createRange().text;
		colortest = /color/;
		if (str.length>0)
		{
		// Si on a selectionné du texte
			var sel = document.selection.createRange();
			
			if( colortest.test(selec) )
				sel.text = "[" + selec + "]" + str + "[/color]";
			else
				sel.text = "[" + selec + "]" + str + "[/" + selec + "]";
			sel.collapse();
			sel.select();
		}
		else
		{
			oField.focus(oField.caretPos);
			oField.focus(oField.value.length);
			oField.caretPos = document.selection.createRange().duplicate();
			
			var bidon = "%~%";
			var orig = oField.value;
			oField.caretPos.text = bidon;
			var i = oField.value.search(bidon);
			if( colortest.test(selec) )
				oField.value = orig.substr(0,i) + "[" + selec + "][/color]" + orig.substr(i, oField.value.length);
			else
				oField.value = orig.substr(0,i) + "[" + selec + "][/" + selec + "]" + orig.substr(i, oField.value.length);
			//Partie modifiée
			
			//Gestion des retours chariots sous IE
			var temp = orig.substr(0,i);
			var nbretour =0;
			for (var cpt=0;cpt<temp.length;cpt=cpt+1)
			{
			if(temp.charAt(cpt)=="\n")
			{
			nbretour=nbretour+1;
			}
			}
			//Prise en compte des retour chariots dans le placement du curseur
			pos = i + 2 + selec.length - nbretour;
			//Fin de la modif
			
			var r = oField.createTextRange();
			var r = oField.createTextRange();
			r.moveStart('character', pos);
			r.collapse();
			r.select();

		}
	}
}

function isUrl(text) {
    return ((text.indexOf('.') > 7) &&
            ((text.substring(0,7) == 'http://') || (text.substring(0,4) == 'www.') ||
            (text.substring(0,6) == 'ftp://')));
}
  
function enterUrlFr() {
    var url = 'http://www.'; var desc = '';
    url = prompt('Entrer votre URL : ',url) || '';
    desc = prompt('Entrer sa description : ',desc) || url;
	// if (!isUrl(url)) { returnFocus(); return; }
   if (!isUrl(url)) { return; }
   var code = '[url=' + url + ']' + desc + '[/url]';
   if (isMozilla) 
	{
	// Si on est sur Mozilla

		oField = document.forms['Post'].elements['txtDescriptionFr'];

		objectValue = oField.value;

		deb = oField.selectionStart;
		fin = oField.selectionEnd;

		objectValueDeb = objectValue.substring( 0 , oField.selectionStart );
		objectValueFin = objectValue.substring( oField.selectionEnd , oField.textLength );
		objectSelected = objectValue.substring( oField.selectionStart ,oField.selectionEnd );		
		oField.value = objectValueDeb + code + objectValueFin;
		oField.focus();
	}
	else
	{
	// Si on est sur IE
		
		oField = document.forms['Post'].elements['txtDescriptionFr'];
		var str = document.selection.createRange().text;

		if (str.length>0)
		{
		// Si on a selectionné du texte
			var sel = document.selection.createRange();
			sel.text = "[" + selec + "]" + str + "[/" + selec + "]";
			sel.collapse();
			sel.select();
		}
		else
		{
			oField.focus(oField.caretPos);
			oField.focus(oField.value.length);
			oField.caretPos = document.selection.createRange().duplicate();
			
			var bidon = "%~%";
			var orig = oField.value;
			oField.caretPos.text = bidon;
			var i = oField.value.search(bidon);
			oField.value = orig.substr(0,i) + code + orig.substr(i, oField.value.length);
			//Partie modifiée
			
			//Gestion des retours chariots sous IE
			var temp = orig.substr(0,i);
			var nbretour =0;
			for (var cpt=0;cpt<temp.length;cpt=cpt+1)
			{
			if(temp.charAt(cpt)=="\n")
			{
			nbretour=nbretour+1;
			}
			}
			//Prise en compte des retour chariots dans le placement du curseur
			pos = i + 2 + selec.length - nbretour;
			//Fin de la modif
			
			//placer(document.forms['news'].elements['newst'], pos);
			var r = oField.createTextRange();
			var r = oField.createTextRange();
			r.moveStart('character', pos);
			r.collapse();
			r.select();

		}
	}
}

  
function enterImgFr() {
   var img = '';
   image = prompt("Entrer l'adresse de l'image : ",img) || '';
   var code = '[img]' + image + '[/img]';
   if (isMozilla) 
	{
	// Si on est sur Mozilla

		oField = document.forms['Post'].elements['txtDescriptionFr'];

		objectValue = oField.value;

		deb = oField.selectionStart;
		fin = oField.selectionEnd;

		objectValueDeb = objectValue.substring( 0 , oField.selectionStart );
		objectValueFin = objectValue.substring( oField.selectionEnd , oField.textLength );
		objectSelected = objectValue.substring( oField.selectionStart ,oField.selectionEnd );

		//alert("Debut:'"+objectValueDeb+"' ("+deb+")\nFin:'"+objectValueFin+"' ("+fin+")\n\nSelectionné:'"+objectSelected+"'("+(fin-deb)+")");
			
		oField.value = objectValueDeb + code + objectValueFin;
		oField.focus();
	}
	else
	{
	// Si on est sur IE
		
		oField = document.forms['Post'].elements['txtDescriptionFr'];
		var str = document.selection.createRange().text;

		if (str.length>0)
		{
		// Si on a selectionné du texte
			var sel = document.selection.createRange();
			sel.text = "[" + selec + "]" + str + "[/" + selec + "]";
			sel.collapse();
			sel.select();
		}
		else
		{
			oField.focus(oField.caretPos);
			oField.focus(oField.value.length);
			oField.caretPos = document.selection.createRange().duplicate();
			
			var bidon = "%~%";
			var orig = oField.value;
			oField.caretPos.text = bidon;
			var i = oField.value.search(bidon);
			oField.value = orig.substr(0,i) + code + orig.substr(i, oField.value.length);
			//Partie modifiée
			
			//Gestion des retours chariots sous IE
			var temp = orig.substr(0,i);
			var nbretour =0;
			for (var cpt=0;cpt<temp.length;cpt=cpt+1)
			{
			if(temp.charAt(cpt)=="\n")
			{
			nbretour=nbretour+1;
			}
			}
			//Prise en compte des retour chariots dans le placement du curseur
			pos = i + 2 + selec.length - nbretour;
			//Fin de la modif
			
			//placer(document.forms['news'].elements['newst'], pos);
			var r = oField.createTextRange();
			var r = oField.createTextRange();
			r.moveStart('character', pos);
			r.collapse();
			r.select();

		}
	}
}

function storeCaretEng(selec)
{
	if (isMozilla) 
	{
	// Si on est sur Mozilla

		oField = document.forms['Post'].elements['txtDescriptionEng'];

		objectValue = oField.value;

		deb = oField.selectionStart;
		fin = oField.selectionEnd;

		objectValueDeb = objectValue.substring( 0 , oField.selectionStart );
		objectValueFin = objectValue.substring( oField.selectionEnd , oField.textLength );
		objectSelected = objectValue.substring( oField.selectionStart ,oField.selectionEnd );

		colortest = /color/;
		if( colortest.test(selec) )
			oField.value = objectValueDeb + "[" + selec + "]" + objectSelected + "[/color]" + objectValueFin;
		else
			oField.value = objectValueDeb + "[" + selec + "]" + objectSelected + "[/" + selec + "]" + objectValueFin;
		
		oField.focus();
		oField.setSelectionRange(
			objectValueDeb.length + selec.length + 2,
			objectValueDeb.length + selec.length + 2);
	}
	else
	{
	// Si on est sur IE
		
		oField = document.forms['Post'].elements['txtDescriptionEng'];
		var str = document.selection.createRange().text;
		colortest = /color/;
		if (str.length>0)
		{
		// Si on a selectionné du texte
			var sel = document.selection.createRange();
			
			if( colortest.test(selec) )
				sel.text = "[" + selec + "]" + str + "[/color]";
			else
				sel.text = "[" + selec + "]" + str + "[/" + selec + "]";
			sel.collapse();
			sel.select();
		}
		else
		{
			oField.focus(oField.caretPos);
			oField.focus(oField.value.length);
			oField.caretPos = document.selection.createRange().duplicate();
			
			var bidon = "%~%";
			var orig = oField.value;
			oField.caretPos.text = bidon;
			var i = oField.value.search(bidon);
			if( colortest.test(selec) )
				oField.value = orig.substr(0,i) + "[" + selec + "][/color]" + orig.substr(i, oField.value.length);
			else
				oField.value = orig.substr(0,i) + "[" + selec + "][/" + selec + "]" + orig.substr(i, oField.value.length);
			//Partie modifiée
			
			//Gestion des retours chariots sous IE
			var temp = orig.substr(0,i);
			var nbretour =0;
			for (var cpt=0;cpt<temp.length;cpt=cpt+1)
			{
			if(temp.charAt(cpt)=="\n")
			{
			nbretour=nbretour+1;
			}
			}
			//Prise en compte des retour chariots dans le placement du curseur
			pos = i + 2 + selec.length - nbretour;
			//Fin de la modif
			
			var r = oField.createTextRange();
			var r = oField.createTextRange();
			r.moveStart('character', pos);
			r.collapse();
			r.select();

		}
	}
}

function isUrl(text) {
    return ((text.indexOf('.') > 7) &&
            ((text.substring(0,7) == 'http://') || (text.substring(0,4) == 'www.') ||
            (text.substring(0,6) == 'ftp://')));
}
  
function enterUrlEng() {
    var url = 'http://www.'; var desc = '';
    url = prompt('Entrer votre URL : ',url) || '';
    desc = prompt('Entrer sa description : ',desc) || url;
	// if (!isUrl(url)) { returnFocus(); return; }
   if (!isUrl(url)) { return; }
   var code = '[url=' + url + ']' + desc + '[/url]';
   if (isMozilla) 
	{
	// Si on est sur Mozilla

		oField = document.forms['Post'].elements['txtDescriptionEng'];

		objectValue = oField.value;

		deb = oField.selectionStart;
		fin = oField.selectionEnd;

		objectValueDeb = objectValue.substring( 0 , oField.selectionStart );
		objectValueFin = objectValue.substring( oField.selectionEnd , oField.textLength );
		objectSelected = objectValue.substring( oField.selectionStart ,oField.selectionEnd );		
		oField.value = objectValueDeb + code + objectValueFin;
		oField.focus();
	}
	else
	{
	// Si on est sur IE
		
		oField = document.forms['Post'].elements['txtDescriptionEng'];
		var str = document.selection.createRange().text;

		if (str.length>0)
		{
		// Si on a selectionné du texte
			var sel = document.selection.createRange();
			sel.text = "[" + selec + "]" + str + "[/" + selec + "]";
			sel.collapse();
			sel.select();
		}
		else
		{
			oField.focus(oField.caretPos);
			oField.focus(oField.value.length);
			oField.caretPos = document.selection.createRange().duplicate();
			
			var bidon = "%~%";
			var orig = oField.value;
			oField.caretPos.text = bidon;
			var i = oField.value.search(bidon);
			oField.value = orig.substr(0,i) + code + orig.substr(i, oField.value.length);
			//Partie modifiée
			
			//Gestion des retours chariots sous IE
			var temp = orig.substr(0,i);
			var nbretour =0;
			for (var cpt=0;cpt<temp.length;cpt=cpt+1)
			{
			if(temp.charAt(cpt)=="\n")
			{
			nbretour=nbretour+1;
			}
			}
			//Prise en compte des retour chariots dans le placement du curseur
			pos = i + 2 + selec.length - nbretour;
			//Fin de la modif
			
			//placer(document.forms['news'].elements['newst'], pos);
			var r = oField.createTextRange();
			var r = oField.createTextRange();
			r.moveStart('character', pos);
			r.collapse();
			r.select();

		}
	}
}

  
function enterImgEng() {
   var img = '';
   image = prompt("Entrer l'adresse de l'image : ",img) || '';
   var code = '[img]' + image + '[/img]';
   if (isMozilla) 
	{
	// Si on est sur Mozilla

		oField = document.forms['Post'].elements['txtDescriptionEng'];

		objectValue = oField.value;

		deb = oField.selectionStart;
		fin = oField.selectionEnd;

		objectValueDeb = objectValue.substring( 0 , oField.selectionStart );
		objectValueFin = objectValue.substring( oField.selectionEnd , oField.textLength );
		objectSelected = objectValue.substring( oField.selectionStart ,oField.selectionEnd );

		//alert("Debut:'"+objectValueDeb+"' ("+deb+")\nFin:'"+objectValueFin+"' ("+fin+")\n\nSelectionné:'"+objectSelected+"'("+(fin-deb)+")");
			
		oField.value = objectValueDeb + code + objectValueFin;
		oField.focus();
	}
	else
	{
	// Si on est sur IE
		
		oField = document.forms['Post'].elements['txtDescriptionEng'];
		var str = document.selection.createRange().text;

		if (str.length>0)
		{
		// Si on a selectionné du texte
			var sel = document.selection.createRange();
			sel.text = "[" + selec + "]" + str + "[/" + selec + "]";
			sel.collapse();
			sel.select();
		}
		else
		{
			oField.focus(oField.caretPos);
			oField.focus(oField.value.length);
			oField.caretPos = document.selection.createRange().duplicate();
			
			var bidon = "%~%";
			var orig = oField.value;
			oField.caretPos.text = bidon;
			var i = oField.value.search(bidon);
			oField.value = orig.substr(0,i) + code + orig.substr(i, oField.value.length);
			//Partie modifiée
			
			//Gestion des retours chariots sous IE
			var temp = orig.substr(0,i);
			var nbretour =0;
			for (var cpt=0;cpt<temp.length;cpt=cpt+1)
			{
			if(temp.charAt(cpt)=="\n")
			{
			nbretour=nbretour+1;
			}
			}
			//Prise en compte des retour chariots dans le placement du curseur
			pos = i + 2 + selec.length - nbretour;
			//Fin de la modif
			
			//placer(document.forms['news'].elements['newst'], pos);
			var r = oField.createTextRange();
			var r = oField.createTextRange();
			r.moveStart('character', pos);
			r.collapse();
			r.select();

		}
	}
}

function showSpoil(idSpoil)
{
  
  if (!document.getElementsByTagName) return null;
  if (!idSpoil) idSpoil = "";
  var divs = document.getElementsByTagName("div");
  for(var i=0; i < divs.length; i++)
  {
    var div = divs[i];
    var id = div.id;
    if (id == idSpoil)
    {
      if(div.style.display == "block"){
		div.style.display = "none";
	}
	else {

      	div.style.display = "block";
	}
    }
  }
}

function showBlock(idBlock)
{
  
  if (!document.getElementsByTagName) return null;
  if (!idBlock) idBlock = "";
  var divs = document.getElementsByTagName("div");
  for(var i=0; i < divs.length; i++)
  {
    var div = divs[i];
    var id = div.id;
    if (id == idBlock)
    {
	if(div.style.display == "block"){
		div.style.display = "none";
	}
	else {

      	div.style.display = "block";
	}
    }
  }
}