$( document ).ready( function()
{

  // ---------------------------------------------------------------------
  //                                                Edit this if you like.

  // Animate or simply show content?
  var animate = true;

  // IDs of page links subject to JS control.
  var links  = Array( "per_byhring", "animation", "music", "interactive" );

  // ---------------------------------------------------------------------
  //                                                    Stop editing here!

  // Array of pages loaded thus far.
  var loaded = Array();

  // Prototype an array find.
  Array.prototype.contains = function( needle )
  {
    for( var i = 0; i < this.length; i ++ )
    {
      if( this[i] == needle )
      {
        return true;
      }
    }
    return false;
  }

  // Load a page.
  function load_page( obj )
  {
    var li  = $( "li#li_" + obj.attr( "id" ));

    if( ! loaded.contains( obj.attr( "id" )))
    {
      var url = obj.attr( "href" );
      li.hide();
      li.load( "site/" + url, function()
      {
        if( animate )
        {
          li.slideDown( "fast" );
        } else
        {
          li.show();
        }
        loaded.push( obj.attr( "id" ));
      });
    } else
    {
      if( animate )
      {
        li.slideToggle( "fast" );
      } else
      {
        li.toggle();
      }
    }
  }

  // Handle a link click.
  $( "a" ).click( function()
  {

    var h = $(this).attr( "id" );
    if( links.contains( h ))
    {
      load_page( $(this));
      return false;
    }

  });

});
