--- disknode.module.orig	2007-08-30 04:46:55.000000000 +0300
+++ disknode.module	2007-11-06 04:17:43.000000000 +0200
@@ -197,7 +197,6 @@
 
 
 function __disknode_form(&$node) {
-  global $base_url;
 
   $form['files'] = array(
     '#type' => 'fieldset',
@@ -243,23 +242,30 @@
     );
   }
 
-  $form['files']["browsebtn"] = array(
+  $form['files']['disknode-browse-button'] = array(
     '#type' => 'button',
     '#button_type' => 'button',
-    '#attributes' => array(
-      "onclick" => "disknodeFiles.openWindow(); return false;",
-    ),
-    '#value' => 'browse files',
+    '#attributes' => array('style' => 'display: none;'),
+    '#value' => t('Browse files'),
+  );
+  $form['files']['disknode-js-warning'] = array(
+    '#value' => '<div class="warning" id="disknode-js-warning">'. t("You must use a JavaScript-capable browser to be able to use Disknode's file browser") .'</div>',
   );
 
   $fbURL = url("disknode/browse", "disknodeutil", NULL, true);
 
-  $form['files']["disknode_script"] = array(
-    '#value' => <<<EOF
-<script type="text/javascript" src="${base_url}/modules/disknode/disknode.js"></script>
-<script type="text/javascript">disknodeFiles = new disknodeCallback(document.getElementById('edit-filepaths'), $maxfiles, '$fbURL');</script>
-EOF
-  );
+  drupal_add_js(drupal_get_path('module', 'disknode') .'/disknode.js');
+  $js =<<<EOS
+$(function() {
+  disknodeFiles = new disknodeCallback($('#edit-filepaths').get(0), $maxfiles, '$fbURL');
+  $('#disknode-js-warning').hide();
+  $('#edit-disknode-browse-button').show().click(function() {
+    disknodeFiles.openWindow();
+    return false;
+  });
+});
+EOS;
+  drupal_add_js($js, 'inline');
   return $form;
 }
 
@@ -484,4 +490,4 @@
   else {
     return __disknode_do_convert();
   }
-}
\ No newline at end of file
+}
