function addEvent(obj, evType, fn) {
	var fns=obj["__"+evType] || [];
	
	if (!obj["__"+evType]) {
		obj["__"+evType]=fns;

		var raiseEvent=function(e) {
			if (!e && window.event) {
				e=window.event;
			}
			if (!e.target) {
				e.target=e.srcElement;
			}
			if (!e.stopPropagation) {
				e.stopPropagation=function() {
					e.cancelBubble=true;
				}
			}
			for (var f in fns) {
				obj.__fn=fns[f];
				obj.__fn(e);
			}
			obj.__fn=null;
		}

		if (obj.addEventListener) {
			obj.addEventListener(evType, raiseEvent, false);
		} else if (obj.attachEvent) {
			obj.attachEvent("on"+evType, raiseEvent);
		} else {
			obj["on"+evType]=raiseEvent;
		}
	}

	for (var f in fns) {
		if (fns[f] == fn) {
			return;
		}
	}
	fns[fns.length]=fn;
}

function removeEvent(obj, evType, fn) {
	var fns=obj["__"+evType];
	if (fns) {
		for (var f in fns) {
			if (fns[f] == fn) {
				fns[f]=null;
				return;
			}
		}
	}
}

function addElement(figlio,padre) {
    elementofiglio=document.createElement(figlio);
	elementopadre=document.getElementById(padre);
    elementopadre.addElement(elementofiglio); 
} 