﻿// JavaScript Document

function DomTools() {
}

	DomTools.prototype.objAttachEvent		= function(element, eventNameIE, eventNameFF, functionPointer, useCapture) {
		var useCapture = (useCapture == null ? false : useCapture);
		if(element.attachEvent) {
			element.attachEvent(eventNameIE, functionPointer);
		} else {
			element.addEventListener(eventNameFF, functionPointer, useCapture);
		}
	}

	DomTools.prototype.getChildElement		= function(parentElement, filter, recurse) {
		var i, key, match, element;
		for(i=0; i<parentElement.childNodes.length; i++) {
			match = true;
			for(key in filter) match	= match && parentElement.childNodes[i][key]	== filter[key];
			if(match) return parentElement.childNodes[i];
			if(recurse) {
				element = this.getChildElement(parentElement.childNodes[i], filter, true);
				if(element) return(element);
			}
		}
		
		return null;
	}			

	DomTools.prototype.getChildElements		= function(parentElement, filter, recurse) {
		var i, j, key, match;
		var elements		= [];
		var subElement	= [];
		for(i=0; i<parentElement.childNodes.length; i++) {
			match = true;
			for(key in filter) match	= match && parentElement.childNodes[i][key]	== filter[key];
			if(match) elements.push(parentElement.childNodes[i]);
			if(recurse) {
				subElements = this.getChildElements(parentElement.childNodes[i], filter, true);
				for(j=0; j<subElements.lenght; j++) elements.push(subElements[j]);
			}
		}
		
		return elements;
	}			

