X-Git-Url: https://svn.cri.mines-paristech.fr/git/Plinn.git/blobdiff_plain/f34a8f61a519009a0699b878b3dbaad3c01ab6b4..f4fc9ed779ba87bd6ed11ee48fd84b920f9de30c:/skins/ajax_scripts/javascript_events_api.js

diff --git a/skins/ajax_scripts/javascript_events_api.js b/skins/ajax_scripts/javascript_events_api.js
index 71baec7..127ac6f 100644
--- a/skins/ajax_scripts/javascript_events_api.js
+++ b/skins/ajax_scripts/javascript_events_api.js
@@ -26,7 +26,11 @@ var getCopyOfNode; /* (node) returns a clone of the given node.
 						* the node came from a foreign document (eg. XmlHttpRequest xml reponse)
 						* to inject HMTL code inside tags where innerHtml is read only (IE)
 					*/
+
 var copyPrototype; // (descendant, parent) lightwheight javascript inheritance
+if (!history.pushState) {
+    history.pushState = function(){};
+}
 
 (function(){
 
@@ -44,17 +48,17 @@ function buildMetaFunctions() {
 	clearSelection = _build_clearSelection();
 }
 
-__groupListeners = {};
+var __groupListeners = {};
 
 function _build_addListener() {
 	var _browserSpecific;
-	if (browser.isIE55 || browser.isIE6up) {
+	if (!browser.isDOM2Event) {
 		_browserSpecific = function(ob, eventName, listenerFunction) {
 			eventName = "on" + eventName;
 			ob.attachEvent(eventName, listenerFunction);
 		};
 	}
-	else if (browser.isDOM2Event) {
+	else {
 		_browserSpecific = function(ob, eventName, listenerFunction) {
 			ob.addEventListener(eventName, listenerFunction, false); // only bubbling events :-(
 		};
@@ -71,14 +75,14 @@ function _build_addListener() {
 }
 
 function _build_removeListener() {
-	if (browser.isIE55 || browser.isIE6up) {
+	if (!browser.isDOM2Event) {
 		var _ie_removeListener = function(ob, eventName, listenerFunction) {
 			eventName = "on" + eventName;
 			ob.detachEvent(eventName, listenerFunction);
 		};
 		return _ie_removeListener;
 	}
-	else if (browser.isDOM2Event) {
+	else {
 		var _dom2_removeListener = function(ob, eventName, listenerFunction) {
 			ob.removeEventListener(eventName, listenerFunction, false); // only bubbling events :-(
 		};
@@ -98,13 +102,13 @@ removeGroupListeners = function(group) {
 };
 
 function  _build_raiseMouseEvent() {
-	if (browser.isIE55 || browser.isIE6up) {
+	if (!browser.isDOM2Event) {
 		var _ie_raiseMouseEvent = function(ob, eventName) {
 			ob.fireEvent("on" + eventName);
 		};
 		return _ie_raiseMouseEvent;
 	}
-	else if (browser.isDOM2Event) {
+	else {
 		var _dom2_raiseMouseEvent = function(ob, eventName) {
 			var event = document.createEvent("MouseEvents");
 			event.initEvent(eventName, true, true);
@@ -115,13 +119,13 @@ function  _build_raiseMouseEvent() {
 }
 
 function _build_getTargetedObject(){
-	if (browser.isIE55 || browser.isIE6up) {
+	if (!browser.isDOM2Event) {
 		var _ie_getTargetedObject = function() {
 			return window.event.srcElement;
 		};
 		return _ie_getTargetedObject;
 	}
-	else if (browser.isDOM2Event) {
+	else {
 		var _appleWebKit_getTargetedeObject = function(evt) {
 			var target = evt.target;
 			// is it really safe ?...
@@ -135,13 +139,13 @@ function _build_getTargetedObject(){
 }
 
 function _build_getEventObject(){
-	if (browser.isIE) {
+	if (!browser.isDOM2Event) {
 		var _ie_getEventObject = function() {
 			return window.event;
 		};
 		return _ie_getEventObject;
 	}
-	else if (browser.isDOM2Event) {
+	else {
 		var _dom2_getEventObject = function(evt) {
 			return evt;
 		};
@@ -151,13 +155,13 @@ function _build_getEventObject(){
 
 
 function _build_disableDefault(){
-	if (browser.isIE55 || browser.isIE6up) {
+	if (!browser.isDOM2Event) {
 		var _ie_disableDefault = function() {
 			window.event.returnValue = false;
 		};
 		return _ie_disableDefault;
 	}
-	else if (browser.isDOM2Event) {
+	else {
 		var _dom2_disableDefault = function(evt) {
 			evt.preventDefault();
 		};
@@ -166,13 +170,13 @@ function _build_disableDefault(){
 }
 
 function _build_disablePropagation() {
-	if (browser.isIE55 || browser.isIE6up) {
+	if (!browser.isDOM2Event) {
 		var _ie_disablePropagation = function() {
 			window.event.cancelBubble = true;
 		};
 		return _ie_disablePropagation;
 	}
-	else if (browser.isDOM2Event) {
+	else {
 		var _dom2_disablePropagation = function(evt) {
 			evt.stopPropagation();
 		};
@@ -219,9 +223,19 @@ function _build_clearSelection() {
 	}
 }
 
-
 buildMetaFunctions();
 
+addListener(window, 'load', function(evt) {
+    // html5 facade
+    if (!document.body.classList) {
+        var nop = function(){};
+        var fakeDOMTokenList = {'length':0, 'item':nop, 'contains':nop, 'add':nop, 'remove':nop, 'toggle':nop}
+        Element.prototype.classList = fakeDOMTokenList;
+    }
+});
+
+
+
 var ELEMENT_NODE = 1;
 var TEXT_NODE = 3;
 var _setAttribute;