diff --git a/sites/all/modules/autosave/autosave.js b/sites/all/modules/autosave/autosave.js
index 216a743..f77d363 100644
--- a/sites/all/modules/autosave/autosave.js
+++ b/sites/all/modules/autosave/autosave.js
@@ -1,94 +1,92 @@
 var autosaved_form;
 
-if (Drupal.jsEnabled) {
-  $(document).ready(function() {
-    $('body').append('<div id="autosave-status"><span id="status"></span><span id="operations"> \
-    <span id="view"><a href="#">View</a></span> \
-    <span id="ignore"><a href="#" title="Ignore/Delete Saved Form">Ignore</a></span> \
-    <span id="keep"><a href="#" title="Keep Saved Form - Revert to Saved">Keep</a></span></span></div>');
-    autosaved = Drupal.settings.autosave;   
-    autosaved_form_id = 'node-form';
-    
-    if (autosaved.serialized) {
-      $('#autosave-status #keep').css('display', 'none').css('visibility', 'hidden');
-      $('#autosave-status #view a').click(function() {
-        if ($(this).html() == 'View') {
-          $('#' + autosaved_form_id).formHash(autosaved.serialized);
-          if (Drupal.settings.autosave.wysiwyg && Drupal.wysiwyg) {
-            // need to loop through any WYSIWYG editor fields and update the visible iframe fields with hidden field content
-            for (var instance in Drupal.wysiwyg.instances) {
-              Drupal.wysiwyg.instances[instance].setContent($('#' + instance).val());
-            }
-          }
-          
-          //CKEditor support
-          if (typeof(CKEDITOR) != 'undefined' ) {
-            for (var instance in CKEDITOR.instances) {
-              CKEDITOR.instances[instance].setData($('#' + instance).val());
-            }
+Drupal.behaviors.autosave = function (context) {
+  $(context).find('body:not(.autosave-processed)').append('<div id="autosave-status"><span id="autosave-status-message"></span><span id="autosave-operations"> \
+  <span id="autosave-view"><a href="#">View</a></span> \
+  <span id="autosave-ignore"><a href="#" title="'+Drupal.t('Ignore/Delete Saved Form')+'">'+Drupal.t('Ignore')+'</a></span> \
+  <span id="autosave-keep"><a href="#" title="'+Drupal.t('Keep Saved Form - Revert to Saved')+'">'+Drupal.t('Keep')+'</a></span></span></div>').addClass('autosave-processed');
+  autosaved = Drupal.settings.autosave;   
+  autosaved_form_id = 'node-form';
+  
+  if (autosaved.serialized) {
+    $(context).find('#autosave-status #autosave-keep:not(.autosave-processed)').css('display', 'none').css('visibility', 'hidden').addClass('autosave-processed');
+    $(context).find('#autosave-status #autosave-view a:not(.autosave-processed)').click(function() {
+      if ($(this).html() == Drupal.t('View')) {
+        $(context).find('#' + autosaved_form_id).formHash(autosaved.serialized);
+        if (Drupal.settings.autosave.wysiwyg && Drupal.wysiwyg) {
+          // need to loop through any WYSIWYG editor fields and update the visible iframe fields with hidden field content
+          for (var instance in Drupal.wysiwyg.instances) {
+            Drupal.wysiwyg.instances[instance].setContent($(context).find('#' + instance).val());
           }
-          
-          $('#' + autosaved_form_id).focus();
-          $(this).html('Reset');
-          $('#autosave-status #keep').css('display', 'inline').css('visibility', 'visible');
-          $('#autosave-status #keep a').html('Keep'); 
         }
-        else if ($(this).html() == 'Reset') {
-          form = document.getElementById(autosaved_form_id);
-          form.reset();
-
-          //CKEditor support
-          if (typeof(CKEDITOR) != 'undefined' ) {
-            for (var instance in CKEDITOR.instances) {
-              CKEDITOR.instances[instance].setData($('#' + instance).val());
-            }
+        
+        //CKEditor support
+        if (typeof(CKEDITOR) != 'undefined' ) {
+          for (var instance in CKEDITOR.instances) {
+            CKEDITOR.instances[instance].setData($(context).find('#' + instance).val());
           }
-          
-          $('#autosave-status #keep').css('display', 'none').css('visibility', 'hidden');
-          $(this).html('View');
-        }    
-        return false;
-      });
-      $('#autosave-status #ignore a').click(function() {
-        $('#autosave-status').fadeOut('slow');
+        }
+        
+        $(context).find('#' + autosaved_form_id).focus();
+        $(this).html(Drupal.t('Reset'));
+        $(context).find('#autosave-status #autosave-keep').css('display', 'inline').css('visibility', 'visible');
+        $(context).find('#autosave-status #autosave-keep a').html(Drupal.t('Keep')); 
+      }
+      else if ($(this).html() == Drupal.t('Reset')) {
         form = document.getElementById(autosaved_form_id);
         form.reset();
 
         //CKEditor support
         if (typeof(CKEDITOR) != 'undefined' ) {
           for (var instance in CKEDITOR.instances) {
-            CKEDITOR.instances[instance].setData($('#' + instance).val());
+            CKEDITOR.instances[instance].setData($(context).find('#' + instance).val());
           }
         }
         
-        $('#autosave-status #operations').css('display', 'none').css('visibility', 'hidden');
-        Drupal.attachAutosave();
-        return false;
-      });
-      $('#autosave-status #keep a').click(function() {
-        $('#autosave-status').fadeOut('slow');
-        form = document.getElementById(autosaved_form_id);
-        $('#autosave-status #operations').css('display', 'none').css('visibility', 'hidden');
-        Drupal.attachAutosave();
-        return false;
-      });
-      $('#autosave-status #status').html('This form was autosaved on ' + autosaved.saved_date);
-      $('#autosave-status').slideDown();
-    }
-    // There are no autosaved forms, continue with autosave.
-    else {
-      Drupal.attachAutosave();
-    }
-  });
-} 
+        $(context).find('#autosave-status #autosave-keep').css('display', 'none').css('visibility', 'hidden');
+        $(this).html(Drupal.t('View'));
+      }    
+      return false;
+    }).addClass('autosave-processed');
+    $(context).find('#autosave-status #autosave-ignore a:not(.autosave-processed)').click(function() {
+      $(context).find('#autosave-status').fadeOut('slow');
+      form = document.getElementById(autosaved_form_id);
+      form.reset();
+
+      //CKEditor support
+      if (typeof(CKEDITOR) != 'undefined' ) {
+        for (var instance in CKEDITOR.instances) {
+          CKEDITOR.instances[instance].setData($(context).find('#' + instance).val());
+        }
+      }
+      
+      $(context).find('#autosave-status #autosave-operations').css('display', 'none').css('visibility', 'hidden');
+      Drupal.attachAutosave(context);
+      return false;
+    }).addClass('autosave-processed');
+    $(context).find('#autosave-status #autosave-keep a:not(.autosave-processed)').click(function() {
+      $(context).find('#autosave-status').fadeOut('slow');
+      form = document.getElementById(autosaved_form_id);
+      $(context).find('#autosave-status #autosave-operations').css('display', 'none').css('visibility', 'hidden');
+      Drupal.attachAutosave(context);
+      return false;
+    }).addClass('autosave-processed');
+    $(context).find('#autosave-status #autosave-status-message:not(.autosave-processed)').html(Drupal.t('This form was autosaved on !date', {'!date': autosaved.saved_date})).addClass('autosave-processed');
+    $(context).find('#autosave-status:not(.autosave-processed)').slideDown().addClass('autosave-processed');
+  }
+  // There are no autosaved forms, continue with autosave.
+  else {
+    Drupal.attachAutosave(context);
+  }
+}
 
-Drupal.saveForm = function() {
+Drupal.saveForm = function(context) {
   if (Drupal.settings.autosave.wysiwyg && Drupal.wysiwyg) {
     // need to loop through any WYSIWYG editor fields and update the real (hidden) text fields before saving
     for (var instance in Drupal.wysiwyg.instances) {
       if (Drupal.wysiwyg.instances[instance].editor != 'none') {
         var content = Drupal.wysiwyg.instances[instance].getContent();
-        $('#' + instance).val(content);
+        $(context).find('#' + instance).val(content);
       }
     }
   }
@@ -100,28 +98,28 @@ Drupal.saveForm = function() {
     }
   }
   
-  var serialized = $('#node-form').formHash();
-  serialized['q'] =  Drupal.settings.autosave.q;
+  var serialized = $(context).find('#node-form').formHash();
+  serialized['autosave_path'] =  Drupal.settings.autosave.autosave_path;
   $.ajax({
     url: Drupal.settings.basePath + "autosave/handler",
     type: "POST",
     dataType: "xml/html/script/json",
     data: serialized,
     complete: function(XMLHttpRequest, textStatus) {
-      if (!Drupal.settings.autosave.hidden) Drupal.displaySaved();
-      Drupal.attachAutosave();
+      if (!Drupal.settings.autosave.hidden) Drupal.displaySaved(context);
+      Drupal.attachAutosave(context);
     }
   });
 }   
 
-Drupal.attachAutosave = function() {
-  setTimeout('Drupal.saveForm()', Drupal.settings.autosave.period * 1000);
+Drupal.attachAutosave = function(context) {
+  setTimeout(function () { Drupal.saveForm(context); }, Drupal.settings.autosave.period * 1000);
 }
 
-Drupal.displaySaved = function() {
-  $('#autosave-status #status').html('Form autosaved.');
-  $('#autosave-status #operations').css('display', 'none').css('visibility', 'hidden');
-  $('#autosave-status').slideDown();
-  setTimeout("$('#autosave-status').fadeOut('slow')", 3000);  
+Drupal.displaySaved = function(context) {
+  $(context).find('#autosave-status #autosave-status-message').html(Drupal.t('Form autosaved.'));
+  $(context).find('#autosave-status #autosave-operations').css('display', 'none').css('visibility', 'hidden');
+  $(context).find('#autosave-status').slideDown();
+  setTimeout(function () { $(context).find('#autosave-status').fadeOut('slow'); }, 3000);
 }
 
diff --git a/sites/all/modules/autosave/autosave.module b/sites/all/modules/autosave/autosave.module
index 4c22a3f..d256c6e 100644
--- a/sites/all/modules/autosave/autosave.module
+++ b/sites/all/modules/autosave/autosave.module
@@ -102,7 +102,7 @@ function autosave_form_alter(&$form, &$form_state, $form_id) {
       
       $settings['autosave']['url'] = url('autosave/handler');
       $settings['autosave']['period'] = variable_get('autosave_period', 10);
-      $settings['autosave']['q'] = $path;
+      $settings['autosave']['autosave_path'] = $path;
       $settings['autosave']['hidden'] = variable_get('autosave_hidden', 0);
       
       // If an autosaved version of the form exists, make it available via javascript.
@@ -124,12 +124,12 @@ function autosave_form_alter(&$form, &$form_state, $form_id) {
  */
 function autosave_save() {
   global $user;
-  
-  $path = $_POST['q'];
+
+  $path = $_POST['autosave_path'];
   $form_id = $_POST['form_id'];
   // Not all variables need to be serialized.
   //    - for Drupal 6 version need to remove op and form_build_id
-  unset($_POST['q'], $_POST['op'], $_POST['form_build_id']);
+  unset($_POST['autosave_path'], $_POST['op'], $_POST['form_build_id']);
   $serialized = serialize($_POST);
 
   // check if node has just been saved - if it has then it's because AS ajax fired off as user was submitting
