From 0b0a4eeec0f73019680574ba42dea3bdca2206d1 Mon Sep 17 00:00:00 2001
From: xamgore <xamgore@ya.ru>
Date: Fri, 14 Aug 2015 00:00:00 +0300
Subject: [PATCH] No-jquery implementations of the most popular functions

---
 media/js/config.js | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/media/js/config.js b/media/js/config.js
index f1fb99917..b3384f98c 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;
+    }
+};
-- 
GitLab