diff --git a/Gemfile.lock b/Gemfile.lock
index 6713e2fc4845b8f0cebdde9264a8b116eba65a96..a3f1ae769b3e6ed3329b32f89bb57d5bf5d66ab1 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,6 +1,6 @@
 GIT
   remote: git://github.com/gregbell/active_admin.git
-  revision: 28c5ca569acddc162e1179326872da17a934dbb7
+  revision: 04efdcc5ca0ed6c10ed921713c781a26f7740ba0
   specs:
     activeadmin (1.0.0.pre)
       arbre (~> 1.0, >= 1.0.2)
@@ -59,6 +59,8 @@ GEM
       activesupport (>= 3.0.0)
     arel (5.0.1.20140414130214)
     ast (2.0.0)
+    astrolabe (1.3.0)
+      parser (>= 2.2.0.pre.3, < 3.0)
     bcrypt (3.1.7)
     bourbon (3.2.3)
       sass (~> 3.2)
@@ -75,8 +77,8 @@ GEM
       slim (>= 1.3.6, < 3.0)
       terminal-table (~> 1.4)
     builder (3.2.2)
-    celluloid (0.15.2)
-      timers (~> 1.1.0)
+    celluloid (0.16.0)
+      timers (~> 4.0.0)
     chunky_png (1.3.1)
     coderay (1.1.0)
     coffee-rails (4.0.1)
@@ -152,6 +154,7 @@ GEM
       activesupport (>= 3.2, < 5)
     highline (1.6.21)
     hike (1.2.3)
+    hitimes (1.2.2)
     http_parser.rb (0.6.0)
     i18n (0.6.11)
     inherited_resources (1.4.1)
@@ -217,9 +220,9 @@ GEM
       bundler (>= 1.3.0, < 2.0)
       railties (= 4.1.5)
       sprockets-rails (~> 2.0)
-    rails-i18n (4.0.2)
+    rails-i18n (4.0.3)
       i18n (~> 0.6)
-      rails (>= 4.0)
+      railties (~> 4.0)
     railties (4.1.5)
       actionpack (= 4.1.5)
       activesupport (= 4.1.5)
@@ -242,7 +245,8 @@ GEM
     ref (1.0.5)
     responders (1.0.0)
       railties (>= 3.2, < 5)
-    rubocop (0.25.0)
+    rubocop (0.26.0)
+      astrolabe (~> 1.3)
       parser (>= 2.2.0.pre.4, < 3.0)
       powerpack (~> 0.0.6)
       rainbow (>= 1.99.1, < 3.0)
@@ -295,7 +299,8 @@ GEM
     thor (0.19.1)
     thread_safe (0.3.4)
     tilt (1.4.1)
-    timers (1.1.0)
+    timers (4.0.0)
+      hitimes
     tinymce-rails (4.1.4)
       railties (>= 3.1.1)
     tinymce-rails-langs (4.20140129)
@@ -313,7 +318,7 @@ GEM
     warden (1.2.3)
       rack (>= 1.0)
     webrick (1.3.1)
-    webshims-rails (1.15.2)
+    webshims-rails (1.15.3)
       rails (> 3.1.0)
 
 PLATFORMS
diff --git a/public/webshims/polyfiller.js b/public/webshims/polyfiller.js
index 65b7cde5147af8dae1667858dae3d85b82d51d89..528ace81edb9633909e75bfdd304af632d1cf097 100644
--- a/public/webshims/polyfiller.js
+++ b/public/webshims/polyfiller.js
@@ -136,7 +136,7 @@
 	}
 
 	$.extend(webshims, {
-		version: '1.15.2',
+		version: '1.15.3',
 
 		cfg: {
 			enhanceAuto: window.Audio && (!window.matchMedia || matchMedia('(min-device-width: 721px)').matches),
@@ -1094,11 +1094,11 @@
 
 		addPolyfill('form-core', {
 			f: 'forms',
+			test: initialFormTest,
 			d: ['es5'],
 			options: {
 				placeholderType: 'value',
 				messagePopover: {},
-				test: initialFormTest,
 				list: {
 					popover: {
 						constrainWidth: true
diff --git a/public/webshims/shims/combos/10.js b/public/webshims/shims/combos/10.js
index 6950280f6eb4ba745a968664da581f29ed74f1dc..ecbad50331925fe69076c93695dab1fba69fb214 100644
--- a/public/webshims/shims/combos/10.js
+++ b/public/webshims/shims/combos/10.js
@@ -2979,6 +2979,13 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
 						return handler.apply(this, arguments);
 					}
 				};
+				if($.isFunction(target)){
+					handler = target;
+					target = false;
+					this.on('click', runHandler);
+				} else {
+					this.on('click', target, runHandler);
+				}
 				if(addTouch){
 					allowClick = function(){
 						stopClick = false;
@@ -3027,17 +3034,11 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
 					this.each(function(){
 						this.addEventListener('touchstart', touchStart, true);
 					});
-				} else if(supportsTouchaction){
+				} else if(supportsTouchaction && !target){
 					this.css('touch-action', 'manipulation');
 				}
 
-				if($.isFunction(target)){
-					handler = target;
-					target = false;
-					this.on('click', runHandler);
-				} else {
-					this.on('click', target, runHandler);
-				}
+
 				return this;
 			};
 		})();
diff --git a/public/webshims/shims/combos/11.js b/public/webshims/shims/combos/11.js
index 2c8d3b366d0e4ca3cb0c0e357abb8121df187de2..b837903c74dc9892143df84953bdf44a3711c133 100644
--- a/public/webshims/shims/combos/11.js
+++ b/public/webshims/shims/combos/11.js
@@ -1748,6 +1748,13 @@
 						return handler.apply(this, arguments);
 					}
 				};
+				if($.isFunction(target)){
+					handler = target;
+					target = false;
+					this.on('click', runHandler);
+				} else {
+					this.on('click', target, runHandler);
+				}
 				if(addTouch){
 					allowClick = function(){
 						stopClick = false;
@@ -1796,17 +1803,11 @@
 					this.each(function(){
 						this.addEventListener('touchstart', touchStart, true);
 					});
-				} else if(supportsTouchaction){
+				} else if(supportsTouchaction && !target){
 					this.css('touch-action', 'manipulation');
 				}
 
-				if($.isFunction(target)){
-					handler = target;
-					target = false;
-					this.on('click', runHandler);
-				} else {
-					this.on('click', target, runHandler);
-				}
+
 				return this;
 			};
 		})();
diff --git a/public/webshims/shims/combos/17.js b/public/webshims/shims/combos/17.js
index e6eb2bd2f891ad2eff55f218085846d007f44187..cd7e1c391298366a883bc33ab57ff46a3f3346e1 100644
--- a/public/webshims/shims/combos/17.js
+++ b/public/webshims/shims/combos/17.js
@@ -2364,6 +2364,13 @@ webshims.register('form-number-date-api', function($, webshims, window, document
 						return handler.apply(this, arguments);
 					}
 				};
+				if($.isFunction(target)){
+					handler = target;
+					target = false;
+					this.on('click', runHandler);
+				} else {
+					this.on('click', target, runHandler);
+				}
 				if(addTouch){
 					allowClick = function(){
 						stopClick = false;
@@ -2412,17 +2419,11 @@ webshims.register('form-number-date-api', function($, webshims, window, document
 					this.each(function(){
 						this.addEventListener('touchstart', touchStart, true);
 					});
-				} else if(supportsTouchaction){
+				} else if(supportsTouchaction && !target){
 					this.css('touch-action', 'manipulation');
 				}
 
-				if($.isFunction(target)){
-					handler = target;
-					target = false;
-					this.on('click', runHandler);
-				} else {
-					this.on('click', target, runHandler);
-				}
+
 				return this;
 			};
 		})();
diff --git a/public/webshims/shims/combos/5.js b/public/webshims/shims/combos/5.js
index c95d39721e7791a32d687270a37e79cad6b6a767..843cbd9e996aeed58750c65446691ce311cb091b 100644
--- a/public/webshims/shims/combos/5.js
+++ b/public/webshims/shims/combos/5.js
@@ -2575,6 +2575,13 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
 						return handler.apply(this, arguments);
 					}
 				};
+				if($.isFunction(target)){
+					handler = target;
+					target = false;
+					this.on('click', runHandler);
+				} else {
+					this.on('click', target, runHandler);
+				}
 				if(addTouch){
 					allowClick = function(){
 						stopClick = false;
@@ -2623,17 +2630,11 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
 					this.each(function(){
 						this.addEventListener('touchstart', touchStart, true);
 					});
-				} else if(supportsTouchaction){
+				} else if(supportsTouchaction && !target){
 					this.css('touch-action', 'manipulation');
 				}
 
-				if($.isFunction(target)){
-					handler = target;
-					target = false;
-					this.on('click', runHandler);
-				} else {
-					this.on('click', target, runHandler);
-				}
+
 				return this;
 			};
 		})();
diff --git a/public/webshims/shims/combos/6.js b/public/webshims/shims/combos/6.js
index a9f8bbbad0638c59fe52bdb2326b4a5220f8f22e..03a4171c40e4e0ff54238622a6878fc62c1be4f5 100644
--- a/public/webshims/shims/combos/6.js
+++ b/public/webshims/shims/combos/6.js
@@ -2575,6 +2575,13 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
 						return handler.apply(this, arguments);
 					}
 				};
+				if($.isFunction(target)){
+					handler = target;
+					target = false;
+					this.on('click', runHandler);
+				} else {
+					this.on('click', target, runHandler);
+				}
 				if(addTouch){
 					allowClick = function(){
 						stopClick = false;
@@ -2623,17 +2630,11 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
 					this.each(function(){
 						this.addEventListener('touchstart', touchStart, true);
 					});
-				} else if(supportsTouchaction){
+				} else if(supportsTouchaction && !target){
 					this.css('touch-action', 'manipulation');
 				}
 
-				if($.isFunction(target)){
-					handler = target;
-					target = false;
-					this.on('click', runHandler);
-				} else {
-					this.on('click', target, runHandler);
-				}
+
 				return this;
 			};
 		})();
diff --git a/public/webshims/shims/combos/9.js b/public/webshims/shims/combos/9.js
index 076397ddfe3c9bd816d6ce970c3fe3211d530073..5e544054433767cff64aa73e1342e7b90393301c 100644
--- a/public/webshims/shims/combos/9.js
+++ b/public/webshims/shims/combos/9.js
@@ -2979,6 +2979,13 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
 						return handler.apply(this, arguments);
 					}
 				};
+				if($.isFunction(target)){
+					handler = target;
+					target = false;
+					this.on('click', runHandler);
+				} else {
+					this.on('click', target, runHandler);
+				}
 				if(addTouch){
 					allowClick = function(){
 						stopClick = false;
@@ -3027,17 +3034,11 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
 					this.each(function(){
 						this.addEventListener('touchstart', touchStart, true);
 					});
-				} else if(supportsTouchaction){
+				} else if(supportsTouchaction && !target){
 					this.css('touch-action', 'manipulation');
 				}
 
-				if($.isFunction(target)){
-					handler = target;
-					target = false;
-					this.on('click', runHandler);
-				} else {
-					this.on('click', target, runHandler);
-				}
+
 				return this;
 			};
 		})();
diff --git a/public/webshims/shims/form-number-date-ui.js b/public/webshims/shims/form-number-date-ui.js
index fd7368283fa0ab5cdc6230267835a209a57e6ca4..e13363bf207dbbbcac1cac91523f86f23d7a50b1 100644
--- a/public/webshims/shims/form-number-date-ui.js
+++ b/public/webshims/shims/form-number-date-ui.js
@@ -1128,6 +1128,13 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
 						return handler.apply(this, arguments);
 					}
 				};
+				if($.isFunction(target)){
+					handler = target;
+					target = false;
+					this.on('click', runHandler);
+				} else {
+					this.on('click', target, runHandler);
+				}
 				if(addTouch){
 					allowClick = function(){
 						stopClick = false;
@@ -1176,17 +1183,11 @@ webshims.register('form-number-date-ui', function($, webshims, window, document,
 					this.each(function(){
 						this.addEventListener('touchstart', touchStart, true);
 					});
-				} else if(supportsTouchaction){
+				} else if(supportsTouchaction && !target){
 					this.css('touch-action', 'manipulation');
 				}
 
-				if($.isFunction(target)){
-					handler = target;
-					target = false;
-					this.on('click', runHandler);
-				} else {
-					this.on('click', target, runHandler);
-				}
+
 				return this;
 			};
 		})();
diff --git a/public/webshims/shims/form-validation.js b/public/webshims/shims/form-validation.js
index abe904e47501850850791927f6c8fcab87153e12..d31ee4793561e56288078052ece794adf7a601e5 100644
--- a/public/webshims/shims/form-validation.js
+++ b/public/webshims/shims/form-validation.js
@@ -998,7 +998,7 @@ webshims.register('form-validation', function($, webshims, window, document, und
 		var fileReaderReady = ('FileReader' in window && 'FormData' in window);
 		if(!fileReaderReady){
 			webshims.addReady(function(context){
-				if(!fileReaderReady && !modules.filereader.loaded && context.querySelector('input.ws-filereader')){
+				if(!fileReaderReady && modules['filereader-xhr'] && !modules['filereader-xhr'].loaded && context.querySelector('input.ws-filereader')){
 					webshims.reTest(['filereader']);
 					fileReaderReady = true;
 				}
diff --git a/public/webshims/shims/jme/mediacontrols-lazy.js b/public/webshims/shims/jme/mediacontrols-lazy.js
index 745f17e8d6f877dee19675312a585e4654b732c3..dedd10329a08813a69b0c4bb332a1d4f74c9d968 100644
--- a/public/webshims/shims/jme/mediacontrols-lazy.js
+++ b/public/webshims/shims/jme/mediacontrols-lazy.js
@@ -45,6 +45,13 @@ webshims.register('mediacontrols-lazy', function($, webshims, window, doc, undef
 						return handler.apply(this, arguments);
 					}
 				};
+				if($.isFunction(target)){
+					handler = target;
+					target = false;
+					this.on('click', runHandler);
+				} else {
+					this.on('click', target, runHandler);
+				}
 				if(addTouch){
 					allowClick = function(){
 						stopClick = false;
@@ -93,17 +100,11 @@ webshims.register('mediacontrols-lazy', function($, webshims, window, doc, undef
 					this.each(function(){
 						this.addEventListener('touchstart', touchStart, true);
 					});
-				} else if(supportsTouchaction){
+				} else if(supportsTouchaction && !target){
 					this.css('touch-action', 'manipulation');
 				}
 
-				if($.isFunction(target)){
-					handler = target;
-					target = false;
-					this.on('click', runHandler);
-				} else {
-					this.on('click', target, runHandler);
-				}
+
 				return this;
 			};
 		})();