$(document).ready(function() {

  function formatTitle(title, currentArray, currentIndex, currentOpts) {
      return '<div id="single_image-title"><span><a href="javascript:;" onclick="$.fancybox.close();"><img src="/fancybox/closelabel.gif" /></a></span>' + (title && title.length ? '<b>' + title + '</b>' : '' ) + 'Image ' + (currentIndex + 1) + ' of ' + currentArray.length + '</div>';
  }

  $("a#single_image").fancybox({
  	'showCloseButton': false,
  	'titlePosition': 'inside',
  	'titleFormat': formatTitle
  });
  
  function mycarousel_initCallback(carousel){
    $('#carouselNav li a img').click(function(event){
      event.preventDefault();
      carousel.stopAuto();
      var scrollTo = parseFloat($(this).attr("alt"));
      carousel.scroll(scrollTo);
    });    
    

    $('#carouselNav li').hover(function(event){
      //event.preventDefault();
      carousel.stopAuto();
      var scrollTo = parseFloat($(this).find("img").attr("alt"));
      carousel.scroll(scrollTo);
    }, function(event) {});    
  }
  
  function markSelectedCarouselNav(carousel, element, index, state){
    var total = $("#carouselNav li").length;
    var realIndex = index - 1;

    if(realIndex >= total) {
      realIndex = realIndex % total;
    }

    $('#carouselNav li').css({'opacity' : '.5'})
    $('#carouselNav li').eq(realIndex).css({'opacity' : '1'});
    $('#carouselNav li').eq(realIndex).addClass('selected');
  }
  
  function markUnselectedCarouselNav(carousel, element, index, state){
    $('#carouselNav li').eq(index - 1).removeClass('selected');
  }
  
  if($("body").attr("id") == "home") {
    $("#largeImages").jcarousel({
        scroll: 1,
        initCallback: mycarousel_initCallback,
        // This tells jCarousel NOT to autobuild prev/next buttons
        buttonNextHTML: null,
        buttonPrevHTML: null,
        auto: 3, 
        itemVisibleInCallback: markSelectedCarouselNav,
        itemVisibleOutCallback: markUnselectedCarouselNav,
        wrap: 'circular'
        /*
        itemLoadCallback: {
          onBeforeAnimation: function(carousel, state) {
            $("#largeImages img").fadeOut('fast', function() {
            });
          },
          onAfterAnimation: function() {
            $("#largeImages img").fadeIn('fast');
          }
        }
        */
    });  
  }
  
  function themecarousel_initCallback(carousel){
    
    $('#theme_detail #prev').click(function(event){
      carousel.prev();
        return false;
    });    
    $('#theme_detail #next').click(function(event){
      carousel.next();
        return false;
    });
  }
  
  if($("body").attr("id") == "home" || $('body').attr('id') == 'theme_detail') {
    $("#theme_ul").jcarousel({
        scroll:1,
        initCallback: themecarousel_initCallback,
        // This tells jCarousel NOT to autobuild prev/next buttons
        buttonNextHTML: null,
        buttonPrevHTML: null  });
  }
});

var menu_item = 0;
var timeout    = 250;
var closetimer = 0;

function open_menu(id) {
  cancel_close_time();
  if (menu_item) $(menu_item).css({'visibility':'hidden'});

  menu_item = document.getElementById(id);
    $(menu_item).css({'visibility':'visible'});
}

function closer(){
  closetimer = window.setTimeout('closer_menu()', timeout);
}

function closer_menu(){
  if (menu_item) $(menu_item).css({'visibility':'hidden'});
}

function cancel_close_time(){
  if(closetimer){
    window.clearTimeout(closetimer);
    closetimer=null;
  }
}

