
window.name = 'mainwindow';
var makeAbsolute = function(btn, slider) {
	if(Browser.Engine.trident != undefined && Browser.Engine.trident == true && Browser.Engine.version == 4) {

		if(this.wrapper.style.position != 'absolute') {
			extraH = 5;
			extraV = 6;
		} else {
			extraH = 0;
			extraV = 0;
		}
		
		slider = $(slider);
		slider.style.position = 'absolute';
		
		position = $(btn).getCoordinates();
		
		slider.style.left = (position.left + extraH) + 'px';
		slider.style.top = (position.bottom - extraV) + 'px';
		
	}
}
function slider(btn, slider) {
	$(btn).addEvents({
		'mouseenter': function(e){
			e = new Event(e);
			slider = $(slider);
			slider.style.display = 'block';
			e.stop();
		},
		'mouseleave': function(e){
			e = new Event(e);
			slider = $(slider);
			slider.style.display = 'none';
			e.stop();
		}
	});
}

var logID = 0;
var logIsActive = false;
var logKeyStrokes = false;
var logFirstRun = true;
var add_log = function(content) {
	if(logIsActive === true) {
		logID++;
		sc_T = $('debugList').scrollTop;
		sc_H = $('debugList').scrollHeight;
		
		debug_li = document.createElement("li");
		debug_li.innerHTML=content;
		debug_li.id = 'log_' + logID;
		$('debugList').appendChild(debug_li);
		
		if(sc_T == (2 + sc_H - parseInt($('debugList').getCoordinates().height))) {
			$('debugList').scrollTop = $('debugList').scrollHeight;
		}
	}
	return logID;
};
Element = Class.refactor(Element, {
	hasChildren : function(tagName) {
		children = this.getChildren();
		if(children.length > 0) {
			for(i = 0; i < children.length; i++) {
				if(children[i].get('tag') == tagName) {
					return true;
				}
			}
		}
		return false;
	}
});

var fallback_size = 0;
var initSize = function() {

	max			= window.getHeight();
	sizeHeader	= $('header').getCoordinates()
	sizeHeader	= sizeHeader.height;
	sizeHeaderBar = $('headerBar').getCoordinates()
	sizeHeaderBar = sizeHeaderBar.height;
	
	var sizeContent	= max - sizeHeader - sizeHeaderBar;
	
	
	wrapper = $('pageWrapper');
	
	dim_pageWrapper = wrapper.getCoordinates()
	ssz_pageWrapper = wrapper.getScrollSize();
	if(ssz_pageWrapper.y >= sizeContent) {
		$('pageWrapper').style.height = sizeContent + 'px';
	}
};

var init = function () {
	fallback_size = window.getHeight();
	initSize();		
	makeAbsolute('section_koepfe', 'sub_koepfe');
	makeAbsolute('section_politik', 'sub_politik');
	makeAbsolute('section_aktuell', 'sub_aktuell');
	makeAbsolute('section_termine', 'sub_termine');
	makeAbsolute('section_links', 'sub_links');
	makeAbsolute('section_kontakte', 'sub_kontakte');
}

var init_fallback = function () {
	if(fallback_size != window.getHeight()) {
		init();
	}
};


window.addEvent('domready', function() {
	// navigation
	
	slider('section_koepfe', 'sub_koepfe');
	slider('section_politik', 'sub_politik');
	slider('section_aktuell', 'sub_aktuell');
	slider('section_termine', 'sub_termine');
	slider('section_links', 'sub_links');
	slider('section_kontakte', 'sub_kontakte');
	

	var rotHeuteImages = {
		inactive:	$('imgRotHeute').src,
		active:		$('imgRotHeute').src.replace(/rotheute/, "rotheute_active")
	};
	
	$$('.submenu > li').each(function(li) {
		if(!li.hasChildren('a')) {
			li.style.padding='3px';
		}
	});
	
	$$('.submenu > li').each(function(li) {
		li.addEvents({
			'mouseenter': function(e) {
				e = new Event(e);
				if(!e.target.hasChildren('a')) {
					e.target.addClass('active');
				}
				if(e.target.hasChildren('span')) {
					spanEl = e.target.getChildren('span');
					spanEl.removeClass('spd');
				}
			},
			'mouseleave': function(e) {
				
				if(!e.target.hasChildren('a')) {
					e.target.removeClass('active');
				}
				if(e.target.hasChildren('span')) {
					spanEl = e.target.getChildren('span');
					spanEl.addClass('spd');
				}
			}
		});
	});
	
	$$('.submenu > li > a').each(function(a) {
		a.addEvents({
			'mouseenter': function(e) {
				img = e.target.getChildren()[0];
				if(typeof(img) == 'object') {
					img.src = rotHeuteImages.active;
				}
				if(e.target.hasChildren('span')) {
					spanEl = e.target.getChildren('span');
					spanEl.removeClass('spd');
				}
			},
			'mouseleave': function(e) {
				img = e.target.getChildren()[0];
				if(typeof(img) == 'object') {
					img.src = rotHeuteImages.inactive
				}
				if(e.target.hasChildren('span')) {
					spanEl = e.target.getChildren('span');
					spanEl.addClass('spd');
				}
			}
		});
	});
	/*
	$$('.submenu > li > a > span').each(function(a) {
		a.addEvents({
			'mouseenter': function(e) {
				e = new Event(e);
				el = e.target;
				el.removeClass('spd');
			},
			'mouseleave': function(e) {
				e = new Event(e);
				el = e.target;
				el.addClass('spd');
			}
		});
	});
	*/
	
	init();
	window.addEvent('resize', init);
	// fallback
	setInterval("init_fallback()", 250);
	
	
	
	
	
	
	window.addEvent('keydown', function(event){
		if (event.code==113 && event.shift) {
			if(logIsActive == false) {activate_log();}
			else {deactivate_log();}
		}
		if(logIsActive == true && logKeyStrokes == true) {
			extended = "";
			if(event.shift) {extended += "shift + ";}
			if(event.control) {extended += "control + ";}
			if(event.alt) {extended += "alt + ";}
			if(event.meta) {extended += "meta + ";}
			add_log(extended + event.code);
		}
	});
	

	if(Browser.Engine.trident != undefined && Browser.Engine.trident == true && Browser.Engine.version == 4) {
		$('header').style.position='static';
	}
});

var activate_log = function () {
	logIsActive = true;
	if(logFirstRun == true) {
		
		debugBox = document.createElement("ul");
		debugBox.className = 'debugList'; 
		debugBox.id = 'debugList';
		document.getElementsByTagName('body')[0].appendChild(debugBox);
		
		logFirstRun = false;
	} else {
		$('debugList').style.display='block';
	}
}
var deactivate_log = function () {
	logIsActive = false;
	$('debugList').style.display='none';
}




