// Script für Zitatbuttons
function insert(aTag, eTag, formname, insertText) {
 var input = document.forms[formname].elements.body;
 var insText, pos;
 input.focus();
 /* für Internet Explorer */
 if(typeof document.selection != 'undefined') {
   /* Einfügen des Formatierungscodes */
   var range = document.selection.createRange();
   if ( insertText == '')
   {
     insText = range.text;
   } else
   {
     insText = insertText;
   }
   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();
 }
 /* für neuere auf Gecko basierende Browser */
 else if(typeof input.selectionStart != 'undefined')
 {
   /* Einfügen des Formatierungscodes */
   var start = input.selectionStart;
   var end = input.selectionEnd;
   if ( insertText == '')
   {
     insText = input.value.substring(start, end);
     input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
   } else
   {
     insText = insertText;
     input.value = input.value.substr(0, end) + aTag + insText + eTag + input.value.substr(end);
   }
   /* Anpassen der Cursorposition */
   if (insText.length === 0) {
     pos = start + aTag.length;
   } else {
     pos = start + aTag.length + insText.length + eTag.length;
   }
   input.selectionStart = pos;
   input.selectionEnd = pos;
 }
 /* für die übrigen Browser */
 else
 {
   /* Abfrage der Einfügeposition */
   var re = new RegExp('^[0-9]{0,3}$');
   while(!re.test(pos)) {
     pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
   }
   if(pos > input.value.length) {
     pos = input.value.length;
   }
   /* Einfügen des Formatierungscodes */
   if ( insertText == '')
   {
     insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
   } else
   {
     insText = insertText;
   }
   input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos);
 }
}
function SelectText(elem) {
 if ( typeof textselected == "undefined" || textselected === null || textselected === false )
 {
 //Internet Explorer
 if (document.selection && document.selection.createRange) {
  selectedtext = document.selection.createRange().text;
  textselected = true;
 }
 //Firefox & Co.
 else if (window.getSelection) {
  selectedtext = window.getSelection();
  textselected = true;
 } else if (document.getSelection) {
  selectedtext = document.getSelection();
  textselected = true;
 }
 //Markierten Text zwischenspeichern
 if ( textselected === true )
 {
   elem.name = selectedtext;
 }
 }
}
function insertQuote(aTag, eTag, formname) {
 if ( typeof selectedtext != "undefined" && selectedtext !== null && typeof textselected != "undefined" && textselected !== null && textselected === true )
 {
   selectedtext = document.getElementById('zitatbutton').name;
   textselected = false;
 }
 self.location='#'+formname;
 insert(aTag, eTag, formname, selectedtext);
}
function ToggleZitatbutton(elem, formname) {
 zitatbutton = document.getElementById('zitatbutton');
 if ( elem.value.indexOf('einblenden') > -1 )
 {
   zitatbutton.style.visibility='visible';
   elem.value = 'Zitatbutton ausblenden';
 } else
 {
   zitatbutton.style.visibility='hidden';
   elem.value = 'Zitatbutton einblenden';
 }
 //zitatbutton.className = formname;
 zitatbutton.setAttribute( "class", formname );
 zitatbutton.setAttribute( "className", formname );
}
function CheckTextSelected(formname) {
 var input = document.forms[formname].elements.body;
 var selectedtext = '';
 var textselected = false;
 /* für Internet Explorer */
 if(typeof document.selection != 'undefined') {
   selectedtext = document.selection.createRange().text;
 }
 /* für neuere auf Gecko basierende Browser */
 else if(typeof input.selectionStart != 'undefined') {
   var start = input.selectionStart;
   var end = input.selectionEnd;
   selectedtext = input.value.substring(start, end);
 }
 if ( typeof selectedtext != "undefined" && selectedtext !== null && selectedtext.length > 0 ) { return true; } else { return false; }
}
function insertLink (formname) {
 var CheckSelection = CheckTextSelected(formname);
 var linkURL = prompt("Bitte gib die Internetadresse ein:");
 var insText = '';
 if ( CheckSelection === false )
 {
   insText = prompt("Bitte gib die Beschreibung für den Link ein (oder drück einfach Enter):"); 
   if ( insText.length == 0 ) { insText = linkURL; }
 }
 insert('<a href=\"'+linkURL+'\">', '</a>', formname, insText);
}
