title: jquery file tree - folder open by default?
body: <p>I was wondering if anyone could help me out with jQuery file tree (<a href="http://abeautifulsite.net/blog/2008/03/jquery-file-tree/" rel="nofollow noreferrer">jQuery File Tree</a>)</p>
  
  <p>I was wondering if/how it would be possible to set some kind of variable that will tell the file tree to have a certain folder open on load. (eg. folder /images/fruit/ to be open by default)</p>
  
  <p>Here's the code to call the filetree:</p>
  
  <pre><code>$('#container_id').fileTree({ 
    root: '/images/' 
  }, function(file) {
    alert(file);
  });
  </code></pre>
  
  <p>And here's the filetree.js file:</p>
  
  <pre><code>// jQuery File Tree Plugin
  //
  // Version 1.01
  //
  // Cory S.N. LaViska
  // A Beautiful Site (http://abeautifulsite.net/)
  // 24 March 2008
  //
  // Visit http://abeautifulsite.net/notebook.php?article=58 for more information
  //
  // Usage: $('.fileTreeDemo').fileTree( options, callback )
  //
  // Options:  root           - root folder to display; default = /
  //           script         - location of the serverside AJAX file to use; default = jqueryFileTree.php
  //           folderEvent    - event to trigger expand/collapse; default = click
  //           expandSpeed    - default = 500 (ms); use -1 for no animation
  //           collapseSpeed  - default = 500 (ms); use -1 for no animation
  //           expandEasing   - easing function to use on expand (optional)
  //           collapseEasing - easing function to use on collapse (optional)
  //           multiFolder    - whether or not to limit the browser to one subfolder at a time
  //           loadMessage    - Message to display while initial tree loads (can be HTML)
  //
  // History:
  //
  // 1.01 - updated to work with foreign characters in directory/file names (12 april 2008)
  // 1.00 - released (24 March 2008)
  //
  // TERMS OF USE
  // 
  // This plugin is dual-licensed under the GNU General Public License and the MIT License and
  // is copyright 2008 a Beautiful Site, LLC. 
  //
  if(jQuery) (function($){
  
      $.extend($.fn, {
          fileTree: function(o, h) {
              // Defaults
              if( !o ) var o = {};
              if( o.root == undefined ) o.root = '/';
              if( o.script == undefined ) o.script = 'jqueryFileTree.php';
              if( o.folderEvent == undefined ) o.folderEvent = 'click';
              if( o.expandSpeed == undefined ) o.expandSpeed= 500;
              if( o.collapseSpeed == undefined ) o.collapseSpeed= 500;
              if( o.expandEasing == undefined ) o.expandEasing = null;
              if( o.collapseEasing == undefined ) o.collapseEasing = null;
              if( o.multiFolder == undefined ) o.multiFolder = true;
              if( o.loadMessage == undefined ) o.loadMessage = 'Loading...';
  
              $(this).each( function() {
  
                  function showTree(c, t) {
                      $(c).addClass('wait');
                      $(".jqueryFileTree.start").remove();
                      $.post(o.script, { dir: t }, function(data) {
                          $(c).find('.start').html('');
                          $(c).removeClass('wait').append(data);
                          if( o.root == t ) $(c).find('ul:hidden').show(); else $(c).find('ul:hidden').slideDown({ duration: o.expandSpeed, easing: o.expandEasing });
                          bindTree(c);
                      });
                  }
                  function bindTree(t) {
                      $(t).find('li a').bind(o.folderEvent, function() {
                          if( $(this).parent().hasClass('directory') ) {
                              if( $(this).parent().hasClass('collapsed') ) {
                                  // Expand
                                  if( !o.multiFolder ) {
                                      $(this).parent().parent().find('ul').slideUp({ duration: o.collapseSpeed, easing: o.collapseEasing });
                                      $(this).parent().parent().find('li.directory').removeClass('expanded').addClass('collapsed');
                                  }
                                  $(this).parent().find('ul').remove(); // cleanup
                                  showTree( $(this).parent(), escape($(this).attr('rel').match( /.*\// )) );
                                  $(this).parent().removeClass('collapsed').addClass('expanded');
                              } else {
                                  // Collapse
                                  $(this).parent().find('ul').slideUp({ duration: o.collapseSpeed, easing: o.collapseEasing });
                                  $(this).parent().removeClass('expanded').addClass('collapsed');
                              }
                          } else {
                              h($(this).attr('rel'), $(this).attr('name'), $(this).attr('title'), $(this).attr('id'));
                          }
                          return false;
                      });
                      // Prevent a from triggering the # on non-click events
                      if( o.folderEvent.toLowerCase != 'click' ) $(t).find('li a').bind('click', function() { return false; });
                  }
                  // Loading message
                  $(this).html('&lt;ul class="jqueryFileTree start"&gt;&lt;li class="wait"&gt;' + o.loadMessage + '&lt;li&gt;&lt;/ul&gt;');
                  // Get the initial file list
                  showTree( $(this), escape(o.root) );
              });
          }
      });
  
  })(jQuery);
  </code></pre>
  
  <p>Every time I've tried to mess around with it, I keep killing it, as my javascript isn't that great. Any help would be appreciated! :)</p>