// Script zur Layersteuerung
// Layer zeigen mit Verzoegerung durch:        pruefen(layerid,xposition,yposition,breite,hoehe,verzoegerung);
// Layer verstecken mit Verzoegerung durch:    layeraus(layerid,verzoegerung);
// Layer zeigen ohne Verzoegerung durch:       zeigen(layerid,xposition,yposition,breite,hoehe);
// Layer verstecken ohne Verzoegerung durch:   verstecken(layerid);
// Schrift- und Hintergrundfarbe setzen durch: farbe(layerid,schriftfarbe,hintergrundfarbe);
// xpos und ypos enthaelt die Mausposition
// Funktion pruefen schliesst einen anderen Layer der mit dieser Funktion geoeffnet wurde vorher

var ns4, ie4, ns6, posx, posy, xpos, ypos, px, py, breite, hoehe;
var alter = "";
var zeit, an, aus, aktuellx, aktuelly, kleben, ve;

ie4 = document.all;
ns6 = document.getElementById && !document.all;

function init() {
	document.ondblclick = startbewegen;
	document.onmousemove = koordinaten;
}
function pruefen(idname,xpo,ypo,breite,hoehe,verzoegerung)
{
	ve = verzoegerung;
	px = xpo;
	py = ypo;
	xb = breite;
	yb = hoehe;
	an = idname;
	clearTimeout(zeit);
	if (alter && alter != an)
        {
        	verstecken(alter);
        	zeit = setTimeout("zeigen(an,px,py,xb,yb)",ve);
         } else
        	zeit = setTimeout("zeigen(an,px,py,xb,yb)",ve);
	alter = idname;        
}
function layeraus(idname,verzoegerung)
{
	ve = verzoegerung;
	aus = idname;
	zeit = setTimeout("verstecken(aus)",ve);
	alter = idname;
}
function zeigen(idname,xpo,ypo,breite,hoehe) {
	if (ns6){ 
		if(document.getElementById(idname)) {
			document.getElementById(idname).style.left = xpo;
			document.getElementById(idname).style.top = ypo;
			if (breite > 0) document.getElementById(idname).style.width = breite;
			if (hoehe > 0) document.getElementById(idname).style.height = hoehe;
			document.getElementById(idname).style.visibility = "visible";
			document.getElementById(idname).style.display = "block";
		}
	}
	if (ie4){
		if(document.all[idname]) {
			document.all[idname].style.left = xpo;
			document.all[idname].style.top = ypo;
			if (breite > 0) document.all[idname].style.width = breite;
			if (hoehe > 0) document.all[idname].style.height = hoehe;
			document.all[idname].style.visibility = "visible"; 
			document.all[idname].style.display = "block"; 
		}
	}
}
function verstecken(idname) {
	if (ie4) document.all[idname].style.visibility = "hidden"; 
	if (ns6) document.getElementById(idname).style.visibility = "hidden";
	alter = "";
}
function farbe(idname,farb,bgcol)
{
	if(ie4)
		if(document.all[idname]) {
			document.all[idname].style.color = farb;
			document.all[idname].style.background = bgcol;
		}		            
	if(ns6)
		if(document.getElementById(idname)) {
			document.getElementById(idname).style.color = farb;
			document.getElementById(idname).style.background = bgcol;
		}
}
function koordinaten(e) {
	xpos = (document.getElementById && !document.all) ? e.pageX : document.body.scrollLeft + event.clientX;
	ypos = (document.getElementById && !document.all) ? e.pageY : document.body.scrollTop + event.clientY;
}
function startbewegen(e){
	idname = ie4? event.srcElement.id : e.target.id;
	if (idname != "") {
		posx = ie4? event.clientX : e.clientX;
		posy = ie4? event.clientY : e.clientY;
		aktuellx = ns6? parseInt(document.getElementById(idname).style.left) : parseInt(document.all[idname].style.left);
		aktuelly = ns6? parseInt(document.getElementById(idname).style.top) : parseInt(document.all[idname].style.top);
		kleben = true;
		document.onmousemove = bewegen;
		document.ondblclick = new Function("kleben=false");
	}
}
function bewegen(e){
	koordinaten(e);
	if (kleben) {
		if (ie4){
			document.all[idname].style.left = aktuellx + event.clientX - posx;
			document.all[idname].style.top = aktuelly + event.clientY - posy;
		}
		if (ns6){ 
			document.getElementById(idname).style.left = Number(aktuellx + e.clientX - posx);
			document.getElementById(idname).style.top = Number(aktuelly + e.clientY - posy);
		}
	}
	else init();
	return true;
}

/* 
------------------------------------------
	Flipbox written by CrappoMan
	simonpatterson@dsl.pipex.com
------------------------------------------
*/
function flipBox(who) {
	var tmp; 
	if (document.images['b_' + who].src.indexOf('_on') == -1) { 
		tmp = document.images['b_' + who].src.replace('_off', '_on');
		document.getElementById('box_' + who).style.display = 'none';
		document.images['b_' + who].src = tmp;
	} else { 
		tmp = document.images['b_' + who].src.replace('_on', '_off');
		document.getElementById('box_' + who).style.display = 'block';
		document.images['b_' + who].src = tmp;
	} 
}

function addText(elname, wrap1, wrap2) {
	if (document.selection) { // for IE 
		var str = document.selection.createRange().text;
		document.forms['inputform'].elements[elname].focus();
		var sel = document.selection.createRange();
		sel.text = wrap1 + str + wrap2;
		return;
	} else if ((typeof document.forms['inputform'].elements[elname].selectionStart) != 'undefined') { // for Mozilla
		var txtarea = document.forms['inputform'].elements[elname];
		var selLength = txtarea.textLength;
		var selStart = txtarea.selectionStart;
		var selEnd = txtarea.selectionEnd;
		var oldScrollTop = txtarea.scrollTop;
		//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 + wrap1 + s2 + wrap2 + s3;
		txtarea.selectionStart = s1.length;
		txtarea.selectionEnd = s1.length + s2.length + wrap1.length + wrap2.length;
		txtarea.scrollTop = oldScrollTop;
		txtarea.focus();
		return;
	} else {
		insertText(elname, wrap1 + wrap2);
	}
}

function insertText(elname, what) {
	if (document.forms['inputform'].elements[elname].createTextRange) {
		document.forms['inputform'].elements[elname].focus();
		document.selection.createRange().duplicate().text = what;
	} else if ((typeof document.forms['inputform'].elements[elname].selectionStart) != 'undefined') { // for Mozilla
		var tarea = document.forms['inputform'].elements[elname];
		var selEnd = tarea.selectionEnd;
		var txtLen = tarea.value.length;
		var txtbefore = tarea.value.substring(0,selEnd);
		var txtafter =  tarea.value.substring(selEnd, txtLen);
		var oldScrollTop = tarea.scrollTop;
		tarea.value = txtbefore + what + txtafter;
		tarea.selectionStart = txtbefore.length + what.length;
		tarea.selectionEnd = txtbefore.length + what.length;
		tarea.scrollTop = oldScrollTop;
		tarea.focus();
	} else {
		document.forms['inputform'].elements[elname].value += what;
		document.forms['inputform'].elements[elname].focus();
	}
}

function show_hide(msg_id) {
	msg_id.style.display = msg_id.style.display == 'none' ? 'block' : 'none';
}