function flyers_initCallback(carousel, state) {
  if (state == 'init') { 
    flyCarousel = carousel;
  }
}

function flyers_itemLoadCallback(carousel, state)
{
  
  // Check if the requested items already exist
  if (state != 'init') {
    return;
  }
  
  $('.jcarousel-clip-horizontal').addClass('pre_loader');
  
  // Get the data
  $.ajax({
    dataType: "json",
    url: worldbar.night,
    success: function(data) {
      flyers_itemAddCallback(carousel, carousel.first, carousel.last, data);
    }
  });
};

function flyers_itemAddCallback(carousel, first, last, data)
{
  $('.jcarousel-clip-horizontal').removeClass('pre_loader');
  
  // Set the size of the carousel
  // and work out if we need to add a default night
  if ($(data.schedule).length == 0) {
    var add_default = true;
    var n = 0;
    carousel.size($(data.fallback).length);
  } else {
    if (data.schedule[0].flyer_date != null && data.schedule[0].flyer_date != data.fallback[0].default_date) {
      var add_default = true;
      var n = 1;
      carousel.size($(data.schedule).length + 1);
    } else {
      var add_default = false;
      var n = 0;
      carousel.size($(data.schedule).length);
    }
  }
  
  default_image = (data.fallback[0].image != null) ? data.fallback[0].image.toString() : worldbar.config.no_flyer_image;
  
  // Add a Defualt Flyer if needed
  if (add_default) {    
    default_image = default_image;
    default_date = (data.fallback[0].default_date != null) ? data.fallback[0].default_date.toString() : 'Every '+data.fallback[0].night.toString();
    default_flyer_description = (data.fallback[0].flyer_description != null) ? data.fallback[0].flyer_description.toString() : '';
    
    // Default Values
    worldbar.flyer.name = (data.fallback[0].name != null) ? data.fallback[0].name.toString() : '';
    worldbar.flyer.description = (data.fallback[0].description != null) ? data.fallback[0].description.toString() : '';
    worldbar.flyer.email = (data.fallback[0].email != null) ? data.fallback[0].email.toString() : '';
    worldbar.flyer.url_blog = (data.fallback[0].url_blog != null) ? data.fallback[0].url_blog.toString() : '';
    worldbar.flyer.url_facebook = (data.fallback[0].url_facebook != null) ? data.fallback[0].url_facebook.toString() : '';
    worldbar.flyer.url_twitter = (data.fallback[0].url_twitter != null) ? data.fallback[0].url_twitter.toString() : '';
    worldbar.flyer.venue_id = (data.fallback[0].venue_id != null) ? data.fallback[0].venue_id.toString() : '';
    worldbar.flyer.album_id = (data.fallback[0].facebook_album != null) ? data.fallback[0].facebook_album.toString() : '';
    worldbar.flyer.night = (data.fallback[0].night != null) ? data.fallback[0].night.toString() : '';
    
    // Facebook
    worldbar.flyer.fb_page_id = (data.fb_status) ? data.fb_status.page_id.toString() : '';
    worldbar.flyer.fb_status_text = (data.fb_status) ? data.fb_status.text.toString() : '';
    worldbar.flyer.fb_status_id = (data.fb_status) ? data.fb_status.url_id.toString() : '';
    worldbar.flyer.fb_status_date = (data.fb_status) ? data.fb_status.date.toString() : '';
    worldbar.flyer.fb_status_user = (data.fb_status) ? data.fb_status.username.toString() : '';

    carousel.add(0, flyers_getItemHTML(worldbar.flyer, default_image, default_date, default_flyer_description, 0));
  }

  // Add any future dates
  if(data.schedule != 'undefined') {
    $.each(data.schedule, function(i) {      
      image = (data.schedule[i].flyer_image != null) ? data.schedule[i].flyer_image.toString() : default_image;
      date = (data.schedule[i].flyer_date != null) ? data.schedule[i].flyer_date.toString() : 'Every '+data.schedule[i].night.toString();
      flyer_description = (data.schedule[i].flyer_description != null) ? data.schedule[i].flyer_description.toString() : '';
      
      // Default Values
      worldbar.flyer.name = (data.schedule[i].name != null) ? data.schedule[i].name.toString() : '';
      worldbar.flyer.description = (data.schedule[i].description != null) ? data.schedule[i].description.toString() : '';
      worldbar.flyer.email = (data.schedule[i].email != null) ? data.schedule[i].email.toString() : '';
      worldbar.flyer.url_blog = (data.schedule[i].url_blog != null) ? data.schedule[i].url_blog.toString() : '';
      worldbar.flyer.url_facebook = (data.schedule[i].url_facebook != null) ? data.schedule[i].url_facebook.toString() : '';
      worldbar.flyer.url_twitter = (data.schedule[i].url_twitter != null) ? data.schedule[i].url_twitter.toString() : '';
      worldbar.flyer.venue_id = (data.schedule[i].venue_id != null) ? data.schedule[i].venue_id.toString() : '';
      worldbar.flyer.album_id = (data.schedule[i].facebook_album != null) ? data.schedule[i]. facebook_album.toString() : '';
      worldbar.flyer.night = (data.schedule[i].night != null) ? data.schedule[i].night.toString() : '';
      
      // Facebook
      worldbar.flyer.fb_page_id = (data.fb_status) ? data.fb_status.page_id.toString() : '';
      worldbar.flyer.fb_status_text = (data.fb_status) ? data.fb_status.text.toString() : '';
      worldbar.flyer.fb_status_id = (data.fb_status) ? data.fb_status.url_id.toString() : '';
      worldbar.flyer.fb_status_date = (data.fb_status) ? data.fb_status.date.toString() : '';
      worldbar.flyer.fb_status_user = (data.fb_status) ? data.fb_status.username.toString() : '';
  
      carousel.add(i + n, flyers_getItemHTML(worldbar.flyer, image, date, flyer_description, i + n));
    });
  }
};

function flyers_getItemHTML(data, image, date, flyer_description, i)
{
  idx = i + 1;
  // Generate the HTML
  var html = '';
  html += '<div class="flyers_widget" id="flyer_' + idx + '" rel="' + worldbar.flyer.album_id + '">';
  html += '  <div class="fl_image_holder"><img class="fl_image" src="/images/uploads/' + image + '" alt="' + worldbar.flyer.name + '" />';
  html += '    <div class="button_like flyer_like">';
  html += '      <a href="' + base_url + 'loader/flyer/' + worldbar.flyer.night.toLowerCase() + '"></a>';
  html += '      <span>LIKE THIS</span>';
  html += '    </div>';
  html += '    <div class="button_share flyer_share">';
  html += '      <span>SHARE THIS</span>';
  html += '    </div>';
  html += '    <div class="share_options" style="left: -4px; top: 186px;">';
  html += '      <div class="addthis_toolbox"';
  html += '        addthis:url="' + base_url + 'loader/flyer/' + worldbar.flyer.night.toLowerCase() + '"';
  html += '        addthis:title="' + worldbar.flyer.name + ' | ' + date + ' @ The World Bar"';
  html += '        addthis:description="Check out "' + worldbar.flyer.name + ' at The World Bar on ' + date + '">';
  html += '        <div class="custom_images_gallery">';
  html += '          <a class="addthis_button_email"><img src="' + base_url + 'images/share_email_sml.png" width="40" height="40" alt="Email" /></a>';
  html += '          <a class="addthis_button_twitter"><img src="' + base_url + 'images/share_twitter_sml.png" width="40" height="40" alt="Twitter" /></a>';
  html += '          <a class="addthis_button_facebook"><img src="' + base_url + 'images/share_facebook_sml.png" width="40" height="40" alt="Facebook" /></a>';
  html += '        </div>';
  html += '      </div>';
  html += '      <a class="share_close" href="#" title="close"><img src="/images/share-close.png" width="24" height="24" alt="Close"></a>';
  html += '    </div>';
  html += '  </div>';
  html += '  <div class="fl_content">';
  html += '    <h3>' + worldbar.flyer.name + ' | ' + date + '</h3>';
  html += '    <p><b>' + worldbar.flyer.description + '</b></p>';
  html += '    <p>' + flyer_description + '</p>';
  html += '  </div>';
  html += '  <div class="fl_fb_images">';
  html += '    <a href="#" class="img_1"><i></i></a>';
  html += '    <a href="#" class="img_2"><i></i></a>';
  html += '    <a href="#" class="img_3"><i></i></a>';
  html += '    <a href="#" class="img_4"><i></i></a>';
  html += '  </div>';
  html += '  <div class="fl_line_vert"></div>';
  html += '  <div class="fl_social">';
  html += (worldbar.flyer.url_facebook.length > 0) ? '    <a class="fl_soc_1" href="' + worldbar.flyer.url_facebook + '"></a>' : '';
  html += (worldbar.flyer.url_twitter.length > 0) ? '    <a class="fl_soc_2" href="' + worldbar.flyer.url_twitter + '"></a>' : '';
  html += (worldbar.flyer.url_blog.length > 0) ? '    <a class="fl_soc_3" href="' + worldbar.flyer.url_blog + '"></a>' : '';
  html += (worldbar.flyer.email.length > 0) ? '    <a class="fl_soc_4" href="mailto:' + worldbar.flyer.email + '"></a>' : '';
  html += '    <a class="fl_soc_5 flyer_guestlist" href="' + base_url + 'loader/content/guestlist/' + worldbar.flyer.night + '"></a>';
  html += '    <div class="fl_fb_holder">';
  html += '      <p><b><a href="http://www.facebook.com/' + worldbar.flyer.fb_page_id + '/posts/' + worldbar.flyer.fb_status_id + '" target="_blank">' + worldbar.flyer.fb_status_user + ' ' + worldbar.flyer.fb_status_date + '</a> ' + worldbar.flyer.fb_status_text + '</b></p>';
  html += '      <div class="button_like flyer_facebook_like">';
  html += '        <a href="http://www.facebook.com/' + worldbar.flyer.fb_page_id + '/posts/' + worldbar.flyer.fb_status_id + '"></a>';
  html += '        <span>LIKE THIS</span>';
  html += '      </div>';
  html += '    <div class="button_share flyer_facebook_share">';
  html += '      <span>SHARE THIS</span>';
  html += '    </div>';
  html += '    <div class="share_options" style="top: 20px;">';
  html += '      <div class="addthis_toolbox"';
  html += '        addthis:url="http://www.facebook.com/' + worldbar.flyer.fb_page_id + '/posts/' + worldbar.flyer.fb_status_id + '"';
  html += '        addthis:title="' + worldbar.flyer.fb_status_user + ' Facebook Status ' + worldbar.flyer.fb_status_date + '"';;
  html += '        addthis:description="' + worldbar.flyer.fb_status_text + '">';
  html += '        <div class="custom_images_gallery">';
  html += '          <a class="addthis_button_email"><img src="' + base_url + 'images/share_email_sml.png" width="40" height="40" alt="Email" /></a>';
  html += '          <a class="addthis_button_twitter"><img src="' + base_url + 'images/share_twitter_sml.png" width="40" height="40" alt="Twitter" /></a>';
  html += '          <a class="addthis_button_facebook"><img src="' + base_url + 'images/share_facebook_sml.png" width="40" height="40" alt="Facebook" /></a>';
  html += '        </div>';
  html += '      </div>';
  html += '      <a class="share_close" href="#" title="close"><img src="/images/share-close.png" width="24" height="24" alt="Close"></a>';
  html += '    </div>';
  html += '    </div>';
  html += '  </div>';
  html += '</div>';

  return html;
  

};

function flyers_fbLoadCallback(carousel, li, index, state) {

  $('.fl_fb_images i').css('background', 'url(/images/loading-small_2.gif) 32px 34px no-repeat');

  if ($('#flyer_' + index).attr('rel'))
  {
    flyers_refresh(index);
  }
  else 
  {
    setTimeout(function(){ flyers_fbLoadCallback(carousel, li, index, state) }, 100);
  }

}

function flyers_refresh(index) {
  // Load the Like buttons
  $('.flyers_widget .button_like').each(function(index) {
    url = $(this).find('a').attr('href');
    $(this).addLikeSupport(url);
  });

  // Populate Facebook Album image holders
  fb_album_id = $('#flyer_' + index).attr('rel');
  $.ajax({
    dataType: "json",
    url: '/loader/photos/1/4/' + fb_album_id,
    success: function(data) {
      var photos = data.photos;
      $('.fl_fb_images a.img_1').attr("href", "/loader/content/photo/" + photos[0].id + "/" + fb_album_id);
      $('.fl_fb_images .img_1 i').css('background', 'url(' + photos[0].picture + ') 50% 50% no-repeat');
      
      $('.fl_fb_images a.img_2').attr("href", "/loader/content/photo/" + photos[1].id + "/" + fb_album_id);
      $('.fl_fb_images .img_2 i').css('background', 'url(' + photos[1].picture + ') 50% 50% no-repeat');
      
      $('.fl_fb_images a.img_3').attr("href", "/loader/content/photo/" + photos[2].id + "/" + fb_album_id);
      $('.fl_fb_images .img_3 i').css('background', 'url(' + photos[2].picture + ') 50% 50% no-repeat');
      
      $('.fl_fb_images a.img_4').attr("href", "/loader/content/photo/" + photos[3].id + "/" + fb_album_id);
      $('.fl_fb_images .img_4 i').css('background', 'url(' + photos[3].picture + ') 50% 50% no-repeat');
    }
  });
  
  // Reload Add This for sharing
  worldbar.helper.addthis_reload();
}


