/**
 * Eigene Validation für das Captcha.
 */
function addValidations() {
	Validation.add('validate-selection-accept-first', 'Keine gültige Auswahl getroffen.', function(v,elm){
				return !Validation.get('IsEmpty').test(v);
			});
			
	Validation.add('validate-captcha', 'Captcha ungültig', function(v, elem) {
		return isCaptchaValid(elem);
	})
} 

function isCaptchaValid(field) {
	var valid = false;
	
	var currentPath = location.pathname;
	var diff = currentPath.replace(weblicaScriptPath, "");
	if (diff == "/") diff = "";
	
	var URLToCaptchaScript = location.protocol + "//" + location.host + diff + "/_captcha/validCaptcha.php";
	
	new Ajax.Request(URLToCaptchaScript, {
    asynchronous: false,
    encoding: 'UTF-8',
    method: 'post',
    parameters: 'captcha=' + field.value,
    onSuccess: function(transport) {
    	valid = transport.responseText == 'true';
    }
  });
  return valid;
}

function connectToForm() {
  var forms = $$('form.abstractForm');
	for (var i = 0; i < forms.length; ++i) {
		var form = forms[i];
    new Validation(form.id, {immediate:true});
	}
}

function checkTextAreaLen(field, maxlength) {
  if (field.value.length > maxlength) {
    field.value = field.value.substring(0, maxlength);
  }
}

window.onload = function() {
	addValidations();
	connectToForm();
}
	