var animDuration = 1000; // millisecond

function subtabscarousel_initCallback(carousel, state) {
  subtabs_carousel = carousel;
  if (state == 'init') {
    var qs = document.location.href.split('#')[1];
    var li = $(carousel.container).children('.jcarousel-clip').children('ul').children('li');
    li.each(function() {
      if ($(this).attr('title') == qs && qs != '' && li.index(this) != 0) {
        $('.subtabs-controls a.selected').removeClass('selected');
        subtabs_id = li.index(this)+1;
        $($('.subtabs-controls a').get(subtabs_id-1)).addClass('selected');
        var width = $(this).width();
        if (!navigator.userAgent.match('Safari')) {
          $(document).ready(function() {
            subtabs_carousel.scroll(subtabs_id, false);
          });          
        } else {
          window.onload = function() {
            subtabs_carousel.scroll(subtabs_id, false);
          }
        }
      }
      $(this).attr('title', '');
    });
    jQuery('.subtabs-controls a').bind('click', function() {
      if (!subtabs_carousel.animating && !$(this).hasClass('selected')) {
        carousel.scroll(jQuery.jcarousel.intval(jQuery(this).text()));
        $(this).parent().children('.selected').removeClass('selected');
        $(this).addClass('selected');
      }
    });
  }
};
jQuery("#subtabs-carousel").jcarousel({
  scroll: 1,
  initCallback: subtabscarousel_initCallback,
  buttonNextHTML: null,
  buttonPrevHTML: null,
  easing: 'easeInOutExpo',
  animation: animDuration,
  itemVisibleInCallback: {
      onAfterAnimation:  subtabs_itemVisibleInCallbackAfterAnimation
  },
  itemVisibleOutCallback: {
      onBeforeAnimation:  subtabs_itemVisibleOutCallbackBeforeAnimation
  }
});

function subtabs_itemVisibleInCallbackAfterAnimation(carousel, item, idx, state) {
  $(item).find('object').show();
}

function subtabs_itemVisibleOutCallbackBeforeAnimation(carousel, item, idx, state) {
  $(item).find('object').hide();
}