/***********************************************************************************************************************
 * Browser detection
 ***********************************************************************************************************************/
	
	var bn = navigator.appName;
	var bv = navigator.appVersion.substring(0, 1);
	var ie = document.all;
	var ie6 = (ie&&bv==4) ? true : false;
	var ie7 = (ie&&bv==5) ? true : false;
	

/***********************************************************************************************************************
 * DOM Ready
 ***********************************************************************************************************************/

	$(function() {
		if(ie6||ie7)crossbrowserClearfix();
		initSubnav();
		if($('#gmap').length>0) initGMap();
		
	});


/***********************************************************************************************************************
 * Initialise subnavigation.
 ***********************************************************************************************************************/
 
 	function initSubnav(){
		$('.nav').each(function (i){
			$(this).mouseover(function(){
				$(this).find('.sub').css('display','block');
			});
			$(this).mouseout(function(){
				$(this).find('.sub').css('display','none');
			});
		});	
	}
	
	
/***********************************************************************************************************************
 * Google Map
 ***********************************************************************************************************************/
 
	function initGMap(){
		if (GBrowserIsCompatible()) {
			var address = 'Liebigstr. 31a 35037 Marburg Deutschland';
			var point = new GLatLng(50.8038252, 8.7649146);
			var center = new GLatLng(50.805, 8.7649146);
			var geocoder = new GClientGeocoder();
			geocoder.getLatLng(address, function(point){
				//alert(point);		
			});
			
			var map = new GMap2(document.getElementById("gmap"));
			map.setCenter(center, 15);
			map.addControl(new GSmallMapControl());
			
			var marker = createMarker(point);
			map.addOverlay(marker);
		  }	
	}
	
	function createMarker(point) {
		var marker = new GMarker(point);
	  	GEvent.addListener(marker, "click", function() {
			marker.openInfoWindowHtml("<b>GKM Institut f&uuml;r<br/>Gesundheitspsychologie</b><br/>Liebigstr. 31a<br/>35037 Marburg");
		});
	  	return marker;
	}



/***********************************************************************************************************************
 * Crossbrowser Clearfix
 * Only used for browsers, which don't support css element :after (IE6 + IE7)
 * Function searches for all elements with class 'clearfix' and inserts the clean tag at the end
 ***********************************************************************************************************************/
 
	function crossbrowserClearfix(){
		$('.cla').each(function (i){
			$(this).append('<div class="cln"></div>');
		});	 	
	}
	
	
/***********************************************************************************************************************
 * Show and hide layer
 ***********************************************************************************************************************/	
	var layerTimer;
	var layerID;
	
	function showLayer(id){
		layerID = id;
		var obj = $('#layer'+id);
		var layer = obj.find('.layer');
		var decker = obj.find('.decker');
		var cont = obj.find('.cont');
		decker.click(function(e){
			closeLayer(id);					  
		});
		
		//Cross-browser layer correction
		decker.css('height',getPageSize('height')+'px');
		if(ie6) decker.css('width',getPageSize('width')+'px');
		layer.css('marginTop',(getYScroll()+100)+'px');

		obj.fadeIn();
		var overflow = $(window).height() - layer.height() - 100;
		if(overflow<0){
			var newHeight = cont.height()+overflow-50;
			if(newHeight<100)newHeight = 100;
			cont.css('height',newHeight+'px');
			cont.css('overflow','auto');
		}
		clearTimeout(layerTimer);
		layerTimer = setTimeout(vCenterLayer,100);			
	}
	
	function closeLayer(id){
		var obj = $('#layer'+id);
		obj.hide();
		clearTimeout(layerTimer);
	}
	
	function vCenterLayer(){
		var layer = $('#layer'+layerID).find('.layer');
		var decker = $('#layer'+layerID).find('.decker');
		
		if(layer.css('marginTop')!=getYScroll()+100){
			layer.stop();
			layer.animate({marginTop: getYScroll()+100}, 200 );}
			
		if(decker.css('height')!=getPageSize('height')){
			decker.css('height',getPageSize('height')+'px');
			if(ie6) decker.css('width',getPageSize('width')+'px');
		}
			
		clearTimeout(layerTimer);
		layerTimer = setTimeout(vCenterLayer,100);
	}
	
	function getPageSize(type){
		if( window.innerHeight && window.scrollMaxY!='undefined' )  {// Firefox;
			pageWidth = window.innerWidth + window.scrollMaxX;
			pageHeight = window.innerHeight + window.scrollMaxY;
			
		}
		else if(document.body.scrollHeight > document.body.offsetHeight ){	// all but Explorer Mac
			pageWidth = document.body.scrollWidth;
			pageHeight = document.body.scrollHeight;
		}
		else {// works in Explorer 6 Strict, Mozilla (not FF) and Safari
			pageWidth = document.body.offsetWidth + document.body.offsetLeft;
			pageHeight = document.body.offsetHeight + document.body.offsetTop;
		}
		if(type=='height') return pageHeight;
		else return pageWidth;
	}
	
	function getYScroll(){
		var y;
		// Internet Explorer 6, 7 ,8;
		if(ie)  {
			y = document.documentElement.scrollTop;
		}
		// Firefox
		else {
			y = window.pageYOffset;
		}
		return y;
	}
	
	function getScreenSize(type){
		// Internet Explorer 6, 7 ,8;
		if(ie)  {
			screenWidth = document.documentElement.clientWidth;
			screenHeight = document.documentElement.clientHeight;
		}
		// Firefox
		else {
			screenWidth = window.innerWidth;
			screenHeight = window.innerHeight;
		}
		if(type=='height') return screenWidth;
		else return screenHeight;
	}


	


