diff --git a/media/js/config.js b/media/js/config.js
index f1fb99917bedaeab25349895cb62b1237210d919..b3384f98c39d5b7ec7ece6e551ba9dd51bf3f16d 100644
--- a/media/js/config.js
+++ b/media/js/config.js
@@ -43,3 +43,38 @@ var Watcher = (function() {
         timer = setTimeout(callback, ms);
     };
 })();
+
+
+
+
+Element.prototype.hasClass = function (className) {
+    return new RegExp(' ' + className + ' ').test(' ' + this.className + ' ');
+};
+
+Element.prototype.addClass = function (className) {
+    if (!this.hasClass(className)) {
+        this.className += ' ' + className;
+    }
+};
+
+Element.prototype.removeClass = function (className) {
+    var newClass = ' ' + this.className.replace(/[\t\r\n]/g, ' ') + ' ';
+    if (this.hasClass(className)) {
+        while (newClass.indexOf(' ' + className + ' ') >= 0) {
+            newClass = newClass.replace(' ' + className + ' ', ' ');
+        }
+        this.className = newClass.replace(/^\s+|\s+$/g, ' ');
+    }
+};
+
+Element.prototype.toggleClass = function (className) {
+    var newClass = ' ' + this.className.replace(/[\t\r\n]/g, " ") + ' ';
+    if (this.hasClass(className)) {
+        while (newClass.indexOf(" " + className + " ") >= 0) {
+            newClass = newClass.replace(" " + className + " ", " ");
+        }
+        this.className = newClass.replace(/^\s+|\s+$/g, ' ');
+    } else {
+        this.className += ' ' + className;
+    }
+};