X-Git-Url: https://svn.cri.ensmp.fr/git/Plinn.git/blobdiff_plain/497dc01810e6f02731c0e13fa43a63384e9261ef..feb12ae288263dbeb490147bbcd4e0a6d134da5f:/skins/ajax_scripts/javascript_events_api.js?ds=sidebyside

diff --git a/skins/ajax_scripts/javascript_events_api.js b/skins/ajax_scripts/javascript_events_api.js
index 94960c0..2083018 100644
--- a/skins/ajax_scripts/javascript_events_api.js
+++ b/skins/ajax_scripts/javascript_events_api.js
@@ -45,6 +45,8 @@ function buildMetaFunctions() {
 	disablePropagation = _build_disablePropagation();
 	getWindowWidth = _build_getWindowWidth();
 	getWindowHeight = _build_getWindowHeight();
+	getWindowScrollX = _build_getWindowScrollX();
+	getWindowScrollY = _build_getWindowScrollY();
 	clearSelection = _build_clearSelection();
 }
 
@@ -210,6 +212,32 @@ function _build_getWindowHeight() {
 	}
 }
 
+function _build_getWindowScrollX() {
+	if (window.scrollX !== undefined) {
+		return function(){
+			return window.scrollX;
+		};
+	}
+	else {
+		return function(){
+			return document.documentElement.scrollLeft;
+		};
+	}
+}
+
+function _build_getWindowScrollY() {
+	if (window.scrollY !== undefined) {
+		return function(){
+			return window.scrollY;
+		};
+	}
+	else {
+		return function(){
+			return document.documentElement.scrollTop;
+		};
+	}
+}
+
 function _build_clearSelection() {
 	if (document.selection) {
 		return function() {
@@ -227,11 +255,14 @@ 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;
+	try {
+		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;
+		}
 	}
+	catch (e) {}
 });
 
 
@@ -264,7 +295,7 @@ getCopyOfNode = function(node) {
 	}
 };
 
-if (browser.isIE) {
+if (browser.isIE7max) {
 	_setAttribute = function(e, name, value) {
 		// workarround IE lack of dom implementation.
 		switch(name.toLowerCase()) {
@@ -287,9 +318,10 @@ if (browser.isIE) {
 		}
 	};
 	var reCompoundPropName = /^\s*([^\-]+)\-([a-z])([a-z]+)\s*$/;
-	var _capitalizeCssPropName = function (s, g1, g2, g3) { // gN args match above regexp groups 
-		if(g2) {
-			return g1 + g2.toUpperCase() + g3;}
+	var _capitalizeCssPropName = function (s) {
+		var g = reCompoundPropName.exec(s);
+		if(g) {
+			return g[1] + g[2].toUpperCase() + g[3];}
 		else {
 			return s;}
 	};