// All code snagged from:
// http://www.alistapart.com/

var isNav4, isNav6, isIE4;
/*
 * Browser version snooper; determines your browser
 * (Navigator 4, Navigator 6, or Internet Explorer 4/5)
 */
function setBrowser() {
	if (navigator.appVersion.charAt(0) == "4") {
		if (navigator.appName.indexOf("Explorer") >= 0) {
			isIE4 = true;
		} else {
			isNav4 = true;
		}
	} else if (navigator.appVersion.charAt(0) > "4") {
		isNav6 = true;
	}
}

function showMenu( divNum ) {
	if (getIdProperty( "s" + divNum, "display") != "block" ) {
		setIdProperty("s" + divNum, "display", "block");
		document.images["i" + divNum].src = "http://www.thehousecompany.com/images/template/open.gif";
	} else {
		setIdProperty("s" + divNum, "display", "none");
		document.images["i" + divNum].src = "http://www.thehousecompany.com/images/template/closed.gif";
	}
}

/*
 * 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;
	}
}

