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


	var togglerStates = fce_accordion_getPagesTogglerStates();
	var currentURIhash = tx_ivprjmisc_div.getStatefulUriHash()[1];

		// jedem Element, dass ein "do-accordion" als Klasse
		// enthält, die Akkordion-Funktionalität applizieren:
	$$('.do-accordion').each(function(item, accIndex) {	//return;

		var URIhashID = item.getParent('[id^=cuid]').get('id').match(/\d+$/);
		var displayContentID = currentURIhash.get('acc'+URIhashID);
		var displayIndex = item.getElements('h3').get('class').indexOf('cuid'+displayContentID);

		//obsolete due to use of indexOf... if(displayIndex === null) displayIndex = -1;

		new Accordion(item, item.getElements('h3').setStyles({'cursor':'hand','cursor':'pointer'}), item.getElements('div.accordion-element'), {
			display:    displayIndex,
			opacity:    false,
			alwaysHide: true,
			onActive:   function(toggler, element) {
				toggler.addClass('toggleropen');
				element.addClass('elementopen');
			},
			onBackground: function(toggler, element) {
				toggler.removeClass('toggleropen');
				element.removeClass('elementopen');
			}
		});


			// den Wrapper-Link des Toggler-h3 mit einem "statischen" Link
			// belegen:
		item.getElements('h3 a').each(function(aItem, aIndex) {
			var togglerIndex = aItem.getParent('[class^=cuid]').get('class').match(/\d+\b/);
			aItem.set('href', tx_ivprjmisc_div.getStatefulUri(togglerStates.set('acc'+URIhashID, togglerIndex)));
		});
	});

		// (jedem) Drucklink auf der Seite anwenden, beim Klicken das Accordion zu öffnen.
	$$('a.printLink').addEvent('click', function(evt) {
		$$('.do-accordion .accordion-element').setStyle('height','auto');
	});
});



function fce_accordion_getPagesTogglerStates() {

	var ret = $H();

		// jeden Status der Links abfragen:
	$$('.do-accordion').each(function(accItem, accIndex){
		accItem.getElements('h3').each(function(togglerItem, togglerIndex){
			if(togglerItem.hasClass('toggleropen')) {
				ret.set('acc'+accIndex, togglerIndex);
			}
		});
	});

	return ret;
}
