function browsercheck(){ 
  this.ver=navigator.appVersion
  this.agent=navigator.userAgent
  this.dom=document.getElementById?1:0
  this.opera5=this.agent.indexOf("Opera 5")>-1
  this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0; 
  this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;
  this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
  this.ie=this.ie4||this.ie5||this.ie6
  this.mac=this.agent.indexOf("Mac")>-1
  this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0; 
  this.ns4=(document.layers && !this.dom)?1:0;
  this.bw=(this.ie6||this.ie5||this.ie4||this.ns4||this.ns6||this.opera5)
  return this
}
browser=new browsercheck()

function DoSelection(aElem) 
{
	if(aElem.createTextRange) 
	{
		aElem.caretPos = document.selection.createRange().duplicate();
	}
}

function AddCodeTags(strForm, strElem, strPrev, strEnd)
{
	strForm = String(strForm);
	strElem = String(strElem);
	strPrev = String(strPrev);
	strEnd  = String(strEnd);
	
	var aElem;
	if (document.forms[strForm].elements[strElem])
	{
		aElem = document.forms[strForm].elements[strElem];
	}
	else
	{
		return;
	}

	aElem.focus();
	DoSelection(aElem);

	if (browser.ie)
	{
		if (aElem.createTextRange && aElem.caretPos) 
		{
			var caretPos		= aElem.caretPos;
				caretPos.text	= strPrev + caretPos.text + strEnd;

			if ( aElem.caretPos.text=='' ) 
			{
				aElem.focus();
			}
		}
	}
	else
	{
		aElem.value += strPrev + strEnd;
		aElem.focus();
	}
}

function AddCodeTagsText(strText, strPrev, strEnd)
{
	strText = strPrev + strText + strEnd;
	return strText
}

function AddLinkCodeTags (strForm, strElem, strAddTxt, strInitText)
{
	var strLink = prompt("Bitte geben sie die URL zu dem Link ein!", strInitText);
	
	if (!strLink)
	{
		return;
	}

	var strText = prompt("Bitte geben sie den sichtbaren Text zu dem Link ein!", "");

	if (!strText)
	{
		return;
	}
	
	var strCodeLink = AddCodeTagsText(strLink, "[link" + strAddTxt + "]", "[/link" + strAddTxt + "]")
	var strCodeText = AddCodeTagsText(strText, "[linktext]", "[/linktext]")
	
	var strFullCode = strCodeLink + strCodeText
	
	AddCodeTags(strForm, strElem, strFullCode, "")
}

function AddLinkExtCodeTags (strForm, strElem)
{
	AddLinkCodeTags (strForm, strElem, "ext", "http://");
}

function AddLinkIntCodeTags (strForm, strElem)
{
	AddLinkCodeTags (strForm, strElem, "int", "http://");
}

function AddLinkFpCodeTags (strForm, strElem)
{
	AddLinkCodeTags (strForm, strElem, "fp", "");
}

function AddEmailCodeTags (strForm, strElem)
{
	var strLink = prompt("Bitte geben sie die E-mail Adresse ein! (abc@edf.at) ","");
	
	if (!strLink)
	{
		return;
	}

	var strText = prompt("Bitte geben sie den sichtbaren Text zu der E-Mail Adresse ein!","");

	if (!strText)
	{
		return;
	}
	
	var strCodeLink = AddCodeTagsText(strLink, "[mail]", "[/mail]")
	var strCodeText = AddCodeTagsText(strText, "[mailtext]", "[/mailtext]")
	
	var strFullCode = strCodeLink + strCodeText
	
	AddCodeTags(strForm, strElem, strFullCode, "")
}

function OpenImage(datei,w_x,w_y)
{
	w_xmax = screen.availWidth-100;
	w_ymax = screen.availHeight-100;
	x = 20;
	y = 20;

	if (typeof(w_x) == "undefined" || w_x == "" || w_x == 0)
		w_x = w_xmax;
	else
		w_x = w_x + 45;

	if (typeof(w_y) == "undefined" || w_y == "" || w_y == 0)
		w_y = w_ymax;
	else
		w_y = w_y + 40;

	if (w_x > w_xmax)
		w_x = w_xmax;
	if (w_y > w_ymax)
		w_y = w_ymax;
	
	window.open(datei,'popup','resizable=yes,scrollbars=yes,width=' + String(w_x) + ',height=' + String(w_y)).moveTo(x,y);
}

function OpenGallery(strURL)
{
	w_x = screen.availWidth-100;
	w_y = screen.availHeight-100;
	x = 20;
	y = 20;
	
	window.open(strURL + "&X=" + w_x + "&Y=" + w_y,'popup','resizable=yes,scrollbars=yes,width=' + String(w_x) + ',height=' + String(w_y)).moveTo(x,y);
}


function AddList (strForm, strElem)
{
	var aElem;
	if (document.forms[strForm].elements[strElem])
	{
		aElem = document.forms[strForm].elements[strElem];
	}
	else
	{
		return;
	}

	var strAnz = prompt("Bitte geben Sie die Anzahl der zu enthaltenen Listeneinträge an!","");
	
	if (!strAnz)
	{
		return;
	}

	if (isNaN(strAnz))
	{
		alert("Die Eingabe für die Anzahl war keine Zahl!");
		return;
	}

	var arrLines = new Array();
	
	for (i=1; i <= Number(strAnz); i++)
	{
		var strText = prompt("Bitte geben Sie den Text für den " + String(i) + ". Listeneintrag ein!","");
		arrLines[i] = "[li]" + strText + "[/li]\n";
	}
	
	var strListCode  = "";

	for (i=1; i <= Number(strAnz); i++)
		strListCode += arrLines[i];

	strListCode = "\n[ul]\n" + strListCode + "[/ul]\n";

	aElem.focus();
	aElem.value += strListCode;
	aElem.focus();
}


function AddLinkExtCodeTagsNoInput (strForm, strElem, strLink, strText)
{
	AddLinkCodeTagsNoInput (strForm, strElem, "ext", strLink, strText);
}

function AddLinkIntCodeTagsNoInput (strForm, strElem, strLink, strText)
{
	AddLinkCodeTagsNoInput (strForm, strElem, "int", strLink, strText);
}

function AddLinkFpCodeTagsNoInput (strForm, strElem, strLink, strText)
{
	AddLinkCodeTagsNoInput (strForm, strElem, "fp", strLink, strText);
}

function AddLinkCodeTagsNoInput (strForm, strElem, strAddTxt, strLink, strText)
{
	var strCodeLink = AddCodeTagsText(strLink, "[link" + strAddTxt + "]", "[/link" + strAddTxt + "]");
	var strCodeText = AddCodeTagsText(strText, "[linktext]", "[/linktext]");
	
	var strFullCode = strCodeLink + strCodeText;
	
	AddCodeTagsNoInput(strForm, strElem, strFullCode, "");
}

function AddFileCodeTagsNoInput (strForm, strElem, strLink, strText)
{
	var strCodeLink = AddCodeTagsText(strText, "[linkfile=" + strLink + "]", "[/linkfile]");
	
	var strFullCode = strCodeLink;

	AddCodeTagsNoInput(strForm, strElem, strFullCode, "");
}

function AddCodeTagsNoInput(strForm, strElem, strPrev, strEnd)
{
	strForm = String(strForm);
	strElem = String(strElem);
	strPrev = String(strPrev);
	strEnd  = String(strEnd);
	
	if (browser.ie)
	{
		var caretPos		= aCareAt;
			caretPos.text	= strPrev + caretPos.text + strEnd;

		if ( aCareAt.text=='' ) 
		{
			aElemX.focus();
		}
	}
	else
	{
		aElemX.value += strPrev + strEnd;
		aElemX.focus();
	}
}

function AddEmailCodeTagsNoInput (strForm, strElem, strLink, strText)
{
	var strCodeLink = AddCodeTagsText(strLink, "[mail]", "[/mail]")
	var strCodeText = AddCodeTagsText(strText, "[mailtext]", "[/mailtext]")
	
	var strFullCode = strCodeLink + strCodeText;
	
	AddCodeTagsNoInput(strForm, strElem, strFullCode, "");
}

function AddListNoInput (strForm, strElem, strDiv, iLines)
{
	var aElem;
	if (document.forms[strForm].elements[strElem])
	{
		aElem = document.forms[strForm].elements[strElem];
	}
	else
	{
		return;
	}

	var aElemTable 	= document.getElementById(strDiv + "_data_table").firstChild;
	var arrLines 	= new Array();
	
	for (i=1; i <= Number(iLines); i++)
	{
		var strId = strDiv + "_Inputval_" + String(i);
		var strText = document.getElementById(strId).value;
		if (strText != "" && strText != "undefined")
			arrLines[i] = "[li]" + strText + "[/li]\n";
	}

	var strListCode  = "";

	for (i=1; i <= Number(iLines); i++)
	{
		var strText = String(arrLines[i]);
		if (strText != "" && strText != "undefined")
			strListCode += strText;
	}

	strListCode = "\n[ul]\n" + strListCode + "[/ul]\n";

	aElem.focus();
	aElem.value += strListCode;
	aElem.focus();
}

function OpenUrl (strURL, strTarget)
{
	window.open(strURL, strTarget);	
}

function OnMouseOverMenu (aElem, strClass)
{
	aElem.className = strClass;	
	aElem.style.cursor = 'pointer';
}

function OnMouseOutMenu (aElem, strClass)
{
	aElem.className = strClass;	
	aElem.style.cursor = '';
}


	function ChangeSaveStatus ()
	{
		document.getElementById("SPAN_STATUS").className = "error";
		document.getElementById("SPAN_STATUS").innerHTML = "Änderungen nicht gespeichert";
	}
