var feature_loaded  = false;

var feature_number  = 0;
var feature_auto    = true;
var feature_timer;

var feature_count   = 3;

var feature_large_image;
var feature_small_image;

var feature_teaser_headline;
var feature_teaser_subheadline;
var feature_teaser_excerpt;

var feature_details;
var feature_details_headline;
var feature_details_subheadline;
var feature_details_content;
var feature_details_link;

var feature_close_button;


function feature_initialize() {

  feature_large_image         = document.getElementById('feature-image');
  feature_small_image         = document.getElementById('feature-details-image');

  feature_teaser_headline     = document.getElementById('feature-teaser-headline');
  feature_teaser_subheadline  = document.getElementById('feature-teaser-subheadline');
  feature_teaser_excerpt      = document.getElementById('feature-teaser-excerpt');

  feature_details             = document.getElementById('feature-details');
  feature_details_headline    = document.getElementById('feature-details-headline');
  feature_details_subheadline = document.getElementById('feature-details-subheadline');
  feature_details_content     = document.getElementById('feature-details-content');
  feature_details_link        = document.getElementById('feature-details-link');

  feature_close_button        = document.getElementById('feature-close');

  feature_loaded              = true;

} // ! feature_initialize()



function feature_show() {

  if( feature_loaded ) {

    clearTimeout(feature_timer);

    feature_auto              = false;

    // Display the currently active enrty's full details
    feature_details_headline.innerHTML    = feature_teaser_headline.innerHTML;
    feature_details_subheadline.innerHTML = feature_teaser_subheadline.innerHTML;
    feature_details_content.innerHTML     = document.getElementById('feature-' + feature_number + '-content').innerHTML;

    // Set the link to the one entered for the active entry
    feature_details_link.setAttribute('href', document.getElementById('feature-' + feature_number + '-link').innerHTML);

    feature_small_image.onload = function() {

      feature_details.style.display         = 'block';
      feature_close_button.style.visibility = 'visible';

      feature_small_image.onload = null;

      scrollObject(null, 'feature-details');

    }

    feature_small_image.src               = '/images/featured/' + feature_number + '_medium.jpg';

  }

} // ! feature_show()



function feature_close() {

  if( feature_loaded ) {

    scrollClear();

    feature_details.style.display           = 'none';
    feature_close_button.style.visibility   = 'hidden';

  }

} // ! feature_close()




function feature_rotate(feature_load) {

  if( feature_loaded == false ) {
    feature_initialize();

  } else {
  // Remove the existing feature's thumbnail outline

    var feature_thumbnail           = document.getElementById('feature-rollover-' + feature_number);
        feature_thumbnail.className = 'rollover';

  }

  if( feature_auto || (feature_load && feature_load >= 1 && feature_load <= feature_count) ) {

    feature_request = !feature_load ? (feature_number + 1 <= feature_count ? (feature_number + 1) : 1) : feature_load;
    feature_number  = feature_request;

    feature_large_image.onload = function() {

      // Set the thumbnail as active
      document.getElementById('feature-rollover-' + feature_number).className = 'active';

      feature_teaser_headline.innerHTML     = document.getElementById('feature-' + feature_number + '-headline').innerHTML;
      feature_teaser_subheadline.innerHTML  = document.getElementById('feature-' + feature_number + '-subheadline').innerHTML;

      var feature_content = document.getElementById('feature-' + feature_number + '-content').innerHTML;
      var feature_content = feature_content.replace(/<p>/gi, '').replace(/<\/p>/gi, '');
      var content_length  = feature_content.length;

      feature_teaser_excerpt.innerHTML      = content_length > 250 ? feature_content.substr(0, 250) + '...' : feature_content;

      feature_large_image.onload = null;

    }

    feature_large_image.src = '/images/featured/' + feature_number + '.jpg';


    if( !feature_load ) {
    // Set a new timer for the next rotation unless this was a
    // manual request, in which case the automated cycle stops

      feature_timer = setTimeout('feature_rotate()', 7000);

    // ! new timer?
    } else { clearTimeout(feature_timer); }

  }

} // ! feature_rotate()





window.onload = function() {

  feature_rotate();

}
