link_text_prompt1 = "Gebe den Namen des Files ein (optional)";

tags = new Array();

function getarraysize(thearray) {
 for (i = 0; i < thearray.length; i++) {
  if ((thearray[i] == "undefined") || (thearray[i] == "") || (thearray[i] == null)) return i;
 }
 return thearray.length;
}

function arraypush(thearray,value) {
 thearraysize = getarraysize(thearray);
 thearray[thearraysize] = value;
}

function arraypop(thearray) {
 thearraysize = getarraysize(thearray);
 retval = thearray[thearraysize - 1];
 delete thearray[thearraysize - 1];
 return retval;
}

// *******************************************************

function setmode(modevalue) {
 document.cookie = "bbcodemode="+modevalue+"; path=/; expires=Wed, 1 Jan 2020 00:00:00 GMT;";
}

function normalmode(theform) {
 if (theform.mode[0].checked) return true;
 else return false;
}

function stat(thevalue) {
 document.bbform.status.value = eval(thevalue+"_text");
}

function setfocus(theform) {
 theform.message.focus();
}

function closetag(theform) {
 if (!normalmode(theform)) {
  if (tags[0]) theform.message.value += "[/"+ arraypop(tags) +"]";
 }
 setfocus(theform);
}

function closeall(theform) {
 if (!normalmode(theform)) {
  if (tags[0]) {
   while (tags[0]) {
    theform.message.value += "[/"+ arraypop(tags) +"]";
   }
   theform.message.value += " ";
  }
 }
 setfocus(theform);
}

// *******************************************************
var selectedText = "";
AddTxt = "";

function getActiveText(msg) { 
 selectedText = (document.all) ? document.selection.createRange().text : document.getSelection();
 if (msg.createTextRange) msg.caretPos = document.selection.createRange().duplicate();
 return true;
}

function AddText(NewCode,theform) {
 if (theform.message.createTextRange && theform.message.caretPos) {
  var caretPos = theform.message.caretPos;
  caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? NewCode + ' ' : NewCode;
 } else theform.message.value+=NewCode
 AddTxt = "";
 setfocus(theform);
}

function bbcode_smilie(){
	window.open("misc.php?action=text2schild","text2schild", "toolbar=no,scrollbars=yes,resizable=yes,statusbar=yes,width=400,height=300");
}

function bbcode(theform,bbcode,prompttext) {
 setfocus(theform);
 if ((normalmode(theform)) || (bbcode=="IMG")) {
  if (selectedText) var dtext=selectedText;
  else var dtext=prompttext;
  if(dtext && bbcode!="IMG") inserttext=dtext; else inserttext = prompt(tag_prompt+"\n["+bbcode+"]xxx[/"+bbcode+"]",dtext);
  if ((inserttext != null) && (inserttext != "")) { 
   AddTxt = "["+bbcode+"]"+inserttext+"[/"+bbcode+"]";
   if(!dtext) AddTxt+=" ";
   AddText(AddTxt,theform);
   if(dtext) {theform.message.blur(); setfocus(theform);}
  }
 }
 else {
  donotinsert = false;
  for (i = 0; i < tags.length; i++) {
   if (tags[i] == bbcode) donotinsert = true;
  }
  if (!donotinsert) {
   theform.message.value += "["+bbcode+"]";
   arraypush(tags,bbcode);
  }
 }
 setfocus(theform);
}

// *******************************************************

function fontformat(theform,thevalue,thetype) {
 setfocus(theform);
 if (normalmode(theform)) {
  if (thevalue != 0) {
   if (selectedText) var dtext=selectedText;
   else var dtext="";
   inserttext = prompt(font_formatter_prompt+" "+thetype,dtext);
   if ((inserttext != null) && (inserttext != "")) {
    AddTxt = "["+thetype+"="+thevalue+"]"+inserttext+"[/"+thetype+"] ";
    AddText(AddTxt,theform);
   }
  }
 }
 else {
  theform.message.value += "["+thetype+"="+thevalue+"]";
  arraypush(tags,thetype);
 }
 theform.sizeselect.selectedIndex = 0;
 theform.fontselect.selectedIndex = 0;
 theform.colorselect.selectedIndex = 0;
 setfocus(theform);
}

// *******************************************************

function namedlink(theform,thetype) {
 if (selectedText) { var dtext=selectedText; } else { var dtext=""; }
 linktext = prompt(link_text_prompt,dtext);
 var prompttext;
 if (thetype == "URL") {
  prompt_text = link_url_prompt;
  prompt_contents = "http://";
 }
 else {
  prompt_text = link_email_prompt;
  prompt_contents = "";
 }
 linkurl = prompt(prompt_text,prompt_contents);
 if ((linkurl != null) && (linkurl != "")) {
  if ((linktext != null) && (linktext != "")) {
   AddTxt = "["+thetype+"="+linkurl+"]"+linktext+"[/"+thetype+"] ";
   AddText(AddTxt,theform);
  }
  else{
   AddTxt = "["+thetype+"]"+linkurl+"[/"+thetype+"] ";
   AddText(AddTxt,theform);
  }
 }
}
///###################edonkey anfang

function ed2kserver(theform,thetype) {
	if (selectedText) { var dtext=selectedText; } else { var dtext=""; }
	linktext = prompt(link_text_prompt1,dtext);
		var prompttext;
		
		
		if (thetype == "edk") {
			prompt_text = "Gebe den Link zum eDonkey File ein !";
			prompt_contents = "ed2k://";
			}
		else {
			prompt_text = "Gebe den Link zum eDonkey File ein !";
			prompt_contents = "ed2k://";
			}
	linkurl = prompt(prompt_text,prompt_contents);
	if ((linkurl != null) && (linkurl != "")) {
		if ((linktext != null) && (linktext != "")) {
			AddTxt = "["+thetype+"="+linkurl+"]"+linktext+"[/"+thetype+"] ";
			AddText(AddTxt,theform);
			
			}
		else{
			AddTxt = "["+thetype+"="+linkurl+"]"+linkurl+"[/"+thetype+"] ";
			AddText(AddTxt,theform);
			
		}
	}
}
///###################edonkey ende
// *******************************************************
// *********************BBCode-Hack anfang**********************************
// *******************************************************

function ftpserver(theform,thetype) {
	if (selectedText) { var dtext=selectedText; } else { var dtext=""; }
	linktext = prompt(link_text_prompt,dtext);
		var prompttext;
		
		
		if (thetype == "ftp") {
			prompt_text = "Gebe den Link zum FTP-SERVER ein !";
			prompt_contents = "ftp://";
			}
		else {
			prompt_text = "Gebe den Link zum FTP-SERVER ein !";
			prompt_contents = "ftp://";
			}
	linkurl = prompt(prompt_text,prompt_contents);
	if ((linkurl != null) && (linkurl != "")) {
		if ((linktext != null) && (linktext != "")) {
			AddTxt = "["+thetype+"="+linkurl+"]"+linktext+"[/"+thetype+"] ";
			AddText(AddTxt,theform);
			
			}
		else{
			AddTxt = "["+thetype+"="+linkurl+"]"+linkurl+"[/"+thetype+"] ";
			AddText(AddTxt,theform);
			
		}
	}
}
// *******************************************************

function flash(theform,thetype) {
	
	linktext = prompt
		var prompttext;
		
                
		if (thetype == "block") {
			prompt_text = "Gebe den Text für den BLOCKTEXT ein !";
			prompt_contents = "";
			}
		if (thetype == "left") {
			prompt_text = "Gebe den Text ein der LINKSBÜNDIG eingefügt wird !";
			prompt_contents = "";
			}
		if (thetype == "nimg") {
			prompt_text = "Gebe die URL zum Bild ein (Bild wird NEGATIVE dargestellt)";
			prompt_contents = "http://";
			}
		if (thetype == "right") {
			prompt_text = "Gebe den Text ein der RECHTSBÜNDIG eingefügt wird !";
			prompt_contents = "";
			}
		if (thetype == "wave") {
			prompt_text = "Gebe den Text ein der WELLENFÖRMIG dargestellt wird !";
			prompt_contents = "";
			}
		if (thetype == "d") {
			prompt_text = "Gebe den Text ein der DURCHGESTRICHEN dargestellt werden soll !";
			prompt_contents = "";
			}
		if (thetype == "flash") {
			prompt_text = "Gebe die volle Adresse des Flash-File ein. \n(z.B. http://www.TEST.de/FILE.swf)";
			prompt_contents = "http://";
			}	
		if (thetype == "blink") {
			prompt_text = "Gebe den Text ein der BLINKEN soll !";
			prompt_contents = "";
			}
                if (thetype == "marquee") {
			prompt_text = "Gebe den Text ein der als LAUFSCHRIFT dargestellt werden soll !";
			prompt_contents = "";
			}	
		if (thetype == "tt") {
			prompt_text = "Gebe den Text ein der in Schreibmaschinenform dargestellt werden soll !";
			prompt_contents = "";
			}	
		if (thetype == "bt") {
			prompt_text = "Gebe den Text ein der in BLUR dargestellt werden soll !";
			prompt_contents = "";
			}	
		if (thetype == "sub") {
			prompt_text = "Gebe den Text ein der TIEFGESTELLT dargestellt werden soll !";
			prompt_contents = "";
			}	
		if (thetype == "s") {
			prompt_text = "Gebe den Text ein der in Schattenform dargestellt werden soll !";
			prompt_contents = "";
			}	
		if (thetype == "sup") {
			prompt_text = "Gebe den Text ein der Hochgestellt dargestellt werden soll !";
			prompt_contents = "";
			}	
	linkurl = prompt(prompt_text,prompt_contents);
	if ((linkurl != null) && (linkurl != "")) {
		if ((linktext != null) && (linktext != "")) {
			AddTxt = "["+thetype+"]"+linkurl+"[/"+thetype+"] ";
			AddText(AddTxt,theform);
			
		}
	}
}
// **********************denk********************************* 

function denkblase(theform,thetype) { 

linktext = prompt 
var prompttext; 

if (thetype == "denk") { 
prompt_text = "Gebe den Text ein der in einer Denkblase dargestellt werden soll !"; 
prompt_contents = ""; 
} 

linkurl = prompt(prompt_text,prompt_contents); 
if ((linkurl != null) && (linkurl != "")) { 
if ((linktext != null) && (linktext != "")) { 
AddTxt = "["+thetype+"]"+linkurl+"[/"+thetype+"] "; 
AddText(AddTxt,theform); 
                       } 
} 
} 

// **********************denk*********************************
// **********************BBCode-Hack Ende*********************************
// **********************Schild-BB-Code-Addon********************************* 

function schild(theform,thetype) { 

linktext = prompt 
var prompttext; 

if (thetype == "schild") { 
prompt_text = "Gebe den Text ein der in einem Schild dargestellt werden soll !"; 
prompt_contents = ""; 
} 
if (thetype == "denk") { 
prompt_text = "Gebe den Text ein der in einer Denkblase dargestellt werden soll !"; 
prompt_contents = ""; 
} 

linkurl = prompt(prompt_text,prompt_contents); 
if ((linkurl != null) && (linkurl != "")) { 
if ((linktext != null) && (linktext != "")) { 
AddTxt = "["+thetype+"]"+linkurl+"[/"+thetype+"] "; 
AddText(AddTxt,theform); 
                       } 
} 
} 

// **********************Schild-BBCode-Addon*********************************

function dolist(theform) {
 listtype = prompt(list_type_prompt, "");
 if ((listtype == "a") || (listtype == "1")) {
  thelist = "[list="+listtype+"]\n";
  listend = "[/list="+listtype+"] ";
 }
 else {
  thelist = "[list]\n";
  listend = "[/list] ";
 }
 listentry = "initial";
 while ((listentry != "") && (listentry != null)) {
  listentry = prompt(list_item_prompt, "");
  if ((listentry != "") && (listentry != null))
   thelist = thelist+"[*]"+listentry+"\n";
 }
 AddTxt = thelist+listend;
 AddText(AddTxt,theform);
}

// *******************************************************

function smilie(thesmilie) {
 AddSmile = " "+thesmilie;
 theform = document.bbform;
 AddText(AddSmile,theform);
}

function opensmiliewindow(x,y,sid) {
 window.open("misc.php?action=moresmilies&sid="+sid, "smilies", "toolbar=no,scrollbars=yes,resizable=yes,width="+x+",height="+y);
}