var isNav4, isNav6, isIE4,isIE5Mac;/* * Browser version snooper; determines your browser * (Navigator 4, Navigator 6, or Internet Explorer 4/5) */function setBrowser(){	if (navigator.appVersion.charAt(0) == "4" && navigator.platform != 'MacPPC')	{		if (navigator.appName.indexOf("Explorer") >= 0)		{			isIE4 = true;		}		else		{			isNav4 = true;		}	}	else if (navigator.appVersion.charAt(0) > "4" && navigator.appName.indexOf("Explorer") ==-1)	{		isNav6 = true;	}	else		isIE4 = true;}/* * * Given a selector string, return a style object * by searching through stylesheets. Return null if * none found * */function getStyleBySelector( selector ){    if (!isNav6)    {        return null;    }    var sheetList = document.styleSheets;    var ruleList;    var i, j;    /* look through stylesheets in reverse order that       they appear in the document */    for (i=sheetList.length-1; i >= 0; i--)    {        ruleList = sheetList[i].cssRules;        for (j=0; j<ruleList.length; j++)        {            if (ruleList[j].type == CSSRule.STYLE_RULE &&                ruleList[j].selectorText == selector)            {                return ruleList[j].style;            }           }    }    return null;}/* * * Given an id and a property (as strings), return * the given property of that id.  Navigator 6 will * first look for the property in a tag; if not found, * it will look through the stylesheet. * * Note: do not precede the id with a # -- it will be * appended when searching the stylesheets * */function getIdProperty( id, property ){    if (isNav6)    {        var styleObject = document.getElementById( id );        if (styleObject != null)        {            styleObject = styleObject.style;            if (styleObject[property])            {                return styleObject[ property ];            }        }        styleObject = getStyleBySelector( "#" + id );        return (styleObject != null) ?            styleObject[property] :            null;    }    else if (isNav4)    {        return document[id][property];    }    else    {        return document.all[id].style[property];    }}/* * * Given an id and a property (as strings), set * the given property of that id to the value provided. * * The property is set directly on the tag, not in the * stylesheet. * */function setIdProperty( id, property, value ){    if (isNav6)    {        var styleObject = document.getElementById( id );        if (styleObject != null)        {            styleObject = styleObject.style;            styleObject[ property ] = value;        }            }    else if (isNav4)    {        document[id][property] = value;    }    else if (isIE4)    {         document.all[id].style[property] = value;    }}/* * * Function used when converting rgb format colors * from Navigator 6 to a hex format * */ function hex( n ){    var hexdigits = "0123456789abcdef";    return ( hexdigits.charAt(n >> 4) + hexdigits.charAt(n & 0x0f) );}/* * * Return a division's document *  */function getDocument( divName ){    var doc;    if (isNav4)    {        doc = window.document[divName].document;    }    else if (isNav6)    {        doc = document;    }    else if (isIE4)    {        doc = document;    }    return doc;}
