
// requires: prototype & scriptaculous
var protoaculous_included = (typeof Prototype != 'undefined' && typeof Scriptaculous != 'undefined');
if (protoaculous_included) {
	
	var activeCampaignSpaceItem = 1;
	
	function campaignSpace_init() {
		var i = 1;
		while ($('campaignSpace_item'+(++i))) {   // this will start the loop at 2 (1st item remains visible)
			$('campaignSpace_item'+i).hide();
		}
		
		// check for autorotate in layoutmode
		var autoRotateSeconds = 0;
		var lms = document.body.className.split(' ');
		for (i = 0; i < lms.length; ++i) {
			if (lms[i].match(/^campaignSpaceAutoRotate_\d+$/))
				autoRotateSeconds = parseInt(lms[i].gsub(/^campaignSpaceAutoRotate_(\d+)/, '#{1}'));
		}
		if (autoRotateSeconds > 0)
			var cs_autoRotatePE = new PeriodicalExecuter(showCampaignSpaceItem.bindAsEventListener(), autoRotateSeconds);
	}
	
	function showCampaignSpaceItem(num) {
		// activate next item if no specific item is set (usually when autorotate is enabled)
		if (typeof num != 'number') {
			num = activeCampaignSpaceItem + 1;
			if (!$('campaignSpace_item'+num)) num = 1;
		}
		if (num == activeCampaignSpaceItem) return;
		if (!$('campaignSpace_item'+num)) return;
		
		new Effect.Fade($('campaignSpace_item'+activeCampaignSpaceItem), {duration: 0.7});
		activeCampaignSpaceItem = num;
		new Effect.Appear($('campaignSpace_item'+activeCampaignSpaceItem), {duration: 0.7, delay: 0.3});
	}
	
	
	Event.observe(window, 'load', campaignSpace_init);
	
}

