Index: modules/extra_voting_forms/extra_voting_forms.install
===================================================================
RCS file: /cvs/drupal/contributions/modules/extra_voting_forms/extra_voting_forms.install,v
retrieving revision 1.1.2.2
diff -u -r1.1.2.2 extra_voting_forms.install
--- extra_voting_forms.install	13 Aug 2008 18:23:15 -0000	1.1.2.2
+++ extra_voting_forms.install	18 Aug 2008 18:57:50 -0000
@@ -59,4 +59,6 @@
   }
   variable_del('extra_voting_forms_display_karma_for_n');
   variable_del('extra_voting_forms_display_karma_for_c');
+  variable_del('extra_voting_forms_jquery_timeout');
+  variable_del('extra_voting_forms_hide_karma_form');
 }
Index: modules/extra_voting_forms/extra_voting_forms.js
===================================================================
RCS file: /cvs/drupal/contributions/modules/extra_voting_forms/extra_voting_forms.js,v
retrieving revision 1.1.2.4
diff -u -r1.1.2.4 extra_voting_forms.js
--- extra_voting_forms.js	16 Aug 2008 08:55:05 -0000	1.1.2.4
+++ extra_voting_forms.js	18 Aug 2008 19:04:32 -0000
@@ -51,7 +51,8 @@
   var form = $(this);
   var args = {};
   var destination = form.find("input[@name=js_destination]").val();
-        var karma_url=Drupal.settings.extra_voting_forms.base_path + 'extra_voting_forms/handle';
+	var karma_url=Drupal.settings.extra_voting_forms.base_path + 'extra_voting_forms/handle';
+	var karma_timeout=Drupal.settings.extra_voting_forms.jquery_timeout;
 
   // If 'destination' is defined, we need to load the destination page 
   // rather than submit the vote.
@@ -85,17 +86,36 @@
   args.oid     = form.find("input[@name=oid]").val();
   args.otype     = form.find("input[@name=otype]").val();
   args.form_type     = 'ajax';
-  form.addClass("karma_sending");
 
+  form.addClass("karma_sending");
+  
+  if (Drupal.settings.extra_voting_forms.hide_karma_form) {
+	  if (form.hasClass("karma_form_promoted")) {
+			form.removeClass("karma_form_promoted");
+			var karma_form_promoted_REMOVED=1;
+		}
+	  if (form.hasClass("karma_form")) {
+			form.removeClass("karma_form");
+			var karma_form_REMOVED=1;
+		}
+	}
+			
   // Send the request  
   $.ajax({
     data    : args,
     url    : karma_url,
     type    : 'POST',
     dataType: 'json',
+    timeout: karma_timeout,
     success  : function(json){
       var ts;
       for(var x in json) {args[x] = json[x];}
+      if (karma_form_promoted_REMOVED==1) {
+      	form.addClass("karma_form_promoted");
+      }
+      if (karma_form_REMOVED==1) {
+      	form.addClass("karma_form");
+      }      
       form.removeClass("karma_sending");
 
       // If there's an error, remove "tmpClicked", as the request is no 
@@ -131,7 +151,13 @@
       (function(form,args){
         window.setTimeout(function(){
           form.removeClass("karma_sending");
-        },2000);
+					if (karma_form_promoted_REMOVED==1) {
+      			form.addClass("karma_form_promoted");
+      		}
+      		if (karma_form_REMOVED==1) {
+      			form.addClass("karma_form");
+      		}      
+        },karma_timeout);
       })(form,args);
     }
   });
Index: modules/extra_voting_forms/extra_voting_forms.module
===================================================================
RCS file: /cvs/drupal/contributions/modules/extra_voting_forms/extra_voting_forms.module,v
retrieving revision 1.1.2.15
diff -u -r1.1.2.15 extra_voting_forms.module
--- extra_voting_forms.module	16 Aug 2008 08:55:05 -0000	1.1.2.15
+++ extra_voting_forms.module	18 Aug 2008 19:06:49 -0000
@@ -92,10 +92,15 @@
       'extra_voting_forms' => array(
         // Set the right javascript to see of only one vote is allowed:
         'only_one_vote' => variable_get('extra_voting_forms_only_one_vote', FALSE) && ! user_access('voting administrator') ? 1 : 0,
+        // Jquery Time-out:
+        'jquery_timeout' => variable_get('extra_voting_forms_jquery_timeout', '2000'),
         // Set the anonymous URL:
         'login_page' => extra_voting_forms_anonymous_url(),
         // Get the base path:
-        'base_path' => base_path()
+        'base_path' => base_path(),
+				// Hide Karma Form:
+        'hide_karma_form' => variable_get('extra_voting_forms_hide_karma_form', FALSE),
+
        )
       ), 'setting'
     );
@@ -502,6 +507,25 @@
     '#default_value' => variable_get('extra_voting_forms_display_karma_for_c', 1),
   );
 
+  $form['extra_voting_forms_jquery_timeout'] = array(
+    '#type' => 'textfield', 
+    '#title' => t('Timeout in milliseconds for Ajax query'),
+    '#size' => 6, 
+    '#maxlength' => 6, 
+    '#required' => FALSE,
+    '#default_value' => variable_get('extra_voting_forms_jquery_timeout', '2000') 
+  );
+
+  $form['extra_voting_forms_hide_karma_form'] = array(
+    '#type' => 'checkbox', 
+    '#title' => t('When checked, javascript will remove karma_form and karma_form_promoted classes to the form when user vote. It will offer a way (using CSS) to display an icon (animated gif) while vote is handled using Ajax (karma_sending class).'),
+    '#size' => 6, 
+    '#maxlength' => 6, 
+    '#required' => FALSE,
+    '#default_value' => variable_get('extra_voting_forms_hide_karma_form', FALSE) 
+  );
+
+
   return system_settings_form($form);
 }

