function validateForm(url, form, fields, captchaElem, validateFunc) {
	captchaControl = document.getElementById(captchaElem);
	
	if (captchaControl == null) {
		if (captchaControl === null) {
			form.action = url;
			form.submit();
		}
	} else {
		var captcha = captchaControl.value
		uri = '/eBusiness/services/validation/?captcha=' + encodeURIComponent(captcha);
		
		new Ajax.Request(uri, {
			onSuccess : function(transport) {
				
				var isValid = transport.responseText == 'true';
				//var errors = validateFormFields(form, fields);
				var errors = validateFunc.call (this,form,fields);
				
				if (isValid && errors === true) {
					form.action = url;
					form.submit();
				} else {

					var msg = "";
					if (errors != true)
						msg += errors;
					if (!isValid)
						msg += "- Geben Sie einen gültigen Sicherheitscode ein"
					
					alert(msg);
					newCaptcha();
				}
			}
		});
	}
}
function checkCaptchaForm( form, fields) {
	  var errors_empty='', errors_mail='';
	  var errMsg = '';
	  var shouldSubmit = true;
	 
	 
	  for ( var i = 0; i < fields.length;i++) {
		  var formElem = form[fields[i].id];
		  if (fields[i].constraint == 'empty'){
			  if (formElem.value == "") errors_empty += '- ' + fields[i].caption + ' \n';
		  } else if (fields[i].constraint == 'mail'){
			  if (formElem.value.indexOf("@") == -1) errors_mail += '- '+ fields[i].caption +' \n';
		  }
	  }
	  
	  if ((errors_empty != '') || (errors_mail != '')) {
		  errMsg = 'Bei der Formulareingabe sind Fehler aufgetreten ! \n';
		  if(errors_empty != '')
			  errMsg+='\nFolgende Felder müssen noch ausgefüllt werden:\n'+errors_empty;

		  if(errors_mail != '')
			  errMsg+='\nIn folgende Felder wurde eine inkorrekte eMail-Adresse eingegeben:\n'+errors_mail;
		  
		  return errMsg;
	  
	  }
		  	return true;
}
function newCaptcha() {
	pic = document.getElementById('captchapic');
	pic.src += "0";
}

function validateFormFields(form, fields) {
	var rname, test, errors = '';
	for (i = 0; i < (fields.length - 1); i += 2) {
		rname = fields[i + 1];
		var formElem = form[fields[i]];
		if (formElem) {
			if (formElem.value == "")
				errors += '- ' + rname + ' \n';
		}
	}
	if (errors != '') {
		return errors;
	} else {
		return true;
	}
}

