window.addEvent('domready', function() {

	//list all teasers
	var teaserlist = $$('.teaser_start .teaser_start_text');
	
	//maximum height
	var maxHeight = 150;
	
	//for each teaser
	teaserlist.each(function(element) {
		
		//dont slide download-teaser and slideshow
		if (element.getElement('.tx-ogvdownlaodteaser-pi1') == null && element.getElement('.tx-ogvslideshow-pi1') == null) { 
		
			//get the teaser-height
			var h = parseInt(element.getStyle('height'));

			//get the hight to scale down
			var firstImg = element.getElement('img') //is there an image?
			if (firstImg == null) {
				//var firstObj = element.getElement('object'); //is there an object?
				var firstObj = element.getElement('embed'); //is there an object?
				if (firstObj == null) {
					var scaleHeight = 1;
				}
				else {
					try {
						var scaleHeight = parseInt(firstObj.getStyle('height'));
						
					} 
					catch (error) {
						var scaleHeight = 150; //for internet explorer ...
					}
					if (h < 150) {
						h = h + 150;
					}
				}
			}
			else {
				var scaleHeight = parseInt(firstImg.getStyle('height'));
			}
						
			// if scaleHeight is 0
			if (scaleHeight < 1) {
				scaleHeight = 1;
			}
			//think of max-height
			if (scaleHeight > maxHeight) {
				scaleHeight = maxHeight;
			}

			
			if (scaleHeight != undefined) {
			
			
				//reduce teaser-heigt to scale-height
				element.setStyle('height', scaleHeight);
				//effect
				element.fxheight = new Fx.Styles(element, {
					duration: 600,
					wait: false
				});
				
				//mouseover and mosueout events for content
				element.addEvent('mouseenter', function(){
					element.fxheight.start({
						'height': h
					});
				});
				
				element.addEvent('mouseleave', function(){
					element.fxheight.start({
						'height': scaleHeight
					});
				});
				//mouseover and mosueout events for footer
				/*var elementFooter = element.getNext();
				if (elementFooter != null) {
					elementFooter.addEvent('mouseenter', function(){
						element.fxheight.start({
							'height': h
						});
					});
					
					elementFooter.addEvent('mouseleave', function(){
						element.fxheight.start({
							'height': scaleHeight
						});
					});
				}*/
				//mouseover and mosueout events for header
				var elementHeader = element.getPrevious();
				if (elementHeader != null) {
					elementHeader.addEvent('mouseenter', function(){
						element.fxheight.start({
							'height': h
						});
					});
					
					elementHeader.addEvent('mouseleave', function(){
						element.fxheight.start({
							'height': scaleHeight
						});
					});
				}
			}
		}
	});
});
