// Writed by Martin Dakosta
// 2003(c) by Martin Dakosta & ZAFT
<!--

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

// BBCode

var text_enter_url      = "Gib die komplette URL an";
var text_enter_url_name = "Gib den Titel der Webseite ein";
var text_enter_image    = "Gib die komplette URL für das Bild an";
var text_enter_email    = "Gib die E-Mail Adresse an";
var text_enter_email_na = "Gib den Titel für die E-Mail Adresse ein";
var text_enter_target   = "Gib den Zielframe an";
var error_no_url        = "Du musst eine URL eingeben";
var error_no_title      = "Du musst einen Titel eingeben";
var error_no_email      = "Du musst eine E-Mail Adresse eingeben";
var error_no_email_name = "Du musst den Titel für die E-Mail Adresse eingeben";
var error_no_target     = "Du musst einen Zielframe angeben";

var B_open = 0;
var I_open = 0;
var U_open = 0;
var QUOTE_open = 0;
var CODE_open = 0;
var SQL_open = 0;
var HTML_open = 0;

var bbtags   = new Array();

var myAgent   = navigator.userAgent.toLowerCase();
var myVersion = parseInt(navigator.appVersion);

var is_ie   = ((myAgent.indexOf("msie") != -1)  && (myAgent.indexOf("opera") == -1));
var is_nav  = ((myAgent.indexOf('mozilla')!=-1) && (myAgent.indexOf('spoofer')==-1)
				&& (myAgent.indexOf('compatible') == -1) && (myAgent.indexOf('opera')==-1)
				&& (myAgent.indexOf('webtv') ==-1)       && (myAgent.indexOf('hotjava')==-1));

var is_win   =  ((myAgent.indexOf("win")!=-1) || (myAgent.indexOf("16bit")!=-1));
var is_mac    = (myAgent.indexOf("mac")!=-1);

var allcookies = document.cookie;

function stacksize(thearray)
{
	for (i = 0 ; i < thearray.length; i++ ) {
		if ( (thearray[i] == "") || (thearray[i] == null) || (thearray == 'undefined') ) {
			return i;
		}
	}
	
	return thearray.length;
}

function pushstack(thearray, newval)
{
	arraysize = stacksize(thearray);
	thearray[arraysize] = newval;
}

function popstack(thearray)
{
	arraysize = stacksize(thearray);
	theval = thearray[arraysize - 1];
	delete thearray[arraysize - 1];
	return theval;
}

function closeall()
{
	if (bbtags[0]) {
		while (bbtags[0]) {
			tagRemove = popstack(bbtags)
			document.message.m_txt.value += "[/" + tagRemove + "]";
			if ( (tagRemove != 'FONT') && (tagRemove != 'SIZE') && (tagRemove != 'COLOR') )
			{
				eval("document.message." + tagRemove + ".value = ' " + tagRemove + " '");
				eval(tagRemove + "_open = 0");
			}
		}
	}
	
	bbtags = new Array();
	document.message.m_txt.focus();
}

function doInsert(ibTag, ibClsTag, isSingle)
{
	var isClose = false;
	var obj_ta = document.message.m_txt;

	if ( (myVersion >= 4) && is_ie && is_win) // Ensure it works for IE4up / Win only
	{
		if(obj_ta.isTextEdit){ // this doesn't work for NS, but it works for IE 4+ and compatible browsers
			obj_ta.focus();
			var sel = document.selection;
			var rng = sel.createRange();
			rng.colapse;
			if((sel.type == "Text" || sel.type == "None") && rng != null){
				if(ibClsTag != "" && rng.text.length > 0)
					ibTag += rng.text + ibClsTag;
				else if(isSingle)
					isClose = true;
	
				rng.text = ibTag;
			}
		}
		else{
			if(isSingle)
				isClose = true;
	
			obj_ta.value += ibTag;
		}
	}
	else
	{
		if(isSingle)
			isClose = true;

		obj_ta.value += ibTag;
	}

	obj_ta.focus();
	
	// clear multiple blanks
//	obj_ta.value = obj_ta.value.replace(/  /, " ");

	return isClose;
}

function emo(theSmilie)
{
	doInsert("[ICO]" + theSmilie + "[/ICO]", "", false);
}

function simpletag(thetag)
{
	var tagOpen = eval(thetag + "_open");
	
		if (tagOpen == 0)
		{
			if(doInsert("[" + thetag + "]", "[/" + thetag + "]", true))
			{
				eval(thetag + "_open = 1");
				// Change the button status
				eval("document.message." + thetag + ".value += '*'");
		
				pushstack(bbtags, thetag);
			}
		}
		else {
			// Find the last occurance of the opened tag
			lastindex = 0;
			
			for (i = 0 ; i < bbtags.length; i++ )
			{
				if ( bbtags[i] == thetag )
				{
					lastindex = i;
				}
			}
			
			// Close all tags opened up to that tag was opened
			while (bbtags[lastindex])
			{
				tagRemove = popstack(bbtags);
				doInsert("[/" + tagRemove + "]", "", false)
				
				// Change the button status
				if ( (tagRemove != 'FONT') && (tagRemove != 'SIZE') && (tagRemove != 'COLOR') )
				{
					eval("document.message." + tagRemove + ".value = ' " + tagRemove + " '");
					eval(tagRemove + "_open = 0");
				}
			}
	}
}

function tag_url()
{
	var FoundErrors = '';
	var enterURL    = prompt(text_enter_url, "http://");
	var enterTITLE  = prompt(text_enter_url_name, "My Webpage");
	var enterTARGET = prompt(text_enter_target, "blank");

	if (!enterURL) {
		FoundErrors += " " + error_no_url;
	}
	if (!enterTITLE) {
		FoundErrors += " " + error_no_title;
	}
	if (!enterTARGET) {
		FoundErrors += " " + error_no_target;
	}
	
	if (FoundErrors) {
		alert("Fehler!"+FoundErrors);
		return;
	}

	doInsert("[URL]"+enterURL+"[/URL][URLTARGET]"+enterTARGET+"[/URLTARGET][URLNAME]"+enterTITLE+"[/URLNAME]", "", false);
}

function tag_image()
{
	var FoundErrors = '';
	var enterURL   = prompt(text_enter_image, "http://");

	if (!enterURL) {
		FoundErrors += " " + error_no_url;
	}

	if (FoundErrors) {
		alert("Fehler!"+FoundErrors);
		return;
	}

	doInsert("[IMG]"+enterURL+"[/IMG]", "", false);
}

function tag_email()
{
	var emailAddress      = prompt(text_enter_email, "");
	var emailAddress_name = prompt(text_enter_email_na, "");

	if (!emailAddress) { 
		alert(error_no_email); 
		return; 
	}
	
	if (!emailAddress_name) { 
		alert(error_no_email_name); 
		return; 
	}

	doInsert("[EMAIL]"+emailAddress+"[/EMAIL][EMAILNAME]"+emailAddress_name+"[/EMAILNAME]", "", false);
}


