/* ------------------------------------------------ */
/* Tabellenfenster oeffnen */
function tabwin(url, breit, hoch) {
windowName = "";
options  = "";
options += "toolbar=0,";
options += "location=0,";
options += "directories=0,";
options += "status=0,";
options += "menubar=0,";
options += "scrollbars=1,";
options += "resizable=1,";
options += "width=" + breit + ",";
options += "height=" + hoch + "";
win = window.open(url, windowName , options);
if (!win.opener) {
win.opener = window;
}
};

/* ------------------------------------------------ */
/* Hilfetexte anzeigen */
function txhelp(text) { 
document.getElementById("helpout").firstChild.data = (text=='') ? "" : text; 
} 
/* ------------------------------------------------ */
/* Textfeld vergroessern */

function bigger (boxid){ 
var t=document.getElementById(boxid); 
if (t.offsetHeight < 1000) {
t.style.height = t.offsetHeight+100+"px"; 
} 
}
/* ------------------------------------------------ */
/* Textfeld verkleinern */
function smaller (boxid){ 
var t=document.getElementById(boxid); 
if (t.offsetHeight > 150) {
t.style.height = t.offsetHeight-100+"px"; 
} 
}

/* ------------------------------------------------ */
/* Allgemeine BB-Codes einfuegen */

function bbcode(form,field,wert) {
if (document.selection) { // fuer IE Browser
var str = document.selection.createRange().text;
document.forms[form].elements[field].focus();
var sel = document.selection.createRange();
sel.text = "[" + wert + "]" + str + "[/" + wert + "]";
return;

} else if ((typeof document.forms[form].elements[field].selectionStart) != 'undefined') { // fuer Mozilla Browser
var txtarea = document.forms[form].elements[field];
var selLength = txtarea.textLength;
var selStart = txtarea.selectionStart;
var selEnd = txtarea.selectionEnd;
var oldScrollTop = txtarea.scrollTop;
var s1 = (txtarea.value).substring(0,selStart);
var s2 = (txtarea.value).substring(selStart, selEnd)
var s3 = (txtarea.value).substring(selEnd, selLength);
txtarea.value = s1 + '[' + wert + ']' + s2 + '[/' + wert + ']' + s3;
txtarea.selectionStart = s1.length;
txtarea.selectionEnd = s1.length + 5 + s2.length + wert.length * 2;
txtarea.scrollTop = oldScrollTop;
txtarea.focus();
return;
} else insert(form,field,'[' + wert + '][/' + wert + '] ');
}

/* ------------------------------------------------ */
/* Smilies einfuegen */

function insert(form,field,what) {
  
if (document.forms[form].elements[field].createTextRange) {
document.forms[form].elements[field].focus();
document.selection.createRange().duplicate().text = what;

} else if ((typeof document.forms[form].elements[field].selectionStart) != 'undefined') { // für Mozilla
var tarea = document.forms[form].elements[field];
var selEnd = tarea.selectionEnd;
var txtLen = tarea.value.length;
var txtbefore = tarea.value.substring(0,selEnd);
var txtafter =  tarea.value.substring(selEnd, txtLen);
var oldScrollTop = tarea.scrollTop;
tarea.value = txtbefore + what + txtafter;
tarea.selectionStart = txtbefore.length + what.length;
tarea.selectionEnd = txtbefore.length + what.length;
tarea.scrollTop = oldScrollTop;
tarea.focus();
   
} else {
document.forms[form].elements[field].value += what;
document.forms[form].elements[field].focus();
}
}
/* ------------------------------------------------ */
/* Links mit und ohne Target */

function URL_INSERT(form,field,mit_ohne_target) {
 
var link_target='Link target (URL):';
var link_text='Link text (optional):';

if (document.selection) { // fuer IE Browser

var txtsel = document.selection.createRange().text;
document.forms[form].elements[field].focus();
var sel = document.selection.createRange();
var URL_INSERT = prompt(link_target,'http://');

if(sel.text=='' && URL_INSERT!='' && URL_INSERT!=null) txtsel = prompt(link_text,'');

if(URL_INSERT && txtsel!=null) {
if(txtsel!='') {
sel.text = "[" + mit_ohne_target + "=" + URL_INSERT + "]" + txtsel + "[/" + mit_ohne_target + "]";
} else {
sel.text = "[" + mit_ohne_target +"]" + URL_INSERT + "[/" + mit_ohne_target + "]";
}
}
return;
   
} else if ((typeof document.forms[form].elements[field].selectionStart) != 'undefined') { // fuer Mozilla Browser

var txtarea = document.forms[form].elements[field];
var selLength = txtarea.textLength;
var selStart = txtarea.selectionStart;
var selEnd = txtarea.selectionEnd;
var oldScrollTop = txtarea.scrollTop;
var s1 = (txtarea.value).substring(0,selStart);
var s2 = (txtarea.value).substring(selStart, selEnd);
var s3 = (txtarea.value).substring(selEnd, selLength);

var URL_INSERT = prompt(link_target,'http://');
if(selEnd-selStart==0 && URL_INSERT!='' && URL_INSERT!=null) s2 = prompt(link_text,'');
if(URL_INSERT && s2!=null) {

if(s2!='') {
txtarea.value = s1 + '[' + mit_ohne_target + '=' + URL_INSERT + ']' + s2 + '[/' + mit_ohne_target + ']' + s3;
} else {
txtarea.value = s1 + '[' + mit_ohne_target + ']' + URL_INSERT + '[/' + mit_ohne_target + ']' + s3;
}
txtarea.selectionStart = s1.length;
txtarea.selectionEnd = s1.length + 5 + s2.length + s2.length * 2;
txtarea.scrollTop = oldScrollTop;
txtarea.focus();
return;
}
} else insert('[' + mit_ohne_target + '=http://www.example.com/]Linktext[/' + mit_ohne_target + ']'); 
}


/* ------------------------------------------------ */
/* eMail Link */

function MAIL_INSERT(form,field) {
 
var mailaddy='eMail Adresse:';
var maillink_text='Link text (optional):';

if (document.selection) { // fuer IE Browser

var txtsel = document.selection.createRange().text;
document.forms[form].elements[field].focus();
var sel = document.selection.createRange();
var MAIL_INSERT = prompt(mailaddy,txtsel);

if(txtsel.text!='' && MAIL_INSERT!='' && MAIL_INSERT!=null) txtsel = prompt(maillink_text,'eMail');

if(MAIL_INSERT && txtsel!=null) {
if(txtsel!='') {
sel.text = "[EMAIL=" + MAIL_INSERT + "]" + txtsel + "[/EMAIL]";
} else {
sel.text = "[EMAIL]" + MAIL_INSERT + "[/EMAIL]";
}
}
return;
   
} else if ((typeof document.forms[form].elements[field].selectionStart) != 'undefined') { // fuer Mozilla Browser

var txtarea = document.forms[form].elements[field];
var selLength = txtarea.textLength;
var selStart = txtarea.selectionStart;
var selEnd = txtarea.selectionEnd;
var oldScrollTop = txtarea.scrollTop;
var s1 = (txtarea.value).substring(0,selStart);
var s2 = (txtarea.value).substring(selStart, selEnd);
var s3 = (txtarea.value).substring(selEnd, selLength);

var MAIL_INSERT = prompt(mailaddy,s2);
if(selEnd-selStart!=0 && MAIL_INSERT!='' && MAIL_INSERT!=null) s2 = prompt(maillink_text,'eMail');
if(MAIL_INSERT && s2!=null) {

if(s2!='') {
txtarea.value = s1 + '[EMAIL=' + MAIL_INSERT + ']' + s2 + '[/EMAIL]' + s3;
} else {
txtarea.value = s1 + '[EMAIL]' + MAIL_INSERT + '[/EMAIL]' + s3;
}
txtarea.selectionStart = s1.length;
txtarea.selectionEnd = s1.length + 16 + MAIL_INSERT.length + s2.length;
txtarea.scrollTop = oldScrollTop;
txtarea.focus();
return;
}
} else insert('[EMAIL=webmaster@example.com]eMail[/EMAIL]'); 
}

/* ------------------------------------------------ */
/* Liste einfuegen */ 

function INSERT_LIST(form,field) {

var listenpunktanzahl=prompt('Anzahl Listenpunke:','3');

if(listenpunktanzahl > 0 && INSERT_LIST!=null) {

listencode='[LISTE]\n';
for (var i=1; i<=listenpunktanzahl; i++) { 
listencode += '[+]\n';
} 
listencode+='[/LISTE]\n';

insert(form,field,listencode);

}  else if (listenpunktanzahl== '' || INSERT_LIST==null) {
insert(form,field,'');
} 
return;
}

/* ------------------------------------------------ */
/* Liste einfuegen mit type SQUARE, CIRCLE, DISC*/ 

function INSERTUL_LIST_TYPE(form,field) {

var listenpunktanzahl=prompt('Anzahl Listenpunke:','3');

if(listenpunktanzahl > 0 && INSERT_LIST!=null) {

listencode='[LISTE=SQUARE]\n';
for (var i=1; i<=listenpunktanzahl; i++) { 
listencode += '[+]\n';
} 
listencode+='[/LISTE]\n';

insert(form,field,listencode);

}  else if (listenpunktanzahl== '' || INSERT_LIST==null) {
insert(form,field,'');
} 
return;
}
/* ------------------------------------------------ */
/* Liste einfuegen mit type I,i A, a*/ 

function INSERTOL_LIST_TYPE(form,field) {

var listenpunktanzahl=prompt('Anzahl Listenpunke:','3');

if(listenpunktanzahl > 0 && INSERT_LIST!=null) {

listencode='[LISTEOL=I]\n';
for (var i=1; i<=listenpunktanzahl; i++) { 
listencode += '[+]\n';
} 
listencode+='[/LISTEOL]\n';

insert(form,field,listencode);

}  else if (listenpunktanzahl== '' || INSERT_LIST==null) {
insert(form,field,'');
} 
return;
}
/* ------------------------------------------------ */
/* Farblich gestaltbare Infoboxen */ 

function INFObox(form,field) {

var boxbg=prompt('Hintergrundfarbe:', '#f4f4f4');
var boxtxt=prompt('Textfarbe','black');

if (document.selection) { // fuer IE BROWSER

var str = document.selection.createRange().text;
document.forms[form].elements[field].focus();
var sel = document.selection.createRange();


if(sel.text=='' && boxbg!='' &&  boxtxt!='');

if(boxbg && str!=null) {
if(str!='') {
sel.text = "[INFB=" + boxbg + " fontcolor=" + boxtxt +  "]" + str + "[/INFB]";
} else {
sel.text = "[INFB=" + boxbg + " fontcolor=" + boxtxt + "] [/INFB]";
}
}
return;

} else if ((typeof document.forms[form].elements[field].selectionStart) != 'undefined') { // fuer Mozilla Browser

var txtarea = document.forms[form].elements[field];
var selLength = txtarea.textLength;
var selStart = txtarea.selectionStart;
var selEnd = txtarea.selectionEnd;
var oldScrollTop = txtarea.scrollTop;
var s1 = (txtarea.value).substring(0,selStart);
var s2 = (txtarea.value).substring(selStart, selEnd);
var s3 = (txtarea.value).substring(selEnd, selLength);

if(boxbg!='' && boxtxt!='' && boxbg!=null && boxtxt!=null) {
if(s2!=null) {
if(s2!='') {
txtarea.value = s1 + '[INFB=' + boxbg + ' fontcolor=' + boxtxt +  ']' + s2 + '[/INFB]' + s3;

} else if (boxbg!='' && boxtxt!='' && boxbg!=null && boxtxt!=null) {
txtarea.value = s1 + '[INFB=' + boxbg + ' fontcolor=' + boxtxt +  '][/INFB]' + s3;
}
txtarea.selectionStart = s1.length;
txtarea.selectionEnd = s1.length + 5 + boxbg.length + 12 + boxtxt.length + s2.length + 8;
txtarea.scrollTop = oldScrollTop;
txtarea.focus();
return;
}}

}
}

/* ------------------------------------------------ */
/* Textformatierung Groesse, Schriftart, Farbe */ 

function TXTFORMAT(form,field,formname,wert) {

if (document.selection) { // fuer IE Browser
var str = document.selection.createRange().text;
document.forms[form].elements[field].focus();
var sel = document.selection.createRange();
if (wert) {
sel.text = "[" + formname + '=' + wert + "]" + str + "[/" + formname + "]";
}
document.forms[form].elements[formname].selectedIndex=0;
return;

} else if ((typeof document.forms[form].elements[field].selectionStart) != 'undefined') { // fuer Mozilla Browser

var txtarea = document.forms[form].elements[field];
var selLength = txtarea.textLength;
var selStart = txtarea.selectionStart;
var selEnd = txtarea.selectionEnd;
var oldScrollTop = txtarea.scrollTop;
var s1 = (txtarea.value).substring(0,selStart);
var s2 = (txtarea.value).substring(selStart, selEnd)
var s3 = (txtarea.value).substring(selEnd, selLength);

if (wert) {
txtarea.value = s1 + '[' + formname + '=' + wert + ']' + s2 + '[/' + formname + ']' + s3;
}
addition = formname.length +  s2.length;
txtarea.selectionStart = s1.length;
txtarea.selectionEnd = s1.length + formname.length + addition + s2.length + wert.length;
txtarea.scrollTop = oldScrollTop;
txtarea.focus();
document.forms[form].elements[formname].selectedIndex=0;
return;
} 
}


