if(window.loadFirebugConsole)
	window.loadFirebugConsole();

function $dom(pString) {
	return document.getElementById(pString);
}

function $new(pString) {
	return document.createElement(pString);
}

function addClass(pObj, pClass) {
	pObj.className = (pObj.className ? pObj.className + ' ' : '') + pClass;
}

function removeClass(pObj, pClass) {
	pObj.className = pObj.className.split(pClass).join('');
}

/**
* John Resig, erklŠrt bei quirksmode
*/
function myAddEvent( obj, type, fn )
{
	if (obj.addEventListener) {
		obj.addEventListener( type, fn, false );
	} else if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
	}
}

function removeEvent( obj, type, fn )
{
	if (obj.removeEventListener) {
		obj.removeEventListener( type, fn, false );
	} else if (obj.detachEvent) {
		obj.detachEvent( "on"+type, obj[type+fn] );
		obj[type+fn] = null;
		obj["e"+type+fn] = null;
	}
}

function containsDOM (container, containee) {
	var isParent = false;
	do {
		if ((isParent = container == containee))
			break;
		containee = containee.parentNode;
	}
	while (containee != null);
	return isParent;
}

function checkMouseEnter (element, evt) {
	if (element.contains && evt.fromElement) {
		return !element.contains(evt.fromElement);
	}
	else if (evt.relatedTarget) {
		return !containsDOM(element, evt.relatedTarget);
	}
}

function checkMouseLeave (element, evt) {
	if (element.contains && evt.toElement) {
		return !element.contains(evt.toElement);
	}
	else if (evt.relatedTarget) {
		return !containsDOM(element, evt.relatedTarget);
	}
}

function preventDefault(e) {
	e = e || window.event;
	if(e.preventDefault)
		e.preventDefault();
	else
		e.returnValue = false;
}