<!-- JAVASCRIPTE-->
// WICHTIGER HINWEIS: ES DARF KEIN SCRIPT TAG HIER ERSCHEINEN!!

// Zum Einbinden:
//<script src="functions.js" type="text/javascript"></script>

// Die drei folgenden Funktionen helfen dabei, Text an der Mouseposition einzublenden
// Quelle http://www.devarticles.com/c/a/DHTML/Dynamically-Positioned-Layers-by-Mouse-Position/
function getObject( obj )
{
  // step 1
  if ( document.getElementById) {
    object = document.getElementById( obj );

  // step 2
  } else if ( document.all ) {
    object = document.all.item( obj );

  //step 3
  } else {
    object = null;
  }

  //step 4
  return object;
}

function moveObject(obj, xoffset, yoffset, eventhor)
{
	// step 1
	var tempX = 0;
	var tempY = 0;
	// ALT Wird durch dynamische Eingabe angepasst var offset = 5;
	var objHolder = obj;

	// step 2
	obj = getObject (obj);
	if (obj==null) return;

	// step 3

	// Script, welches sicherheitshalber alle Browser berücksichtigt.
	//von http://www.quirksmode.org/viewport/compatibility.html#link3
	var x,y;
	if (self.pageYOffset) // all except Explorer
	{
		x = self.pageXOffset;
		y = self.pageYOffset;
	}
	else if (document.documentElement && document.documentElement.scrollTop)
		// Explorer 6 Strict
	{
		x = document.documentElement.scrollLeft;
		y = document.documentElement.scrollTop;
	}
	else if (document.body) // all other Explorers
	{
		x = document.body.scrollLeft;
		y = document.body.scrollTop;
	}

	/*ALT
	if (document.all)
	{

		tempX = xoffset + x;
    	tempY = yoffset + y;
		//tempX = event.clientX + x;
    	//tempY = event.clientY + y;
  	}
  	else
  	{
    	tempX = eventhor.pageX + 15;
   	 	tempY = eventhor.pageY + 15;
  	}*/
  	var tempX = xoffset + x;
    var tempY = yoffset + y;


 	// step 4
  	if (tempX < 0)	{tempX = 0}
  	if (tempY < 0)	{tempY = 0}

	// step 5
  	obj.style.top  = (tempY) + 'px';
  	obj.style.left = (tempX) + 'px';

  	// step 6
  	displayObject (obj, true);
}

function displayObject (objekt, show)
{
  	//alert(objekt);
	// step 1
	//obj = getObject( objekt );
	//if (obj==null) return;

	// step 2
	//obj.style.display = show ? 'block' : 'none';
	//obj.style.visibility = show ? 'visible' : 'hidden';
	document.getElementById("talenteinblendung").style.display = show ? 'block' : 'none';
	document.getElementById("talenteinblendung").style.visibility = show ? 'visible' : 'hidden';
}

// Das folgende Script hilft, Code an einer Stelle mittels Javascript einzugeben, etwa für die Bibobearbeitung im Adminbereich, Code ist von http://aktuell.de.selfhtml.org/artikel/javascript/bbcode/index.htm:
function insert_in_textarea(formularelement, aTag, eTag)
{
	var input = document.getElementById(formularelement);
	input.focus();
	/* für Internet Explorer */
	if(typeof document.selection != 'undefined')
	{
		/* Einfügen des Formatierungscodes */
		var range = document.selection.createRange();
		var insText = range.text;
		range.text = aTag + insText + eTag;
		/* Anpassen der Cursorposition */
		range = document.selection.createRange();
		if (insText.length == 0) {
			range.move('character', -eTag.length);
		} else {
			range.moveStart('character', aTag.length + insText.length + eTag.length);
		}
		range.select();
	}
	/* für neuere auf Gecko basierende Browser */
	else if(typeof input.selectionStart != 'undefined')
	{
		/* Einfügen des Formatierungscodes */
		var start = input.selectionStart;
		var end = input.selectionEnd;
		var insText = input.value.substring(start, end);
		input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
		/* Anpassen der Cursorposition */
		var pos;
		if (insText.length == 0)
		{
			pos = start + aTag.length;
		}
		else
		{
			pos = start + aTag.length + insText.length + eTag.length;
		}
		input.selectionStart = pos;
		input.selectionEnd = pos;
	}
	/* für die übrigen Browser */
	else
	{
		/* Abfrage der Einfügeposition */
		var pos;
		var re = new RegExp('^[0-9]{0,3}$');
		while(!re.test(pos))
		{
			pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
		}
		if(pos > input.value.length)
		{
			pos = input.value.length;
		}
		/* Einfügen des Formatierungscodes */
		var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
		input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos);
	}
}

// Das folgende Script soll dabei helfen, ein Bookmark für eine Textstelle in der Bibo zu erzeugen bzw. zu ersetzen:
function insert_lesezeichen_alt(formularelement, user_id)
{
	var input = document.getElementById(formularelement);
	var aTag = "<a name='userlesezeichen_" + user_id + "'>";
	var eTag = "</a>";
	input.focus();
	/* für Internet Explorer */
	if(typeof document.selection != 'undefined')
	{
		/* Einfügen des Formatierungscodes */
		var range = document.selection.createRange();
		var insText = range.text;
		range.innerHTML = aTag + insText + eTag;
		alert("Lesezeichen eingefügt!");
	}
	/* für neuere auf Gecko basierende Browser */
	else if(typeof input.selectionStart != 'undefined')
	{
		/* Einfügen des Formatierungscodes */
		var start = input.selectionStart;
		var end = input.selectionEnd;
		var insText = input.value.substring(start, end);
		input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
	}
	/* für die übrigen Browser */
	else
	{
		alert("Sorry, Browser wird für diese Funktion nicht unterstützt!");
	}
}

// 02.12.09
function anmeldung_hinweis()
{
    window.alert("Die Punktevergabe richtet sich nach der Anzahl der Stufe, die ihr möchtet. Je nachdem wird die Stufe aufaddiert. Für Stufe 2 braucht man also 3 Punkte, für die 3. 6-Punkte usw..\nZusätzliche Lebenspunkte werden auf einen Grundwert addiert und vorher anhand eurer zusätzlich vergebenen Punkte berechnet. Ihr müsst keine Punkte hierauf verteilen, ihr habt dann eben nur einen Grundwert. Attribute mit dem Wert 0 gelten als sehr stark eingeschränkt (also selbst mit Stärke 0 habt ihr noch die Kraft, wenigstens ein Blatt Papier zu halten ;o)\n Wenn ihr Punkte nicht verteilt habt, verfallen diese");
    return;
}

// 02.12.09
function aktiviere_inputfeld(formularelement, zu_aktivierendes_element)	// Wird etwa in der Anmeldung bei Charklasse benutzt
{
	var inputfeld = document.getElementById(formularelement);
	if (inputfeld.value=="Sonstiges")
	{
		document.getElementById(zu_aktivierendes_element).readOnly = false;
		document.getElementById(zu_aktivierendes_element).disabled = false;
	}
	else
	{
		document.getElementById(zu_aktivierendes_element).readOnly = true;
		document.getElementById(zu_aktivierendes_element).disabled = true;
	}
}
