var registrierung = {};
var nickname = null;

registrierung.toggleWindow = function() {
	$("#reg_window").toggle();
	$("#reg_bg").toggle();

	if(!$.browser.msie) {
		var nickname = $('#nickname').get(0);
		nickname.focus();
	}
}

registrierung.checkForm = function() {
	var input = $('#reg_window input[@type=submit]').get(0);
	var errorMessage = new Array();
	var nickname = $('#nickname');
	var vname = $('#vname');
	var nname = $('#nname');
	var email = $('#email');
	var pass = $('#pass');
	var geschlecht = $('#geschlecht');
	var day = $('#day');
	var month = $('#month');
	var year = $('#year');

	//disable submit button
	input.disabled = true;
	input.value = 'Deine Daten werden überprüft...';

	//user eingaben pruefen
	if(nickname.val() == "") errorMessage.push("Bitte gib deinen gewünschten <strong>Nicknamen</strong> an.");
	if(vname.val() == "") errorMessage.push("Bitte gib deinen <strong>Vornamen</strong> an.");
	if(nname.val() == "") errorMessage.push("Bitte gib deinen <strong>Nachnamen</strong> an.");
	if(email.val() == "") {
		errorMessage.push("Bitte <strong>E-Mail Adresse</strong> eingeben.");
	}
	else {
		if(isEmail(email.val()) == false || checkForSpamMail(email.val())==false) errorMessage.push("Bitte gib eine <strong>gültige E-Mail-Adresse</strong> ein.<br /><i>(Wegwerf-Emails sind ebenfalls nicht erlaubt!)</i>");
	}
	if(pass.val() == "") errorMessage.push("Bitte <strong>Passwort</strong> zur EPOS4 benutzung erstellen.");
	if(geschlecht.val() == "") errorMessage.push("Bitte wähle entweder <strong>männlich oder weiblich</strong> aus.");
	if(day.val() == "" || month.val() == "" || year.val() == "") errorMessage.push("Bitte gib dein volles <strong>Geburtsdatum</strong> ein.");


	if(errorMessage.length <= 0) {
		//check email and nickname
		registrierung.checkUserDataByRequest(nickname.val(), email.val());
	}


	//fehler vorhanden
	if(errorMessage.length > 0) {
		registrierung.displayError(errorMessage.join('<br/>'));
	}

	input.value = 'Registrieren';
	input.disabled = false;
	return false;
}

registrierung.displayError = function(text) {
	$('#reg_errorMessage').html(text);
	$('#reg_errorMessage').show();
	$('#reg_errorMessage').fadeOut('slow').fadeIn('fast').fadeOut('slow').fadeIn('fast');
}

registrierung.hideError = function() {
	$('#reg_errorMessage').hide();
	$('#reg_errorMessage').html('');
}


registrierung.checkUserDataByRequest = function(nickname, email) {
	$.ajax({
		cache : false,
		async : false,
		dataType : 'json',
		url : "/register/ajax_do.php?register_key=" + register_key + "&" + $('#reg_form').serialize(),
		error : function() {
			registrierung.displayError('Es ist ein unbekannter Fehler aufgetreten! (#376)');
		},
		success : function(json) {
			if(typeof(json) == "object" && json.success == false) {
				registrierung.displayError(json.message.join('<br/>'));
			}
			else if(typeof(json) == "object" && json.success == true) {
				//registrierung erfolgreich abgeschlossen!
				$("#reg_form").remove();
				$(".reg_box-main").remove();

				//erfolgemeldung einblenden
				$('#reg_errorMessage').show();
				$('#reg_errorMessage').fadeOut('slow').fadeIn('fast');
				$('#reg_errorMessage').css('background-color','#67A54B');
				$('#reg_errorMessage').css('border-color','#477234');
				$('#reg_errorMessage').css('color','#24355B');
				$('#reg_errorMessage').html('<h3>Bestätige deine E-Mail-Adresse</h3><br/><p>Danke für die Registrierung bei EPOS4! Wir haben dir soeben eine Bestätigungs-E-Mail an <strong>' + email + '</strong> gesendet.<br/><br/>Klicke auf den Bestätigungslink in der E-Mail, um deine Registrierung abzuschließen.</p><br/><div align="right" style="cursor:pointer;" onclick="registrierung.toggleWindow();">Fenster schließen</div>');
			}
			else {
				registrierung.displayError('Es ist ein unbekannter Fehler aufgetreten! (#376)');
			}
		}
	})

	return false;
}


function isEmail(indirizzo) {
  if (window.RegExp) {
    var nonvalido = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
    var valido = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$";
    var regnv = new RegExp(nonvalido);
    var regv = new RegExp(valido);
    if (!regnv.test(indirizzo) && regv.test(indirizzo))
      return true;
    return false;
    }
  else {
	  alert(indrizzo);
    if((indirizzo.indexOf("@") >= 0))
      return true;indirizzo
    return false;
     }
}


$(document).ready(function() {
	var nickname = $('#nickname').get(0);
	if($('#nickname_login').length > 0)
		$('#nickname_login').focus();

	$('#reg_button').click(function() {
		registrierung.toggleWindow();
	});

	$('#reg_button-top').click(function() {
		registrierung.toggleWindow();
	});

	$('#reg_bg').click(function() {
		registrierung.toggleWindow();
	});
})

function checkForSpamMail(str)
{						
	//check links
	//var str = document.getElementById('textarea').value;
	str=str.toLowerCase();	//alles klein -> kein workaround mit groï¿½schreibung
	var suche1 = str.lastIndexOf('owlpic.com');
	var suche2 = str.lastIndexOf('spaml.de');
	var suche3 = str.lastIndexOf('sofort-mail.de');
	var suche4 = str.lastIndexOf('mailinator.com');
	var suche5 = str.lastIndexOf('mailinator2.com');
	var suche6 = str.lastIndexOf('spamavert.com');
	var suche7 = str.lastIndexOf('spam.la');
	var suche8 = str.lastIndexOf('tempinbox.com');
	var suche9 = str.lastIndexOf('SmellFear.com');
	var suche10 = str.lastIndexOf('LookUgly.com');
	var suche11 = str.lastIndexOf('BeefMilk.com');
	var suche12 = str.lastIndexOf('FudgeRub.com');
	var suche13 = str.lastIndexOf('DingBone.com');
	var suche14 = str.lastIndexOf('wegwerfmail.org');
	var suche15 = str.lastIndexOf('wegwerfmail.net');
	var suche16 = str.lastIndexOf('wegwerfmail.de');
	var suche17 = str.lastIndexOf('trashmail.net');
	var suche18 = str.lastIndexOf('trashmail.me');
	var suche19 = str.lastIndexOf('trashmail.at');
	var suche20 = str.lastIndexOf('trash-mail.at');
	var suche21 = str.lastIndexOf('trash-mail.de');
	var suche22 = str.lastIndexOf('trash-mail.com');
	var suche23 = str.lastIndexOf('rcpt.at');
	var suche24 = str.lastIndexOf('proxymail.eu');
	var suche25 = str.lastIndexOf('objectmail.com');
	var suche26 = str.lastIndexOf('kurzepost.de');
	var suche27 = str.lastIndexOf('guerrillamailblock.com');
	var suche28 = str.lastIndexOf('spambox.us');
	var suche29 = str.lastIndexOf('eintagsmail.de');
	var suche30 = str.lastIndexOf('film-blog.biz');
	var suche31 = str.lastIndexOf('s0ny.net');
	var suche32 = str.lastIndexOf('ero-tube.org');
	var suche33 = str.lastIndexOf('watch-harry-potter.com');
	var suche34 = str.lastIndexOf('watchfull.net');
	var suche35 = str.lastIndexOf('geschenkt.biz');
	var suche36 = str.lastIndexOf('nomail2me.com');
	var suche37 = str.lastIndexOf('3d-painting.com');
	var suche38 = str.lastIndexOf('recode.me');
	var suche39 = str.lastIndexOf('sandelf.de');
	var suche40 = str.lastIndexOf('bio-muesli.info');
	var suche41 = str.lastIndexOf('0815.ru');
	var suche42 = str.lastIndexOf('bio-muesli.net');
	var suche43 = str.lastIndexOf('kulturbetrieb.info');
	var suche44 = str.lastIndexOf('teewars.org');
	var suche45 = str.lastIndexOf('great-host.in');
	var suche46 = str.lastIndexOf('imails.info');
	var suche47 = str.lastIndexOf('cust.in	');
	var suche48 = str.lastIndexOf('discardmail.de');
	var suche49 = str.lastIndexOf('discardmail.com');
	var suche50 = str.lastIndexOf('spambog.ru');
	var suche51 = str.lastIndexOf('spambog.de');
	var suche52 = str.lastIndexOf('spambog.com');
	var suche53 = str.lastIndexOf('wegwerfadresse.de');
	var suche54 = str.lastIndexOf('nervtmich.net');
	var suche55 = str.lastIndexOf('nervmich.net');
	var suche56 = str.lastIndexOf('spammotel.com');
	
	if((suche1 >= 0) || (suche2 >= 0) || (suche3 >= 0) || (suche4 >= 0) || (suche5 >= 0) || (suche6 >= 0) || (suche7 >= 0) || (suche8 >= 0) || (suche9 >= 0) || (suche10 >= 0) || (suche11 >= 0) || (suche12 >= 0) || (suche13 >= 0) || (suche14 >= 0) || (suche15 >= 0) || (suche16 >= 0) || (suche17 >= 0) || (suche18 >= 0) || (suche19 >= 0) || (suche20 >= 0) || (suche21 >= 0) || (suche22 >= 0) || (suche23 >= 0) || (suche24 >= 0) || (suche25 >= 0) || (suche26 >= 0) || (suche27 >= 0) || (suche28 >= 0) || (suche29 >= 0) || (suche30 >= 0) || (suche31 >= 0) || (suche32 >= 0) || (suche33 >= 0) || (suche34 >= 0) || (suche35 >= 0) || (suche36 >= 0) || (suche37 >= 0) || (suche38 >= 0) || (suche39 >= 0) || (suche40 >= 0) || (suche41 >= 0) || (suche42 >= 0) || (suche43 >= 0) || (suche44 >= 0) || (suche45 >= 0) || (suche46 >= 0) || (suche47 >= 0) || (suche48 >= 0) || (suche49 >= 0) || (suche50 >= 0) || (suche51 >= 0) || (suche52 >= 0) || (suche53 >= 0) || (suche54 >= 0) || (suche55 >= 0) || (suche56 >= 0))
	{
		return false;
	} else {
		return true;	
	}
}