﻿/**
 * BBCode fuer jot auf Basis des codes aus SelfHTML: http://aktuell.de.selfhtml.org/artikel/javascript/bbcode/l
 * @author Joshua
 */
function insert(aTag, eTag) {
  var input = document.forms['formular'].elements['content'];
  input.focus();
  /* fuer Internet Explorer */
  if(typeof document.selection != 'undefined') {
    /* Einfuegen des Formatierungscodes */
    var range = document.selection.createRange();
    var insText = range.text;
    range.text = aTag + insText + eTag;
    /* Anpassen der Cursorposition */
    range = document.selection.createRange();
    if (insText.length == 0) {
      range.move('character', -eTag.length);
    } else {
      range.moveStart('character', aTag.length + insText.length + eTag.length);      
    }
    range.select();
  }
  /* fuer neuere auf Gecko basierende Browser */
  else if(typeof input.selectionStart != 'undefined')
  {
    /* Einfuegen des Formatierungscodes */
    var start = input.selectionStart;
    var end = input.selectionEnd;
    var insText = input.value.substring(start, end);
    input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
    /* Anpassen der Cursorposition */
    var pos;
    if (insText.length == 0) {
      pos = start + aTag.length;
    } else {
      pos = start + aTag.length + insText.length + eTag.length;
    }
    input.selectionStart = pos;
    input.selectionEnd = pos;
  }
  /* fuer die uebrigen Browser */
  else
  {
    /* Abfrage der Einfuegeposition */
    var pos;
    var re = new RegExp('^[0-9]{0,3}$');
    while(!re.test(pos)) {
      pos = prompt("Einfuegen an Position (0.." + input.value.length + "):", "0");
    }
    if(pos > input.value.length) {
      pos = input.value.length;
    }
    /* Einfuegen des Formatierungscodes */
    var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
    input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos);
  }
}
function insertMail(){
  var input = document.forms['formular'].elements['content'];
  input.focus();
	var start = input.selectionStart;
	var end   = input.selectionEnd;
	var insText = input.value.substring(start, end);
	linkZiel = 'mailto://' + prompt("Füge die E-Mail Addresse ein","");
	if (insText == '') linkBeschreibung = prompt("Füge den Titel des Links ein","");
	if (linkBeschreibung == '') linkBeschreibung = linkZiel;  
	if (linkZiel != '')	{
		if (linkZiel != '' & linkZiel != 'mailto:' & linkZiel != 'NULL'){ 
			if (insText != '') input.value = input.value.substr(0, start) + '[url=' + linkZiel + ']'+ insText + '[/url]' + input.value.substr(end);
			if (insText == '') input.value = input.value.substr(0, start) + '[url=' + linkZiel + ']'+ linkBeschreibung + '[/url]' + input.value.substr(end);
		}
	}
}
function insertURL(){
  var input = document.forms['formular'].elements['content'];
  input.focus();
	var start = input.selectionStart;
	var end   = input.selectionEnd;
	var insText = input.value.substring(start, end);
	var link_http = prompt("Füge das Ziel des Links ein","http://");
	if (link_http != '' & link_http != 'http://' & link_http != 'NULL') {
		if( insText != '' ) {
			input.value = input.value.substr(0, start) + '[url=' + link_http + ']'+ insText + '[/url]' + input.value.substr(end);
		} else {
			var link_text = prompt("Füge den Titel des Links ein","");
			if (link_text == '') link_text = link_http;
			input.value = input.value.substr(0, start) + '[url=' + link_http + ']'+ link_text + '[/url]' + input.value.substr(end);
		}
	}
}
function insertImage(){
  var input = document.forms['formular'].elements['content'];
  input.focus();
    image = prompt("Füge den Link ein wo das Bild gespeichert ist","http://www.");
    var start = input.selectionStart;
    var end = input.selectionEnd;
	var insText = input.value.substring(start, end);
	if (image != 'http://www.' & image != '' & image != 'NULL')
		input.value = input.value.substr(0, start) + '[img]' + image + '[/img]' + input.value.substr(end);
}
function toggle(id) {
  recursetr = document.getElementById(id);
  if (recursetr.style.display == 'none') {
    recursetr.style.display = 'block';
    } else {
    recursetr.style.display = 'none';
  }
}