var Site = {

  slideDuration : 400,

  init : function() {
    Site.vertical();
  },

  vertical: function() {
    Site.panels = $$('#vertical .collapse');
    Site.selectors = $$('#vertical .collapse-title');
    Site.pluses = $$('#vertical .plus');
    Site.collapsibles = [];

    Site.selectors.each( function(selector, i) {
      Site.collapsibles[i] = new Fx.Slide(Site.panels[i], { 
        duration: Site.slideDuration, 
        transition: Fx.Transitions.Cubic.easeOut,
        onComplete: function(request) { 
          // var open = request.getStyle('margin-top').toInt();
          // if(open >= 0) new Fx.Scroll(window).toElement(Site.selectors[i]);
        }
      });   

      if(selector.hasClass('mouse')) {
        event.preventDefault();
        selector.addEvent('mouseenter', function(event) {
          Site.collapsibles[i].slideIn();
        });
        selector.addEvent('mouseleave', function(event) {
          Site.collapsibles[i].slideOut();
        });        
      }

      else {
        selector.addEvent('click', function(event) {      
          event.preventDefault();
            Site.collapsibles[i].toggle().chain(function() {
            if((Site.pluses[i] != null)) {
              newHTML = Site.pluses[i].innerHTML == '+' ? '&ndash;' : '+';
              Site.pluses[i].innerHTML = newHTML;
            } 
          });
        });       
      }        
    
      Site.collapsibles[i].hide();
    });

    if(($('collapse-all') != null) && (($('expand-all') != null))) {
      $('collapse-all').onclick = function(){
        Site.selectors.each( function(selector, i) {
          Site.collapsibles[i].hide();
          if((Site.pluses[i] != null)) {
            Site.pluses[i].innerHTML = '+';
          }          
          $('expand-all').removeClass("invisible");
          $('collapse-all').addClass("invisible");
        });
        return false;
      }   
  
      $('expand-all').onclick = function(){
        Site.selectors.each( function(selector, i) {
          Site.collapsibles[i].show();
          if((Site.pluses[i] != null)) {
            Site.pluses[i].innerHTML = '&ndash;';
          }
          $('collapse-all').removeClass("invisible");
          $('expand-all').addClass("invisible");
        });
        return false;
      }    
    }
  }
};

window.addEvent('domready', function() {
  if($('vertical') != null) {
    Site.init();
  }
});