]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-10408 - added checks for propertyIsEnumerable for MooTools compatibility
authorurs_hunkler <urs_hunkler>
Sun, 5 Aug 2007 12:15:27 +0000 (12:15 +0000)
committerurs_hunkler <urs_hunkler>
Sun, 5 Aug 2007 12:15:27 +0000 (12:15 +0000)
lib/javascript-static.js

index 739355dce1047146b866d0d23774710421a6fd3d..d4477a8c3c1c5085cd8383a1aa19782263be40af 100644 (file)
@@ -88,8 +88,12 @@ function lockoptionsall(formid) {
     var dependons = eval(formid+'items');
     var tolock = Array();
     for (var dependon in dependons) {
+        // change for MooTools compatibility
+        if (!dependons.propertyIsEnumerable(dependon)) {
+            continue;
+        }
         var master = form[dependon];
-        if (master == undefined) {
+        if (master === undefined) {
             continue;
         }
         for (var condition in dependons[dependon]) {
@@ -108,6 +112,10 @@ function lockoptionsall(formid) {
                       lock = master.value!=value; break;
                 }
                 for (var ei in dependons[dependon][condition][value]) {
+                    // change for MooTools compatibility
+                    if (!window.webkit && (!dependons[dependon][condition][value].propertyIsEnumerable(ei))) {
+                        continue;
+                    }
                     var eltolock = dependons[dependon][condition][value][ei];
                     if (tolock[eltolock] != null){
                         tolock[eltolock] =
@@ -120,8 +128,12 @@ function lockoptionsall(formid) {
         }
     }
     for (var el in tolock){
+        // change for MooTools compatibility
+        if (!tolock.propertyIsEnumerable(el)) {
+            continue;
+        }
         var formelement = form[el];
-        if (formelement == undefined) {
+        if ((formelement === undefined) || (formelement.disabled === undefined)) {
             continue;
         }
         formelement.disabled = tolock[el];
@@ -133,8 +145,12 @@ function lockoptionsallsetup(formid) {
     var form = document.forms[formid];
     var dependons = eval(formid+'items');
     for (var dependon in dependons) {
+        // change for MooTools compatibility
+        if (!dependons.propertyIsEnumerable(dependon)) {
+            continue;
+        }
         var master = form[dependon];
-        if (master == undefined) {
+        if (master === undefined) {
             continue;
         }
         master.formid = formid;