-// (c) Benoît PIN 2006-2009
+// (c) Benoît PIN 2006-2014
// http://plinn.org
// Licence GPL
//
// 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.
* 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(){
disablePropagation = _build_disablePropagation();
getWindowWidth = _build_getWindowWidth();
getWindowHeight = _build_getWindowHeight();
+ getWindowScrollX = _build_getWindowScrollX();
+ getWindowScrollY = _build_getWindowScrollY();
clearSelection = _build_clearSelection();
}
}
}
+function _build_getWindowScrollX() {
+ if (window.scrollX !== undefined) {
+ return function(){
+ return window.scrollX;
+ };
+ }
+ else {
+ return function(){
+ return document.body.scrollLeft;
+ };
+ }
+}
+
+function _build_getWindowScrollY() {
+ if (window.scrollY !== undefined) {
+ return function(){
+ return window.scrollY;
+ };
+ }
+ else {
+ return function(){
+ return document.body.scrollTop;
+ };
+ }
+}
+
function _build_clearSelection() {
if (document.selection) {
return function() {
}
}
-
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;