// function for toggle TinyMCE editor - originaly from TinyMCE website 
function toggleEditor(id) {
  if (!tinyMCE.get(id))
    tinyMCE.execCommand('mceAddControl', false, id);
  else
    tinyMCE.execCommand('mceRemoveControl', false, id);
}




function ShowHide(id){
  el=document.getElementById(id).style;
  el.display=(el.display == 'block')?'none':'block';
}





// I don't know original author of this function, I found it here: http://www.webmasterworld.com/forum91/4686.htm
function insert_value(myValue, myField) {
  if (document.selection) {
      myField.focus()
      sel = document.selection.createRange();
      sel.text = myValue;
  } else if (myField.selectionStart || myField.selectionStart == '0') {
      myField.focus();
      var startPos = myField.selectionStart;
      var endPos = myField.selectionEnd;
      myField.value = myField.value.substring(0, startPos) + myValue + myField.value.substring(endPos, myField.value.length);
      myField.setSelectionRange(endPos+myValue.length, endPos+myValue.length);
  } else {
      myField.value += myValue;
  }
}





var clientPC = navigator.userAgent.toLowerCase();
var is_gecko = ((clientPC.indexOf('gecko')!=-1) && (clientPC.indexOf('spoofer')==-1) && (clientPC.indexOf('khtml') == -1) && (clientPC.indexOf('netscape/7.0')==-1));

function mark_bbtext(textarea_name, tagOpen, tagClose, sampleText) {
	var txtarea = document.getElementById(textarea_name);

  var was_space = 0;

	if (document.selection && !is_gecko) {
		var theSelection = document.selection.createRange().text;
		if (!theSelection)
			theSelection=sampleText;
		txtarea.focus();

		if (theSelection.charAt(theSelection.length - 1) == " ") {
			theSelection = theSelection.substring(0, theSelection.length - 1);
			was_space = 1;
		}
    if (theSelection.charAt(0) == " ") {
			theSelection = theSelection.substring(1, theSelection.length);
      if (was_space == 1) was_space = 3;
      else was_space = 2;
		}
    if (was_space == 1) document.selection.createRange().text = tagOpen + theSelection + tagClose + " ";
    else if (was_space == 2) document.selection.createRange().text = " " + tagOpen + theSelection + tagClose;
    else if (was_space == 3) document.selection.createRange().text = " " + tagOpen + theSelection + tagClose + " ";
    else document.selection.createRange().text = tagOpen + theSelection + tagClose;


	} else if (txtarea.selectionStart || txtarea.selectionStart == '0') {
		var replaced = false;
		var startPos = txtarea.selectionStart;
		var endPos = txtarea.selectionEnd;
		if (endPos-startPos)
			replaced = true;
		var scrollTop = txtarea.scrollTop;
		var myText = (txtarea.value).substring(startPos, endPos);
		if (!myText)
			myText=sampleText;

    if (myText.charAt(myText.length - 1) == " ") {
      was_space = 1;
			}
    if (myText.charAt(0) == " ") {
      if (was_space == 1) was_space = 3;
      else was_space = 2;
			}
    if (was_space == 1) subst = tagOpen + myText.substring(0, (myText.length - 1)) + tagClose + " ";
    else if (was_space == 2) subst = " " + tagOpen + myText.substring(1, myText.length) + tagClose;
    else if (was_space == 3) subst = " " + tagOpen + myText.substring(1, myText.length - 1) + tagClose + " ";
    else subst = tagOpen + myText + tagClose;

		txtarea.value = txtarea.value.substring(0, startPos) + subst +
			txtarea.value.substring(endPos, txtarea.value.length);
		txtarea.focus();

		if (replaced) {
			var cPos = startPos+(tagOpen.length+myText.length+tagClose.length);
			txtarea.selectionStart = cPos;
			txtarea.selectionEnd = cPos;
		} else {
			txtarea.selectionStart = startPos+tagOpen.length;
			txtarea.selectionEnd = startPos+tagOpen.length+myText.length;
		}
		txtarea.scrollTop = scrollTop;

 }

	if (txtarea.createTextRange)
		txtarea.caretPos = document.selection.createRange().duplicate();
}
