﻿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');
	});
	
	$$('.toggler').addEvent('mouseenter', function() { this.fireEvent('click'); });

	accordion = new Accordion($('accordion'), $$('.toggler'), $$('.element'), {
		fixedHeight: 112,
		fixedWidth: 150,
		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) {
                           (function() { $clear(internalTimer); }).delay(500);
                           parent.display( 0 );
                     } else {
                       parent.display(nextEl);
                       internalCounter+=1;
                     }
				}).delay(2000);
			} else {
				$clear(internalTimer);	
			 }
		}
	});
});
