// $ident:Phillip Wadecki
// $date:2007

// BBcode Tags
function BBCodeInputTags(v1,v2,Id)
{
	// Für den IE
	if (document.selection)
	{
		// gewählten Tag an gewünschte Position speichern
		var str = document.selection.createRange().text;
		document.getElementById(Id).focus();
		var sel = document.selection.createRange();
		sel.text = "[" + v1 + "]" + str + "[/" + v2 + "]";
		return;
	}
	// für Mozilla / Firefox
	else if (document.getElementById && !document.all) 
	{
		// gewählten Tag an gewünschte Position speichern
		var txtarea = document.getElementById(Id);
		var selLength = txtarea.textLength;
		var selStart = txtarea.selectionStart;
		var selEnd = txtarea.selectionEnd;
		if (selEnd == 1 || selEnd == 2)
		{
			selEnd = selLength;
		}
		var s1 = (txtarea.value).substring(0,selStart);
		var s2 = (txtarea.value).substring(selStart, selEnd);
		var s3 = (txtarea.value).substring(selEnd, selLength);
		txtarea.value = s1 + '[' + v1 + ']' + s2 + '[/' + v2 + ']' + s3;
		return;
	}
}
//formular prüfen, ob alle felder ausgefüllt worden sind
function checkFelder(form)
{
	//Errors auf 0 setzen
	error = 0;
	errorMeldung = 'Bitte füllen Sie folgende Felder aus:\n';
	//Alle Textelemente durchgehen
	for (i=0; i<document.forms[form].elements.length; i++)
	{
		//Wenn ein Element LEER ist error hochcounten und Feld in errorMeldung schreiben
		if (document.forms[form].elements[i].value == '')
		{
			errorMeldung += document.forms[form].elements[i].name+'\n';
			error++;
		}
	}
	//Wenn error > 0 Ausgabe der Fehlermeldung und Absenden verhindern ansonsten abschicken
	if (error > 0)
	{
		alert(errorMeldung);
		return false;
	}
	else
		return true;
}

//Eingabe länge festsetzen
function CheckStr(userInput,userOutput,userLength)
{
	// Strinlänge bestimmen
	StrLen = userInput.value.length;
	// Wenn Länge Größer Maxlänge ist
	if (StrLen > userLength )
	{
		// Länge anpassen
		userInput.value = userInput.value.substring(0,userLength);
		StrLeft = 0;
	}
	else
	{
		StrLeft = userLength - StrLen;
	}
	document.getElementById(userOutput).innerHTML = eval("StrLeft");
}
//Feld leeren
function clickclear(thisfield, defaulttext)
{
	if (thisfield.value == defaulttext)
	{
		thisfield.value = "";
	}
}
// Eingabe aus dem Popup holen und ins hauptfenster geben
function popupInput(v,Id)  
{
	// Texteingabe setzen der übergebenen variable v an das Textfeld Id
	if (window.opener.document.getElementById(Id).createTextRange)
	{
		window.opener.document.getElementById(Id).focus();
		window.opener.document.selection.createRange().duplicate().text = v;
	}
	// Für den Mozilla/Firefox
	else if (window.opener.document.getElementById && !window.opener.document.all)
	{
		// textarea hier speichern
		var tarea = window.opener.document.getElementById(Id);
		// Ort des Zeigers speichern
		var selEnd = tarea.selectionEnd;
		// Textlänge speichern
		var txtLen = tarea.value.length;
		// String davor
		var txtbefore = tarea.value.substring(0,selEnd);
		// String Danach
		var txtafter = tarea.value.substring(selEnd, txtLen);
		// An dieser position einfügen
		tarea.value = txtbefore + v + txtafter;
	}
	else
		window.opener.document.getElementById(Id).value += what;
	window.focus();
}

// popupfenster erstellen
function ReqWin(desktopURL, alternateWidth, alternateHeight, noScrollbars)
{
	// Höhe und Breite
	if ((alternateWidth && self.screen.availWidth * 0.8 < alternateWidth) || (alternateHeight && self.screen.availHeight * 0.8 < alternateHeight))
	{
		// Keine Scrollbars
		noScrollbars = false;
		// Alternative höhe stellen
		alternateWidth = Math.min(alternateWidth, self.screen.availWidth * 0.8);
		alternateHeight = Math.min(alternateHeight, self.screen.availHeight * 0.8);
	}
	else
		noScrollbars = typeof(noScrollbars) != "undefined" && noScrollbars == true;
		
	// popup öffnen
	window.open(desktopURL, 'requested_popup', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=' + (noScrollbars ? 'no' : 'yes') + ',width=' + (alternateWidth ? alternateWidth : 480) + ',height=' + (alternateHeight ? alternateHeight : 220) + ',resizable=no');
	return false;
}

// anzeige sichtbar stellen
function toggleDisplay(Id)
{
	// wenn nocht nicht sichtbar: anzeigen
	if (document.getElementById(Id).style.display == 'none')
		document.getElementById(Id).style.display = "block";
	// ansonsten ausblenden
	else
		document.getElementById(Id).style.display = "none";
}
