// 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 Funktiongeoeffnet wurde vorher

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

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

//Fenstergrösse ermitteln
//var fensterbreite = document.all.file.offsetWidth;

ie4 = ((document.all) && (window.offscreenBuffering)) ? true : false;
ns6 = ((document.captureEvents) && (!document.getElementById)) ? true : false;
mz = ((document.getElementById) && (!document.all) && (document.documentElement)) ? true : false;
op = ((document.getElementById) && (navigator.userAgent.indexOf('Opera') != -1)) ? true : false;

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))
		{
                        fensterbreite = document.all.file.offsetWidth;
			if(fensterbreite > 980)
			{
				xpo = xpo + ((fensterbreite-980)/2);
			}
			document.getElementById(idname).style.left = xpo;
			document.getElementById(idname).style.top = ypo;
			//document.getElementById(idname).style.position = "absolute";
			if (breite > 0) document.getElementById(idname).style.width = (breite-6);
			if (hoehe > 0) document.getElementById(idname).style.height = (hoehe-6);
			document.getElementById(idname).style.visibility = "visible";
		}
	}
     else if (mz)
	{
                fensterbreite = self.innerWidth;
		if(document.getElementById(idname))
		{
			if(fensterbreite > 980)
			{
				xpo = xpo + ((fensterbreite-980)/2);
			}
			document.getElementById(idname).style.left = xpo;
			document.getElementById(idname).style.top = ypo;
			//document.getElementById(idname).style.position = "absolute";
			if (breite > 0) document.getElementById(idname).style.width = (breite-6);
			if (hoehe > 0) document.getElementById(idname).style.height = (hoehe-6);
			document.getElementById(idname).style.visibility = "visible";
		}
	}
     else if (op)
	{
                fensterbreite = document.all.file.offsetWidth;
		if(document.getElementById(idname))
		{
			if(fensterbreite > 980)
			{
				xpo = xpo + ((fensterbreite-980)/2);
			}
			document.getElementById(idname).style.left = (xpo-155);
			document.getElementById(idname).style.top = ypo;
			document.getElementById(idname).style.align = "left";
			//document.getElementById(idname).style.position = "absolute";
			if (breite > 0) document.getElementById(idname).style.width = (breite-6);
			if (hoehe > 0) document.getElementById(idname).style.height = (hoehe-6);
			document.getElementById(idname).style.visibility = "visible";
		}
	}
     else if (ie4)
	{
                fensterbreite = document.all.file.offsetWidth;
		if(document.all[idname])
		{
			if(fensterbreite > 1001)
			{
				xpo = xpo + ((fensterbreite-1001)/2);
			}
			document.all[idname].style.left = xpo;
			document.all[idname].style.top = ypo;
			//document.all[idname].style.position = "absolute";
			if (breite > 0) document.all[idname].style.width = breite;
			if (hoehe > 0) document.all[idname].style.height = hoehe;
			document.all[idname].style.visibility = "visible"; 
		}
    }
    
    else 
    {
     fensterbreite = document.all.file.offsetWidth;
		if(document.all[idname])
		{
			if(fensterbreite > 1001)
			{
				xpo = xpo + ((fensterbreite-1001)/2);
			}
			document.all[idname].style.left = xpo;
			document.all[idname].style.top = ypo;
			//document.all[idname].style.position = "absolute";
			if (breite > 0) document.all[idname].style.width = breite;
			if (hoehe > 0) document.all[idname].style.height = hoehe;
			document.all[idname].style.visibility = "visible"; 
		}
    }
}
function verstecken(idname)
{
    if (ie4) document.all[idname].style.visibility = "hidden";
    if (mz) document.getElementById(idname).style.visibility = "hidden";
    if (op) document.getElementById(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;
}
