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

	var fbl = $$('#facebookconnect > div.facebookbutton');
	if(fbl.length == 1) {
		var facebookButton = fbl[0];
		facebookButton.setStyle('display', 'block');
		
		var facebookSlide = new Fx.Slide(facebookButton, {
			mode: 'vertical',
			duration: '200ms',
			link: 'cancel'			
		});
		
	   	facebookSlide.hide();
		
		$('facebookconnect').addEvents({	 		
	 		'mouseenter': function(){
	 			facebookSlide.slideIn();
			},
			'mouseleave': function(){
				facebookSlide.slideOut();
			}
		});
	}

    $$('#navigation ul.level1 > li').each(function(liLevel1) {
    	liLevel1.getElements('ul.level2').each(function(ulLevel2) {
    		ulLevel2.setStyle('display', 'block');
    	
    		var myVerticalSlide = new Fx.Slide(ulLevel2, {
    			mode: 'vertical',
    			duration: '300ms',
    			link: 'cancel',
    			overflow: 'hidden'    			
    		});
    	
    		myVerticalSlide.hide();
    	
    		liLevel1.addEvents({
    			'mouseenter': function(){
    				myVerticalSlide.slideIn();
				},
				'mouseleave': function(){
					myVerticalSlide.slideOut();
				}
	 		});
    	});
    });
    
    $$('div.school').each(function(divSchool) {
    	var divContainers = divSchool.getElements('div.school_container');
    	if(divContainers.length > 0) {    
    		divSchool.getElements('img.school_container_trigger').each(function(imgTrigger) {
    			new tecmania.SchoolContainer(divContainers[0], imgTrigger);
	 		});
    	}
    });
    
    $$('#magazine_bg').each(function(div) {
    	div.getElements('span.glossar').each(function(span) {
    		new tecmania.GlossarElement(div, span);
    	});
    }); 
    
});


var tecmania = {
	SchoolContainer: new Class({
		srcPlus: null,
		srcMinus: null,
		open: false,
		imgTrigger: null,
		schoolContainerSlide: null,
		
		initialize: function(divContainer, imgTrigger) {
			this.srcPlus = imgTrigger.get("src");
			this.srcMinus = this.srcPlus.replace("plus", "minus");
			this.imgTrigger = imgTrigger;
						
			divContainer.setStyle("display", "block");
			imgTrigger.setStyle("cursor", "pointer");
			
			this.schoolContainerSlide = new Fx.Slide(divContainer, {
	   			mode: 'vertical',
	   			duration: '300ms',
	   			link: 'cancel',
	   			overflow: 'hidden'    			
	   		});
	   		
	   		
    		this.schoolContainerSlide.hide();
    		
    		imgTrigger.addEvents({
    			'click': function(){
    				if(this.open) {
    					this.open = false;
    					this.imgTrigger.set("src", this.srcPlus);
    					this.schoolContainerSlide.slideOut();
    				} else {
    					this.open = true;
    					this.imgTrigger.set("src", this.srcMinus);
    					this.schoolContainerSlide.slideIn();
    				}
				}.bind(this)
			});
		} 
	}),
	
	GlossarElement: new Class({
	
		initialize: function(container, span) {
			var description = span.get('title');
			
			var tooltip = new Element("div", {
				'class': "glossar-description",
				'styles': {
					'position': "absolute",
					'top': 0,
					'left': 0,
					'visibility': "hidden"
				}
			});
			
			container.appendChild(tooltip);
			
			var cssHackDivTop = new Element("div", {
				'class': "border-top"
			});
			tooltip.appendChild(cssHackDivTop);
			
			cssHackDivBottom = new Element("div", {
				'class': "border-bottom"
			});
			cssHackDivTop.appendChild(cssHackDivBottom);
			
			cssHackDivContent = new Element("div", {
				'class': "content",
				'text': description
			});
			cssHackDivBottom.appendChild(cssHackDivContent);			
			
			var coordinatesSpan = span.getCoordinates(container);
			var coordinatesToolTip = tooltip.getCoordinates();
			
			tooltip.setStyle("top", coordinatesSpan.top - coordinatesToolTip.height);
			tooltip.setStyle("left", coordinatesSpan.left + coordinatesSpan.width / 2  - coordinatesToolTip.width / 2);
			tooltip.setStyle("display", "none");
			tooltip.setStyle("visibility", "visible");
			
			span.erase("title");
			
			span.addEvent('mouseenter', function() {
				tooltip.setStyle("display", "block");
			});
			
			span.addEvent('mouseleave', function() {
				tooltip.setStyle("display", "none");
			});
		}
	})

}


function frmv(input) { 
	if(!$defined(input.frmv)) {
		input.frmv = true;
		input.value = "";
	}
}