Spaces -> tabs
[Plinn.git] / skins / ajax_scripts / javascript_events_api.js
index bff4300..94960c0 100644 (file)
@@ -1,4 +1,4 @@
-// (c) Benoît PIN 2006-2009
+// (c) Benoît PIN 2006-2014
 // http://plinn.org
 // Licence GPL
 // 
@@ -6,7 +6,7 @@
 // Meta functions for events management.
 
 var addListener; /* (ob, eventName, listenerFunction, group) add event listener eventName without "on" prefix.
-                                *  optionally, listeners can be grouped to make removing convenient.
+                                *      optionally, listeners can be grouped to make removing convenient.
                                 */
 var removeListener; // (ob, eventName, listenerFunction, group) remove event listener.
 var removeGroupListeners; // (group) remove all listeners in group.
@@ -26,9 +26,10 @@ 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(){};
+       history.pushState = function(){};
 }
 
 (function(){
@@ -222,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;