$(document).ready(function() {
  $.bannerpromo.init( $( "#block-views-block_hp_feature #feature-banners" ) );
  $.teaserpromo.init( $( "#block-views-block_hp_feature #feature-teasers" ) );
});

$.bannerpromo = {
  init: function( el ) {
    if( el && $( '.feature-banner', el ).length > 1 ) {
      el.promofade({
        speed: 2000,
        timeout: 4000,
        type: 'sequence',
        containerheight: '335px'
      });
      el.click (function () { 
        clearTimeout($.promofade.t);
      });
    }
  }
};

$.teaserpromo = {
  init: function( el ) {
    el.find('.feature-thumbnail-active').hide();
    // reset to highlight 1st 
    el.find('#feature-thumbnail-0').hide(); 
    el.find('#feature-thumbnail-active-0').show();
    el.find('#feature-text-0').toggleClass('active-text');    
    
    if( el && $( '.feature-teaser', el ).length > 1 ) {
      el.children('.feature-teaser').click( function () {  
        var current_index = $("div.feature-teaser").index(this);
        var settings = {
        speed: 2000
        };
        if ( $.promofade.current != current_index ) {
          $.promofade.shownum( $( "#block-views-block_hp_feature #feature-banners .feature-banner" ), settings, current_index);
          $.promofade.current = current_index;
        }
      });
    }
  }
};


$.fn.promofade = function(options) {
    return this.each(function() {   
        $.promofade(this, options);
    });
};

$.promofade = function(container, options) {
    var settings = {
        speed:            2000,
        timeout:          8000,
        containerheight:  'auto',
        runningclass:     'promofade',
        activeclass:      'active'
    };
    if (options) {
        $.extend(settings, options);
    }
    var elements = $(container).children();
    if (elements.length > 1) {
        $(container).css('height', settings.containerheight).addClass(settings.runningclass);
        for (var i = 0; i < elements.length; i++) {
            $(elements[i]).css('z-index', String(elements.length-i)).css('height', settings.containerheight).hide();
        };
        $(elements[0]).show();
        
        $.promofade.current = 0;
        $.promofade.t = setTimeout(
          function() {
            $.promofade.next(elements, settings, 1);
          }, 
          settings.timeout
        );
    }
};

$.promofade.next = function(elements, settings, next) {
    $.promofade.shownum(elements, settings, next);
    $.promofade.current = next;
    next = (next+1) % elements.length;
    $.promofade.t = setTimeout((function() {
        $.promofade.next(elements, settings, next);
    }), settings.timeout);
};

$.promofade.shownum = function(elements, settings, num) {
    clearTimeout($.promofade.t);
    $(elements[$.promofade.current]).fadeOut(settings.speed);
    $(elements[num]).fadeIn(settings.speed, function() {
      $.promofade.remove_filter($(this)[0]);
    });
    $("#block-views-block_hp_feature #feature-teasers").find('#feature-thumbnail-active-' + num).show();
    $("#block-views-block_hp_feature #feature-teasers").find('#feature-thumbnail-' + num).hide();
    $("#block-views-block_hp_feature #feature-teasers").find('#feature-text-' + num).toggleClass('active-text');    
    $("#block-views-block_hp_feature #feature-teasers").find('#feature-thumbnail-active-' + $.promofade.current).hide();
    $("#block-views-block_hp_feature #feature-teasers").find('#feature-thumbnail-' + $.promofade.current).show();
    $("#block-views-block_hp_feature #feature-teasers").find('#feature-text-' + $.promofade.current).toggleClass('active-text');    
};

$.promofade.remove_filter = function(element) {
  if(element.style.removeAttribute){
    element.style.removeAttribute('filter');
  }
};

