var width=500;
var height=500;

function popupImageWindow(url, width, height) {
    window.open(url,'image','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=auto,resizable=yes,copyhistory=no,width=' + width + ',height=' + height + ',screenX=150,screenY=150,top=50,left=50');
}

function popupSitemap(url, width, height) {
    window.open(url,'site','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width=' + width + ',height=' + height + ',screenX=150,screenY=150,top=50,left=50');
}

function popup(url, width, height) {
    window.open(url,'site','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width=' + width + ',height=' + height + ',screenX=150,screenY=150,top=50,left=50');
}

function FileInfoWindow(url, width, height) {
    window.open(url,'fileinfo','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=auto,resizable=yes,copyhistory=no,width=' + width + ',height=' + height + ',screenX=150,screenY=150,top=50,left=50');
}

function parentchange(url){
    window.opener.location.href = url;
}

/*******************************************************
** FORM-MANAGER FUNCTIONS
********************************************************/

var errmsg = "";
var w;

function checkAll(sub) {
	errmsg = "";
	var f = document.frm;
	for(var i = 0; i < f.length; i++) {
		if((f[i].value != null) && (f[i].type == "text")) f[i].value = trim(f[i].value);
		checkRequired(f[i]);
		if(sub != null) checkDate(f[i]);
		if(sub != null) checkNumOnly(f[i]);
		if(sub != null) checkMinLen(f[i]);
		if(sub != null) checkEmail(f[i]);
	}
	//if(sub != null) checkEmail(document.frm["UserId"]);
	if(sub != null) {
		if(errmsg.length) {
			//alertWin(errmsg);
			alert(errmsg);
		} else {
			document.frm.submit();
		}
	}
	return;
}
function doSend(mode) {
	errmsg = "";
//	if (mode == null) {
//		alert('test');
//		document.frm["fn"].value = "addUser"
		checkAll(0);
/*
	} else {
		checkRequired(document.frm["UserId"]);
		checkEmail(document.frm["UserId"]);
		if (errmsg.length) {
			//alertWin(errmsg);
			alert(errmsg);
		} else {
			document.frm["fn"].value = "checkUser"
			document.frm.submit();
		}
	}
*/
}
function alertWin(err) {
	if((navigator.appName.toLowerCase()=="netscape") & (navigator.appVersion.substring(0,1)=="4")) {
		wclose();
		w = window.open("", "msg", "left=" + (screen.width/2-100) + ", top=" + (screen.height/2-50) + ", resizable=1, width=200, height=100, scrollbars=0, status=0, menubar=0, directories=0, toolbar=0");
		w.opener = self;
		w.document.clear();
		w.document.writeln("<center><font color=#ff0000>\n");
		w.document.writeln(err);
		w.document.writeln("</font></center>\n");
		window.onfocus = wclose;
		w.focus();
	} else {
		window.showModalDialog("msgwin.html", errmsg, "center=1; help=0; dialogWidth=400px; dialogHeight=300px;");
	}
}
function wclose() {
	if(w != null) {
		w.close();
		w = null;
		window.onfocus = null;
	}
}
function doEmpty() {}
window.onerror = doEmpty;

//////////////////////////////////////////////////////////////////////////////////// teil 2

var letters = "qwertzuiopasdfghjklyxcvbnm_-~QWERTZUIOPASDFGHJKLYXCVBNM"
var numbers = "0123456789"
var symbols = letters + numbers + ".@"

function setStartValues() {
	for(var i=0;i<frm.length;i++) {
		if(frm[i].startvalue != null) {
			var s_value = frm[i].startvalue;
			var type_name = frm[i].type;
			if(type_name == "text") frm[i].value = s_value;
			if(type_name == "select-one")
				for(var j=0;j<frm[i].length;j++)
					if(frm[i][j].value == s_value)
						frm[i][j].selected = true;
			if(type_name == "checkbox") frm[i].checked = (s_value != "0");
		}
	}
}
function setValue(objName, s_value) {
	s_value = trim(s_value);
	if(s_value != "") frm[objName].startvalue = s_value;
}
function ltrim(s_string) {
	var work = s_string;
	while (work.indexOf(" ") == 0) {
		work = work.substring(1, work.length);
	}
	return work;
}
function rtrim(s_string) {
	var work = s_string;
	while ((work.lastIndexOf(" ") == work.length - 1) && (work != "")) {
		work = work.substring(0, work.length - 1);
	}
	return work;
}
function trim(s_string) {
	return ltrim(rtrim(s_string));
}
function checkEmail(el) {
	var result = true;
	//var el = document.frm["Email"];
	if(el.emailonly != null) {
			if (el.required == null) el.className = "caption";

			if(el.value.length) {
			for(var i = 0; i < el.value.length; i++) {
				if(symbols.indexOf(el.value.charAt(i)) == -1) {
					result = false;
					break;
				}
			}
			if(el.value.indexOf("@") < 0) result = false;
			if(el.value.indexOf(".") < 0) result = false;

			var s = el.value.substring(el.value.indexOf("@"), el.value.length);
			if(s.indexOf(".") < 0) result = false;

			var j = 0;
			for(var i = 0; i < el.value.length; i++) {
				if("@".indexOf(el.value.charAt(i)) >= 0) if(j++ > 1) break;
			}
			if(j > 1) result = false;

			var isSign = true;
			for(var i = 0; i < el.value.length; i++)
				if(".@".indexOf(el.value.charAt(i)) > -1) {if(isSign) break; else isSign = true;} else isSign = false;
			if(isSign) result = false;
		}
	}
	
	if(result == false) el.className = "inp_err";
	if(result == false) errmsg += sTxtInvalidEmail + "\n";
	//document.all.EMailErr.innerText = (err.length ? err : "");
	return result;
}
function checkMinLen(el) {
	var result = true;
	if(el.minlen != null) {
		if (el.required == null) el.className = "caption";
		if((el.refer_name != null) && (el.refer_len != null) && (el.refer_value != null) && (el.refer_value.indexOf(";"+document.frm[el.refer_name].value+";") != -1)) {
			if((el.refer_len != null) && (el.type == "text") && (el.value.length > 0) && (el.value.length < el.refer_len)) result = false;
			if(result == false) el.className = "inp_err";
			if(el.caption != null) {
				errmsg += (result ? "" : " " + el.caption + ": " + sTxtToShort + " < " + el.refer_len + " \n");
			} else {
				errmsg += (result ? "" : " " + el.caption + " : " + sTxtToShort + " < " + el.refer_len + " \n");
			}
		} else {
			if((el.minlen != null) && (el.type == "text") && (el.value.length > 0) && (el.value.length < el.minlen)) result = false;
			if(result == false) el.className = "inp_err";
			errmsg += (result ? "" : " " + el.name + " : " + sTxtToShort + " < " + el.minlen + " \n");
		}
	}
	return result;
}
function checkNumOnly(el) {
	var result = true;
	if(el.numonly != null) {
		if (el.required == null) el.className = "caption";
		if(el.type == "text")
			for(var i = 0; i < el.value.length; i++)
				if("0123456789".indexOf(el.value.charAt(i)) < 0) {
					result = false;
					break;
				}
	}
	if(result == false) el.className = "inp_err";
	if(el.caption != null) {
		errmsg += (result ? "" : sTxtNumericOnly + ": " + el.caption + "\n");
	} else {
		errmsg += (result ? "" : sTxtNumericOnly + ": " + el.name + "\n");
	}
	return result;
}
function checkDate(el) {
	var result = true;
	if(el.date != null) {
		if (el.required == null) el.className = "caption";
/*		// an erster stelle ?
		if(el.value.indexOf(".") < 1) result = false;
		// länge
		if(el.value.length<8 && el.value.length>1) result = false;
		// mind.2 punkte
		var j = 0;
		for(var i = 0; i < el.value.length; i++) {
			if(".".indexOf(el.value.charAt(i)) >= 0) if(j++ > 2) break;
		}
		if(j > 2) result = false;
		if(j < 2) result = false;
*/		// nur erlaubte zeichen
		if(el.type == "text")
			for(var i = 0; i < el.value.length; i++)
				if("0123456789.".indexOf(el.value.charAt(i)) < 0) {
					result = false;
					break;
				}
	}
	if(result == false) el.className = "inp_err";
	if(el.caption != null) {
		errmsg += (result ? "" : sTxtDateOnly + ": " + el.caption + " (dd.mm.yyyy)\n");
	} else {
		errmsg += (result ? "" : sTxtDateOnly + ": " + el.name + " (dd.mm.yyyy)\n");
	}
	return result;
}
function checkRequired(el) {
	var result = true;
	//alert('field:' + el.name + "\nvalue: " + el.value + "\ntype: " + el.type + "\nrequired: " + el.required);
	
//	if((el.required != null) || ((el.refer_name != null) && (el.refer_value != null) && (document.frm[el.refer_name].value == el.refer_value))) {

	if( (el.required == true) || (el.type == "radio") ) {
		var type_name = el.type;
		if(type_name == "text") {
			var s = trim(el.value);
			el.className = (s.length == 0 ? "required" : "");
			result = (s.length == 0 ? false : result);
		}
		if(type_name == "textarea") {
			var s = trim(el.value);
			el.className = (s.length == 0 ? "required" : "");
			result = (s.length == 0 ? false : result);
		}
		if(type_name == "checkbox") {
			if (el.checked != true) {
				el.className = "required";
				result = false;
			} else {
				el.className = "caption";
			}
		}
		if(type_name == "select-one") {
			for(var j = 0; j < el.length; j++) 
				if((el[j].selected) && ((el[j].value == null) || (el[j].value.length == 0))) {
					el.className = "required";
					result = false;
					break;
				} else {
					el.className = "caption";
				}
		}
	}
	if(el.caption != null) {
		errmsg += (result ? "" : sTxtRequired + " : " + el.caption + "\n");
	} else {
		errmsg += (result ? "" : sTxtRequired + " : " + el.name + "\n");
	}
	return result;
}




