/**
 * DAS NORDWERK
 * JavaScript-Interaktionen
 */

window.addEvent('domready', function() {
	
	// Weiches Scrollen
	new SmoothScroll();
	
	document.id('anmeldung').getElement('form').addEvent('submit', function(event) {

		// Werte
		var fields = {
			vorname: document.id('vorname'),
			nachname: document.id('nachname'),
			email: document.id('email'),
			strasse: document.id('strasse'),
			plz: document.id('plz'),
			ort: document.id('ort'),
			telefon: document.id('telefon'),
			agb: document.id('agb')
		}
		
		// Validierung
		var validated = true;
		$each(fields, function(item) {
		
			// Eingabefelder
			if(item.get('value') == '') {
				if(item.get('id') != 'bedingungen' && item.get('name') != 'anmeldung' && item.get('id') != 'email') {
					item.addClass('fehler');
					validated = false;
				}
			}
			else {
				if(item.get('id') != 'bedingungen' && item.get('name') != 'anmeldung' && item.get('id') != 'email') {
					item.removeClass('fehler');
				}
			}
			
			// E-Mail
			if(item.get('id') == 'email') {
				if(item.get('value').search(/^\w(?:\.?[\w%+-]+)*@\w(?:[\w-]*\.)+?[a-z]{2,}$/i) == -1) {
					item.addClass('fehler');
					validated = false;
				}
				else {
					item.removeClass('fehler');
				}
			}
			
		});

		// Kursauswahl
		var item = event.target.getElements('input[name=anmeldung]:checked');
		if(item.length == 0) {
			event.target.getElements('input[name=anmeldung]').getParent('fieldset').addClass('fehler');
			validated = false;
		}
		else {
			item.getParent('fieldset').removeClass('fehler');
		}
		
		// Geschäftsbedingungen
		item = document.id('bedingungen');
		if(item.get('checked') == false) {
			item.getParent('p').addClass('fehler');
			validated = false;
		}
		else {
			item.getParent('p').removeClass('fehler');
		}

		// Fehlermeldung einblenden
		if(validated == false) {
			if(event.target.getPrevious('.info') == null) {
				var fehler = new Element('p', {
					'class': 'info',
					'html': 'Die Anmeldung konnte nicht gesendet werden, da ein Fehler aufgetreten ist. <br />Bitte nachschauen, korrigieren und noch einmal versuchen.'
				});
				fehler.inject(event.target, 'before');
			}
		}
		else {
			event.target.getPrevious('.info').dispose();
		}

		return validated;
		
	});
	
});
