( function($) {
	$(document).ready(function() {
		var error_container = $('#demo_error_ul')
		$('#demoregister').validate( {
			rules: {
				demo_agb: {
					required: true
				},
				demo_email: {
					email: true,
					required: true
				},
				demo_password: {
					minlength: 6,
					required: true
				},
				demo_password_again: {
					equalTo: '#demo_password',
					required: true
				}
			},
			errorClass: 'demo_error_message',
			errorLabelContainer: $(error_container),
			wrapper: 'li'
		});

		$("#demo_submit").click(function() {
			$.ajax( {
				beforeSend: function() {
					return $('#demoregister').validate().form();
				},
				data: {
					agb: $('#demo_agb').val(),
					email: $('#demo_email').val(),
					first_name: $('#demo_first_name').val(),
					gender: $('input:radio[name=demo_gender]:checked').val(),
					last_name: $('#demo_last_name').val(),
					password: $.md5($('#demo_password').val())
				},
				dataType: 'jsonp',
				error: show_error,
				jsonp: 'callback',
				jsonpCallback: 'jsonpCallback',
				type: 'get',
				url: 'https://eltern.dolphinsecure.de/demoregister/register'
			});
			return false;
		});
	});

	window.jsonpCallback = function(data) {
		// Statuscodes auswerten
		switch(data.errorcode) {
			// Registrierung war erfolgreich
			case 0: 
				$("#demo_form_div").hide();
				$('#demo_submitted_label_heading').text('Vielen Dank für Ihre Registrierung');
				$('#demo_submitted_label_message').text('Sie erhalten in Kürze eine Email. Klicken Sie den dort angegebenen Bestätigungslink an und Sie werden direkt zum Download der Software geleitet.');
				$("#demo_submitted_div").show();
				break;
			// E-Mail-Adresse bereits registriert
			case 1:
				$('#demo_error').css('display', 'block');
				$('#demo_error_email').css('display', 'list-item');
				$('#demo_error_email_label').css('display', 'block');
				$('#demo_error_ul').css('display', 'block');
				$('#demo_error_email_label').text('Die E-Mail-Adresse ist bereits registriert.');
				$('#demo_email').fadeOut(function() {
					$('#demo_email').fadeIn();
				});
				break;
			// Systemfehler
			case 2:
				$("#demo_form_div").hide();
				$('#demo_submitted_label_heading').text('Ups...');
				$('#demo_submitted_label_message').text('Eine Registrierung ist derzeit nicht möglich. Bitte versuchen Sie es später erneut oder kontaktieren Sie unser Support-Team');
				$("#demo_submitted_div").show();
				break;
			// Anforderung eines neuen Aktivierungscodes
			case 3: 
				$("#demo_form_div").hide();
				$('#demo_submitted_label_heading').text('Vielen Dank für Ihre Registrierung');
				$('#demo_submitted_label_message').text('Sie haben sich bereits registriert. Wir haben Ihnen einen neuen Aktivierungs-Link per Email gesendet. Bei Fragen oder Problemen wenden Sie sich bitte an unser Support-Team');
				$("#demo_submitted_div").show();
				break;
			// Default-Fall - nicht erfolgreich
			default:
				show_error();
				break;
		}
		return true;
	}
	function show_error(jqXHR, textStatus, errorThrown) {
		$("#demo_form_div").hide();
		$('#demo_submitted_label_heading').text('Ups...');
		$('#demo_submitted_label_message').text('Eine Registrierung ist derzeit nicht möglich. Bitte versuchen Sie es später erneut oder kontaktieren Sie unser Support-Team');
		$("#demo_submitted_div").show();
		return true;
	}
}) (jQuery);

