var contactSlider = new Class({
	
	sliderElement:null,
	fxs:{},
	height:200,
	visible:false,
	running:false,
	
	initialize:function(){
		
		this.sliderElement = $('contact_slider');
		this.setDimensions();
		
		this.height = this.sliderElement.getStyle('height');
		
		this.setPngs();
		
		this.setFxs();
		this.setMap();
		this.setPrintAction();
		this.setCloseAction();
		
	},
	
	setDimensions:function(){
		var contDim = $('content').getCoordinates();
		
		this.sliderElement.getParent().setStyle('height',contDim.height+8);
		this.sliderElement.getParent().setStyle('margin-top',(contDim.height+12)*-1);
		
		this.sliderElement.setStyle('height',contDim.height+8);
		this.sliderElement.setStyle('margin-top',contDim.height);
	},
	
	setFxs:function(){
		
		this.fxs.marginTween = new Fx.Tween(this.sliderElement, {duration:300, transition:Fx.Transitions.Quad.easeOut});
		
	},
	
	
	showSlider:function(){
		if(this.running) return;
		
		this.running = true;
		this.sliderElement.getParent().setStyle('display','block');
		this.sliderElement.setStyle('visibility','visible');
		this.fxs.marginTween.start('margin-top',0).chain(function(){
			this.visible = true;
			this.running = false;
		}.bind(this));

	},
	
	
	hideSlider:function(){
		if(this.running) return;
		
		this.running = true;
		this.fxs.marginTween.start('margin-top',this.height).chain(function(){
			this.sliderElement.getParent().setStyle('visibility','hidden');
			this.visible = false;
			this.running = false;
		}.bind(this));
	},
	
	toggleSlider:function(){
		if(this.visible){
			this.hideSlider();
		}else{
			this.showSlider();
		}
	},
	
	setMap:function(){
		
	      if (GBrowserIsCompatible()) {
		
	        var map = new GMap2($('map'));
			var point = new GLatLng(49.2378898, 6.9938507);
	        map.setCenter(point, 13);
	        map.setUIToDefault();
	
			// marker
			var marker = new GMarker(point);
			map.addOverlay(marker);
			
			marker.openInfoWindowHtml("<strong>Rapr&auml;ger, Hoffmann &amp; Partner</strong> <br/><br/>Kaiserstrasse 25 A <br/>66111 Saarbr&uuml;cken");
			
			
	      }
	    
	},
	
	setPrintAction:function(){
		$('print_anfahrt').addEvent('click',function(){
			var url = base_url+"Anfahrt-drucken";

			var fenster = window.open(url, "Anfahrtdrucken", "width=650,height=350");
		});
	},
	
	setCloseAction:function(){
		$('close_contact').addEvent('click',function(){
			this.toggleSlider();
		}.bind(this));
	},
	
	setPngs:function(){
		$$('.png').each(function(png){
			// alert(png);
			Browser.fixPNG(png);
		});
	}
	
});


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

	var contact = new contactSlider();
	
	$('nav_Kontakt').getElement('a').addEvent('click',function(ev){
		var ev = new Event(ev);
		ev.stop();
		contact.toggleSlider();
	});

	
});

