/* $Id: dom.js,v 1.3 2005/07/05 08:44:40 haihee Exp $ */
/* Copyright 2002 Framfab */

var dom = {finished: 0, handles: {} };

function init_dom(doc) {
	if (typeof doc == 'undefined') {
		doc = document;
	}
	var tags = {div: 'layers', img: 'images', form: 'forms'};

	for (tagname in tags) {
		var elements = [];
		if (typeof doc.getElementsByTagName != 'undefined') {
			elements = doc.getElementsByTagName(tagname);
		}
		else if (typeof doc.layers != 'undefined') {
			elements = doc[tags[tagname]];
		}
		else if (doc.all) {
			elements = eval("doc.all.tags('" + tagname + "')");
		}
		for (i = 0; i < elements.length; i++) {
			var el = elements[i];
			if (typeof el.id != 'undefined' && el.id != '') {
				dom.handles[el.id] = el;
				if (typeof doc.layers != 'undefined') {
					dom.handles[el.id].style = el;
				}
			}
			if (
				(typeof el.name != 'undefined' && el.name != '')
				|| (typeof el.src != 'undefined' && el.src != '')
			) {
				var handle = el.name;
				if (typeof handle == 'undefined' || handle == '') {
					handle = el.src;
				}
				if (typeof handle == 'string') {
					dom.handles[handle] = el;
				}
				else {
					alert("Incorrect use of name or id value encountered.");
				}
				if (typeof doc.layers != 'undefined') {
					dom.handles[handle].style = el;
				}
			}
			if (typeof doc.layers != 'undefined' && tagname == "div") {
				init_dom(el.document);
				dom.finished = 0;
			}
		}
	}
	dom.finished = 1;
	return true;
}

