diff -urNp privatemsg/privatemsg.js privatemsg_new/privatemsg.js
--- privatemsg/privatemsg.js	2007-01-26 18:51:00.000000000 +0100
+++ privatemsg_new/privatemsg.js	2007-01-20 17:21:01.000000000 +0100
@@ -1,13 +1,10 @@
-if (isJsEnabled()) {
-  addLoadEvent(privatemsgContactFill);
-}
-
 function privatemsgContactFill() {
-  if ($('edit-quick')) {
-    $('edit-quick').style.display = '';
-    $('edit-quick').onchange = function() {
-      $('edit-recipient').value = $('edit-quick').value;
-      $('edit-quick').selectedIndex = 0;
-    };
-  }
+  $('#edit-quick').css('display', 'block');
+  $('#edit-quick').change( function() {
+    $('#edit-recipient').val(this.options[this.selectedIndex].value);
+  });
 }
+
+if (Drupal.jsEnabled) {
+  $(document).ready(privatemsgContactFill);
+}
\ No newline at end of file
diff -urNp privatemsg/privatemsg.module privatemsg_new/privatemsg.module
--- privatemsg/privatemsg.module	2007-01-27 01:56:10.000000000 +0100
+++ privatemsg_new/privatemsg.module	2007-01-28 16:27:28.000000000 +0100
@@ -1,5 +1,5 @@
 <?php
-// $Id: privatemsg.module,v 1.69 2007/01/27 00:56:10 mindless Exp $
+// $Id: privatemsg.module,v 1.52.2.9 2006/10/23 23:34:42 mindless Exp $
 define('PRIVATEMSG_MAIL_NONE', 0);
 define('PRIVATEMSG_MAIL_DIGEST', 1);
 define('PRIVATEMSG_MAIL_INDIVIDUAL', 2);
@@ -37,7 +37,7 @@ function privatemsg_link($type, $node = 
     if ($access[$node->uid]) {
       $links['privatemsg_write_to_author'] = array(
         'title' => t('Write to author'),
-        'href' => "privatemsg/msgto/$node->uid")
+        'href' => "privatemsg/msgto/$node->uid"
       );
     }
   }
@@ -53,10 +53,10 @@ function privatemsg_menu($may_cache) {
 
   if ($may_cache) {
     $items[] = array('path' => 'admin/settings/privatemsg',
-        'title' => t('Privatemsg settings'),
+        'title' => t('Privatemsg'),
         'description' => t('Configure Privatemsg settings.'),
         'callback' => 'drupal_get_form',
-        'callback_arguments' => array('privatemsg_configure'));
+        'callback arguments' => array('privatemsg_configure'));
   }
   else {
     $new = (int)_privatemsg_get_new_messages();
@@ -287,6 +287,7 @@ function privatemsg_autocomplete($string
   exit();
 }
 
+
 function privatemsg_page() {
   global $user;
 
@@ -294,8 +295,8 @@ function privatemsg_page() {
   $op = $_POST["op"];
   $edit = $_POST["edit"];
   $recipient = $_POST["recipient"];
-  if (isset($edit['messages'])) {
-    $msg = array_keys($edit['messages']);
+  if (isset($_POST['messages'])) {
+    $msg = array_keys($_POST['messages']);
   }
   else {
     $msg = array();
@@ -338,9 +339,10 @@ function privatemsg_page() {
       break;
     case 'send':
     case t('Send private message'):
-      if (!$edit["recipient"]) {
-        $edit["recipient"] = $recipient;
-      }
+        $edit['recipient'] = $_POST['recipient'];
+        $edit['subject'] = $_POST['subject'];
+        $edit['privatemsgbody'] = $_POST['privatemsgbody'];
+        $edit['format'] = $_POST['format'];
       $breadcrumb = array(l(t('Home'), ''), l(t('private messages'), 'privatemsg'));
       $output = _privatemsg_edit($edit);
       break;
@@ -358,44 +360,38 @@ function privatemsg_page() {
 
       $output = _privatemsg_list();
       break;
-    case t('Delete messages'):
+    case t('Delete messages'):            
       if ($msg) {
-        foreach ($msg as $id) {
+        foreach ($msg as $id) {          
           _privatemsg_delete($id);
         }
-      }
+      }      
       $output = _privatemsg_list();
       break;
 
     case 'delete':
-      _privatemsg_delete($arg);
+      _privatemsg_delete($arg);      
       $output = _privatemsg_list();
       break;
 
     case t('New folder'):
     case t('Add folder'):
-      if ($edit["name"]) {
-        // check for uniqueness
-        if (!db_result(db_query("SELECT name FROM {privatemsg_folder} WHERE name = '%s' AND uid = '%d'", $edit["name"], $user->uid))) {
-          db_query("INSERT INTO {privatemsg_folder} (uid, name) VALUES ('%d', '%s')", $user->uid, $edit["name"]);
-        }
-        $output = _privatemsg_list();
-      }
-      else {
+      if (!$edit["name"]) {
         $title = t('Create new folder');
         $breadcrumb = array(l(t('Home'), ''), l('Private messages', 'privatemsg'));
-        $output = _privatemsg_new_folder($edit);
+        $output = drupal_get_form('privatemsg_new_folder');
       }
       break;
 
+      
     case t('Delete folder'):
       // check ownership
-      if (db_result(db_query("SELECT fid FROM {privatemsg_folder} WHERE fid = '%d' AND uid = '%d'", $edit["current_folder"], $user->uid))) {
-        db_query("DELETE FROM {privatemsg_folder} WHERE fid = '%d'", $edit["current_folder"]);
-        db_query("UPDATE {privatemsg} SET recipient_del = 1 WHERE folder = '%d'", $edit["current_folder"]);
+      if (db_result(db_query("SELECT fid FROM {privatemsg_folder} WHERE fid = '%d' AND uid = '%d'", $arg, $user->uid))) {
+        db_query("DELETE FROM {privatemsg_folder} WHERE fid = '%d'", $arg);
+        db_query("UPDATE {privatemsg} SET recipient_del = 1 WHERE folder = '%d'", $arg);
       }
 
-      $output = _privatemsg_list();
+      $output = _privatemsg_list();    
       break;
     case t('Empty folder'):
       $fid = $edit["current_folder"];
@@ -456,15 +452,25 @@ function _privatemsg_list($current_folde
 }
 
 function _privatemsg_format_folder($current, $fid, $name) {
+  $arrLinks = array();
   if ($current == $fid) {
-    return "<strong>$name</strong>";
-  }
-  else {
-    return l($name, "privatemsg/list/$fid");
+     
+    return array('title' => "<strong>$name</strong>",
+	  'html' => true);        
+  }
+  else {  
+    return array('title' => $name,
+	  'href'  => "privatemsg/list/$fid");        
   }
 }
 
 function _privatemsg_form($message = 0) {
+  $output = drupal_get_form('_privatemsg_form_form', $message);
+  return $output;
+}
+
+function _privatemsg_form_form($message) {
+  
   global $user;
   $form = array();
 
@@ -487,7 +493,7 @@ function _privatemsg_form($message = 0) 
   $form['recipient'] = array(
       '#prefix' => '<div class="container-inline">',
       '#type' => 'textfield',
-      '#title' => t('To'),
+      '#title' => t("To"),
       '#default_value' => $message->recipient,
       '#autocomplete_path' => 'privatemsg/autocomplete',
       '#size' => 50,
@@ -508,6 +514,7 @@ function _privatemsg_form($message = 0) 
     }
     sort($contacts);
   }
+
   $form['quick'] = array(
       '#type' => 'select',
       '#options' => drupal_map_assoc($contacts),
@@ -536,7 +543,7 @@ function _privatemsg_form($message = 0) 
       '#name' => 'op'
       );
 
-  return drupal_get_form('privatemsg_message_form', $form);
+  return $form;
 }
 
 function _privatemsg_edit($edit) {
@@ -636,7 +643,7 @@ function _privatemsg_get_new_messages($u
   return $cache[$uid];
 }
 
-function _privatemsg_new_folder($edit) {
+function privatemsg_new_folder() {
   $form = array();
 
   $form['name'] = array(
@@ -650,8 +657,20 @@ function _privatemsg_new_folder($edit) {
       '#value' => t('Add folder'),
       '#name' => 'op'
       );
+  return $form;
+}
 
-  return drupal_get_form('privatemsg_new_folder', $form);
+function privatemsg_new_folder_submit($form_id, $form_values) {
+  global $user;
+  if (!db_result(db_query("SELECT name FROM {privatemsg_folder} WHERE name = '%s' AND uid = '%d'", $form_values["name"], $user->uid)))
+  {
+    db_query("INSERT INTO {privatemsg_folder} (uid, name) VALUES ('%d', '%s')", $user->uid, $form_values["name"]);
+    drupal_set_message(t('Folder successfully created.'));
+  }
+  else {
+    drupal_set_message(t('A folder with this name exists altready.'));
+  }
+  drupal_goto('privatemsg');
 }
 
 function _privatemsg_move($mid, $fid) {
@@ -687,17 +706,17 @@ function theme_privatemsg_view($message)
     if ($message->recipient == $user->uid) {
       $author = user_load(array('uid' => $message->uid));
       if ($author->uid && (isset($author->privatemsg_allow) ? $author->privatemsg_allow : 1)) {
-        $links[] = l(t('Reply to this message'), "privatemsg/reply/$message->id");
+        $links['privatemsg-reply'] = array('title' => t('Reply to this message'), 'href' => "privatemsg/reply/$message->id");
       }
       else {
-        $links[] = t('Sender does not accept replies');
+        $links['privatemsg-noreply'] = array('title' => t('Sender does not accept replies'), 'href' => NULL);
       }
     }
     if (($message->recipient == $user->uid) || (variable_get("privatemsg_sent_status", 1))) {
-      $links[] = l(t('Delete this message'), "privatemsg/delete/$message->id", array('onClick' => "return confirm('".t('Are you sure to delete this message?')."')"));
+      $links['privatemsg-delete'] = array('title' => t('Delete this message'), 'href' => "privatemsg/delete/$message->id", 'attributes' => array('onClick' => "return confirm('".t('Are you sure to delete this message?')."')"));
     }
 
-    $links[] = l(t('List messages'), 'privatemsg');
+    $links['privatemsg-list'] = array('title' => t('List messages'), 'href' => 'privatemsg');
     $body .= '<div class="links">'. theme('links', $links) .'</div>';
   } 
   else {
@@ -716,8 +735,6 @@ function theme_privatemsg_view($message)
  @param folders
 **/
 function theme_privatemsg_list($current_folder, $messages, $folders) {
-  $form = array();
-
   $extra_folders = array();
   foreach ($folders as $folder) {
     $folder_list[] = _privatemsg_format_folder($current_folder, $folder[0], $folder[1]);
@@ -725,7 +742,15 @@ function theme_privatemsg_list($current_
       $extra_folders[$folder[0]] = $folder[1];
     }
   }
+  
   $out = theme('links', $folder_list);
+  
+  return $out . drupal_get_form('privatemsg_list_form', $current_folder, $messages, $folders);
+  
+}
+
+function privatemsg_list_form($current_folder, $messages, $folders) {
+  $form = array();
 
   $form['messages'] = array(
       '#theme' => 'privatemsg_message_table',
@@ -747,7 +772,6 @@ function theme_privatemsg_list($current_
         $new = 0;
       }
     }
-
     $form['messages'][$message->id] = array();
     $form['messages'][$message->id]['selected'] = array(
         '#type' => 'checkbox',
@@ -802,7 +826,7 @@ function theme_privatemsg_list($current_
 
   if ($current_folder > 1) {
     // you can't delete Inbox
-    $form['delete_folder'] = array(
+    $form['privatemsg_delete_folder'] = array(
         '#type' => 'submit',
         '#value' => t('Delete folder'),
         '#name' => 'op',
@@ -827,7 +851,7 @@ function theme_privatemsg_list($current_
       '#name' => 'op'
       );
 
-  return $out . drupal_get_form('privatemsg_list_form', $form);
+  return $form;
 }
 
 function theme_privatemsg_message_table($form) {
@@ -836,7 +860,7 @@ function theme_privatemsg_message_table(
   foreach (element_children($form) as $key) {
     if ($key != 'current_folder') {
       $row = array();
-      $row[] = form_render($form[$key]['selected']);
+      $row[] = drupal_render($form[$key]['selected']);
       $row[] = $form[$key]['date']['#value'];
       $row[] = $form[$key]['user']['#value'];
       $row[] = $form[$key]['subject']['#value'];
@@ -857,7 +881,3 @@ function theme_privatemsg_message_table(
 
   return theme('table', $header, $rows);
 }
-
-/**  @} End of addtogroup theme_system **/
-
-?>
