// Globale Variablen
var elems				= Array();
var hoehen			= Array();
var geschlossen	= Array();
var morphs			= Array();

// Hooks
onloadHooks.push(function(){
	tx_igpresse_pi1_onload();
});

// Load-Funktionen
function tx_igpresse_pi1_onload(){
	elems = $$('.pressemitteilung');
	getDimensions();
	closeAll();
	addAllEvents();
}

function getDimensions(){
	for(var i = 0; i < elems.length; i++){
		hoehen[i] = elems[i].getChildren()[1].getCoordinates()['height']; // inhaltshoehen für morph
	}
}

function closeAll(){
	for(var i = 0; i < elems.length; i++){
		if(i){
			elems[i].getChildren()[1].setStyles({
				'height'		: 0,
				'overflow'	: 'hidden'
			});
			geschlossen[i] = 1;
		}else{
			elems[i].getChildren()[1].setStyles({
				'overflow'	: 'hidden'
			});
			geschlossen[i] = 0;
		}
	}
}

function addAllEvents(){
	for(var i = 0; i < elems.length; i++){
		elems[i].getChildren()[0].addEvent('mouseover', function(){
			var elemid = this.getParent().getProperty('id');
			setOpen(elemid);
		});
	}
}

function setOpen(elemid){
	for(var i = 0; i < elems.length; i++){
		morphs[i] = new Fx.Morph(elems[i].getChildren()[1],
				{ duration: 350, transition: Fx.Transitions.Sine.easeOut	});
		
		if(elems[i].getProperty('id') == elemid){
			if(geschlossen[i] == 1){
				geschlossen[i] = 0;
				morphs[i].start({
					'height' : [0, hoehen[i]]
				});
			}
		}else{
			if(geschlossen[i] == 0){
				elems[i].getChildren()[1].setStyles({	'overflow'	: 'hidden'	});
				geschlossen[i] = 1;
				morphs[i].start({
					'height' : [hoehen[i], 0]
				});
			}
		}
	}
}
