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

function CountWords (this_field, show_word_count, show_char_count) { 
 if (show_word_count == null) { show_word_count = true; } 
 if (show_char_count == null) { show_char_count = false; } 
 var char_count = this_field.value.length;
 var fullStr = this_field.value + " "; 
 var initial_whitespace_rExp = /^[^A-Za-z0-9]+/gi; 
 var left_trimmedStr = fullStr.replace(initial_whitespace_rExp, ""); 
 var non_alphanumerics_rExp = rExp = /[^A-Za-z0-9]+/gi;
 var cleanedStr = left_trimmedStr.replace(non_alphanumerics_rExp, " ");
 var splitString = cleanedStr.split(" ");
 var word_count = splitString.length -1;
 if (fullStr.length <2) { word_count = 0; }
 if (word_count == 1) { wordOrWords = " mot"; } else { wordOrWords = " mots"; }
 if (char_count == 1) { charOrChars = " caractère"; } else { charOrChars = " caractères"; } 
 if (show_word_count & show_char_count) 
  { 
    alert ("Word Count:\n" + " " + word_count + wordOrWords + "\n" + " " + char_count + charOrChars); 
  } 
else 
 { 
   if (show_word_count) { alert ("Word Count: " + word_count + wordOrWords); } 
   else { if (show_char_count) { alert ("Character Count: " + char_count + charOrChars); }
 } 
} 
return word_count; 
} 
 



function Compter(target, max, nomchamp)    
{
StrLen = target.value.length
if (StrLen > max ){ target.value = target.value.substring(0,max);CharsLeft = max;}         
else{ CharsLeft = StrLen;}     
nomchamp.value = CharsLeft; 
} 



function storeCaret(selec,selec2)
{
	if (isMozilla) 
	{
	// Si on est sur Mozilla

		oField = document.forms['news'].elements['newst'];

		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 + "[" + selec + "]" + objectSelected + "[/" + selec2 + "]" + objectValueFin;
		oField.selectionStart = strlen(objectValueDeb);
		oField.selectionEnd = strlen(objectValueDeb + "[" + selec + "]" + objectSelected + "[/" + selec2 + "]");
		oField.focus();
		oField.setSelectionRange(
			objectValueDeb.length + selec.length + 2,
			objectValueDeb.length + selec2.length + 2);
	}
	else
	{
	// Si on est sur IE
		
		oField = document.forms['news'].elements['newst'];
		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 + "[/" + selec2 + "]";
			sel.collapse();
			sel.select();
		}
		else
		{
			oField.focus(oField.caretPos);
		//	alert(oField.caretPos+"\n"+oField.value.length+"\n")
			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) + "[" + selec + "][/" + selec2 + "]" + orig.substr(i, oField.value.length);
			var r = 0;
			for(n = 0; n < i; n++)
			{if(regexp.test(oField.value.substr(n,2)) == true){r++;}};
			pos = i + 2 + selec.length - r;
			//placer(document.forms['news'].elements['newst'], pos);
			var r = oField.createTextRange();
			r.moveStart('character', pos);
			r.collapse();
			r.select();

		}
	}
}

function insertAtCursor(myField, myValue)
{
//IE support
if (document.selection)
{
myField.focus();
sel = document.selection.createRange();
sel.text = myValue;
sel.moveStart('character', -myValue.length);
sel.select();
}

//MOZILLA/NETSCAPE support
else if (myField.selectionStart || myField.selectionStart == '0')
{
var startPos = myField.selectionStart;
var endPos = myField.selectionEnd;
myField.value = myField.value.substring(0, startPos)+ myValue + myField.value.substring(endPos, myField.value.length);
myField.selectionStart = startPos;
myField.selectionEnd = startPos + myValue.length;
}
//Anyone else.
else {}
}

function affiche_comment(id){
var divc = document.getElementById(id);
var vis = divc.getAttribute('visible');
if  (vis == 0)  {divc.style.visibility = '';divc.style.display = 'block';divc.style.height = '';divc.setAttribute('visible',1);}
else {divc.style.visibility = 'hidden';divc.style.display = 'none';divc.style.height = '1px';divc.setAttribute('visible',0);}
}


