/**
 * @author anja.niemi
 */
 var interface_navilayer = {
 	init: function() {
		$("#col3_content").prepend("<div id=\"" + "layer"+ "\"></div>");
		$("#layer").hide();
		$(".navilayer").click(this.click);
		$("#overlay").click(this.hideLayer);		
	},
	
	hideLayer: function(){
		$('#overlay').fadeOut();
		$("#layer").hide();
	},
	
	click: function(event) {
		//Normalen Klickevent vom Link unterdrücken
		event.preventDefault();
		//per AJAX die Daten zum gewünschten Menüpunkt holen und im Layer anzeigen				
		$.ajax({
		  url: $(this).attr('href'),
		  async: true,
		  success: function(data) {
		  	var arrPageSizes = _getPageSize();
			$('#overlay').css({
				backgroundColor:	'#000',
				opacity:			0.4,
				width:				arrPageSizes[0],
				height:				arrPageSizes[1]
			}).fadeIn();
			
			$("#layer").css('left', event.pageX-120+"px");
			$("#layer").css('top', event.pageY-320+"px");
			$("#layer").html(data).show();
			
			function _getPageSize() {
				var xScroll, yScroll;
				if (window.innerHeight && window.scrollMaxY) {	
					xScroll = window.innerWidth + window.scrollMaxX;
					yScroll = window.innerHeight + window.scrollMaxY;
				} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
					xScroll = document.body.scrollWidth;
					yScroll = document.body.scrollHeight;
				} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
					xScroll = document.body.offsetWidth;
					yScroll = document.body.offsetHeight;
				}
				var windowWidth, windowHeight;
				if (self.innerHeight) {	// all except Explorer
					if(document.documentElement.clientWidth){
						windowWidth = document.documentElement.clientWidth; 
					} else {
						windowWidth = self.innerWidth;
					}
					windowHeight = self.innerHeight;
				} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
					windowWidth = document.documentElement.clientWidth;
					windowHeight = document.documentElement.clientHeight;
				} else if (document.body) { // other Explorers
					windowWidth = document.body.clientWidth;
					windowHeight = document.body.clientHeight;
				}	
				// for small pages with total height less then height of the viewport
				if(yScroll < windowHeight){
					pageHeight = windowHeight;
				} else { 
					pageHeight = yScroll;
				}
				// for small pages with total width less then width of the viewport
				if(xScroll < windowWidth){	
					pageWidth = xScroll;		
				} else {
					pageWidth = windowWidth;
				}
				arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight);
				return arrayPageSize;
			};
		  }
		});	
	}
 };

//"/indexXMLhttp.cfm?xmlhttpaction=get_cmstext&id="+ naviid + three_way.urlparam

$(document).ready(function(){interface_navilayer.init()});
