var form;

function setCursor(p_elem){
	form = document.forms[0];
	form.elements[p_elem].focus();
}

function isChanged(){
	if(document.forms[0]["f_act\[\]"] != null){
		if(document.forms[0]["f_act\[\]"].value == "edit") return true;
		return false;	
	} else {
		return false;
	}	
}

function clearChanged(){
	if(document.forms[0].f_multi.value == 1){
		for(i=0;i<document.forms[0]["f_act\[\]"].length;i++){
			document.forms[0]["f_act\[\]"][i].value = "";
		}	
	} else {
		document.forms[0]["f_act\[\]"].value = "";
	}
}

var s_formErrFieldname = "";
var s_formErrMode = 0;

function checkForm(p_form,field){
	var i;
	if(document.forms[p_form][field].value.length == 0 || document.forms[p_form][field].value.match(/^ *$/)){
		s_formErrFieldname = document.forms[p_form][field].name;
		
		document.forms[p_form][field].focus();
	} else {
		s_formErrFieldname = "";
	}
	if(s_formErrFieldname != ""){		
		s_formErrFieldname = translateFieldname(s_formErrFieldname);
		if(s_formErrFieldname.substr(s_formErrFieldname.length-2,2) == "[]") s_formErrFieldname = s_formErrFieldname.substr(0,s_formErrFieldname.length-2);
		alert("Bitte füllen Sie das Feld " + s_formErrFieldname + " aus!");
		return false;
	}
	return true;
}

function checkRadio(p_form,field){
	var i;
	b_isChecked = false;
	for(i=0;i<document.forms[p_form][field].length;i++){
		if(document.forms[p_form][field][i].checked)	b_isChecked = true;
	}
	if(!b_isChecked){
		s_formErrFieldname = document.forms[p_form][field][0].name;
		document.forms[p_form][field][0].focus();
	} else {
		s_formErrFieldname = "";
	}
	if(s_formErrFieldname != ""){		
		if(s_formErrFieldname.substr(s_formErrFieldname.length-2,2) == "[]") s_formErrFieldname = s_formErrFieldname.substr(0,s_formErrFieldname.length-2);
		alert("Bitte füllen Sie das Feld " + s_formErrFieldname + " aus!");
		return false;
	}	
	return true;
}

function translateFieldname(fieldname){
	switch(fieldname){
	case "Firma":
		return "Krankenhaus";
		break;
	case "Sesam":
		return "Kennwort";
		break;
	case "Antwort":
		return "Geburtsort";
		break;
	default:
		if(fieldname.indexOf("pr_",0)!=-1){
			return fieldname.substr(3);
		} else {
			return fieldname;
		}
	}	
}

function checkMail(p_mail){
	var i, em1=false, em2=false, pruef;
	for(i=2; i < p_mail.length && (!em1 || !em2);i++){
		pruef=p_mail.substr(i,1);
		if(pruef=="@"){
			em1=true;
			i+=2;
			em2=false;
		}
		if(pruef=="."){
			em2=true;
		}
	}
	if(i>=p_mail.length-1){
		alert("Die Mail-Adresse ist nicht korrekt");
		return false;
	}
	return true;
}

function actConfirm(msgNr,bez){
	switch(msgNr){
	case 3:
		msg = "Sollen die Änderungen gespeichert werden?\n\nOK=Speichern\tAbbrechen=Nicht speichern";
		if(isChanged()) return confirm(msg);	
		return false;
		break;
	case 4:
		msg = "Soll " + bez + " wirklich gelöscht werden?"
		return confirm(msg);
		break;
	}
}

function set_actFlag(DSNr,mode){
	if(document.forms[0].f_multi.value == 1){
		document.forms[0]["f_act\[\]"][DSNr].value = mode;
	} else {
		document.forms[0]["f_act\[\]"].value = mode;
	}
}

function submitForm(p_form,fieldlist,radiolist){
	var i;
	var a_fields = fieldlist.split(",");
	var a_radios = radiolist.split(",");
	for(i=0;i<a_fields.length;i++){
		if(a_fields[i] != ""){
			if(!checkForm(p_form,[a_fields[i]])){
				return false;
			}
			if(a_fields[i]=="Email"){
				if(!checkMail(document.forms[p_form]["Email"].value)){
					return false;
				}
			}
		}
	}
	for(i=0;i<a_radios.length;i++){
		if(a_radios[i] != ""){
			if(!checkRadio(p_form,[a_radios[i]])){
				return false;
			}
		}
	}
	document.forms[p_form].submit();
}

function selectOptions(dsNr,keyFieldName,sublistNr,affFieldName,pm_text,pm_value){
	var a_selectedListNr = new Array();
	if(document.forms[0]["pr_" + keyFieldName + "[]"][0].name != null){
		alert(document.forms[0]["pr_" + keyFieldName + "[]"][0].name);
		Selection = document.forms[0]["pr_" + keyFieldName + "[]"][dsNr].value;
		List = document.forms[0]["pr_" + affFieldName + "[]"][dsNr];
	} else {
		Selection = document.forms[0]["pr_" + keyFieldName + "[]"].value;
		List = document.forms[0]["pr_" + affFieldName + "[]"];
	}
	cntOptions = List.options.length;
	n=1;
	
	for(i=1;i<cntOptions;i++){
		List.options[1] = null;
	}
	for(i=0;i<a_sublist[sublistNr].length;i++){
		if(a_sublist[sublistNr][i][1][keyFieldName] == Selection){
			a_selectedListNr[n] = i;
			n++;
		}
	}
	for(i=1;i<a_selectedListNr.length;i++){
		Display = a_sublist[sublistNr][a_selectedListNr[i]][0][pm_text];
		Process = a_sublist[sublistNr][a_selectedListNr[i]][2][pm_value];
		List.options[i] = new Option(Display,Process);
	}
	
}

function reload(){
	//Neu laden, ohne Speicherung, Werte werden wieder angezeigt. Auszuführen, wenn Feldeingaben Änderungen im Layout des Formulars bewirken sollen.
	if(document.forms[0]["f_act[]"][0] != null){
		for(i=0;i<document.forms[0]["f_act[]"].length;i++){
			document.forms[0]["f_act[]"][i].value = "reload";
		}
	} else {
		document.forms[0]["f_act[]"].value = "reload";
	}
	document.forms[0].submit();
}

function litServiceMail(p_form,fieldlist){
	var f = document.forms[p_form];
	if(!f.OP.checked && !f.Info.checked){
		alert("Bitte geben Sie an, ob Sie OP-Anleitungen und/oder Info-Broschüren bestellen wollen!");
	} else {
		b_selectOK = false;
		for(i=0;i<f.length;i++){
			if(f[i].name.substr(0,7) == "Auswahl"){
				b_selectOK = true;
				break;
			}
		}
		if(!b_selectOK){
			alert("Bitte geben mindestens ein Produkt an!");
		} else {
			f.f_act.value = "Confirm";	
			if(!submitForm(p_form,fieldlist,"")) f.f_act.value="";
		}
	}
}
