<?php
// Purpose: This template provides the layout of the library node (page)
//   using the same templates used for the various library content blocks.
//
// To Customize the Libray Node Page:
//   - This Template: customize basic layout and which elements are included
//   - Using Panels: Override the node page using Panels3 and place the blocks
//       of content as you please. This method requires no programming. See
//       the Tripal User Guide for more details
//   - Block Templates: customize the content/layout of each block of stock 
//       content. These templates are found in the tripal_stock subdirectory
//
// Variables Available:
//   - $node: a standard object which contains all the fields associated with
//       nodes including nid, type, title, taxonomy. It also includes stock
//       specific fields such as stock_name, uniquename, stock_type, synonyms,
//       properties, db_references, object_relationships, subject_relationships,
//       organism, etc.
//   NOTE: For a full listing of fields available in the node object the
//       print_r $node line below or install the Drupal Devel module which 
//       provides an extra tab at the top of the node page labelled Devel

$library  = $variables['node']->library;

// get the template settings
$template_settings = theme_get_setting('tripal');

// toggle the sidebar if desired
$no_sidebar = 0;
if (is_array($template_settings['tripal_no_sidebar']) and 
   $template_settings['tripal_no_sidebar']['library']) {
  $no_sidebar = 1;
}

if ($teaser) { 
  print theme('tripal_library_teaser',$variables); 
} 
else { ?>

<script type="text/javascript">
(function ($) {
  Drupal.behaviors.libraryBehavior = {
	attach: function (context, settings){ <?php 
	  if ($no_sidebar) { ?>    
        // hide the resource side bar and strech the details section    
        $(".tripal_toc").hide();
        $(".tripal_details").addClass("tripal_details_full");
        $(".tripal_details_full").removeClass("tripal_details"); <?php
      } else { ?>
        // use default resource sidebar
        $(".tripal-info-box").hide(); <?php
      } ?>
 
      // iterate through all of the info boxes and add their titles
      // to the table of contents
      $(".tripal-info-box-title").each(function(){
        var parent = $(this).parent();
        var id = $(parent).attr('id');
        var title = $(this).text();
        $('#tripal_library_toc_list').append('<li><a href="#'+id+'" class="tripal_library_toc_item">'+title+'</a></li>');
      });

      // when a title in the table of contents is clicked, then
      // show the corresponding item in the details box
      $(".tripal_library_toc_item").click(function(){
         $(".tripal-info-box").hide();
         href = $(this).attr('href');
         $(href).fadeIn('slow');
         // we want to make sure our table of contents and the details
         // box stay the same height
         $("#tripal_library_toc").height($(href).parent().height());
         return false;
      }); 

      // we want the base details to show up when the page is first shown 
      // unless the user specified a specific block
      var block = window.location.href.match(/[\?|\&]block=(.+?)\&/)
      if(block == null){
         block = window.location.href.match(/[\?|\&]block=(.+)/)
      }
      if(block != null){
         $("#tripal_library-"+block[1]+"-box").show();
      } else {
         $("#tripal_library-base-box").show();
      }

      $("#tripal_library_toc").height($("#tripal_library-base-box").parent().height());
    }     
  };
})(jQuery);
</script>

<div id="tripal_library_details" class="tripal_details">

   <!-- Basic Details Theme -->
   <?php print theme('tripal_library_base',$node); ?>

   <!-- External References -->
   <?php print theme('tripal_library_references',$node); ?>

   <!-- Properties -->
   <?php print theme('tripal_library_properties',$node); ?>
   
   <!-- Terms -->
   <?php print theme('tripal_library_terms',$node); ?>

   <!-- Synonyms -->
   <?php print theme('tripal_library_synonyms',$node); ?>

   <!-- Resource Blocks CCK elements --><?php
   for($i = 0; $i < count($node->field_resource_titles); $i++){
     if($node->field_resource_titles[$i]['value']){ ?>
       <div id="tripal_library-resource_<?php print $i?>-box" class="tripal_library-info-box tripal-info-box">
         <div class="tripal_library-info-box-title tripal-info-box-title"><?php print $node->field_resource_titles[$i]['value'] ?></div>
         <?php print $node->field_resource_blocks[$i]['value']; ?>
       </div><?php
     }
   }?>
   
   <!-- Let modules add more content -->

   <?php print $content ?>
</div>

<!-- Table of contents -->
<div id="tripal_library_toc" class="tripal_toc">
   <div id="tripal_library_toc_title" class="tripal_toc_title">Resources</div>
   <ul id="tripal_library_toc_list" class="tripal_toc_list">
   
     <!-- Resource Links CCK elements --><?php
     for($i = 0; $i < count($node->field_resource_links); $i++){
       if($node->field_resource_links[$i]['value']){
         $matches = preg_split("/\|/",$node->field_resource_links[$i]['value']);?>
         <li><a href="<?php print $matches[1] ?>" target="_blank"><?php print $matches[0] ?></a></li><?php
       }
     }?>
     
     <?php // ADD CUSTOMIZED <li> LINKS HERE ?>
   </ul>
</div>

<?php } ?>