var fancybox = {
  init: function()
  {
    if (window != window.top)
    {
      parent.fancybox.resize($('body').height());
    };
    if($.fancybox)
    {
      $('a.fancybox').each(function()
      {
        var element = $(this);
        var options = {};
        if(element.hasClass('iframe'))
        {
          options = $.extend(options, {
            scrolling: 'no'
          });
        };
        options = $.extend(options, element.data());
        options = $.extend(options, {
          overlayColor: '#000000',
          overlayOpacity: '0.44',
          autoDimensions: false,
          autoScale: false,
          width: 900,
          height: 480,
          margin: 0,
          padding: 0,
          centerOnScroll: false,
          onComplete: function()
          {
            $("#fancybox-wrap").css({'top':'60px', 'bottom':'auto'});
          }
        });
        element.fancybox(options);
      });
    };
  },
  resize: function(height){
    if($.fancybox)
    {
      $('#fancybox-frame, #fancybox-content').height( height );
      $.fancybox.center();
    };
  }
};

var datepicker = {
  init: function()
  {
    if($.datepicker)
    {
      $('input[rel*=date]').each(function()
      {
        var element = $(this);
        var options = $.extend(element.data(), {});
        element.datepicker(options);
      });
    };
  }
};

var cycle = {
  init: function()
  {
    if($.fn.cycle)
    {
      $('[rel*=cycle]').each(function()
      {
        var element = $(this);
        var options = $.extend(element.data(), {});
        element.cycle(options);
      });
    };
  }
};

var links = {
  init: function()
  {
    $('a[rel*=external]').live('click', function()
    {
      $(this).attr('target', '_blank');
    });  
    $('a[rel*=close]').live('click', function(e)
    {
      e.preventDefault();
      var element = $(this);
      var target = element.data('target') ? $(element.data('target')) : $(this).parent();
      target.remove();
    });
    if($.fn.fhConfirm)
    {
      $('a.danger').fhConfirm();
    };
  }
};

var chosen = {
  init: function()
  {
    if($.fn.chosen)
    {
      $('select').each(function()
      {
        var element = $(this);
        var options = $.extend(element.data(), {});
        element.chosen(null, options);
      });
    }
  }
}

$(document).ready(function()
{
  links.init();  
  datepicker.init();
  cycle.init();
  fancybox.init();
  chosen.init();
  
  $('#carousel ul').jcarousel();
  
  $('#carousel a.image').click(function(e)
  {
    e.preventDefault();
    
    var el = $(this);
    var data = el.data();
    $('#cover-image').attr('src', el.attr('href'));
    $('#cover-title').html(data.title);
    $('#cover-description').html(data.description);
  });
});
