diff --git a/eu_cookie_compliance.admin.inc b/eu_cookie_compliance.admin.inc
index 2054942..15cfbf8 100644
--- a/eu_cookie_compliance.admin.inc
+++ b/eu_cookie_compliance.admin.inc
@@ -34,6 +34,13 @@ function eu_cookie_compliance_admin_form($form_state) {
     '#description' => t('By default the pop-up appears at the bottom of the website. Tick this box if you want it to appear at the top'),
   );
 
+  $form['eu_cookie_compliance_' . $ln]['explicit_consent'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Require explicit consent to set cookies.'),
+    '#default_value' => isset($popup_settings['explicit_consent']) ? $popup_settings['explicit_consent'] : 0,
+    '#description' => t('By default the module regards clicking any link in the site as giving consent to set cookies. If you need explicit consent from site users, enable this option.'),
+  );
+
   $form['eu_cookie_compliance_' . $ln]['popup_info'] = array(
     '#type' => 'text_format',
     '#title' => t('Popup message - requests consent'),
diff --git a/eu_cookie_compliance.module b/eu_cookie_compliance.module
index d697bbb..016238a 100644
--- a/eu_cookie_compliance.module
+++ b/eu_cookie_compliance.module
@@ -48,6 +48,7 @@ function eu_cookie_compliance_init() {
       'popup_enabled' => $popup_settings['popup_enabled'],
       'popup_agreed_enabled' => $popup_settings['popup_agreed_enabled'],
       'popup_hide_agreed' => isset($popup_settings['popup_hide_agreed']) ? $popup_settings['popup_hide_agreed'] : FALSE,
+      'explicit_consent' => !isset($popup_settings['explicit_consent']) ? 0 : $popup_settings['explicit_consent'],
       'popup_html_info' => empty($html_info) ? FALSE : $html_info,
       'popup_html_agreed' => empty($html_agreed) ? FALSE : $html_agreed,
       'popup_height' => ($popup_settings['popup_height']) ? (int) $popup_settings['popup_height'] : 'auto',
diff --git a/js/eu_cookie_compliance.js b/js/eu_cookie_compliance.js
index f62d042..0425730 100644
--- a/js/eu_cookie_compliance.js
+++ b/js/eu_cookie_compliance.js
@@ -15,13 +15,27 @@
           var popup_hide_agreed = Drupal.settings.eu_cookie_compliance.popup_hide_agreed;
           if (status == 0) {
             var next_status = 1;
-            $('a, input[type=submit]').bind('click.eu_cookie_compliance', function(){
+            /*
+$('a, input[type=submit]').bind('click.eu_cookie_compliance', function(){
               if(!agreed_enabled) {
                 Drupal.eu_cookie_compliance.setStatus(1);
                 next_status = 2;
               }
               Drupal.eu_cookie_compliance.changeStatus(next_status);
             });
+*/
+            // If explicit consent is required do not bind to links and form
+            // submits.
+            if (!Drupal.settings.eu_cookie_compliance.explicit_consent) {
+              $('a, input[type=submit]').bind('click.eu_cookie_compliance', function(){
+                if(!agreed_enabled) {
+                  Drupal.eu_cookie_compliance.setStatus(1);
+                  next_status = 2;
+                }
+                Drupal.eu_cookie_compliance.changeStatus(next_status);
+              });
+            }
+
 
             $('.agree-button').click(function(){
               if(!agreed_enabled) {
@@ -154,7 +168,9 @@
   
   Drupal.eu_cookie_compliance.cookiesEnabled = function() {
     var cookieEnabled = (navigator.cookieEnabled) ? true : false;
-      if (typeof navigator.cookieEnabled == "undefined" && !cookieEnabled) { 
+/*       if (typeof navigator.cookieEnabled == "undefined" && !cookieEnabled) {  */
+      if (typeof navigator.cookieEnabled == "undefined" && !cookieEnabled) {
+
         document.cookie="testcookie";
         cookieEnabled = (document.cookie.indexOf("testcookie") != -1) ? true : false;
       }
