function validate(k) {
	var send = true;
	var els = $$('input, select, textarea');
	if($chk($('error')))
		$('error').empty();

	if(k) {
		k.removeClass('invalid');
		if (k.getProperty('rel') && k.getStyle('display') != 'none') {
			if (!k.value.test(k.getProperty('rel'))) {
				send = false;
				k.addClass('invalid');
			}
		}
	}

	else {
		els.each(function(el) { el.removeClass('invalid'); });
		$$('span.error').each(function(el) {
			el.dispose();
		});

		els.each(function(el) {
			if (el.getProperty('rel') && el.getStyle('display') != 'none') {
				if (!el.value.test(el.getProperty('rel'))) {
					send = false;
					el.addClass('invalid');
					new Element('span', {
						'class': 'error',
						'text': el.get('title') ? el.get('title') : 'Bitte korrekte Angabe machen.'
					}).inject(el, 'after');
				}
			}
		});
	}



	if(!send)
		$('error').appendText('Bitte korrekte Angaben machen. ');


	if($chk($('pw2'))) {
		if($('pw2').get('value') != $('pw').get('value')) {
			$('error').appendText('Das neue Passwort konnte nicht bestätigt werden.');
			send = false;
		}
	}


	if(k == undefined) {
		if($chk($('email2'))) {
			if($('email2').get('value') != $('email').get('value')) {
				$('error').appendText('Die E-Mail-Adresse konnte nicht bestätigt werden.');
				send = false;
			}
		}



		if($chk($('agb'))) {
			if(!$('agb').checked) {
				send = false;
				$('error').appendText('Sie müssen die allgemeinen Geschäftsbedingungen akzeptieren. ');
			}
		}


		return send;
	}
}

