function dropCap(e){
     var elements = $(e);
     elements.each(
     function(){
          var html = $(this).html();
          html = html.replace(/([A-Z])/g, '<span class="dropcap">$1</span>');
          $(this).html(html);
     })
}

//GALLERIES

function hoverClass(){
     var hoverClass;
     $('.tab')
     .hover(
     function(){
          if($(this).hasClass("green")){
               hoverClass = 'greenhover';
          }else if($(this).hasClass("grey")){
               hoverClass = 'greyhover';
          }
          $('a.tablink', this).addClass(hoverClass);
          $(this).css("cursor","pointer");
     },
     function(){
          $('a.tablink', this).removeClass(hoverClass);
          $(this).css("cursor","default");
     })
     .click(
     function(){
          var url = $('a.tablink', this).attr("href");
          document.location = url;
     });
}

//IMAGE LOADER

$.fn.image = function(src, f){
     return this.each(function(){
          var i = new Image();
          i.src = src;
          i.onload = f;
          this.appendChild(i);
     });
}

//IMAGES

function startImageLoad(e)
{
     hideCaption();
     $('#main_image').fadeOut('slow',function(){
          $('#main_image').empty();
          showLoader();
          getImage(e);
     });
}

function getImage(e)
{
     var href = $(e).attr('href');
     $("#main_image").image(href, function(){
          hideLoader();
          centerImage(e);
          getCaption(e);
     });
}

function centerImage()
{
     var img = $('#main_image img');

     //For some reason img.attr('height') doesn't work in FF after $.image loading
     var lMargin = ($('#main_image').innerWidth() - img[0].width) / 2;
     var tMargin = ($('#main_image').innerHeight() - img[0].height) / 2;

     img.css('margin-top', tMargin - 5);
     img.css('margin-left', lMargin);

     $('#main_image').fadeIn('fast');
}

function hideCaption()
{
     $('.caption').hide();
}

function showLoader()
{
     $('#loading').show();
}

function getCaption(e)
{
     var caption = $(e).find(":nth-child(1)").attr('alt');
     $('.caption').html(caption).show();
}

function hideLoader()
{
     $('#loading').hide();
}