Please help with navigation script

Please help with navigation script

I also posted this on the jQuery Google Groups site. I'm just trying to get help as quickly as I can, because I'm stuck.

The problem I'm having with this script is that it only runs once. Once it's done its thing one time, it won't run again on clicking. I tried doing it by way of named functions and still get the same result.

My guess is that I need to change around some inner functions, but I'm not sure exactly what needs to be done, so some help would be greatly appreciated.

The site is http://pranshuarya.com/test/pthesis.

The script:

$(document).ready(function() {
   $('#portfolio').hide();
   $('#pfolio_close').hide();
   $('#categories').hide();
   $('#pfolio').click(function() {
      $.throbberShow({image:'images/ajax-loader.gif', parent:'#sites'});
      $('#portfolio').show('slow');
      $('#pfolio_close').show('slow');
      $('#sites').empty();
      $('#site_details').empty();
      $('#sites').append('<div id="sites_border"></div>');
      $('#sites').append('<div id="refine_by">Refine by category</div>');
      $('#site_details').append('<div id="site_details_lower_border"></div>');

      $('#sites').append('<ul>');      
      $.get('data.php',function(data) {
         $(data).find('site').each(function() {
            var $entry = $(this);
            var $site_title = $entry.find('site_title').text();
            var html_site = '<li>' + $site_title + '</li>';
            $('#sites ul').append($(html_site));
         });
      });
   
   var showsites = function() {
      $.get('data.php',function(data) {
         $('#sites ul li').bind('click',function() {
            var index = $('#sites ul li').index(this);
            $('#site_details').empty();
            $('#site_details').append('<div id="site_details_lower_border"></div>');
            $('li:not(this)').removeClass('selected');
            $(this).addClass('selected');
            $imageURL = $(data).find('imageURL').eq(index).text();
            $skills = $(data).find('skills_used').eq(index).text();
            $siteURL = $(data).find('siteURL').eq(index).text();
   
            var html_image = '<div><a href="' + $siteURL + '"><img src="' + $imageURL + '" /></a></div>';
            $('#site_details').append($(html_image));
            $('#site_details div').addClass('screenshot');
   
            if($(data).find('imageURL2').eq(index).text() != '') {
               $imageURL2 = $(data).find('imageURL2').eq(index).text();
               var html_image2 = '<div>';
               if($(data).find('siteURL2').eq(index)) {
                  $siteURL2 = $(data).find('siteURL2').eq(index).text();
                  html_image2 += '<a href="' + $siteURL2 +'"><img src="' + $imageURL2 + '" /></a></div>';
                  }
               else
                  html_image2 += '<a href="' + $siteURL +'"><img src="' + $imageURL2 + '" /></a></div>';
               $('#site_details').append($(html_image2));
               $('#site_details div').addClass('screenshot');
               }
            else
               $('#site_details div.screenshot').removeClass('screenshot').addClass('screenshot_single');
   
            $('a[@href^=http]').attr({'target': '_blank'}).attr({'title': 'Visit site'});
   
            if($(data).find('description').eq(index)) {
               $desc = $(data).find('description').eq(index).text();
               var html_desc = '<div id="description">' + $desc + '</div>';
               $('#site_details').append($(html_desc));
               }
            if($(data).find('site_details').eq(index) != '') {
               $details = $(data).find('site_details').eq(index).text();
               var html_details = '<div id="details"><br />' + $details + '</div>';
               $('#site_details').append($(html_details));
               }

            var html_skills = '<div id="skills"><strong>Skills used:</strong><br />' + $skills + '</div>';
            $('#site_details').append($(html_skills));
         });
      });
   };
   showsites();

      $.get('categories.php',function(cats) {
         $('#refine_by').click(function() {
         $('#categories').show('slow');
         $('#categories').append('<ul>');
         $('#categories ul').append('<li id="all">All</li>');
            $(cats).find('categories').each(function() {
               var $entry = $(this);
               var $cat = $entry.find('category').text();
               var category = '<li>' + $cat + '</li>';
               $('#categories ul').append($(category));
               });

      $.get('data.php',function(data) {
         $('#categories ul li').bind('click',function() {
               var index = $('#categories ul li').index(this);
               var $category = $(cats).find('category').eq(index).text();
               $('#sites').empty();
               $('#sites').append('<div id="sites_border"></div>');
               $('#sites').append('<div id="refine_by">Refine by category</div>');
               $('#sites').append('<ul>');
               $sites = $(data).find('categories').filter(':contains(JavaScript)');
               $sites.each(function() {
                  var $entry = $(this).parent();
                  var $site_title = $entry.find('site_title').text();
                  var html_site = '<li>' + $site_title + '</li>';
                  $('#sites ul').append($(html_site));
               });
               $('#categories').hide('slow');
               showsites();
               });
            });
         });
      });

   $('#pfolio_close').click(function() {
      $('#portfolio').hide('slow');
      $('#pfolio_close').hide('slow');
   });
   });
});



Thanks in advance,
Precar.