
// dom detection
is_dom = is_ie = is_nav = false;

// will this crash IE4?
if(document.all)
	is_ie = true;
if(document.layers)
	is_nav = true;
if(document.getElementById)
	is_dom = true;

/*
	getObject is called to get layers (divs), images,
*/
function getObject(id, win) {
	if(typeof(win) == typeof("string"))
		win = top.frames[win] || eval(win);
	if(!win)
		win = top.frames['main_content'];
		
	return getLayer(id, win) || getImage(id, win);
}

function getStyleObject(id, win) {
	return (is_nav) ? getObject(id, win) : getObject(id, win).style;
}

function getImage(id, win) {
	if(is_ie || is_dom)
		return document.images[id];
	else {
		return trawl_image(id, document);
		}
}

function getLayer(id, win) {
	if(is_ie)
		return document.all(id);
	else if(is_dom) {
		return document.getElementById(id);
	}
	else
		return trawl_layer(id, document);
}

function trawl_layer(id, doc) {
	if(!doc) return;
	if(doc.layers[id])
		return doc.layers[id];
	else
		for(i=0; i<doc.layers.length; ++i) {
			o = trawl_layer(doc.layers[i].document);
			if(o) return o;
		}
}

function trawl_image(id, doc) {
	if(!doc) return;
	if(doc.images[id])
		return doc.images[id];
	else
		for(i=0; i<doc.layers.length; ++i) {
			o = trawl_image(doc.layers[i].document);
			if(o) return o;
		}
}

function hideLayer(o, win) {
	if(typeof(o) == typeof("string"))
		o = getLayer(o, win);
	if(is_ie || is_dom)
		if(o) o.style.visibility = "hidden";
	else
		if(o) o.visibility = "hide";
}

function showLayer(o, win) {
	if(typeof(o) == typeof("string"))
		o = getLayer(o, win);
	if(is_ie || is_dom)
		o.style.visibility = "visible";
	else
		o.visibility = "show";
}

