
var wiki_url = '/help/?';
var loaded = false ;
var dontopen=false;
var zurueck;
var zurueck_func;
var naviover = "/images/dummy.gif";
var new_messages = 0;
var form_modified = false;
top.window.new_messages = new_messages;

var language;
	
function initialize_language(lang) {
	language = lang;
}

function get_language() {
	if(language) return language;
	
	return lang;
}

function over(imgName,imgTyp) {
	if (navigator.appName == "Microsoft Internet Explorer" || (navigator.appName.search(/opera/i)+1)) {
		if (document.images && document.images[imgName]) {
			zurueck = document.images[imgName].src;
			document [imgName].src = eval(imgTyp + ".src");
		}
	}
	if (navigator.appName == 'Netscape' && navigator.appVersion.substring(0,1) < 5) {
		if (document.images && document.images[imgName]) {
			zurueck = document.images[imgName].src;
			document [imgName].src = eval(imgTyp + ".src");
		}
	}
	if (navigator.appName == 'Netscape' && navigator.appVersion.substring(0,1) > 4) {
		if (document.images && document.images[imgName]) {
			zurueck = document.images[imgName].src;
			document.images[imgName].src = eval(imgTyp + ".src");
		}
	}
}

function overFunction(imgName,imgTyp) {
	if (navigator.appName == "Microsoft Internet Explorer" || (navigator.appName.search(/opera/i)+1)) {
		if (document.images && document.images[imgName]) {
			zurueck_func = document.images[imgName].src;
			document [imgName].src = eval(imgTyp + ".src");
		}
	}
	if (navigator.appName == 'Netscape' && navigator.appVersion.substring(0,1) < 5) {
		if (document.images && document.images[imgName]) {
			zurueck_func = document.images[imgName].src;
			document [imgName].src = eval(imgTyp + ".src");
		}
	}
	if (navigator.appName == 'Netscape' && navigator.appVersion.substring(0,1) > 4) {
		if (document.images && document.images[imgName]) {
			zurueck_func = document.images[imgName].src;
			document.images[imgName].src = eval(imgTyp + ".src");
		}
	}
}

function layerover(imgName,menu) {
	if(navigator.appName == "Microsoft Internet Explorer" || (navigator.appName.search(/opera/i)+1)) {
		if (document.images && document.images[imgName]) {
			zurueck = document.images[imgName].src;
			document [imgName].src = "/images/navi/dot-active.gif";
		}
	}
	if(navigator.appName == 'Netscape' && navigator.appVersion.substring(0,1) < 5) {
		if(document.images) {
			zurueck = document.layers[menu].document.images[imgName].src;
			document.layers[menu].document.images[imgName].src = "/images/navi/dot-active.gif";
		}
	}
	if (navigator.appName == 'Netscape' && navigator.appVersion.substring(0,1) > 4) {
		if (document.images) {
			zurueck = document.images[imgName];
			document.images[imgName].src = "/images/navi/dot-active.gif";
		}
	}
}

function out(imgName) {
	if (!zurueck) {
		zurueck = "/images/navi/dot.gif";
	}
	if (document.images) {
		if (document[imgName]) {
			document[imgName].src = zurueck;
		}
		zurueck = 0;
	}
}

function outFunction(imgName) {
	if (document.images) {
		document[imgName].src = zurueck_func;
		zurueck_func = 0;
	}
}

function layerout(imgName,menu) {
	if (navigator.appName == "Microsoft Internet Explorer" || (navigator.appName.search(/opera/i)+1)) {
		if (document.images) {
			document [imgName].src = zurueck;
			zurueck=0;
		}
	}
	if (navigator.appName == 'Netscape' && navigator.appVersion.substring(0,1) < 5 ) {
		if (document.images) {
			document.layers[menu].document.images[imgName].src = zurueck;
			zurueck=0;
		}
	}
	if (navigator.appName == 'Netscape' && navigator.appVersion.substring(0,1) > 4) {
		if (document.images) {
			document.images[imgName].src = "/images/navi/dot.gif";
			zurueck = 0;
		}
	}
}

/* ul aufklappen (alle Eintraege anzeigen) */
function expandList (ident) {
	var list = document.getElementById(ident);
	if (list) {
		var listentries = list.getElementsByTagName("li");
		if(!listentries || !listentries.length) listentries = list.getElementsByTagName("div");
		if(!listentries) return;
		for (i = 0; i < listentries.length; i++) {
			listentries[i].style.display = "block";
		}
	}
}

/* ul einklappen (nur number-Eintr?ge anzeigen) */
function shortenList (ident, number) {
	var list = document.getElementById(ident);
	if (list) {
		var listentries = list.getElementsByTagName("li");
		if(!listentries || !listentries.length) listentries = list.getElementsByTagName("div");
		if(!listentries) return;
		for (i = 0; i < listentries.length; i++) {
			var show = "block";
			if (i >= number) {
				show = "none";
			}
			listentries[i].style.display = show;
		}
	}
}

function showPathInfo(event,x,y,offX,offY,layerid) {
	if (navigator.appName == "Microsoft Internet Explorer" || (navigator.appName.search(/opera/i)+1)) {
		document.all[layerid].style.left = window.event.clientX;
		document.all[layerid].style.top = window.event.clientY;
		document.all[layerid].style.visibility = "visible";
	}
	if (navigator.appName == 'Netscape' && navigator.appVersion.substring(0,1) < 5){
		document.layers[layerid].left = x + 70;
		document.layers[layerid].top = y + 10;
		document.layers[layerid].visibility = "show";
	}
	if (navigator.appName == 'Netscape' && navigator.appVersion.substring(0,1) > 4){
		document.getElementById(layerid).style.left = offX + 70;
		document.getElementById(layerid).style.top = offY + 10;
		document.getElementById(layerid).style.visibility = "visible";
	}
}

function hidePathInfo(layerid) {
	if (navigator.appName == "Microsoft Internet Explorer" || (navigator.appName.search(/opera/i)+1)) {
		document.all[layerid].style.visibility = "hidden";
	}
	if (navigator.appName == 'Netscape' && navigator.appVersion.substring(0,1) < 5){
		document.layers[layerid].visibility = "hidden";
	}
	if (navigator.appName == 'Netscape' && navigator.appVersion.substring(0,1) > 4){
		document.getElementById(layerid).style.visibility = "hidden";
	}
}

function openHelp(file, title, branchmark) {
	popup =
	window.open('/static/popup/'+file+'.html#'+branchmark, title, "width=415,height=195,scrollbars=yes,resizable=yes,statusbar");
}
function openBigHelp(file, title, branchmark) {
	popup =
	window.open('/static/popup/'+file+'.html#'+branchmark, title, "width=615,height=495,scrollbars=yes,resizable=yes,statusbar");
}
var popup;

function openWin(path,w,h,title, noUrlChange) {
	return _openWin(path,w,h,title, noUrlChange);
}
function _openWin(path,w,h,title, noUrlChange) {
	function _calcSize(length, maxLength) {
		length = parseInt(length);
		return parseInt(maxLength / 100 * length) * 1;
	}
	if ( ((!w) && (!h)) || (w + h == '') ) {
		w = 420;
		h = 300;
	}
	// Undefinierte Variablen nicht zulassen
	w = new String(w);
	h = new String(h);
	if(h.search(/%/) != -1) h = _calcSize(h, screen.availHeight);
	if(w.search(/%/) != -1) w = _calcSize(w, screen.availWidth);
	if(noUrlChange != 'true') {
		if (path.indexOf("sessionid") == -1) {
			if (path.indexOf("propose_keywords") == -1 && path.indexOf("recommend.shtml") == -1) {
				if (path.indexOf("?") != -1) {
					path = path +"&sessionid="+sessionid;
				} else {
					path = path +"?sessionid="+sessionid;
				}
			}
		}
		if(path.search(/\/chat[^a-zA-Z0-9]/) == -1) path = path + "&style=popup";
	}
	if (!title) {
		popup = window.open(path,"_blank","width="+w+",height="+h+",scrollbars=yes,resizable=yes,statusbar");
	} else {
		title = title.replace(/[\-\.]/g, '_');
		popup = window.open(path,title,"width="+w+",height="+h+",scrollbars=yes,resizable=yes,statusbar");
	}
	return false;
}

function openImageWin(path,w,h) {   
	if (!w && !h) {
	  w = 640;
	  h = 480;
	}
	popup = window.open(path, "Bildvorschau", "width="+w+", height="+h+" ,scrollbars=yes,resizable=yes,statusbar");
}

function callHelp(camel) {
	openWin(wiki_url + camel, '800', '80%', '_blank', 'true');
	return false;
}
	
function recommendPage(path, refsite, w, h, title) {
	openWin(path + encodeURIComponent(refsite),w,h,title);
}

function bookmark () {
	var url = document.URL;
	var title = document.title;
	
	if (navigator.appName == "Microsoft Internet Explorer" || (navigator.appName.search(/opera/i)+1)) {
		url = splitUrl(url);
	}
	if ( (navigator.appName == "Microsoft Internet Explorer") && (navigator.userAgent.indexOf("Opera") == -1) ) {
		window.external.AddFavorite(url, title);
	}	
	if ((navigator.appName != "Microsoft Internet Explorer") || (navigator.userAgent.indexOf("Opera") != -1)) {
		var ff = openWin('/static/popup/bookmark.html',500, 400, 'bookmark');
	}
}

function splitUrl(url) {
	var splitted;
	var splitted_params;
	var params = "";
	var separator = "?";
	
	if (url.indexOf("?") != -1) {
		splitted = url.split('?');
		if (splitted[1].indexOf('&') != -1) {
			splitted_params = splitted[1].split('&');
		} else {
			var splitted_params = new Array();
			splitted_params[0] = splitted[1];
			separator = "";
		}
		for (var i=0; i<splitted_params.length; i++) {
			if (splitted_params[i].indexOf("session") == -1 && (!splitted_params[i] != "undefined") && (splitted_params[i].indexOf("refsite") == -1) ) {
				params += splitted_params[i] + "&";
			}
		}
		params = params.substring( 0, params.length -1 );
	
		url = splitted[0] + separator + params;
	}
	return url;
}

function initmessages() {
	if(document.layers) {
		checkmessages();
		var aktiv = window.setInterval("checkmessages()",10000);
	}
}

function checkmessages() {
	if(document.layers) {
		if (document.images && document.images["check_messages"]) {
			var date = new Date();
			document.images["check_messages"].src = "/checkmsg?sessionid=" + sessionid + '&time=' +date.getTime();
		}
	}
}

function showMessages() {
	return show_messages();
}

function show_messages() {
	var date = new Date();
	var pfad = "/personal/messages?sessionid=" + sessionid + '&time=' +date.getTime();
	openWin(pfad,'580','400');
	if(top.window.document.images && top.window.document.images['check_messages']) {
		top.window.new_messages = 0;
		top.window.document.images['check_messages'].src='/images/buttons/mail.gif';
	} else if (document.getElementById('fn_mail')) {
		document.getElementById('fn_mail').src = '/images/header/fn_mail.gif';
	}
	
}
function checkSearchForm(tpl, dontCheckWords) {
	return _checkSearchForm(tpl, dontCheckWords)
}
function _checkSearchForm(tpl, dontCheckWords) {
	/* Nur pruefen, wenn gewuscnht */
	if(!dontCheckWords) {
		if (tpl) {
			if (document.forms[tpl].words.value == "") {
				alert('Bitte geben Sie zuerst einen Suchbegriff ein!');
				return false;
			}
		} else {
			if (document.forms.suche && document.forms.suche.words && document.forms.suche.words.value == "") {
				alert('Bitte geben Sie zuerst einen Suchbegriff an!');
				return false;
			}
		}
	}
	if(document.forms[tpl]) {
		var before = 0;
		var after = 0;
		if(document.forms[tpl].filter_last_mod_after) {
			after = document.forms[tpl].filter_last_mod_after.value.toString();
		}
		if(document.forms[tpl].filter_last_mod_before) {
			before = document.forms[tpl].filter_last_mod_before.value.toString();
		}
		if(after && before) {
			var a = new Array();
			var b = new Array();
			if(after.search(/^(\d+)[\.\-,](\d+)[\.\-,](\d+)$/) != -1) {
				a[0] = RegExp.$3;
				a[1] = RegExp.$2;
				a[2] = RegExp.$1;
			}
			if(before.search(/^(\d+)[\.\-,](\d+)[\.\-,](\d+)$/) != -1) {
				b[0] = RegExp.$3;
				b[1] = RegExp.$2;
				b[2] = RegExp.$1;
			}
			var error = 0;
			for(var i = 0; i <= 2; i++) {
				if(a[i] > b[i]) {
					error = 1;
					break;
				}
				if(a[i] == b[i]) continue;
				if(a[i] < b[i]) break;
			}
			if(error) {
				alert('Bei den Angaben "Nur Treffer Zeigen, die vor/nach diesem Datum bearbeitet wurden" haben Sie wiedersprüchliche Angaben gemacht. Die Suche ergibt keine Treffer');
				return false;
			}
		}
	}
	
	if(document.searchSuggestRequestSend == 0) {
		document.searchSuggestRequestSend = 1;
	}
	return true;
}

var values = new Array();

function validateForm(mS) {
	var $check = 0;
	for (var i=0; i<document.forms.length; i++) {
		if (document.forms[i].name == "item") {
			$check++;
		}
	}
	if (mS == "0" && $check > 0) {
		saveValues();
		return;
	}
	if (mS == "1" && $check > 0) {
		return true;
	} 
	if (mS == "1" && $check == 0) {
		return false;
	}
}

function saveValues() {
	for (var i=0; i<document.item.elements.length;i++) {
		values[i] = document.item.elements[i].value;
	}
}

function monitorStatus(type,item_id,id,action) {
	delCookie();
	remember();
	return killType(type,item_id,id,action);
}

function killType(type,item_id,id,action,doalert) {
	if (type == "file") {
		if (confirm('Achtung: M?chten Sie die zugeordnete Datei wirklich l?schen?')) {
			location.href = "/items/del_file?item_id="+item_id+"&id="+id+"&action="+action;
		} else {
			return;
		}
	}
	if (type == "image") {
		if (confirm('Achtung: M?chten Sie das zugeordnete Bild wirklich l?schen?')) {
			location.href = "/items/del_image?item_id="+item_id+"&id="+id+"&action="+action;
		} else {
			return;
		}
	}
	if (type == "cat") {
		if (confirm('Achtung: M?chten Sie die zugeordnete Kategorie wirklich l?schen?')) {
			location.href = "/items/del_cat?item_id="+item_id+"&id="+id+"&action="+action;
		} else {
			return;
		}
	}
	if (type == "address") {
		if (confirm('Achtung: M?chten Sie die zugeordnete Adresse wirklich l?schen?')) {
			location.href = "/items/del_address?item_id="+item_id+"&id="+id+"&action="+action;
		} else {
			return;
		}
	}
	// Aendern der Kategorie als Hauptkategorie
	if (type == "main_cat") {
		location.href = "/items/set_main_cat?item_id="+item_id+"&id="+id+"&action="+action;
	}
	if(type == "main_file") {
		location.href = "/items/set_main_file?item_id="+item_id+"&id="+id+"&action="+action;
	}
}

	function delCookie() {
		var cookies = new Array( 'title', 'keywords', 'short_description' );
		
		for (var i=0; i<cookies.length; i++) {
			if (getCookie(cookies[i])) {
				document.cookie = cookies[i] + "=0" + ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
			}
		}
	}
	
	function getCookie(name) {
		var start = document.cookie.indexOf(name+"=");
		var len = start+name.length+1;
		
		if ((!start) && (name != document.cookie.substring(0,name.length))) return null;
		if (start == -1) return null;
		var end = document.cookie.indexOf(";",len);
		if (end == -1) end = document.cookie.length;
		return unescape(document.cookie.substring(len,end));
	} 


	function fillValues() {
		// Pruefen, ob skipcookie Parameter uebergeben wurde. Wenn vorhanden, nicht ausfuehren
		if (window.location.search.indexOf("skipcookie") != -1) return false;
		if (get_title_from_cookie()) document.item.title.value = get_title_from_cookie();
		if (document.item.keywords) {
			if (get_keywords_from_cookie()) document.item.keywords.value = get_keywords_from_cookie();
		}
		if (get_short_desc_from_cookie()) document.item.short_description.value = get_short_desc_from_cookie();
		delCookie();
		return false;
	}
	
	function get_title_from_cookie() {
		var cookietext = unescape( document.cookie.toString() );
		
		var title = '';
		if(cookietext.search(/title=([^;]*);/) != -1) {
			title = RegExp.$1;
		}
		return title;
	}
	
	function get_keywords_from_cookie() {
		var cookietext = unescape( document.cookie.toString() );
		
		var keywords = '';
		if(cookietext.search(/keywords=([^;]*);/) != -1) {
			keywords = RegExp.$1;
		}
		return keywords;
	}
	
	function get_short_desc_from_cookie() {
		var cookietext = unescape( document.cookie.toString() );
		
		var short_desc = '';
		if(cookietext.search(/short_description=([^;]*);/) != -1) {
			short_desc = RegExp.$1;
		}
		return short_desc;
	}
	
	function remember() {
		var date = new Date();
		
		if (!document.item) {
			return;
		} else {
			if (document.item.title && document.item.title.value) {
				document.cookie = 'title=' + escape( document.item.title.value.toString() );
			}
			if (document.item.short_description && document.item.short_description.value) {
				document.cookie = 'short_description=' + escape( document.item.short_description.value.toString() );
			}
			if (document.item.keywords && document.item.keywords.value) {
				document.cookie = 'keywords=' + escape( document.item.keywords.value.toString() );
			}
		}
	}


function RememberStep1() {
	var text = unescape( document.cookie.toString() );
	var temp = '';
	var title = '';
	if(text.search(/title=(.+); text=/) != -1) {
		temp = text.replace(/title=(.*); text=/,"d");
		title = RegExp.$1;
	}
	var short_desc = '';
	if(text.search(/(text)=(.*);/) != -1) {
		temp = text.replace(/(text)=(.*);/,"d");
		short_desc = RegExp.$2;
	}
	if((!title && !short_desc) || !document.forms['item'] || !document.forms['item'].title || !document.forms['item'].short_description) {
		return 0;
	}
	document.forms['item'].title.value = title;
	document.forms['item'].short_description.value = short_desc;
	document.cookie = 'title= ;';
	document.cookie = 'text= ;';
}
// Funktion zum Unterbinden von Mehrfachausfuehrungen
var only_once_list = new Array();
function only_once(obj) {
	if(only_once_list[obj.name] == 1) {
		return false;
	}
	if(obj.href) {
		obj.disabled;
		if(obj.style) {
			obj.style.color = "#999999";
			obj.style.textDecoration = "none";
			obj.style.cursor = 'wait';
		}
		only_once_list[obj.name] = 1;
		return true;
	}
	for(var i = 0; ; i++) {
		if(!obj[i]) { break; }
		if(obj[i].type != 'button' && obj[i].type != 'submit') { continue; }
		if(obj[i].name == 'exec_once') {
			obj[i].disabled;
			if(obj[i].style) {
				obj[i].style.backgroundColor = "#CCCCCC";
				obj[i].style.color = "#999999";
				obj[i].style.border = "solid #999999 1px";
			}
		}
	}
	only_once_list[obj.name] = 1;
	return true;
}

function onlyonce(obj) {
	if(only_once_list[obj.name] == 1) {
		return false;
	}
	if(obj.href) {
		obj.disabled;
		if(obj.style) {
			obj.style.color = "#999999";
			obj.style.textDecoration = "none";
			obj.style.cursor = 'wait';
		}
		return true;
	}
	for(var i = 0; ; i++) {
		if(!obj[i]) { break; }
		if(obj[i].type != 'button' && obj[i].type != 'submit') { continue; }
		if(obj[i].name == 'exec_once') {
			obj[i].disabled;
			if(obj[i].style) {
				obj[i].style.backgroundColor = "#CCCCCC";
				obj[i].style.color = "#999999";
				obj[i].style.border = "solid #999999 1px";
			}
		}
	}
	only_once_list[obj.name] = 1;
	return true;
}


/* ADMIN.JS */	
function initializeCounter() {
		if (document.fileedit && document.fileedit.description && navigator.appName =="Netscape") {
			document.captureEvents(Event.KEYPRESS);document.fileedit.description.onkeypress = countFieldValue;
		}
		if (document.item && document.item.short_description && navigator.appName == "Netscape") {
			document.captureEvents(Event.KEYPRESS);document.item.short_description.onkeypress = countFieldValue('item','short_description','Kurzbeschreibung','300');
		}
		if (document.messageform && document.messageform.message && navigator.appName == "Netscape") {
			document.captureEvents(Event.KEYPRESS);document.messageform.message.onkeypress = countFieldValue('messageform','message','Nachricht','300');
		}
	}

function countFieldValue(formname, fieldname, error, maximum) {
	if (!document[formname]||!document[formname][fieldname]) {
		return;
	}
	var wert = maximum - document[formname][fieldname].value.length;
	if (wert < 0) {
		alert("Im Feld "+error+" d?rfen Sie nicht mehr als " + maximum + " Zeichen eingeben!");
		document[formname][fieldname].value = document[formname][fieldname].value.substring(0,maximum);
		wert = maximum - document[formname][fieldname].value.length;
		document[formname].short_descr_counter.value = wert;
		check += 1;
	} else {
		document[formname].short_descr_counter.value = (maximum - 1) - document[formname][fieldname].value.length;
		check = 0;
	}
}

function initializePwMonitor() {
	if (document.forms.useredit && document.forms.useredit.new_password && (navigator.appName == "Netscape" && navigator.appVersion.substring(0,1) < 5)) {
		document.captureEvents(Event.KEYPRESS);document.forms.useredit.new_password.onkeypress = showPW;
	}
}

function showPW() {
	if (navigator.userAgent.indexOf("Linux") == -1) {
		if (navigator.appName == "Microsoft Internet Explorer") {
			document.all.pw_ok.style.left = document.all.alignment.offsetLeft + (document.all.alignment.offsetWidth - document.all.pw_ok.offsetWidth);
			document.all.pw_ok.style.top = document.all.alignment.offsetTop + 3;
			document.all.pw_false.style.left = document.all.alignment.offsetLeft + (document.all.alignment.offsetWidth - document.all.pw_false.offsetWidth);
			document.all.pw_false.style.top = document.all.alignment.offsetTop + 3;

			document.all.pw_toShort.style.left = document.all.alignment.offsetLeft + (document.all.alignment.offsetWidth - document.all.pw_toShort.offsetWidth);
			document.all.pw_toShort.style.top = document.all.alignment.offsetTop + 20;
			document.all.pw_longEnough.style.left = document.all.alignment.offsetLeft + (document.all.alignment.offsetWidth - document.all.pw_longEnough.offsetWidth);
			document.all.pw_longEnough.style.top = document.all.alignment.offsetTop + 20;

			if (document[formname].new_password && document.forms.useredit.new_password.value == document.forms.useredit.verify_password.value) {
				if (navigator.userAgent.indexOf('Opera') != -1) {
					document.images.password_dummy.src = "/images/layout/pwok.gif";
					document.images.passwordcheck.src = "/images/buttons/korrekt.gif";
				} else {
					document.all.pw_false.style.visibility = "hidden";
					document.all.pw_ok.style.visibility = "visible";
					document.images.passwordcheck.src = "/images/buttons/korrekt.gif";
				}
			} else {
				if (navigator.userAgent.indexOf('Opera') != -1) {
					document.images.password_dummy.src = "/images/layout/pwfalse.gif";
					document.images.passwordcheck.src = "/images/buttons/inkorrekt.gif";
				} else {
					document.all.pw_ok.style.visibility = "hidden";
					document.all.pw_false.style.visibility = "visible";
					document.images.passwordcheck.src = "/images/buttons/inkorrekt.gif";
				}
			}
			// ?berpr?fen der L?nge des Passworts und Anzeigen des entsprechenden Layers
			if (document[formname].new_password && document.forms.useredit.new_password.value.length < 6) {
				if (navigator.userAgent.indexOf('Opera') != -1) {
					document.images.password_length_dummy.src = "/images/layout/pw_toShort.gif";
				} else {
					document.all.pw_toShort.style.visibility = "visible";
					document.all.pw_longEnough.style.visibility = "hidden";
				}
			} else {
				if (navigator.userAgent.indexOf('Opera') != -1) {
					document.images.password_length_dummy.src = "/images/layout/pw_longEnough.gif";
				} else {
					document.all.pw_toShort.style.visibility = "hidden";
					document.all.pw_longEnough.style.visibility = "visible";
				}
			}
		}

		if (navigator.appName == "Netscape" && navigator.appVersion.substring(0,1) < 5) {
			document.layers.pw_ok.left = document.layers.alignment.pageX + 155;
			document.layers.pw_ok.top = document.layers.alignment.pageY + 10;
			document.layers.pw_false.left = document.layers.alignment.pageX + 155;
			document.layers.pw_false.top = document.layers.alignment.pageY + 10;

			document.layers.pw_toShort.left = document.layers.alignment.pageX + 155;
			document.layers.pw_toShort.top = document.layers.alignment.pageY + 30;
			document.layers.pw_longEnough.left = document.layers.alignment.pageX + 155;
			document.layers.pw_longEnough.top = document.layers.alignment.pageY + 30;

			if (document[formname].new_password && document.forms.useredit.new_password.value == document.forms.useredit.verify_password.value) {
				document.layers.pw_false.visibility = "hide";
				document.layers.pw_ok.visibility = "show";
				document.images.passwordcheck.src = "/images/buttons/korrekt.gif";
			} else {
				document.layers.pw_ok.visibility = "hide";
				document.layers.pw_false.visibility = "show";
				document.images.passwordcheck.src = "/images/buttons/inkorrekt.gif";
			}
			if (document[formname].new_password && document.forms.useredit.new_password.value.length < 6) {
				document.layers.pw_toShort.visibility = "show";
				document.layers.pw_longEnough.visibility = "hide";
			} else {
				document.layers.pw_toShort.visibility = "hide";
				document.layers.pw_longEnough.visibility = "show";
			}
		}
		if (navigator.appName == "Netscape" && navigator.appVersion.substring(0,1) > 4) {
			document.getElementById('pw_ok').style.left = document.getElementById('alignment').offsetLeft + (document.getElementById('alignment').offsetWidth - document.getElementById('pw_ok').offsetWidth);
			document.getElementById('pw_ok').style.top = document.getElementById('alignment').offsetTop;
			document.getElementById('pw_false').style.left = document.getElementById('alignment').offsetLeft + (document.getElementById('alignment').offsetWidth - document.getElementById('pw_false').offsetWidth);
			document.getElementById('pw_false').style.top = document.getElementById('alignment').offsetTop;

			document.getElementById('pw_longEnough').style.left = document.getElementById('alignment').offsetLeft + (document.getElementById('alignment').offsetWidth - document.getElementById('pw_longEnough').offsetWidth);
			document.getElementById('pw_longEnough').style.top = document.getElementById('alignment').offsetTop + document.getElementById('alignment').offsetHeight;
			document.getElementById('pw_toShort').style.left = document.getElementById('alignment').offsetLeft + (document.getElementById('alignment').offsetWidth - document.getElementById('pw_toShort').offsetWidth);
			document.getElementById('pw_toShort').style.top = document.getElementById('alignment').offsetTop + document.getElementById('alignment').offsetHeight;

			if (document.forms.useredit.new_password && document.forms.useredit.new_password.value == document.forms.useredit.verify_password.value) {
				document.getElementById('pw_false').style.visibility = "hidden";
				document.getElementById('pw_ok').style.visibility = "visible";
				document.images.passwordcheck.src = "/images/buttons/korrekt.gif";
			} else {
				document.getElementById('pw_ok').style.visibility = "hidden";
				document.getElementById('pw_false').style.visibility = "visible";
				document.images.passwordcheck.src = "/images/buttons/inkorrekt.gif";
			}
			if (document.forms.useredit.new_password && document.forms.useredit.new_password.value.length < 6) {
				document.getElementById('pw_toShort').style.visibility = "visible";
				document.getElementById('pw_longEnough').style.visibility = "hidden";
			} else {
				document.getElementById('pw_longEnough').style.visibility = "visible";
				document.getElementById('pw_toShort').style.visibility = "hidden";
			}
		}
     } else {
		return;
	}
}

function setUrl() {
	if (document.forms.recommend && document.forms.recommend.item) {
		document.forms.recommend.item.value = opener.document.title;
	}
}

function loadNewItem() {
	var params = document.location.search.substring(1, document.location.search.length);
	var urlAddon;
	
	document.location.href = "/edit/new"+"?sessionid="+sessionid;
}

function set_modified() {
	form_modified = true;
}
	
// Pruefung, ob verlassen der Seite ohne Formular-Submit, wenn Felder geaendert
function check_modified() {

	if (form_modified == true) {
		return confirm("Bitte beachten Sie: Dateneingaben m?ssen immer mittels des Abschicken-Buttons 'Speichern' oder 'Weiter' am unteren Ende der Seite best?tigt werden, damit diese dauerhaft gespeichert werden k?nnen.\n\nDr?cken Sie auf 'Abbrechen', um dies nun zu erledigen und die Daten zu speichern oder OK um fortzufahren.");
		return false;
	} else {
		return true;
	}
}

function testForm(formname, werte) {
	if (!document.forms[formname].regionalzentrum_ID.disabled) {
		return (checkFormAdmin(formname, werte));
	} else {
		var neueWerte = new Array();
		for (var i=0; i<werte.length-1; i++) {
			neueWerte[i] = werte[i];
		}
		return (checkFormAdmin(formname, neueWerte));
	}
}
function checkFormAdmin(formname, werte) {
	// Texte zu checkFormAdmin()
	txt_1_checkFormAdmin = new Array();
	txt_1_checkFormAdmin["DE"] = 'Bitte füllen Sie alle mit einem Sternchen (*) markierten Felder aus.';
	txt_1_checkFormAdmin["EN"] = 'Please fill in all fields marked with an asterisk (*).';
	txt_2_checkFormAdmin = new Array();
	txt_2_checkFormAdmin["DE"] = 'Bitte kontrollieren Sie Ihre Passworteingaben!\n\nDie Felder "Passwort" und "Passwort verifizieren" stimmen nicht überein.';
	txt_2_checkFormAdmin["EN"] = 'Please check your password input.\nThe content of the fields "password" and "check password" must be the same!';
	txt_3_checkFormAdmin = new Array();
	txt_3_checkFormAdmin["DE"] = 'Bitte wählen Sie ein Password mit mindestens 6 Zeichen.';
	txt_3_checkFormAdmin["EN"] = 'Please take a password with 6 Characters minimum!';
	txt_4_checkFormAdmin = new Array();
	txt_4_checkFormAdmin["DE"] = 'Im Feld Benutzername dürfen nur Buchstaben, Zahlen und die folgenden Sonderzeichen eingegeben werden: @, Bindestrich "-", Unterstrich "_" und Punkt "."';
	txt_4_checkFormAdmin["EN"] = 'In the field "Username" are only Letters, Digits and the following special characters allowed: @, "-", "_" and "."';
	txt_5_checkFormAdmin = new Array();
	txt_5_checkFormAdmin["DE"] = 'Sie haben ein Absende-Datum in der Vergangenheit gewählt.\nDies hat zur Folge das der Newsletter direkt versandt wird.\n\nSoll der Newsletter direkt versendet werden?';
	txt_5_checkFormAdmin["EN"] = 'The send-date is in the past.\nThe newsletter will send right now if you do\'t change it.\n\nIs this correct that the Newsletter will send right now?';
	var fields = new Array();
	var check = 0;
	var regex=/^[\w,_,\-,.\@]*$/;
	
	for (var i=0; i<werte.length; i++) {
		fields[i] = document[formname][werte[i]].value;
	}
	
	for (var i=0; i<fields.length; i++) {
		if (fields[i] == "") {
			alert(txt_1_checkFormAdmin[get_language()]);
			return false;
		} else {
			check++;
		}
	}
	if (formname == "useredit") {
		if (document[formname].new_password && document[formname].new_password.value != document[formname].verify_password.value) {
			alert(txt_2_checkFormAdmin[get_language()]);
			return false;
		}
		if (document[formname].new_password && document[formname].new_password.value.length > 0 && document[formname].new_password.value.length < 6) {
			alert(txt_3_checkFormAdmin[get_language()]);
			return false;
		}
		if (document[formname].user && regex.test(document[formname].user.value)) {
			return true;
		} else if (document[formname].user) {
			alert(txt_4_checkFormAdmin[get_language()]);
			return false;
		}
	}
	if (formname == "newsletter") {
		var now = new Date();
		var today = new Array(now.getDate(), now.getMonth() + 1, now.getYear());
		var ftoday = new Array();
		var valueSet = document[formname].senddate.value;
		var set = new Array(valueSet.substring(0, 2), valueSet.substring(3, 5), valueSet.substring(6, 10));
		var fset = new Array();
		var datecheck = 0;
		var dateSet = new Date (set[2], (set[1]-1), set[0]);
		var nowSeconds = now.getTime();
		var secondsSet = dateSet.getTime();

		if (today[2] < 2000) {
			today[2] += 1900;
		} 
		
		for (var i=0; i<today.length; i++) {
			if (String(today[i]).length < 2) {
				ftoday[i] = "0" + today[i];
			} else {
				ftoday[i] = today[i];
			}
		}

		if ( (set[0] + set[1] + set[2]) != (ftoday[0] + ftoday[1] + ftoday[2]) ) {
			if (nowSeconds > secondsSet) {
				datecheck++;
			}
		} else {
			var selectedHour = document[formname].sendhour.selectedIndex;
			if (document[formname].sendhour.options[selectedHour].value < now.getHours()) {
				datecheck++;
			}
		}
	}
	if (datecheck > 0) {
		if (confirm(txt_5_checkFormAdmin[get_language()])) {
			return true;
		} else {
			return false;
		}
	}
	
	if (check == werte.length) {
		return true;
	} else {
		return false;
	}
}
function check_date(val) {
	val = val.toString();
	var day = 0;
	var month = 0;
	var year = 0;
	if(val.search(/^(\d+)\.(\d+)\.(\d+)$/) != -1) {
		day = RegExp.$1;
		month = RegExp.$2;
		year = RegExp.$3;
	} else if(val.search(/^(\d+)[\/\-](\d+)[\/\-](\d+)$/) != -1) {
		day = RegExp.$3;
		month = RegExp.$2;
		year = RegExp.$1;
	}
	if(day < 1 || day > 31) return 0;
	if(month < 1 || month > 12) return 0;
	if(year < 1 || year > 3000) return 0;
	return 1;
}

/* Ajax-Objekt zur kapselung von Ajax-JSON-Anfragen */
function Ajax(uri, method, param, resultHandler) {
	// Unterobjekte
	function AjaxResponse() {
		this._error = '';
		this._response = '';
		this._handler = '';
		this.setResponse = function(response) {
			this._response = response;
			return true;
		}
		this.getResponse = function() {
			return this._response;
		}
		this.setError = function(error) {
			this._error = error;
			return true;
		}
		this.getError = function() {
			return this._error;
		}
		this.setHandler = function(handler) {
			this._handler = handler;
			return true;
		}
		this.getHandler = function() {
			return this._handler;
		}
	}

	// Eigenschaften
	this._method = '';
	this._uri = '';
	this._param = new Array();
	this._request = 0;
	this._resultHandler = 0;
	this._response = 0;

	// Methoden
	this.setMethod = function(method) {
		this._method = method + '';
	}
	this.setUri = function(uri) {
		this._uri = uri + '';
	}
	this.getResponse = function() {
		return this._response;
	}
	this.setParam = function(array) {
		this._param = new Array();
		var result = false;
		try {
			for(var i = 0; i <= array.length; i++) {
				this._param.push(array[i]);
			}
			result = true;
		} catch(e) {
			// DoNothing
		}
		return result;
	}
	this.setResultHandler = function(resultHandler) {
		if(!resultHandler) return false;
		this._resultHandler = resultHandler;
		return true;
	}
	this.sendRequest = function() {
		this._response = new AjaxResponse();
		if(!this._uri) {
			this._response.setError("No uri defined");
			return false;
		}
		if(!this._method) {
			this._response.setError("No method defined");
			return false;
		}
		if(!this._resultHandler) {
			this._response.setError("No resultHandler defined");
			return false;
		}
		
		// ID muss zentral erhoeht werden, um nebenlaeufigkeiten zu markieren
		if(!window.ajaxRequestMaxId) window.ajaxRequestMaxId = 0;
		window.ajaxRequestMaxId++;
		var id = window.ajaxRequestMaxId;
		
		this._req = new HTTP.Request({
			uri: this._uri.toString(),
			postbody: JSON.stringify( {
				method	: this._method.toString(),
				id		: id,
				params	: this._param
			}),
		    onSuccess: function (trans) {
				var data = '';
				// Sicherheitsabfrage: Kein Code empfangen, dann Request abbrechen
				if(!trans.responseText) {
					ajaxFatalError("Server-response is empty");
					return false;
				}
				try {
					data = eval('('+trans.responseText+')'); // JSON "parsen"
				} catch(e) {
					ajaxFatalError('Parse-error in response: ' + e + '.\nRecieved message:\n' + trans.responseText);
					return false;
				}
				var response = 0;
				if(window.ajaxRequest) response = window.ajaxRequest[data.id * 1];
				if(!response) {
					ajaxFatalError("No requestId in response: " + data.id);
					return false;
				}
				if(data) response.setResponse(data.result);
				if(!data || data.error) {
					response.setError('Response-data contained errors:\n' + data.error);
					try {
						return response.getHandler().handleError(response);
					} catch(e) {
						ajaxFatalError("Can't execute handleError() in responseHandler");
						return false;
					}
				}
				try {
					return response.getHandler().handleResponse(response);
				} catch(e) {
					ajaxFatalError("Can't execute handleResponse() in responseHandler");
					return true;
				}
		    },
			onfailure: function (trans) {
				ajaxFatalError("Can't execute request: " + trans);
				return false;
			}
		});
		
		// Uebergabe der Parameter ist nicht moeglich: deswegen im Window gespeichert
		if(!window.ajaxRequest) window.ajaxRequest = new Array();
		this._response.setHandler(this._resultHandler);
		window.ajaxRequest[id * 1] = this._response;
		return true;
	}
	
	// Uebergabeparameter aus Konstruktor direkt einsetzen
	if(uri) this.setUri(uri);
	if(method) this.setMethod(method);
	if(param) this.setParam(param);
	if(resultHandler) this.setResultHandler(resultHandler);
}
/* Fehler und Erfolg nach dem Request bearbeiten */
function AjaxResultHander() {
	this.handleError = function(response) {
		//alert('error:\n' + response.getError());
		return false;
	}
	this.handleResponse = function(response) {
		alert('success:\n' + response.getResponse());
	}
}
/* Schwere Fehler (vom Server/JS verursacht) fuer Ajax/JSON abfangen */
function ajaxFatalError(msg) {
	//alert("Fatal Ajax error:\n" + msg);
	return false;
}



/// disable dynamic background image reload for internet explorer 6 @mkops 
try {
  document.execCommand('BackgroundImageCache', false, true);
} catch(e) {}
