// ===========================================
//                Am Macro Lib
// ===========================================

function $Id(id) {
	return document.getElementById(id)
}

function hookEvent(element, eventName, callback)
{
	if (typeof(element) == "string")
		element = document.getElementById(element);
	if (element == null)
		return;
	if (element.addEventListener)
		element.addEventListener(eventName, callback, false);
	else if (element.attachEvent)
		element.attachEvent("on" + eventName, callback);
}

function unhookEvent(element, eventName, callback)
{
	if (typeof(element) == "string")
		element = document.getElementById(element);
	if (element == null)
		return;
	if (element.removeEventListener)
		element.removeEventListener(eventName, callback, false);
	else if (element.detachEvent)
		element.detachEvent("on" + eventName, callback);
}

function cancelEvent(e)
{
	e = e ? e : window.event;
	if (e.stopPropagation)
		e.stopPropagation();
	if (e.preventDefault)
		e.preventDefault();
	e.cancelBubble = true;
	e.cancel = true;
	e.returnValue = false;
	return false;
}

function preventWheel(targetId){
	var target = targetId? document.getElementById(targetId) : document;
	target.onmousewheel = function(){return false};
	if(target.addEventListener)
		target.addEventListener('DOMMouseScroll', cancelEvent, false);
}

function enableWheel(targetId){
	var target = targetId? document.getElementById(targetId) : document;
	target.onmousewheel = function(){return true};
	if(target.addEventListener)
		target.removeEventListener('DOMMouseScroll',cancelEvent, false);
}

function viewportSize(dim){
	var viewportwidth;
	var viewportheight;

	// the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight
	if (typeof window.innerWidth != 'undefined') {
		viewportwidth = window.innerWidth,
		viewportheight = window.innerHeight
	}
	// IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)
	else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0) {
		viewportwidth = document.documentElement.clientWidth,
		viewportheight = document.documentElement.clientHeight
	}
	// older versions of IE
	else {
		viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
		viewportheight = document.getElementsByTagName('body')[0].clientHeight
	}

	if(dim = "height") return viewportheight;
	else if(dim = "width") return viewportwidth;
	else return 0;
}
