var menuShadowBox = {
  init: function() {

    $('.menu-shadow-box').each(function() {
      var $shadowBox = $(this);
      $shadowBox.find('.toggle').each(function(){
        $toggle = $(this);
        $toggle
          .data('text', $toggle.html())
          .click(function(e){
            $toggleClick = $(this);
            e.preventDefault();

            var height = $shadowBox.find('.content-holder')
              .toggleClass('expanded')
              .outerHeight() - 120;

            $shadowBox.find('.background').css('height', height);

            $toggleClick.find('.content-holder').toggleClass('expanded');
            $toggleClick.toggleClass('more');
            if($toggleClick.hasClass('more')){
              $toggleClick.html($toggleClick.data('text'));
            }else{
              $toggleClick.html('&nbsp;');
            }
          });
      });
    });
  }
}

var archive = {
  init: function() {

    /* Expand current year if necessary */
    $('#archive ul li')
      .find('div')
      .hide()
      .end()
      .find('a.current')
      .next()
      .show();


    /* Year */
    $('#archive ul li > a').live('click', function(e) {
      e.preventDefault();
      $(this)
        .toggleClass('current')
        .next()
        .slideToggle();
    });

    /* Month*/
    /*
    $('#archive ul li li + a').live('click', function(e) {
      e.preventDefault();
      $(this).parent().find('div').slideToggle();
    });
    */
  }
}

var fancybox = {
  init: function() {
    if(typeof(openFancybox) != 'undefined'){
      $.fancybox({
        'href': openFancybox,
        'type': 'iframe'
      });
    }

    $('a[rel*=fancybox]').each(function(){
      if($(this).hasClass('popup-iframe')){
        $(this).attr('href', $(this).attr('href') + '?fancybox=true');
      }
      $(this).fancybox({
        'overlayOpacity': 0.9,
        'overlayColor': '#0c0c09',
        'scrolling': 'no',
        'height': 200,
        'width': 470,
        'showNavArrows': false,
        'titleShow': false
      });
    });

    if($('#popup-iframe').length > 0){
      parent.fancybox.resize($('#popup-iframe').outerHeight());
    }
  },

  resize: function(height){
    $('#fancybox-inner').css({
      'height': height + 'px',
      'left': '0',
      'top': '0',
      'width': '470px'
    });
    $('#fancybox-wrap').css({
      'height': height + 'px',
      'width': '470px'
    });

    /* Native fancybox center function */
    $.fancybox.center();
  }
}

var ellipses = {
  init: function() {
    $('.list .title').fhEllipses({
      lines: 2,
      lineHeight: 19
    });
  }
}

$(function() {

  $('input, textarea').gzPrettyForms();
  $('a[rel*=external]').attr('target', '_blank');
  $('body').addClass('javascript');

  menuShadowBox.init();
  archive.init();
  fancybox.init();
  ellipses.init();

});
