function _addEvent(node, event, func, useCapture){
	if (!useCapture) useCapture = false;
	event = event.replace(/^on/i, "");
	
	if (node.addEventListener){
		return node.addEventListener(event, func, useCapture);
	}
	if (node.attachEvent){
		return node.attachEvent('on' + event, func);
	}
	return false;
}

function getElementsByClassName(node, className){
	var ret = [];
	var classRe = new RegExp("\\b" + className + "\\b");
	for (var i = 0; i < node.childNodes.length; i++){
		var child = node.childNodes[i];
		if (child.className && classRe.test(child.className)){
			ret.push(child);
		}
		if (child.childNodes){
			ret = ret.concat(getElementsByClassName(child, className));
		}
	}
	return ret;
}
