diff --git a/.build/.jscsrc b/.build/.jscsrc
deleted file mode 100644
index f5387e9af8a9800e84de09e2b1393ec4e42dc512..0000000000000000000000000000000000000000
--- a/.build/.jscsrc
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-    "preset": "jquery"
-}
diff --git a/.build/Gruntfile.js b/.build/Gruntfile.js
index 470fad0bfa5d2e83428db9ecba3ffd4de51e9a44..56bac94ee9b502dd7bd2313c1666de48bcbe3308 100644
--- a/.build/Gruntfile.js
+++ b/.build/Gruntfile.js
@@ -14,6 +14,9 @@ module.exports = function(grunt) {
                         'dist/js/widgets/widget-columnSelector.min.js',
                         'dist/js/widgets/widget-stickyHeaders.min.js',
                         'dist/css/theme.blue.min.css'
+                    ],
+                    'bootstrap-formhelpers': [
+                        'dist/js/bootstrap-formhelpers.min.js'
                     ]
                 },
                 bowerOptions: {
diff --git a/.build/bower.json b/.build/bower.json
index 431e807905bd308114e61bb1eee8845ea44eae08..8954ee4c899e14d3b29161f6f0de765951556877 100644
--- a/.build/bower.json
+++ b/.build/bower.json
@@ -23,6 +23,7 @@
     "pnotify": "~2.1.0",
     "qtip2": "~2.2.1",
     "tablesorter": "jquery.tablesorter#~2.24.5",
-    "jquery-confirm": "~2.5.2"
+    "jquery-confirm": "~2.5.2",
+    "bootstrap-formhelpers": "~2.3.0"
   }
 }
diff --git a/.jscsrc b/.jscsrc
new file mode 100644
index 0000000000000000000000000000000000000000..c13d13dcf1eed8b2f55b8701780280638b1abc67
--- /dev/null
+++ b/.jscsrc
@@ -0,0 +1,3 @@
+{
+    "validateIndentation": 4
+}
diff --git a/gui/slick/js/core.js b/gui/slick/js/core.js
index abd37f30109dc44c0e7f0649534363c2c012fffe..1fcbeae568427ab310002eb23a6e9d9f37aab25b 100644
--- a/gui/slick/js/core.js
+++ b/gui/slick/js/core.js
@@ -3,7 +3,7 @@
 var srRoot = getMeta('srRoot'),
     themeSpinner = getMeta('themeSpinner'),
     anonURL = getMeta('anonURL'),
-    topImageHtml = '<img src="' + srRoot + '/images/top.gif" width="31" height="11" alt="Jump to top" />',
+    topImageHtml = '<img src="' + srRoot + '/images/top.gif" width="31" height="11" alt="Jump to top" />', // jshint ignore:line
     loading = '<img src="' + srRoot + '/images/loading16' + themeSpinner + '.gif" height="16" width="16" />';
 
 var configSuccess = function(){
diff --git a/gui/slick/js/vender.min.js b/gui/slick/js/vender.min.js
index c245f1543ebd54fe038c79c995029862505ada3e..183aaff7e388bfb2a7c84d7927c2a2dd9d0f255f 100644
Binary files a/gui/slick/js/vender.min.js and b/gui/slick/js/vender.min.js differ