// 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";
        }
    }

    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";
        }
    }
}

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;
}

function showInputLabels()
{
    document.getElementById('username').style.color = "#999";
    document.getElementById('username').value = 'Benutzername';

    document.getElementById('password').style.color = "#999";
    document.getElementById('password').value = 'Passwort';
}

/**
 *
 */
function clearInputField(element, text)
{
    if(element != null)
    {
        if(element.value == text)
        {
            element.value = "";
            element.style.color = "#000";
        }
    }
}

/**
 *
 */
function restoreInputField(element, text)
{
    if(element != null)
    {
        if(element.value == "")
        {
            element.style.color = "#999";
            element.value = text;
        }
    }
}
