jQuery(document).ready(function($){
  
  // homepage cycle promo
  // docs at: http://jquery.malsup.com/cycle/

  if ($("#large_promo_slides .promo_slide").length >= 2) {
    var large_promo_slides = $("#large_promo_slides");

    var initSlide = 1;
    large_promo_slides.cycle({
      fx: 'fadeVideo',
      speed: 400,    // Default FX speed ('fast' is 200)
      timeout: 8000, // 0 prevents auto cycling; 8000 -> 8 seconds, or thereabouts
      pause: 0, // mouseover pause/resume will resume regardless of player status if set to 1
      pager: '#promo_nav',
      pagerAnchorBuilder: function(idx, slide) {
        // return selector string for existing anchor
        return '#promo_nav a:eq(' + idx + ')';
      },
      before: function(currSlide, nextSlide, opts, forward) {
        var slide = initSlide ? 0 : opts.nextSlide;
        initSlide = 0;
        var promo_copy = $(".promo_slide").eq(slide).find('.promo_copy').clone();
        $('.promo_copy_slot').empty().append(promo_copy);
        $(".promo_slide .botrplayer").each(function(e){
          player_id = $(this).children().first().attr('id');
          if (player_id != undefined && jwplayer.api.playerById(player_id) != undefined) {
            var state = jwplayer.api.playerById(player_id).getState();
            if (state == 'PLAYING' || state == 'BUFFERING') {
              jwplayer.api.playerById(player_id).pause(true);
            }
          }
        });
        if ($(".promo_slide").eq(slide).find('.botrplayer').length == 0) {
          $("#large_promo").addClass('no-video-showing');
        } else {
          $("#large_promo").removeClass('no-video-showing');
        }
      }
    });
    $("#promo_nav a").bind('click', function(e){
      large_promo_slides.cycle('pause');
    });
  }

  $("img.hero_image").one('click', function(e){
    var video_src = $(this).parents('.promo_slide').find('.video-src').text();
    if (video_src) {
      large_promo_slides.cycle('pause');
      var hero_image = $(this);
      var vid_id = video_src.substring(video_src.lastIndexOf("/")+1, video_src.lastIndexOf("."));
      vid_id = vid_id.replace("-", "_");
      vid_id = "botr_"+vid_id+"_div";
      hero_image.after("<div class='botrplayer' id='"+vid_id+"'></div>");

      $.getScript(video_src, function(e){
        hero_image.remove();
        if (typeof jwplayer != undefined) {
          //var player_id = vid_id.substring(0, vid_id.lastIndexOf("_"))+"_swf"; // hack...
          var player_id = window[vid_id.substring(0, vid_id.lastIndexOf("_"))].id; // improvement?
          var player = jwplayer.api.playerById(player_id);
          //var player_obj = window[vid_id.substring(0, vid_id.lastIndexOf("_"))];
          //console.dir(player_obj);
          // <video> = player_obj.getVideoHTML()
          if (player_id != undefined && typeof player != undefined) {
            var state = player.getState();
            var check_if_videos_ready = function(){
              var state = player.getState();
              if ((state != undefined) && (state != null)) {
                if (state == 'IDLE') {
                  player.play();
                }
                player.onComplete(function(){
                  //
                });

              } else {
                // check again
                var f = setTimeout(check_if_videos_ready, 200);
                //$("body").prepend(".");
              }
            };
            var f = setTimeout(check_if_videos_ready, 200);
          } else {
            //console.log("vid_id", vid_id, "player_id", player_id);
          }
        } else {
          //console.log('no jwplayer');
        }
      });
    }
  });



  //sidekick promo hover
  $('div.sidekick_promo').hover(function(event){
    var id1 = $(this).attr('id');
    $('#'+id1+' div.front').stop(true,true).fadeOut('fast');
  },function(event){
    var id2 = $(this).attr('id');
    $('#'+id2+' div.front').stop(true,true).fadeIn('fast');
  });

  // sidekick tabs
  $('.tabbed_child_promos .tab-menu a').bind('click', function(e){
    e.preventDefault();
    var panel_id = $(this).attr('href');
    $('.tab-panel').removeClass('active-panel');
    $(panel_id).addClass('active-panel');
    $('.tabbed_child_promos .tab-menu a').removeClass('active-tab');
    $(this).addClass('active-tab');
  });
  
  $(function() {
		$('#vacation_arrival, #vacation_departure').datepicker();
	});
	
	var quotes = $('.quote').length;
	var rand = Math.floor(Math.random()*parseInt(quotes));
	$('.quote').eq(rand).show();
  $('.quote').eq(rand).next('p').children('a').show();
});

