// Array für zusätzliche Funktionen die in der js_onload ausgeführt werden sollen
col_onload_functions = new Array();

// Allgemeine Variablen
window_loaded = false;
nav_hover_img = null;
nav_hover_img_event = null;
nav_hover_img_new = null;

// Ausführung von JS Code bevor die Seite geladen ist
js_init();

window.onload = js_onload;

// Initialisierung bevor Seite geladen ist
function js_init () {
	
}

function js_onload(){
	window_loaded = true;

	js_nav_init();

	for (i=0;i<col_onload_functions.length;i++){
		eval(col_onload_functions[i]);
	}
	
	// Resizefunktion aufrufen
	window.onresize = js_resize;
	js_resize();
}

function js_resize(){
	if (window_loaded){
		
	}
}

function js_nav_init(){
	var nav = document.getElementById('nav');
	var uls = nav.getElementsByTagName('UL');
	for(var i = 0; i < uls.length; i++){
		new xMenu1(uls[i], 'mouseover');
	}
}


function xMenu1(menu, openEvent) {
	var isOpen = false;
	if (menu){
		xAddEventListener(menu.parentNode, openEvent, onOpen, false);
	}

	function onOpen() {
		if (!isOpen) {
			js_nav_open(menu);
			xShow(menu);
			HideSelects(xPageX(menu), xPageY(menu), xWidth(menu), xHeight(menu));
			xAddEventListener(document, 'mousemove', onMousemove, false);
			isOpen = true;
		}
	}
	
	function onMousemove(ev) {
		var e = new xEvent(ev);
		contains = (xHasPoint(menu, e.pageX, e.pageY, 0,0,0,0) || xHasPoint(menu.parentNode, e.pageX, e.pageY, 0,0,0,0));
		if(!contains) {
			var submenus = menu.getElementsByTagName('UL');
			for(var i = 0; i < submenus.length; i++){
				if(xHasPoint(submenus[i], e.pageX, e.pageY, 0)) {
					contains = true;
					break;
				}
			}
		}
		if(!contains) {
			xRemoveEventListener(document, 'mousemove', onMousemove, false);
			js_nav_close(menu);
			xHide(menu);
			HideSelects(0, 0, 0, 0);
			isOpen = false;	
		}
	}
	
	function js_nav_open(menu){
		nav_hover_img_new = menu.parentNode.getElementsByTagName('A')[0].getElementsByTagName('IMG')[0];
		if (nav_hover_img && nav_hover_img != nav_hover_img_new){
			if (!nav_hover_img.onmouseout){
				nav_hover_img.onmouseout = nav_hover_img_event;
				nav_hover_img.onmouseout();
				nav_hover_img = null;
				nav_hover_img_event = null;
			}
		}
		if (nav_hover_img_new.onmouseout){
			nav_hover_img = nav_hover_img_new;
			nav_hover_img_event = nav_hover_img.onmouseout;
			nav_hover_img.onmouseout = null;
		}
	}
	
	function js_nav_close(menu){
		nav_out_img = menu.parentNode.getElementsByTagName('A')[0].getElementsByTagName('IMG')[0];
		if (nav_hover_img && nav_hover_img == nav_out_img){
			if (nav_hover_img_event){
				nav_hover_img.onmouseout = nav_hover_img_event;
				nav_hover_img.onmouseout();
				nav_hover_img = null;
				nav_hover_img_event = null;
			}
		}
	}
	
}


function swapImage(element, newimage, direction) {
    var oldsrc = element.src
	element.src = newimage
	if (direction){
		element.onmouseout = null
		element.onmouseover = function (event) { swapImage(this, oldsrc); }
	}
	else{
		element.onmouseover = null;
		element.onmouseout = function (event) { swapImage(this, oldsrc, 1); }
	}
}


function GetDate() {
	obj = document.getElementById("date");
	if (!obj)
		return;
	var jetzt = new Date();
	var Tag = jetzt.getDate();
	if (Tag < 10)
		Tag = "0" + String(Tag);
	var months = new Array("Jänner", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
	var Wochentag = new Array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
	var Jahr = jetzt.getYear();
	if (Jahr < 999)
		Jahr += 1900;
	obj.innerHTML = Wochentag[jetzt.getDay()] + ", <span>" + Tag + ". " + months[jetzt.getMonth()] + " " + Jahr + "</span>";
}


function getAdr(prefix, postfix, text) {
        document.write('<a href="mailto:' + prefix + '@' + postfix + '">' + (text ? text : prefix + '@' + postfix) + '</a>');
}

/*
var popupmenuoldonload = window.onload;
window.onload = function() {
	var nav = document.getElementById('nav');
	var uls = nav.getElementsByTagName('UL');
	for(var i = 0; i < uls.length; i++)
		new xMenu1(uls[i], 0, 'mouseover');
	if(popupmenuoldonload)
		popupmenuoldonload();
}

function xMenu1(menu, mouseMargin, openEvent) {
	var isOpen = false;
	if (menu)
		xAddEventListener(menu.parentNode, openEvent, onOpen, false);

	function onOpen() {
		if (!isOpen) {
			xShow(menu);
			HideSelects(xPageX(menu), xPageY(menu), xWidth(menu), xHeight(menu));
			xAddEventListener(document, 'mousemove', onMousemove, false);
			isOpen = true;
		}
	}
	function onMousemove(ev) {
		var e = new xEvent(ev);
		contains = (xHasPoint(menu, e.pageX, e.pageY, -mouseMargin) || xHasPoint(menu.parentNode, e.pageX, e.pageY, -mouseMargin));
		if(!contains) {
			var submenus = menu.getElementsByTagName('UL');
			for(var i = 0; i < submenus.length; i++)
				if(xHasPoint(submenus[i], e.pageX, e.pageY, -mouseMargin)) {
					contains = true;
					break;
				}
		}
		if(!contains) {
			xHide(menu);
			HideSelects(0, 0, 0, 0);
			xRemoveEventListener(document, 'mousemove', onMousemove, false);
			isOpen = false;
		}
	}
}
*/

var sel;
function HideSelects(x,y,w,h) {
	if(xIE4Up && !xMac) {
		var selx, sely, selw, selh, i
		if(!sel)
			sel = document.getElementsByTagName("SELECT");
		for(i = 0; i < sel.length; i++) {
			selx = xPageX(sel[i]);
			sely = xPageY(sel[i]);
			selw = sel[i].offsetWidth;
			selh = sel[i].offsetHeight;
			sel[i].style.visibility = (selx + selw > x && selx < x + w && sely + selh > y && sely < y + h) ? "hidden" : "visible";
		}
	}
}

// Leerzeichen hinten und vorne bei einem String Objekt wegschneiden
function js_trim(string) {
	return string.replace(/^\s*|\s*$/,'');
}


function js_checkEmail(val) {
	if (val) {
		var usr = "([a-zA-Z0-9][a-zA-Z0-9_.-]*|\"([^\\\\\x80-\xff\015\012\"]|\\\\[^\x80-\xff])+\")";
		var domain = "([a-zA-Z0-9][a-zA-Z0-9._-]*\\.)*[a-zA-Z0-9][a-zA-Z0-9._-]*\\.[a-zA-Z]{2,5}";
		var regex = "^"+usr+"\@"+domain+"$";
		var myrxp = new RegExp(regex);
		var check = (myrxp.test(val));
		if (check!=true) {
			return false;
		}
		else {
			return true;
		}
	}
}

/*printjob*/
function printjob() {
	if (document.all && (navigator.appVersion.indexOf("Mac") != -1)) {
		self.focus();
		alert("Drucken-Funktion unter Macintosh nicht moeglich! \nBitte verwenden Sie Datei/Drucken");
	} else {
		if (document.all && navigator.appVersion.substring(22,23)==4) {
			self.focus();
			var OLECMDID_PRINT = 6;
			var OLECMDEXECOPT_DONTPROMPTUSER = 2;
			var OLECMDEXECOPT_PROMPTUSER = 1;
			var WebBrowser = '<object id="WebBrowser1" width="0" height="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></object>';
			document.body.insertAdjacentHTML('beforeEnd',WebBrowser);
			WebBrowser1.ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSER);
			WebBrowser1.outerHTML = '';
		} else{
			self.focus();
			window.print();
		}
	}
}


function js_search_submit() {
	search_ok = false;
	obj = document.getElementById('form_search_words');
	obj.value = 'nicht aktiv'
	return false;
	if (obj){
		if (js_trim(obj.value).length>0) {
			search_ok = true;
		}
	}
	if (search_ok){
		return true;
	}
	else {
		obj.focus();
		return false;
	}
}
