// allgemeine Variablen
var now = new Date();
var preloadImg = new Array();
preloadImg[0] = new Image();
preloadImg[0].src = "../images/point_w.gif";

//Popup-Fenster
function popup(url, width, height, top, left, menu, loc, status, scroll, tool, resize, center){
	if(window.screen){
	 	if(center){
		  left = (screen.width-width)/2;
		  top = (screen.height-height)/2;
		}
	}
	return window.open(url, "popup", ((width >= 0)?"width=" + width + ",":"") + ((height >= 0)?"height=" + height + ",":"") + "top=" + top + ",left=" + left + ",menubar=" + menu + ",location=" + loc + ",status=" + status + ",toolbar=" + tool + ",scrollbars=" + scroll + ",resizable=" + resize);
}			

// Verlassen des Formulars ohne Speicherung
function leave(action){
	switch(action){
		case "delete":
			if(confirm("Daten wirklich löschen?")){
				document.forms[0].f_leave.value = "Löschen";
				document.forms[0].submit();
			}
			break;
		case "cancel":
			document.forms[0].f_leave.value = "Abbrechen";
			document.forms[0].submit();
			break;
	}
}

// Datumsprüfung eines Zeitraumes
function formcheck(formName,mode){
	switch(mode){ 
	case 0: // Newsbereich		
		if(!checkFieldEmpty(formName,'Ueberschrift','')){
			if(!checkFieldEmpty(formName,'Datum','')){
				return datecheck(document.forms[0].Datum.value, "Datum");
			} else {
				alert("Bitte geben Sie ein Datum für die News an oder klicken Sie auf Abbrechen!");
				document.forms[0].Datum.focus();
				return false;
			}		
		} else {
			alert("Bitte geben Sie eine Überschrift für die News an oder klicken Sie auf Abbrechen!");
			document.forms[0].Ueberschrift.focus();
			return false;
		}
	default:
		return true;
	} 
}

// Datum auf Fehler prüfen und ggf. Fehlerart zurückliefern
function datecheck(dt, field){
	if(dt != ""){
		var check = 0;
		var parts = dt.split(".");
		var maxYearFromToday = 100; // (Maximaljahr vom aktuellen Datum aus gerechnet)
		var minYearFromToday = 100; // (Minimaljahr vom aktuellen Datum aus gerechnet)
		if(parts.length != 3) check =  1; // Datum besteht nicht aus 3 Teilen (Tag, Monat, Jahr)
		if(parts[0].length != 2) check =  2; // 1. Teil ist nicht zweistellig (Tag)
		if(parts[1].length != 2) check =  3; // 2. Teil ist nicht zweistellig (Monat)
		if(parts[2].length != 4) check =  4; // 3. Teil ist nicht vierstellig (Jahr)
		if(parts[0] / 1 > 31 || parts[0] / 1 < 1) check =  5; // Tag ist nicht zwischen 1 und 31 
		if(parts[1] / 1 > 12 || parts[1] / 1 < 1) check =  6; // Monat ist nicht zwischen 1 und 12
		if(parts[2] / 1 > now.getFullYear() + maxYearFromToday || parts[2] / 1 < now.getFullYear() - minYearFromToday ) check =  7; // Jahr ist kleiner Mindestjahr oder größer Maximaljahr (Angaben in Bezug auf aktuellem Datum)
		if(parts[0] / 1 == 31 && (parts[1] / 1 == 2 || parts[1] / 1 == 4 || parts[1] / 1 == 6 || parts[1] / 1 == 9 || parts[1] / 1 == 11)) check =  8; // Tag ist 31 im Februar, April, Juni, September oder November
		if(parts[0] / 1 == 30 && parts[1] / 1 == 2) check =  9; // Tag ist 30 im Februar
		if(((parts[0] / 1) == 29) && ((parts[1] / 1) == 2) && (((parts[2] / 1) % 4 != 0) || (parts[2] / 1) % 400 == 0)) check =  10; // Tag ist 29 im Februar eines Nicht-Schaltjahres
		if(check != 0){
			alert("Fehlerhaftes Datum. Bitte im Format: 01.12.2001 eingeben. Fehlercode: " + check + " -- " + parts);
			document.forms[0].elements[field].focus();
			return false;
		}
		return true;
	}	
}

function init(pathLevel){
	pathUp = "";
	for(i=0;i<pathLevel;i++){
		pathUp += "../";
	}
	// Betriebssystem ermitteln
	var isMac = (navigator.appVersion.indexOf('Mac') != -1);
	
	// Browser ermitteln
	browserType = 0; 	
	if(document.all) browserType = 2;	// Internet-Explorer 4
	if(document.layers) browserType = 3;	// Netscape 4
	if(document.getElementById) browserType = 1;	// Internet-Explorer 5, 6; Netscape 6, 7; Opera 6
	var isN = (navigator.userAgent.indexOf('Netscape') != -1);	// Netscape
	if(browserType == 1 && isN) browserType = 4;
}

function bullitH(nr,mode,type){
	switch(type){
	case "L":
		if(document.getElementById) document.getElementById("bullit" + nr).style.color = (mode?"#00A2E1":"#000000");
		break;
	case "R":
		document.images["bullitR" + nr].src = "../images/point_" + (mode?"w":"s") + ".gif";
		break;
	}
}

function rollover(imgName,nr,mode){
	var imgSrc = document.images[imgName + nr].src;
	var p_extPos = imgSrc.lastIndexOf(".");
	var imgSrc1 = imgSrc.substr(0,p_extPos);
	var imgSrc2 = imgSrc.substr(p_extPos);
	if(mode){
		document.images[imgName + nr].src = imgSrc1 + "_on" + imgSrc2;
	} else {
		document.images[imgName + nr].src = imgSrc1.substr(0,imgSrc1.length-3) + imgSrc2;
	}
}

function checkFieldEmpty(formName,Field,Msg){
	var p_form = document.forms[formName];
	var empty = p_form[Field].value.match(/^ *$/);
	if(empty && Msg != "" && typeof(Msg) != "undefined") alert(Msg);
	return empty;
}

function checkFieldChecked(formName,Field,Msg){
	var p_form = document.forms[formName];
	var empty = !p_form[Field].checked;
	if(empty && Msg != "" && typeof(Msg) != "undefined") alert(Msg);
	return empty;
}

function checkEmail(mailField){
	var p_form = document.forms[0];
	var eMail = p_form[mailField].value;
	if(eMail.lastIndexOf(".") > eMail.length - 3){
		return false;
	}
	if(eMail.lastIndexOf(".") < eMail.length - 5){
		return false;
	}
	if(eMail.indexOf("@") < 2){
		return false;
	}
	if(eMail.lastIndexOf(".") < eMail.indexOf("@") + 3){
		return false;
	}
	anzAt = eMail.split("@");
	if(anzAt.length > 2) return false;
	return true;
}

function trim(str){
	var newstr = str.replace(/^ +/g,"");
	newstr = newstr.replace(/ +$/g,"");
	return newstr;
}
