function switchToCalendarItem(group, idx) {
	if(!$('calendarFx-'+group+'-'+idx)) idx = 0;
	var navitem = $('calendarFx-'+group+'-'+idx).getParent('div.navitem');
	var visible = navitem.retrieve('visibleCalendarItem');
	if(idx!=visible) {
		navitem.getElement('h2 a').get('tween').start('opacity', 0);
		$('calendarFx-'+group+'-'+visible).get('tween').start('opacity', 0).chain( function () { 
			$('calendarFxControl-'+group+'-'+visible).removeClass('active');
			this.start('display', 'none'); 
		});
		$('calendarFx-'+group+'-'+idx).get('tween').start('display', 'block').chain( function () { 
			navitem.getElement('h2').set('html', $('calendarFx-'+group+'-'+idx).retrieve('heading'));
			navitem.getElement('h2 a').get('tween').start('opacity', 1);
			this.start('opacity', 1); 
			$('calendarFxControl-'+group+'-'+idx).addClass('active');
		});
		navitem.store('visibleCalendarItem', idx);
	}
}

function playCalendarItems(group) {
	var navitem = $('calendarFx-'+group+'-0').getParent('div.navitem');
	var visible = navitem.retrieve('visibleCalendarItem');
	if(navitem.retrieve('is_playing') == true) {
		var next = visible+1;
		switchToCalendarItem(group, next);
		setTimeout(function () {playCalendarItems(group)}, navitem.retrieve('view_time'));
	}
}

window.addEvent('domready', function () {
	$$('#pagecopy .latest').each(function (latestblock, i) {
		var navitem = latestblock.getParent('div.navitem');
		navitem.store('visibleCalendarItem', 0);

		navitem.addClass('hasCalendarEffects');
		var navswitcher = new Element('ul', {
			'class':'switcher'
		});
		navswitcher.inject(latestblock);
		latestblock.getElements('li.blog').each(function (blogpreview, j) {
			blogpreview.store('heading', blogpreview.getElement('h3').get('html'));
			blogpreview.set('id', 'calendarFx-'+i+'-'+j);

			var navswitcherelement = new Element('li').grab(blogpreview.getElement('h3').clone());
			navswitcherelement.set('id', 'calendarFxControl-'+i+'-'+j);
			navswitcherelement.getElement('a').addEvent('click', function (ev) {
				ev.stop();
				switchToCalendarItem(i, j);
			});
			if(j==0) {
				navswitcherelement.addClass('active');
			}

			navswitcher.grab(navswitcherelement);
			blogpreview.getElement('h3').destroy();

			if(j==0) {
				navitem.getElement('h2').set('html', blogpreview.retrieve('heading'));
			} else {
				blogpreview.setStyles({
					'display': 'none',
					'opacity': '0'
				});
			}
		});
	});
});
window.addEvent('load', function () {
	$$('.hasCalendarEffects').each( function (navitem, i) {
		navitem.store('is_playing', calendarEffectsIsPlaying);
		navitem.store('view_time', calendarEffectsViewTime);
		
		navitem.addEvent('mouseover', function () {
			navitem.store('is_playing', false);
		});
		
		if(navitem.retrieve('is_playing')==true) setTimeout(function () {playCalendarItems(i)}, navitem.retrieve('view_time'));
	});
});

