Only in imagebrowser: .DS_Store
diff -urp imagebrowser/imagebrowser.module imagebrowser2/imagebrowser.module
--- imagebrowser/imagebrowser.module	2008-12-03 21:57:44.000000000 +0000
+++ imagebrowser2/imagebrowser.module	2008-12-05 21:49:40.000000000 +0000
@@ -341,6 +341,8 @@ function imagebrowser_insert($nid = 0) {
   $user = user_load($node->uid);
   $image = imageapi_image_open($node->images['_original']);
 
+  $link_options = array();
+
   //Get Image presets
   $header = array(
     array(
@@ -362,6 +364,8 @@ function imagebrowser_insert($nid = 0) {
       else {
         $filepath = base_path() . $node->images[$key];
       }
+      //Add link option
+      $link_options[] = array('title'=>'Image: '.$size['label'], 'url'=>$filepath);
       //Change output depending on editor
       $row[] = _imagebrowser_editors($filepath, $node->title);
       $rows[] = $row;
@@ -391,6 +395,8 @@ function imagebrowser_insert($nid = 0) {
         else {
           $filepath = base_path() . imagecache_create_path($preset['presetname'], $node->images['_original']);
         }
+        //Add link option
+        $link_options[] = array('title'=>'ImageCache: '.$preset['presetname'], 'url'=>$filepath);
         //Change output depending on editor
         $row[] = _imagebrowser_editors($filepath, $node->title);
         $rows[] = $row;
@@ -400,7 +406,7 @@ function imagebrowser_insert($nid = 0) {
   }
 
   //Theme it!
-  print theme('imagebrowser_insert', $presets, $node, $image, $user);
+  print theme('imagebrowser_insert', $presets, $node, $image, $user, $link_options);
   exit();
 }
 
@@ -410,7 +416,7 @@ function imagebrowser_insert($nid = 0) {
 function _imagebrowser_editors($filepath, $alt) {
   switch (variable_get('imagebrowser_editor', 'fckeditor')) {
     case 'fckeditor':
-      return '<a href="javascript:SelectFile(\''. $filepath .'\',\'\',\'\',\''. $alt .'\');">Insert</a>';
+      return '<a href="'. $filepath .'" title="'. $alt .'">Insert</a>';
       break;
     case 'tinymce':
       //Do Nothing
@@ -546,6 +552,7 @@ function imagebrowser_theme() {
         'node' => NULL,
         'image' => NULL,
         'user' => NULL,
+        'link_options' => array(),
       ),
       'path' => $path,
     ),
@@ -600,6 +607,12 @@ function template_preprocess_imagebrowse
   $vars['username'] = check_plain($user->name);
   $vars['edit_link'] = url('imagebrowser/edit/'. $node->nid);
   $vars['delete_link'] = url('imagebrowser/delete/'. $node->nid);
+  
+  $options = array();
+  foreach($vars['link_options'] as $link) {
+    $options[] = '<option value="'. $link['url'] .'">'. $link['title'] .'</option>';
+  }
+  $vars['link_options'] = implode('', $options).'<option value="custom">'.t('Custom').'</option>';
 }
 
 /**
@@ -645,6 +658,18 @@ function imagebrowser_form_alter(&$form,
     $form['buttons']['submit']['#submit'] = array('imagebrowser_form_submit');
     unset($form['buttons']['delete']);
   }
+  else if($form_id == 'views_exposed_form') {
+    $form['header'] = array(
+      '#type' => 'hidden',
+      '#prefix' => '<h2>'.t('Filter').'</h2>',
+      '#weight' => -10
+    );
+    $form['footer'] = array(
+      '#type' => 'hidden',
+      '#suffix' => '<a href="#" class="button apply">'.t('Apply').'</a><a href="#" class="button close">'.t('Close').'</a>',
+      '#weight' => 100
+    );
+  }
 }
 
 /**
diff -urp imagebrowser/js/imagebrowser.js imagebrowser2/js/imagebrowser.js
--- imagebrowser/js/imagebrowser.js	2008-12-03 21:57:44.000000000 +0000
+++ imagebrowser2/js/imagebrowser.js	2008-12-05 21:49:40.000000000 +0000
@@ -9,11 +9,19 @@
 /**
  * FCKEditor insert function
  */
-function SelectFile( fileUrl, width, height, alt )
+function SelectFile( url, width, height, alt, link, link_target )
 {
   if(window.opener) {
     //url, width, height, alt
-    window.opener.SetUrl( fileUrl, null, null, alt );
+    window.opener.SetUrl( url, null, null, alt );
+    
+    if (window.opener.GetE('txtLnkUrl')) {
+      window.opener.GetE('txtLnkUrl').value = link ;
+    }
+    
+    if (window.opener.GetE('cmbLnkTarget')) {
+      window.opener.GetE('cmbLnkTarget').value = link_target ;
+    }
   }
   window.close();
 }
@@ -64,12 +72,12 @@ function ib_prepareLinks() {
         var node = $(this).attr("href");
         $("#insert > .details > .options a").fadeOut('slow');
         $("#insert > .details > table").slideUp('slow', function() {
-          $("#insert > .details").append('<div class="confirm"><p>Are you sure you want to delete this image?</p><a href="#" class="button delete_confirm">Yes, Delete</a><a href="#" class="button cancel">No, Cancel</a></div>');
+          $("#insert > .details > .confirm").fadeIn('fast');
           $(".confirm").fadeIn('fast');
           
           $(".cancel").click(function() {
             $(".confirm").fadeOut('fast', function() {
-              $("#insert > .details > .confirm").remove();
+              $("#insert > .details > .confirm").fadeOut('fast');
               $("#insert > .details > .options a").fadeIn('slow');
               $("#insert > .details > table").slideDown('slow');
             });
@@ -87,6 +95,27 @@ function ib_prepareLinks() {
         });
         return false;
       });
+      
+      //Insert Call
+      $(".presets a").click(function() {
+        var url = $(this).attr('href');
+        var alt = $(this).attr('title');
+        if($("#ib_link_options").val() == 'custom') {
+          var link = $("#ib_link_custom").val();
+        }
+        else {
+          var link = $("#ib_link_options").val();
+        }
+        var link_target = $("#ib_link_target").val();
+        SelectFile( url, null, null, alt, link, link_target );
+      });
+      
+      //Link Selection
+      $("#ib_link_options").change(function() {
+        if($("#ib_link_options").val() == 'custom') {
+          $("#ib_link_custom").slideDown('fast');
+        }
+      });
     });
     return false;
   });
@@ -144,12 +173,10 @@ function ib_get_messages() {
 function ib_format_filters() {
   $(".views-exposed-widgets > div:last-child").appendTo("#views-exposed-form-ib-browser-default").addClass("footer");
   $("#views-exposed-form-ib-browser-default > div:first-child").addClass("wrapper");
-  $("#views-exposed-form-ib-browser-default").prepend("<h2>Filters</h2>");
-  $("#views-exposed-form-ib-browser-default > .footer")
-  .append('<a href="#" class="button apply">Apply</a>').click(function(){
+  $("#views-exposed-form-ib-browser-default h2").prependTo("#views-exposed-form-ib-browser-default");
+  $("#views-exposed-form-ib-browser-default > .footer").click(function(){
     $(".view-filters > form").trigger('submit');
   })
-  .append('<a href="#" class="button close">Close</a>');
 }
 
 /**
diff -urp imagebrowser/theme/imagebrowser.css imagebrowser2/theme/imagebrowser.css
--- imagebrowser/theme/imagebrowser.css	2008-12-01 22:20:43.000000000 +0000
+++ imagebrowser2/theme/imagebrowser.css	2008-12-05 21:49:40.000000000 +0000
@@ -346,6 +346,11 @@ h2
   overflow: auto;
 }
 
+#insert #ib_link_custom {
+  margin: 15px 0 5px 0;
+  display: none;
+}
+
 /*==============================*/
 /* MESSAGES                     */
 /*==============================*/
diff -urp imagebrowser/theme/window.tpl.php imagebrowser2/theme/window.tpl.php
--- imagebrowser/theme/window.tpl.php	2008-12-01 22:20:43.000000000 +0000
+++ imagebrowser2/theme/window.tpl.php	2008-12-04 22:58:06.000000000 +0000
@@ -18,7 +18,7 @@
     <div id="insert"></div>
     <div id="edit"></div>
     <div id="messages">
-      <h2>Messages</h2>
+      <h2><?php print t('Messages'); ?></h2>
       <ul class="log"></ul>
       <div class="footer"><a href="#" class="button close">Close</a></div>
     </div>
diff -urp imagebrowser/theme/window_insert.tpl.php imagebrowser2/theme/window_insert.tpl.php
--- imagebrowser/theme/window_insert.tpl.php	2008-11-23 20:22:11.000000000 +0000
+++ imagebrowser2/theme/window_insert.tpl.php	2008-12-05 21:49:40.000000000 +0000
@@ -6,9 +6,39 @@
  * Template for Image Browser's insert window.
  */
 ?>
-<h2>Insert</h2>
+<h2><?php print t('Insert'); ?></h2>
 <div class="presets">
   <?php print $presets; ?>
+  <div class="link">
+    <table>
+      <thead>
+        <tr>
+          <th>Image Link</th>
+          </tr>
+      </thead>
+      <tbody>
+        <tr class="odd">
+          <td>
+            <label for="ib_link_options"><?php print t('Image Links To:'); ?></label>
+            <select id="ib_link_options" name="ib_link_options"><?php print $link_options; ?></select>
+            <input type="text" id="ib_link_custom" name="ib_link_custom" value="http://" />
+          </td>
+        </tr>
+        <tr class="even">
+          <td>
+            <label for="ib_link_target"><?php print t('Link Target:'); ?></label>
+            <select id="ib_link_target" name="ib_link_target">
+              <option value="">&laquo;<?php print t('not set'); ?>&raquo;</option>
+              <option value="_blank"><?php print t('New Window (_blank)'); ?></option>
+              <option value="_top"><?php print t('Topmost Window (_top)'); ?></option>
+              <option value="_self"><?php print t('Same Window (_self)'); ?></option>
+              <option value="_parent"><?php print t('Parent Window (_parent)'); ?></option>
+            </select>
+          </td>
+        </tr>
+      </tbody>
+    </table>
+  </div>
   <div class="spacer"></div>
 </div>
 <div class="details">
@@ -37,6 +67,10 @@
     <a href="<?php print $edit_link; ?>" class="button edit"><?php print t('Edit'); ?></a>
     <a href="<?php print $delete_link; ?>" class="button delete"><?php print t('Delete'); ?></a>
   </div>
+  <div class="confirm">
+    <p><?php print t('Are you sure you want to delete this image?'); ?></p>
+    <a href="#" class="button delete_confirm"><?php print t('Yes, Delete'); ?></a>
+    <a href="#" class="button cancel"><?php print t('No, Cancel'); ?></a></div>
 </div>
 <div class="footer">
   <a href="#" class="button close"><?php print t('Close'); ?></a>
