function addEvent(elem, evtType, func, capture) {
	   capture = (capture) ? capture : false;
	   if (elem.addEventListener) {
	      elem.addEventListener(evtType, func, capture);
	   } else if (elem.attachEvent) {
	      elem.attachEvent("on" + evtType, func);
	   } else {
	      // for IE/Mac, NN4, and older
	      elem["on" + evtType] = func;
	   }
	}

	function removeEvent(elem, evtType, func, capture) {
	   capture = (capture) ? capture : false;
	   if (elem.removeEventListener) {
	      elem.removeEventListener(evtType, func, capture);
	   } else if (elem.attachEvent) {
	      elem.detachEvent("on" + evtType, func);
	   } else {
	      // for IE/Mac, NN4, and older
	      elem["on" + evtType] = null;
	   }
	}

function addOnLoadEvent(func) {
	    if (window.addEventListener || window.attachEvent) {
	        addEvent(window, "load", func, false);
	    } else {
	        var oldQueue = (window.onload) ? window.onload : function() {};
	        window.onload = function() {
	            oldQueue();
	            func();
	        }
	    }
	}

