var scrollers = new Array();
var accordionStarted = 0;
var accordion;
var internalCounter = 0;
var autoAccordion = 1;
var internalTimer;

window.addEvent('domready', function() {

	var elements = $('accordion').getElements('.element');
	elements.each(function(item, key) {
		var scroller = new Fx.Scroll(item, {
			duration: 0
		});
		var itemId = item.id;
		scrollers[itemId] = scroller;
	});
	
	$$('.toggler').addEvent('click', function() {
		autoAccordion = 0;
	});
	
	$$('.toggler').addEvent('mouseenter', function() {
		this.addClass('hover');
	});

	$$('.toggler').addEvent('mouseleave', function() {
		this.removeClass('hover');
	});

	accordion = new Accordion($('accordion'), $$('.toggler'), $$('.element'), {
		fixedHeight: 180,
		fixedWidth: 230,
		onActive: function(toggler, element) {
			if (accordionStarted == 0) {
				accordionStarted = 1;
			} else {
				var id = element.id;
				// Get current scroll offset
				var offset = element.getScroll().y;
				
				// If scrolloffset is more then total div height, scrolloffset = 0 (restart)
				if ((offset + 260) >= element.getScrollSize().y) {
					var newOffset = 0;
				} else {
					var newOffset = offset + 250;	
				}
				
				// Set the scroller
				scrollers[id].set(0, newOffset);
			}
			var parent = this;
			if (autoAccordion == 1) {
				internalTimer = (function() {
					  var nextEl = internalCounter + 1;
					  if (nextEl >= parent.togglers.length) {
							internalCounter = 0;
							parent.display(0);
					  } else {
						parent.display(nextEl);
						internalCounter+=1;
					  }
				}).delay(3000);
			} else {
				$clear(internalTimer);	
			}
		}
	});
});