var isDHTML = 0;
var isLayers = 0;   // Netscape 4
var isAll = 0;      // IE 4, 5
var isID = 0;       // IE 5, 6, Netscape 6

if (document.getElementById) 
{
    isID = 1; 
    isDHTML = 1;
}
else 
{
    browserVersion = parseInt(navigator.appVersion);
    if ((navigator.appName.indexOf('Netscape') != -1) && (browserVersion == 4)) 
    {
        isLayers = 1; 
        isDHTML = 1;
    }
    else 
    {
        if (document.all) 
        {
            isAll = 1; 
            isDHTML = 1;
        }
    }
}


function findDOM(objectID,withStyle) 
{
	if (withStyle == 1) 
    {
		if (isID)
        { 
            return (document.getElementById(objectID).style) ; 
        }
		else 
        { 
			if (isAll) 
            { 
                return (document.all[objectID].style); 
            }
		    else 
            {
			    if (isLayers) 
                { 
                    var i;
                    var nsLayers = new Array();
                    for (i=0;i<document.layers.length; i++)
                    {
                        nsLayers[i] = document.layers[i];
                    }
                    for (i=0; i < nsLayers.length; i++)
                    {
                        if (nsLayers[i].document && nsLayers[i].document.layers)
                        {
                            for (j=0; j<nsLayers[i].document.layers.length; j++)
                            {
                                nsLayers[nsLayers.length] = nsLayers[i].document.layers[j];
                            }
                        }
                        if (nsLayers[i].name == objectID)
                        {
                            return nsLayers[i];
                        }
                    }
                    // If we didn't find it, try the old way
                    return (document.layers[objectID]); 
                }
		    }
        }
	}
	else 
    {
		if (isID) 
        { 
            return (document.getElementById(objectID)) ; 
        }
		else 
        { 
			if (isAll) 
            { 
                return (document.all[objectID]); 
            }
		    else 
            {
			    if (isLayers) 
                { 
                    var i;
                    var nsLayers = new Array();
                    for (i=0;i<document.layers.length; i++)
                    {
                        nsLayers[i] = document.layers[i];
                    }
                    for (i=0; i < nsLayers.length; i++)
                    {
                        if (nsLayers[i].document && nsLayers[i].document.layers)
                        {
                            for (j=0; j<nsLayers[i].document.layers.length; j++)
                            {
                                nsLayers[nsLayers.length] = nsLayers[i].document.layers[j];
                            }
                        }
                        if (nsLayers[i].name == objectID)
                        {
                            return nsLayers[i];
                        }
                    }
                    // If we didn't find it, try the old way
                    return (document.layers[objectID]); 
                }
		    }
        }
	}
}

function findLeft(objectID)
{
	var domStyle = findDOM(objectID, 1);
	var dom = findDOM(objectID, 0);
	if (isLayers)
		return parseInt(domStyle.left);
	if (isAll)
		return parseInt(domStyle.pixelLeft);
	if (isID)
		return parseInt(dom.offsetLeft);
	return (null);
}

function findTop(objectID)
{
	var domStyle = findDOM(objectID, 1);
	var dom = findDOM(objectID, 0);
	if (isLayers)
		return parseInt(domStyle.top);
	if (isAll)
		return parseInt(domStyle.pixelTop);
	if (isID)
		return parseInt(dom.offsetTop);
	return (null);
}

function findHeight(objectID)
{
	var dom=findDOM(objectID, 0);
	if (isAll || isID)
		return parseInt(dom.offsetHeight);
	if (isLayers)
		return parseInt(dom.clip.height);
	return (null);
}

function findWidth(objectID)
{
	var dom=findDOM(objectID, 0);
	if (isAll || isID)
		return parseInt(dom.offsetWidth);
	if (isLayers)
		return parseInt(dom.clip.width);
	return (null);
}

// Setting the visibility of an object to visible
function show(objectID) {
	var theObj = findDOM(objectID, 1);
  	theObj.visibility = "visible";
}

// Setting the visibility of an object to hidden
function hide(objectID) {
	var theObj = findDOM(objectID, 1);
	theObj.visibility = "hidden";
}

// Positioning an object at a specific pixel coordinate
function shiftTo(obj, x, y) {
	var theObj = findDOM(obj, 1)
	if (isLayers) 
    {
        theObj.moveTo(x,y);
        return;
	} 
    else
    {
        theObj.top = y;
        theObj.left = x;
    }
    /*
    if (isID)
    {
		theObj.offsetLeft = x;
		theObj.offsetTop = y;
        return;
    }
    if (isAll)
    {
		theObj.pixelLeft = x;
		theObj.pixelTop = y;
        return;
	}
    */
}

// Moving an object by x and/or y pixels
function shiftBy(objectID, deltaX, deltaY) 
{
	var domStyle = findDOM(objectID, 1);
	var dom = findDOM(objectID, 0);
    
	if (isLayers)
    {
		domStyle.moveBy(deltaX, deltaY);
        return;
    }
	if (isAll)
    {
		domStyle.pixelLeft += deltaX;
		domStyle.pixelTop += deltaY;
        return;
    }
	if (isID)
    {
        if (dom.offsetLeft != null)
    		domStyle.left = dom.offsetLeft + deltaX;
        if (dom.offsetTop != null)
    		domStyle.top = dom.offsetTop + deltaY;
        return;
    }
}

// Setting the z-order of an object
function setZIndex(obj, zOrder) {
	var theObj = findDOM(obj, 1);
	theObj.zIndex = zOrder;
}

// Setting the background color of an object
function setBGColor(obj, color) {
	var theObj = findDOM(obj, 1);
	if (isLayers) {
		theObj.bgColor = color;
	} else {
		theObj.backgroundColor = color;
	}
}


 