Array.prototype.inArray = function (value){ 	var i; 	for (i=0; i < this.length; i++) { 		if (this[i] === value) {return true;} 	} 	return false; }; function addEvent( obj, type, fn ) { 	if (obj.addEventListener) { 		obj.addEventListener( type, fn, false ); 		EventCache.add(obj, type, fn); 	} 	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] ); 		EventCache.add(obj, type, fn); 	}else { 		obj["on"+type] = obj["e"+type+fn]; 	} } var EventCache = function(){ 	var listEvents = []; 	return{ 		listEvents : listEvents, 		add : function(node, sEventName, fHandler){ 			listEvents.push(arguments); 		}, 		flush : function(){ 			var i, item; 			for(i = listEvents.length - 1; i >= 0; i = i - 1){ 				item = listEvents[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; 			}; 		} 	}; }(); addEvent(window,'unload',EventCache.flush);
