function setbbcode(Zeichen) {
    document.eintrag.comment.focus();
    document.eintrag.comment.value =
    document.eintrag.comment.value + Zeichen;
    document.eintrag.comment.focus();
}

function insert(aTag, eTag) {
  var input = document.forms['eintrag'].elements['comment'];
  input.focus();
  /* für Internet Explorer */
  if(typeof document.selection != 'undefined') {
    /* Einfügen des Formatierungscodes */
    var range = document.selection.createRange();
    var insText = range.comment;
    range.comment = 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;
    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;
  }
  /* für die übrigen Browser */
  else
  {
    /* Abfrage der Einfügeposition */
    var pos;
    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 */
    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);
  }
}

/*BB-Code ausgeben in span*/

var timer=0;
var ptag=String.fromCharCode(5,6,7);
function  visualisation() {
	t=document.eintrag.comment.value  
	t=code_to_html(t)
	if (document.getElementById) document.getElementById("previsualisation").innerHTML=t
	if (document.eintrag.auto.checked) timer=setTimeout(visualisation,1000)
}
function automatique() {
	if (document.eintrag.auto.checked) visualisation()
}
function code_to_html(t) {
	t=nl2khol(t)
// Bold
	t=deblaie(/(\[\/b\])/g,t)
	t=remplace_tag(/\[b\](.+)\[\/b\]/g,'<b>$1</b>',t)  
	t=remblaie(t)
// Italique
	t=deblaie(/(\[\/i\])/g,t)
	t=remplace_tag(/\[i\](.+)\[\/i\]/g,'<i>$1</i>',t)  
	t=remblaie(t)
// Underline
	t=deblaie(/(\[\/u\])/g,t)
	t=remplace_tag(/\[u\](.+)\[\/u\]/g,'<u>$1</u>',t)  
	t=remblaie(t)
// left
	t=deblaie(/(\[\/l\])/g,t)
	t=remplace_tag(/\[l\](.+)\[\/l\]/g,'<p align=left>$1</p>',t)  
	t=remblaie(t)
// right
	t=deblaie(/(\[\/r\])/g,t)
	t=remplace_tag(/\[r\](.+)\[\/r\]/g,'<p align=right>$1</p>',t)  
	t=remblaie(t)
// justify
	t=deblaie(/(\[\/j\])/g,t)
	t=remplace_tag(/\[j\](.+)\[\/j\]/g,'<p align=justify>$1</p>',t)  
	t=remblaie(t)
// centered
	t=deblaie(/(\[\/center\])/g,t)
	t=remplace_tag(/\[center\](.+)\[\/center\]/g,'<center>$1</center>',t)  
	t=remblaie(t)
// quote
	t=deblaie(/(\[\/quote\])/g,t)
	t=remplace_tag(/\[quote\](.+)\[\/quote\]/g,'<p class="quote">$1</p>',t)  
	t=remblaie(t)
// code	
	t=remplace_tag(/\[code\](.+)\[\/code\]/g,'<code><nobr>$1</nobr></code>',t)  

	
/*Smilies ersetzen*/
// Img :-)
	t=deblaie(/(\[:-\)\])/g,t)
	t=remplace_tag(/\[:-\)\]/g,'<img src="components/com_artgbook/images/smile01.gif" alt="smile" border="0">',t)
	t=remblaie(t)
// Img 8-)
	t=deblaie(/(\[8-\)\])/g,t)
	t=remplace_tag(/\[8-\)\]/g,'<img src="components/com_artgbook/images/smile06.gif" alt="cooooool" border="0">',t)
	t=remblaie(t)
// Img :-0
	t=deblaie(/(\[:-0\])/g,t)
	t=remplace_tag(/\[:-0\]/g,'<img src="components/com_artgbook/images/smile07.gif" alt="grinsl" border="0">',t)
	t=remblaie(t)
// Img 8-(
	t=deblaie(/(\[8-\(\])/g,t)
	t=remplace_tag(/\[8-\(\]/g,'<img src="components/com_artgbook/images/smile11.gif" alt="ohh jemine" border="0">',t)
	t=remblaie(t)
// Img ;-L
	t=deblaie(/(\[;-L\])/g,t)
	t=remplace_tag(/\[;-L\]/g,'<img src="components/com_artgbook/images/smile17.gif" alt="lecker !!!" border="0">',t)
	t=remblaie(t)

	
// IMG2	
	t=remplace_tag(/\[img=([^\s<>]+)\](.+)\[\/img\]/g,'<a href="$1" target="_blank"><img border=0 src="$1" alt="$2"/></a>',t)	
// URL	
	t=remplace_tag(/\[url=([^\s<>]+)\](.+)\[\/url\]/g,'<a href="$1" target="_blank">$2</a>',t)
// Color	
	t=deblaie(/(\[\/color\])/g,t)
	t=remplace_tag(/\[color=(#[a-fA-F0-9]{6})\](.+)\[\/color\]/g,'<font color="$1">$2</font>',t)
	t=remblaie(t)
// size	
	t=deblaie(/(\[\/size\])/g,t)
	t=remplace_tag(/\[size=([+-]?[0-9])\](.+)\[\/size\]/g,'<font size="$1">$2</font>',t)
	t=remblaie(t)
	t=unkhol(t)
	t=nl2br(t)
	return t
}
function deblaie(reg,t) {
	texte=new String(t);
	return texte.replace(reg,'$1\n');
}
function remblaie(t) {
	texte=new String(t);
	return texte.replace(/\n/g,'');
}
function remplace_tag(reg,rep,t) {
	texte=new String(t);
	return texte.replace(reg,rep);
}
function nl2br(t) {
	texte=new String(t);
	return texte.replace(/\n/g,'<br/>');
}
function nl2khol(t) {
	texte=new String(t);
	return texte.replace(/\n/g,ptag);
}
function unkhol(t) {
	texte=new String(t);
	return texte.replace(new RegExp(ptag,'g'),'\n');
}
/*Formular checker*/


     function submitform(pressbutton)
     {
         document.eintrag.task.value=pressbutton;
         try 
         {
             document.eintrag.onsubmit();
         }
         catch(e){}
         document.eintrag.submit();
     }

     function submitbutton(pressbutton) {
         var form = document.eintrag;
         if (pressbutton == 'cancel') 
         {
             submitform( pressbutton );
             return;
         }

// Emailfilter
         var filter=/^(\w+(?:\.\w+)*)@((?:\w+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
  

         // do field validation
         if (form.name.value == "")
         {
             alert( "Name vergessen?" );
         } 
         else if (form.email.value == "")
         {
             alert( "Email bitte mit angeben. diese wird im Gaestebuch nicht angezeigt." );
         } 
		 else if (!filter.test(form.email.value))
		 {
			alert("Bitte eine gültige eMail-Adresse eingeben!")
	  	 } 
         else if (form.comment.value == "")
         {
             alert( "Ohne Text macht das doch alles keinen Sinn!." );
         } 
         else 
         {
             submitform( pressbutton );
         }
     }
		