(function($) {
  $.fn.collapsiblePanel = function(settings) {
    settings = $.extend({
      collapsed: false,
      animate: true
    }, settings);

    return this.each(function() {
      //var links = $(this).find("div.panel_header a.toggle");
      //if (links.size() == 0) {

      // create the new link
      $(this).find("div.panel_header h2").before("<a href='#' class='toggle'></a>");
      var newLnk = $(this).find("div.panel_header a.toggle");
      //newLnk.attr("panel",  = $(this).find("div.panel_body");
      newLnk.attr("panelId", $(this).attr("id"));
      newLnk.click(onClick);

      if (settings.collapsed) {
        hidePanel(newLnk);
      } else {
        showPanel(newLnk);
      }
    });

    function onClick() {
      //console.log($(this).text());
      if ($(this).text() == "Show Details") {
        showPanel($(this));
      } else if ($(this).text() == "Hide Details") {
        hidePanel($(this));
      }
      return false;
    }

    function showPanel(lnk) {
      lnk.text("Hide Details");
      $("#" + lnk.attr("panelId") + " div.panel_body").show('fast');
      //lnk.panel.show('fast');
    }
    function hidePanel(lnk) {
      lnk.text("Show Details");
      $("#" + lnk.attr("panelId") + " div.panel_body").hide('fast');
      //lnk.panel.hide('fast');
    }

    function togglePanel(lnk) {
      if (lnk.text() == "Show Details") {
        hidePanel(lnk);
      } else if (lnk.text() == "Hide Details") {
        showPanel(lnk);
      }

      /*
      if (lnk.text() == "") {
        lnk.text() = settings.collapsed ? "Show Details" : "Hide Details";
      else if (lnk.text() == "Hide Details") {
        lnk.text() = "Show Details";
      else if (lnk.text() == "Show Details") {
        lnk.text() = "Hide Details";
      }*/
    }
  };
})(jQuery);
