var Site = {

  start: function() {
    Site.setImages();
    $$('.date').fade('hide')
    Site.changeDate();
    //new SmoothScroll({ duration:700 });
  },
  
  setImages: function() {

    var imageArea = new Element('div', {'id': 'image'});

    // caption
    var imageCap = new Element('p', {'id': 'caption'});
    imageArea.inject($('content'), 'inside');
    imageCap.inject(imageArea, 'inside');
    
    // link to archives
    var infoGraph = new Element('p', {'class': 'info', 'text': ' / '});
    var info = new Element('a', {text: 'details'});
    info.inject(infoGraph, 'top');
    infoGraph.inject(imageArea, 'inside');
    
    // close link
    var close = new Element('a', {text: 'close', 'href': '#documentation'});
    close.inject(infoGraph, 'bottom');
    
    imageArea.fade('hide');
    
    // set events
    $$('#thumbnails a').each(function(image) {
      
      /* display image */
      image.addEvent('click', function(event){
        event.stop();
        location.href = "#documentation";
        imageArea.removeClass('back');
        alt = image.getFirst('img').getProperty('alt');
        var largeImage = new Element('img', {'id': 'large-image','src': this.href, 'alt': alt, 'title': alt});
        largeImage.inject(imageArea);
        imageCap.setProperty('text', alt);
        archiveLink = image.getPrevious('a').href;
        info.setProperty('href', archiveLink);
        imageArea.fade('in');
      });
      
      /* close image area */
      close.addEvent('click', function(event){
        event.stop();
        imageArea.fade('out');
        location.href = "#documentation";
        (function(){
          imageArea.addClass('back');
          $('large-image').destroy();
          $('caption').setProperty('html', '');
        }).delay(700);
      });
      
    });
  },

  
  changeDate: function() {

    // define variables
    var dateLinks = $$('#key-dates a');
    var dates = $$('.date');
    var myFx = new Fx.Tween($('images'), {duration: 125});
    
    // add closers
    dates.each(function(aaa){
      var closer = new Element('span', {'class': 'close-date', 'text': 'close'});
      closer.inject(aaa, 'bottom');
    });
    
    Site.closeDate();       
    
    // set events
    dateLinks.addEvent('click', function(event){
      event.stop();
      $$('.date').fade('out');
      date = this.href.split('#')[1];
      $(date).fade('in');
      $('wrap').tween('margin-left', '-364');
      $$('#date-nav a').removeClass('active');
      this.addClass('active');
    });      
  },
  
  closeDate: function() {
    $$('.close-date').addEvent('click', function(event){
      event.stop();
      // fade content
      $$('.date').fade('out');
      $('wrap').tween('margin-left', '0');
      // remove active
      $$('#date-nav a').removeClass('active');
    });
  }
  
}

window.addEvent('domready', Site.start);