// JavaScript Document
function MAGevListener(obj,evt,fn,cpt) {
	if(!cpt) {
		cpt = false;
	}
	if(obj.addEventListener) {
		obj.addEventListener(evt,fn,cpt);
		eCache.add(obj,evt,fn);
	}
	else if(obj.attachEvent) {
		obj["e"+evt+fn] = fn;
		obj[evt+fn] = function() { obj["e"+evt+fn]( window.event ); }
		obj.attachEvent("on"+evt,obj[evt+fn] );
		eCache.add(obj,evt,fn);
	}
	else {
		obj["on"+evt] = obj["e"+evt+fn];
	}
}
var eCache = function(){
	var eList = [];
	return {
		listEvents : eList,

		add : function(node,sEventName,fHandler){
			eList.push(arguments);
		},

		flush : function(){
			var i, item;
			for(i=eList.length - 1; i>=0; i=i-1){
				item = eList[i];
				if(item[0].removeEventListener){
					item[0].removeEventListener(item[1], item[2], item[3]);
				};
				if(item[1].substring(0, 2) != "on"){
					item[1] = "on" + item[1];
				};
				if(item[0].detachEvent){
					item[0].detachEvent(item[1], item[2]);
				};
				item[0][item[1]] = null;
			};
		}
	};
}();
MAGevListener(window,'unload',eCache.flush);

function MAGrequestXML() {
	if (window.XMLHttpRequest) {
  	xmlReq=new XMLHttpRequest();
  }
	else {
  	xmlReq=new ActiveXObject("Microsoft.XMLHTTP");
  }
	return xmlReq;
}

function hasClass(ele,cls) {
	var regex = new RegExp('(\\s|^)' + cls + '(\\s|$)');
	return ele.className.match(regex);
}
function addClass(ele,cls) {
	if(!hasClass(ele,cls)) { ele.className += " "+cls; }
}
function removeClass(ele,cls) {
	if (hasClass(ele,cls)) {
		var reg = new RegExp('(\\s|^)' + cls + '(\\s|$)');
		ele.className = ele.className.replace(reg,'');
	}
} 

function MAGpreloadImages(src) {
	var imgPreload = new Image();
	imgPreload.src = src;
}

MAGevListener(window,'load',function(e) {
});
