dom = (document.getElementById)? true : false;
nn4 = (document.layers)? true : false;
ie = (document.all)? true : false;
ie4 = (!dom && ie)? true : false;
var activeElem = null;

function preloadImages()
{
    var doc = document;
    if( doc.images )
        {
        if( !doc.preloadImgs )
            doc.preloadImgs = new Array();
        var i, j = doc.preloadImgs.length;
        var a = preloadImages.arguments;
        for(i=0; i<a.length; i++)
                {
            doc.preloadImgs[j] = new Image;
            doc.preloadImgs[j++].src = a[i];
            }
        }
}

function openPictureWindow( file )
{
    var picWin = window.open( file, 'preview', 'width=640,height=535,directories=no,toolbar=no,resizable=no,menubar=no,scrollbars=no' ); 
    if( picWin.focus )
        picWin.focus();
    return false;
}

function findObject( id, doc )
{
    var i;

    if( doc == null )
        doc = document;

    if( dom )
        return doc.getElementById( id );
    else
        {
        if( ie4 )
        return doc.all[ id ];
        }

    for( i=0; i<doc.forms.length; i++ )
        for( j=0; j<doc.forms[i].elements.length; j++ )
        if( id == doc.forms[i].elements[j].name )
            return doc.forms[i].elements[j];

    for( i=0; i<doc.images.length; i++ )
        if( id == doc.images[i].name )
        return doc.images[i];

    if( doc.layers == null )
        return null;

    for( i=0; i<doc.layers.length; i++ )
        {
        if( id == doc.layers[i].name )
        return doc.layers[i];
        var x = findObject( id, doc.layers[i].document );
        if( x != null )
        return x;
        } 
    return null;
}

function showElem(elemId)
{
    if (dom)
        document.getElementById(elemId).style.visibility = "visible";
    else
        if (ie4)
        document.all[elemId].style.visibility = "visible";
        else
        if (nn4)
            document.layers[elemId].visibility = "show";
}

function hideElem(elemId)
{
    if (dom)
         document.getElementById(elemId).style.visibility = "hidden";
    else
        if (ie4)
        document.all[elemId].style.visibility = "hidden";
        else
        if (nn4) document.layers[elemId].visibility = "hide";
}

function turnElementOff( elemId )
{
    var elem = getElement( "sm_"+elemId );
    if( elem == null )
        return true;
    if( dom || ie4 )
        elem.style.display = "none";
    else
        {
        if( nn4 )
            elem.display = "none";
        }
}

function toggleElement( elemId, toggleActive )
{
    var elem = getElement( "sm_"+elemId );
    if( elem == null )
        return true;
    if( toggleElement.arguments.length == 1 )
        toggleActive = true;

    if( activeElem && toggleActive && (activeElem != elemId) )
        {
        turnElementOff( activeElem );
        // alert( activeElem );
        low( "m", activeElem, true );
        }

    if( dom || ie4 )
        (elem.style.display == "none")?elem.style.display="":elem.style.display="none";
    else
        {
        if( nn4 )
            (elem.display == "none")?elem.display="":elem.display="none";
        }
    activeElem = elemId;
    return false;
}

function getElement( elemId )
{
    if (dom)
        return document.getElementById(elemId);
    else
        if (ie4)
            return document.all[elemId];
        else
            if (nn4)
                return document.layers[elemId];
    return null;
}

function hi()
{
    img = arguments[0];
    l = arguments[1];
    if( arguments.length >= 3 )
        pref = arguments[2];
    else
        pref = "m";
    if( arguments.length >= 4 )
        act = arguments[3];
    else
        act = "a";
    if( activeElem == img )
        return;
    var obj = findObject( img );
    if( obj )
        obj.src = l+"/img/" + pref + act + "_" + img + ".gif";
}

function low()
{
    img = arguments[0];
    l = arguments[1];
    if( arguments.length >= 3 )
        pref = arguments[2];
    else
        pref = "m";
    if( arguments.length >= 4 )
        act = arguments[3];
    else
        act = "";

    if( activeElem == img && low.arguments.length < 3 )
        return;
    var obj = findObject( img );
    if( obj )
        obj.src = l+"/img/" + pref + act + "_" + img + ".gif";
}

// This function writes HTML code into a layer
function Writelayer(layer,code,doc)
{
    if( doc == null )
        doc = "document";   
    if (nn4)
        {
        layer.document.open();
        layer.document.write( code );
        layer.document.close();
        }
    else
        if (ie4)
            {
        layer.innerHTML = code;
        }
        else
            if (dom)
                {
            layer.innerHTML = code;
            }
}

function anchorPosX(anchorPtr)
{
    if (document.layers)
        return anchorPtr.x;
    else if (document.getElementById || document.all)
        {
        var pos = anchorPtr.offsetLeft;
        while (anchorPtr.offsetParent != null)
            {
            anchorPtr = anchorPtr.offsetParent;
            pos += anchorPtr.offsetLeft;
            }
        return pos;
        }
}

function anchorPosY(anchorPtr)
{
    if (document.layers)
        return anchorPtr.y;
    else if (document.getElementById || document.all)
        {
        var pos = anchorPtr.offsetTop;
        while (anchorPtr.offsetParent != null)
            {
            anchorPtr = anchorPtr.offsetParent;
            pos += anchorPtr.offsetTop;
            }
        return pos;
        }
}
        
