//
// $Id: utils.js,v 1.11 2004/06/16 17:28:48 zaengi Exp $
//



// browser check
var nie = false;
var nns6 = false;
var nns4 = false;
var ndom = false;


function brcheck()
{
    var na=navigator.userAgent



    if(na.match(/Netscape/))
        nns6=true;
    else
    {
        if(na.match(/Mozilla\/4/) && document.layers)
            nns4=true;
        else if(na.match(/MSIE/)  && document.all)
        {
            nie=true;

        }

    }

    if(document.getElementById) ndom=true;

}


// *** browser check finish







// GetLayer Function, gibt Referenz auf den gewünschten Layer zurück
// sollte auf IE und NS funktionieren



function gl(l)
{
    if(nns4)
        return(document[l]);
    if (ndom)
        return document.getElementById(l);
    if (nie)
        return document.all[l];
    return null;
}

// GetLayerStyle Function, gibt Referenz auf den gewünschten Layerstyle zurück
// sollte auf IE und NS funktionieren
function gls(l)
{
    if(nns4)
        return(document[l]);
    if (ndom)
        return document.getElementById(l).style;
    if (nie)
        return document.all[l].style;
    return null;
}


//sets Image [imgname] of layer [lay] to imagesrc [src]
function setImage(lay,imgname,source)
{

    if(nns4 && lay != null)
    {
        lay.document.images[imgname].src = source;
    }
    else
        document.images[imgname].src=source;
}

function getImage(lay,imgname)
{


    if(nns4 && lay != null)
        return lay.document.images[imgname];
    else
        return document.images[imgname];
}



function setText(lay,content)
{
    if (nns4)
    {
        document[lay].document.clear();
        document[lay].document.write(content);
        document[lay].document.close();
    }
    else if (ndom)
    {
        document.getElementById(lay).innerHTML = content;
    }
    else
    {
        document.all[lay].innerHTML = content;
    }
}


function show(l)
{
    gls(l).visibility="visible";
}

function hide(l)
{
    gls(l).visibility="hidden";
}


function clipLayer(obj,top,right,bottom,left)
{

    if (nns4)
    {
        gls(obj).clip.top = top;
        gls(obj).clip.right = right;
        gls(obj).clip.bottom = bottom;
        gls(obj).clip.left = left;
    } else
//    if (ndom)
    {
        gls(obj).clip = 'rect('+top+','+right+','+bottom+','+left+')';
    }
}

function getObjLeft(obj)
{
    return (nns4 ? gls(obj).left : gl(obj).offsetLeft);
}

function getObjTop(obj)
{
    return (nns4 ? gls(obj).top : gl(obj).offsetTop);
}


function getScrollY()
{
    if(nns4)
        return window.pageYOffset
    else
        return document.body.scrollTop
}

function getScrollX()
{
    if(nns4)
        return window.pageXOffset
    else
        return document.body.scrollLeft
}


function getX(ereignis)
{
    if(nns4)
        return ereignis.pageX;
    else
        return ereignis.x;
}

function getY(ereignis)
{
    if(nns4)
        return ereignis.pageX;
    else
        return ereignis.x;
}




function getWidth(lay)
{
    if(nns4)
        return gl(lay).clip.width;

//    if(ndom)
        return gl(lay).offsetWidth;
}



function getHeight(lay)
{
    if(nns4)
        return gl(lay).clip.height;

//    if(ndom)
        return gl(lay).offsetHeight;
}


function setObjPos(obj, x, y)
{
    if (nns4)
    {

        obj.left = x;
        obj.top = y;
    }
    else
    {
        obj.style.left = x;
        obj.style.top = y;
    }
}

// NS4: Sucht in allen Layern nach einem bestimmten Formular
function getForm(formname)
{
    if(document.forms[formname])
        return document.forms[formname];
    else // für NS4
    {
        for(num =0; num < document.layers.length; num++)
        {
            if(document.layers[num].document[formname])
               return document.layers[num].document[formname];
        }
		return null;
    }
}
