function checkAllFormFields(toggleTabNumber){
		/*checks all mandatory fields if there are not space or not checked*/
		var errorArray = new Array();
		var fieldArray = new Array();
		var foundEntry = 0;
		var tabNumber = document.getElementById('currentTabNumber').value;
		var foundErrorPage = 0;
		if (tabNumber == null){
			tabNumber = 1;
		}
		/*get the Array of all fields in this Form*/
		fieldArray = createFieldArray();
		for (var i = 0; i<fieldArray.length;i++){
			document.getElementById('error_headline').style.display = 'none';
			document.getElementById('error_headline').style.visibility = 'hidden';
			var foundEntryChecked = 0;
			if (document.getElementById(fieldArray[i]['fieldId'] + '_error_field') != null && fieldArray[i]['error'] == ''){
				/*delete all error messages*/
				var errorField = document.getElementById(fieldArray[i]['fieldId'] + '_error_field');
				errorField.parentNode.removeChild(errorField);
			}
			if (fieldArray[i]['tabNumber'] == tabNumber){ /*only check current tab*/
				/*captchas can only be checked in PM not in a JS*/
				if (fieldArray[i]['isRequired'] == 1){ /*only check required fields in js*/
					if (fieldArray[i]['fieldType'] == "dateTime"){/*date time fields have other id's*/
						fieldArray[i]['fieldId'] = fieldArray[i]['fieldId'] + "Id";
					}
					if (document.getElementById(fieldArray[i]['fieldId']).type == "radio"
					 || document.getElementById(fieldArray[i]['fieldId']).type == "checkbox"){
					 	/*radio and checkbox must be checked seperatly*/
					 	var fieldList = document.getElementsByName(fieldArray[i]['fieldId']);
					 	for (var z=0;z<fieldList.length;z++){
							if (fieldList[z].checked){
								foundEntryChecked = 1;
						}
					}
					if (foundEntryChecked == 0){
						/*no value was checked*/
						foundEntry = 1;
							errorArray.push({fieldId:fieldArray[i]['fieldId'],fieldText:fieldArray[i]['fieldText'],error_message:fieldArray[i]['error_message']});
						}
					}else{
						if (document.getElementById(fieldArray[i]['fieldId']).type == "email"){
							if (!validateEmail(document.getElementById(fieldArray[i]['fieldId']).value)){
								if (document.getElementById(fieldArray[i]['fieldId'] + '_error_field') != null && fieldArray[i]['error'] == ''){
									var errorField = document.getElementById(fieldArray[i]['fieldId'] + '_error_field');
									errorField.parentNode.removeChild(errorField);
								}
								errorArray.push({fieldId:fieldArray[i]['fieldId'],fieldText:fieldArray[i]['fieldText'],error_message:fieldArray[i]['error_message']});
								foundEntry = 1;
							}
						}else if (document.getElementById(fieldArray[i]['fieldId']).value == ''){
						/*all other fields, check if there was anything entered*/
						/*a field was marked before, but could be correct now, so delete it and save it for later*/
							if (document.getElementById(fieldArray[i]['fieldId'] + '_error_field') != null && fieldArray[i]['error'] == ''){
								var errorField = document.getElementById(fieldArray[i]['fieldId'] + '_error_field');
								errorField.parentNode.removeChild(errorField);
							}
							errorArray.push({fieldId:fieldArray[i]['fieldId'],fieldText:fieldArray[i]['fieldText'],error_message:fieldArray[i]['error_message']});
							foundEntry = 1;
						}else{
							if (document.getElementById(fieldArray[i]['fieldId'] + '_error_field'))
								document.getElementById(fieldArray[i]['fieldId'] + '_error_field').parentNode.removeChild(document.getElementById(fieldArray[i]['fieldId'] + '_error_field'));
						}
					}
				}
			}else{
				if (fieldArray[i]['error'] != ''){
				/*if there where found errors on other tabs then show them until there where cleared*/
					foundErrorPage = 1;
					if (document.getElementById(fieldArray[i]['fieldId'] + '_error_field') != null && fieldArray[i]['error'] == ''){
						/*the error was cleared somehow, so delete the message*/
						var errorField = document.getElementById(fieldArray[i]['fieldId'] + '_error_field');
						errorField.parentNode.removeChild(errorField);
					}
				}
			}
		}
		if (tabNumber <= toggleTabNumber){
			for (var i = 0;i<fieldArray.length;i++){
				if (document.getElementById(fieldArray[i]['fieldId']))
					document.getElementById(fieldArray[i]['fieldId']).parentNode.style.border = "none";
			}
			if (foundEntry == 1 && errorArray.length > 0){ /*only do something if something has been changed*/
				document.getElementById('error_headline').style.display = '';
				document.getElementById('error_headline').style.visibility = 'visible';
				var pNode = document.getElementById('error_loop');
				if (pNode.tagName == 'UL'){
					if (pNode.firstChild != null){
						/*found some old error messages*/
						for (var i = 0;pNode.childNodes[i] != null && i<100 != null;i++){
							for (var z = 0;errorArray[z] != null && z<100;z++){
								if (pNode.childNodes[i].id == errorArray[z]['fieldId'] + '_error_field'){
									errorArray.splice(z,1);/*checks if the field was allready created, if so then don't do it again*/
								}
							}
						}
					}
					for (var i = 0;i<errorArray.length;i++){ /*show errors found*/
						if (document.getElementById(errorArray[i]['fieldId'] + '_error_field') == null){
							/* dosn't exist, create new node*/
							var li = document.createElement("li");
							var myId = document.createAttribute("id");
							myId.nodeValue = errorArray[i]['fieldId'] + '_error_field';
							li.setAttributeNode(myId);
							var b = document.createElement("b");
							var myText = document.createTextNode(errorArray[i]['fieldText'] + ' ' + errorArray[i]['error_message']);
							b.appendChild(myText);
							li.appendChild(b);
							pNode.appendChild(li);
							document.getElementById(errorArray[i]['fieldId']).parentNode.style.border = "1px solid red";
						}
					}
				}
			}else{ /*nothing changed or its allright so go on*/
				if (foundErrorPage == 1){
					document.getElementById('error_headline').style.display = '';
					document.getElementById('error_headline').style.visibility = 'visible';
				}else{
					document.getElementById('error_headline').style.display = 'none';
					document.getElementById('error_headline').style.visibility = 'hidden';
				}
				document.getElementById('currentTabNumber').value = toggleTabNumber;
				toggleTabForm(toggleTabNumber);
			}
		}else{
			/*only want to go back, therefor nothing will be written*/
			if (foundErrorPage == 1){
					document.getElementById('error_headline').style.display = '';
					document.getElementById('error_headline').style.visibility = 'visible';
				}else{
					document.getElementById('error_headline').style.display = 'none';
					document.getElementById('error_headline').style.visibility = 'hidden';
				}
			document.getElementById('currentTabNumber').value = toggleTabNumber;
			toggleTabForm(toggleTabNumber);
		}
}

	function setEmailRecipient(selfId, formname, overwriteCC, fieldType){
		var defaultName = "email_default_" + formname;
		var Svisibility = "";
		var Sdisplay = "";
		for (var i=0;i<100;i++){
			var selfName = formname + "_" + i;
			if (document.getElementById(selfName) != null){
				if (fieldType == "selectList"){
					var splitResult = document.getElementById(selfName).name.split("#&#");
					if (splitResult[1] == document.getElementById(selfId).value && splitResult[0] == selfId) {
							document.getElementById(selfName).style.display = "";
							document.getElementById(selfName).style.visibility = "";
							var Svisibility = "hidden";
							var Sdisplay = "none";
					}else{
							document.getElementById(selfName).style.display = "none";
							document.getElementById(selfName).style.visibility = "hidden";
					}
				}else{
					var fieldList = document.getElementsByName(selfId);
					for (var z=0;z<fieldList.length;z++){
						if (fieldList[z].checked){
							var splitResult = document.getElementById(selfName).name.split("#&#");
							if (fieldList[z].value == splitResult[1] && splitResult[0] == selfId){
								document.getElementById(selfName).style.display = "";
								document.getElementById(selfName).style.visibility = "";
								var Svisibility = "hidden";
								var Sdisplay = "none";
								z = fieldList.length;
							}else{
								document.getElementById(selfName).style.display = "none";
								document.getElementById(selfName).style.visibility = "hidden";
							}
						}else{
							document.getElementById(selfName).style.display = "none";
							document.getElementById(selfName).style.visibility = "hidden";
						}
					}
				}
			}else{
				i = 100;
			}
		}
		if (Svisibility != null && Sdisplay != null){
			for (var i=0;i<100;i++){
				var selfName = "email_default_" + formname + "_" + i;
				if (document.getElementById(selfName) != null){
					if (document.getElementById(selfName).name == "to" || overwriteCC == 1){
						document.getElementById(selfName).style.display = Sdisplay;
						document.getElementById(selfName).style.visibility = Svisibility;
					}
				}else{
					i = 100;
				}
			}
		}
	}

function validateEmail(email){ 
	var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
	return email.match(re) 
}
