var timer = null;
var objetClic = null;
 
function BBCchrono()
{
   timer = null;
}
 
 
function clic(obj)
{
     if ((obj.id=='bbc-smyle-btn' || obj.id=='bbc-plus-btn') && timer==null)
     {
         timer = setTimeout("BBCchrono()","20");
         objetClic  = obj;
     } 
     else
     {
         if (timer==null && document.getElementById('bbc-smylebox'))
         {
              document.getElementById('bbc-smylebox').style.display='none';
              document.getElementById('bbc-smylebox').style.height='80px';
          	  document.getElementById('bbc-smyleboxfull').style.display='none';
          	  document.getElementById('bbc-plus-btn').style.display='block';	          	      
         }
     }
}

function BBCstoreCaret(selec)
{
	var isMozilla = (navigator.userAgent.toLowerCase().indexOf('gecko')!=-1) ? true : false;
	var regexp = new RegExp("[\r]","gi");	
	if (isMozilla) 
	{
	// Si on est sur Mozilla

		oField = document.getElementById('message');

		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 + "[/" + selec + "]" + objectValueFin;
		oField.selectionStart = strlen(objectValueDeb);
		oField.selectionEnd = strlen(objectValueDeb + "[" + selec + "]" + objectSelected + "[/" + selec + "]");
		oField.focus();
		oField.setSelectionRange(
			objectValueDeb.length + selec.length + 2,
			objectValueDeb.length + selec.length + 2);
	}
	else
	{
	// Si on est sur IE
		
		oField = document.getElementById('message');
		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);
		//	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 + "][/" + selec + "]" + 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 BBCtoggleSmileys(full)
{
	var smylebox = document.getElementById('bbc-smylebox');
	var smyleboxfull = document.getElementById('bbc-smyleboxfull');
	if(smylebox.style.display=='none')
	{
		smylebox.style.display='block';	
	}
	else
	{
		smylebox.style.display='none';
		smylebox.style.height='80px';
		smyleboxfull.style.display='none';
		document.getElementById('bbc-plus-btn').style.display='block';			
	}
}

function BBCfullSmileys() {
	var smylebox = document.getElementById('bbc-smylebox');
	var smyleboxfull = document.getElementById('bbc-smyleboxfull');
	smylebox.style.height='120px';
	smylebox.style.display='block';	
	smyleboxfull.style.display='block';		
	document.getElementById('bbc-plus-btn').style.display='none';
}

function BBCBold() {
	BBCstoreCaret('b');
}

function BBCItalic() {
	BBCstoreCaret('i');	
}

function BBCUnderline() {
	BBCstoreCaret('u');	
}

function BBCStrike() {
	BBCstoreCaret('s');
}

function BBCSmiley(selec) {
	var isMozilla = (navigator.userAgent.toLowerCase().indexOf('gecko')!=-1) ? true : false;
	var regexp = new RegExp("[\r]","gi");	
	if (isMozilla) 
	{
	// Si on est sur Mozilla

		oField = document.getElementById('message');

		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 + " " + selec + " " + objectSelected + objectValueFin;
		oField.selectionStart = strlen(objectValueDeb);
		oField.selectionEnd = strlen(objectValueDeb + " " + selec + " " + objectSelected);
		oField.focus();
		oField.setSelectionRange(
			objectValueDeb.length + selec.length + 2,
			objectValueDeb.length + selec.length + 2);
	}
	else
	{
	// Si on est sur IE
		
		oField = document.getElementById('message');
		var str = document.selection.createRange().text;

		if (str.length>0)
		{
		// Si on a selectionné du texte
			var sel = document.selection.createRange();
			sel.text = ' '+str+' ';
			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) + " " + selec + " " + 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;
			var r = oField.createTextRange();
			r.moveStart('character', pos);
			r.collapse();
			r.select();

		}
	}	
	//document.getElementById('message').value+=' '+obj+' ';	
	return false;
}

function BBCConvert()
{
	var message = document.getElementById('bbc-previewbox').innerHTML;
	var msg = message.replace(/\[b]/g,"<span style=\"font-weight:bold;\">");	
	var msg1 = msg.replace(/\[i]/g,"<span style=\"font-style:italic;\">");	
	var msg2 = msg1.replace(/\[u]/g,"<span style=\"text-decoration:underline;\">");	
	var msg3 = msg2.replace(/\[s]/g,"<span style=\"text-decoration:line-through;\">");				
	var msg4 = msg3.replace(/\[\/b]/g,"</span>");
	var msg5 = msg4.replace(/\[\/i]/g,"</span>");	
	var msg6 = msg5.replace(/\[\/u]/g,"</span>");	
	var msg7 = msg6.replace(/\[\/s]/g,"</span>");
	var msg8 = msg7.replace(/\n/g,"<br/>");
	
	var msg9 = msg8.replace(/:\)/g, "<img src='libs/bbcode/smileys/smile.gif'/>");
	var msg10 = msg9.replace(/&gt;:\(/g, "<img src='libs/bbcode/smileys/angry.gif'/>");
	var msg11 = msg10.replace(/:P/g, "<img src='libs/bbcode/smileys/tongue.gif'/>");
	var msg12 = msg11.replace(/:D/g, "<img src='libs/bbcode/smileys/biggrin.gif'/>");
	var msg13 = msg12.replace(/:o/g, "<img src='libs/bbcode/smileys/ohmy.gif'/>");	
	var msg14 = msg13.replace(/B\)/g, "<img src='libs/bbcode/smileys/cool.gif'/>");	
	var msg15 = msg14.replace(/\[razor]/g, "<img src='libs/bbcode/smileys/cool2.gif'/>");
	var msg16 = msg15.replace(/\[huh]/g, "<img src='libs/bbcode/smileys/huh.gif'/>");	
	var msg17 = msg16.replace(/;\)/g, "<img src='libs/bbcode/smileys/wink.gif'/>");	
	var msg18 = msg17.replace(/=\)/g, "<img src='libs/bbcode/smileys/mellow.gif'/>");	
	var msg19 = msg18.replace(/&lt;_&lt;/g, "<img src='libs/bbcode/smileys/dry.gif'/>");	
	var msg20 = msg19.replace(/\[unsure]/g, "<img src='libs/bbcode/smileys/unsure.gif'/>");	
	var msg21 = msg20.replace(/\[wacko]/g, "<img src='libs/bbcode/smileys/wacko.gif'/>");		
									
	var msg22 = msg21.replace(/\[wow]/g, "<img src='libs/bbcode/smileys/w00t.gif'/>");
	var msg23 = msg22.replace(/:\(/g, "<img src='libs/bbcode/smileys/sad.gif'/>");	
	var msg24 = msg23.replace(/\[lol]/g, "<img src='libs/bbcode/smileys/laugh.gif'/>");	
	var msg25 = msg24.replace(/\[ninja]/g, "<img src='libs/bbcode/smileys/ninja.gif'/>");	
	var msg26 = msg25.replace(/\[clown]/g, "<img src='libs/bbcode/smileys/clown.gif'/>");	
	var msg27 = msg26.replace(/\[sick]/g, "<img src='libs/bbcode/smileys/sick.gif'/>");	
	var msg28 = msg27.replace(/\[cry]/g, "<img src='libs/bbcode/smileys/cry.gif'/>");	
	var msg29 = msg28.replace(/\[love]/g, "<img src='libs/bbcode/smileys/love.gif'/>");	
	var msg30 = msg29.replace(/\[blush]/g, "<img src='libs/bbcode/smileys/blushing.gif'/>");	
	var msg31 = msg30.replace(/\[blush_shy]/g, "<img src='libs/bbcode/smileys/blushing2.gif'/>");	
	var msg32 = msg31.replace(/\[whistle]/g, "<img src='libs/bbcode/smileys/whistling.gif'/>");	
	var msg33 = msg32.replace(/\[kiss]/g, "<img src='libs/bbcode/smileys/kiss.gif'/>");		
	var msg34 = msg33.replace(/\[blink]/g, "<img src='libs/bbcode/smileys/blink.gif'/>");	
	var msg35 = msg34.replace(/\[doh]/g, "<img src='libs/bbcode/smileys/doh.gif'/>");	
	var msg36 = msg35.replace(/\[dohh]/g, "<img src='libs/bbcode/smileys/doh2.gif'/>");	
	var msg37 = msg36.replace(/\[evileyes]/g, "<img src='libs/bbcode/smileys/evileyes.gif'/>");	
	
	var msg38 = msg37.replace(/\[thumbsup]/g, "<img src='libs/bbcode/smileys/thumbsup.gif'/>");	
	var msg39 = msg38.replace(/\[scanner]/g, "<img src='libs/bbcode/smileys/scanner.gif'/>");	
	var msg40 = msg39.replace(/\[thumbs_up]/g, "<img src='libs/bbcode/smileys/thumbs_up.gif'/>");	
	var msg41 = msg40.replace(/\[thumbs_down] /g, "<img src='libs/bbcode/smileys/thumbs_down.gif'/>");	
	var msg42 = msg41.replace(/\[yinyang]/g, "<img src='libs/bbcode/smileys/yinyang.gif'/>");	
	var msg43 = msg42.replace(/\[hug]/g, "<img src='libs/bbcode/smileys/hug.gif'/>");	
	var msg44 = msg43.replace(/\[music]/g, "<img src='libs/bbcode/smileys/music.gif'/>");	
	var msg45 = msg44.replace(/\[innocent]/g, "<img src='libs/bbcode/smileys/innocent.gif'/>");	
	var msg46 = msg45.replace(/\[badboy]/g, "<img src='libs/bbcode/smileys/badboy.gif'/>");	
	var msg47 = msg46.replace(/\[southpark]/g, "<img src='libs/bbcode/smileys/southpark.gif'/>");	
	var msg48 = msg47.replace(/\[fool]/g, "<img src='libs/bbcode/smileys/fool.gif'/>");	
	var msg49 = msg48.replace(/\[celebrate]/g, "<img src='libs/bbcode/smileys/celebrate.gif'/>");	
	var msg50 = msg49.replace(/\[fancy]/g, "<img src='libs/bbcode/smileys/fancy.gif'/>");	
	var msg51 = msg50.replace(/\[cold]/g, "<img src='libs/bbcode/smileys/cold.gif'/>");	
	var msg52 = msg51.replace(/\[wub]/g, "<img src='libs/bbcode/smileys/wub.gif'/>");	
	var msg53 = msg52.replace(/\[pirate]/g, "<img src='libs/bbcode/smileys/arrr.gif'/>");
	var msg54 = msg53.replace(/\[holmes]/g, "<img src='libs/bbcode/smileys/holmes.gif'/>");	
	var msg55 = msg54.replace(/\[rants]/g, "<img src='libs/bbcode/smileys/ranting2.gif'/>");							

	document.getElementById('bbc-previewbox').innerHTML = msg55;
}

function BBCPreview() {
	var btn = document.getElementById('bbc-btn-preview');
	var previewbox = document.getElementById('bbc-previewbox');
	
	if(previewbox.style.display=='none')
	{
		btn.innerHTML = 'Editer';
		previewbox.innerHTML = document.getElementById('message').value;
		var prevWidth = document.getElementById('message').offsetWidth;
		var prevHeight = document.getElementById('message').offsetHeight;
		previewbox.style.width=prevWidth+'px';
		previewbox.style.height=prevHeight+'px';
		BBCConvert();
		previewbox.style.display='block';		
	}
	else
	{
		btn.innerHTML = 'Pr&eacute;visualiser';
		previewbox.style.display='none';
	}
		
}

