function Reset(lang){
	return confirmIt = confirm(formularloeschen(lang))
}	

function checkFields(lang, formName, checkMail){
	var theform = document.forms[formName]
	
	for(i=0; i<theform.elements.length; i++){
		var field = theform.elements[i]
		//alert(theform.elements[i].type)
		var isReq = (field.name.charAt(0)=="*") ? true : false
		if(isReq){
		
			if((field.type=="text" || field.type=="textarea" || field.type=="password") && field.value==""){
			alert(feldausfuellen(lang, field.name)) // übersetzung
			setTimeout("document.forms['"+formName+"'].elements["+i+"].focus()", 10)
			return false
			}
			
			if(field.type=="select-one" && field.selectedIndex == 0){	
			alert(auswahltreffen(lang, field.name))
			setTimeout("document.forms['"+formName+"'].elements["+i+"].focus()", 10)
			return false
			}
			
			if(field.type=="select-multiple"){	
			Sel=0
				for(o=0; o<field.options.length; o++){
					if(field.options[o].selected){
					Sel++
					break
					}
				}
				if(Sel == 0){
				alert(auswahltreffen(lang, field.name))
				setTimeout("document.forms['"+formName+"'].elements["+i+"].focus()", 10)
				return false
				}			
			}
			
			if(field.type=="checkbox" || field.type=="radio"){
			var startingIndex = i	
			var Checked = 0
			var rLength=1
				while(field.type == theform.elements[i+1].type && field.name == theform.elements[i+1].name){
				rLength++
				i++ 
				}
				
				for(g = startingIndex; g < rLength+startingIndex; g++){
					if(theform.elements[g].checked){
					Checked++
					break
					}
				}		
				if(Checked == 0){
				i=startingIndex
				alert(auswahltreffen(lang, field.name))				
				setTimeout("document.forms['"+formName+"'].elements["+i+"].focus()", 10)
				return false
				}
			}
			
		}//isReq
		
	}//for
	
	// email-funktion aufrufen
	if (!EMail(formName, checkMail)) {
		alert(falscheemail(lang));
		document.forms[formName].elements[checkMail].focus();
		return false;
	} else {
		return true;
	}	
}

function EMail(formName, checkMail) {
	var s = document.forms[formName].elements[checkMail].value;
	var a = false;
	var res = false;
	if(typeof(RegExp) == 'function') {
		var b = new RegExp('abc');
		if(b.test('abc') == true){a = true;}
	}
	if(a == true) {
		reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+
			'(\\@)([a-zA-Z0-9\\-\\.]+)'+
			'(\\.)([a-zA-Z]{2,4})$');
		res = (reg.test(s));
	}
	else {
		res = (s.search('@') >= 1 &&
		s.lastIndexOf('.') > s.search('@') &&
		s.lastIndexOf('.') >= s.length-5)
	}
	if(res == true) {	
		return true;
	} else {
		return false;
	} 
}

/* überprüft ob regex unterstützt wird und entfernt danach den stern */
function entferneStern(formVar) {
	var a = false;
	if(typeof(RegExp) == 'function') {
		var b = new RegExp('abc');
		if(b.test('abc') == true){a = true;}
	}
	if(a == true) {
		var old = formVar;
		var formVar = old.replace(/\*/, "");
		return formVar;	
	}
	else {
		return formVar;	
	}
}

/* übersetzungen */
function feldausfuellen(lang, value) {
	value = entferneStern(value); // function
	var strText = new Array();
	// strText["de"] = "Bitte füllen Sie folgendes Feld aus:\n\n-- "+value+" --";
	strText["de"] = "Bitte füllen Sie alle Pflichtfelder aus!";
	// strText["en"] = "Please fill in this field:\n\n-- "+value+" --";
	strText["en"] = "Please fill out all required fields!";
	return strText[lang];
}
function auswahltreffen(lang, value) {
	value = entferneStern(value); // function
	var strText = new Array();
//	strText["de"] = "Bitte treffen Sie eine Auswahl bei:\n\n-- "+value+" --";
	strText["de"] = "Bitte füllen Sie alle Pflichtfelder aus!";
//	strText["en"] = "Please select a value for this field:\n\n-- "+value+" --";
	strText["en"] = "Please fill out all required fields!";
	return strText[lang];
}
function falscheemail(lang) {
	var strText = new Array();
	strText["de"] = "Die Email-Adresse ist nicht korrekt!";
	strText["en"] = "Your email adress is invalid!";
	return strText[lang];
}
function formularloeschen(lang) {
	var strText = new Array();
	strText["de"] = "Möchten Sie die Formulardaten wirklich löschen?"
	strText["fr"] = "Voulez-vous vraiment effacer les données du formulaire?";
	strText["en"] = "Do you really want to delete this form?";
	return strText[lang];
}

