RegistrationForm = {
removeMessages: function (category) {
switch (category) {
case 1:
if (document.getElementById("reNicknameOk")) {
document.getElementById('reNicknameFrame').removeChild(document.getElementById("reNicknameOk"));
}
break;
case 2:
if (document.getElementById("reNicknameError")) {
document.getElementById('reNicknameFrame').removeChild(document.getElementById("reNicknameError"));
}
break;
case 3:
if (document.getElementById("rePasswordOk")) {
document.getElementById('rePasswordFrame').removeChild(document.getElementById("rePasswordOk"));
}
break
case 4:
if (document.getElementById("rePasswordError")) {
document.getElementById('rePasswordFrame').removeChild(document.getElementById("rePasswordError"));
}
break
}
},
checkNickname: function () {
var nickname = document.getElementById('reNicknameInput').value;
var verify = new AjaxHandler();
var callback = {
success: function(responseText) {
if (!responseText) {
RegistrationForm.removeMessages(1);
RegistrationForm.removeMessages(2);
var box = document.createElement("span");
box.id = "reNicknameOk";
box.className = "icOk";
box.innerHTML = "&nbsp;";
document.getElementById('reNicknameFrame').appendChild(box);
}
else {
RegistrationForm.removeMessages(1);
RegistrationForm.removeMessages(2);
var box = document.createElement('div');
box.id = "reNicknameError";
box.className = "reMsg rb5";
box.innerHTML = "<div class='reMsgPointer'>&nbsp;</div><span class='icMark'>&nbsp;</span>"+responseText;
document.getElementById('reNicknameFrame').appendChild(box);
}
},
failure: function(statusCode) {
RegistrationForm.showAjaxError(statusCode);
}
};
if (document.getElementById('reNicknameInput').value != "") {
verify.request('POST', "/backend/registration.php", callback, {action: "checkNickname", nickname: nickname});
}
},
checkPassword: function () {
var nickname = document.getElementById('reNicknameInput').value;
var password = document.getElementById('rePasswordInput').value;
var verify = new AjaxHandler();
var callback = {
success: function(responseText) {
if (!responseText) {
RegistrationForm.removeMessages(3);
RegistrationForm.removeMessages(4);
var box = document.createElement("span");
box.id = "rePasswordOk";
box.className = "icOk";
box.innerHTML = "&nbsp;";
document.getElementById('rePasswordFrame').appendChild(box);
}
else {
RegistrationForm.removeMessages(3);
RegistrationForm.removeMessages(4);
var box = document.createElement('div');
box.id = "rePasswordError";
box.className = "reMsg rb5";
box.innerHTML = "<div class='reMsgPointer'>&nbsp;</div><span class='icMark'>&nbsp;</span>"+responseText+"<br>Das Passwort muss eine Kombination aus Zahlen und Buchstaben sein. z.B. 20Himmel3, Pa66wor1";
document.getElementById('rePasswordFrame').appendChild(box);
document.getElementById('rePasswordInput').onkeyup = function () {
RegistrationForm.checkPassword();
}
}
},
failure: function(statusCode) {
RegistrationForm.showAjaxError(statusCode);
}
};
if (document.getElementById('rePasswordInput').value != "") {
verify.request('POST', "/backend/registration.php", callback, {action: "checkPassword", password: password, nickname: nickname});
}
},
info: {
show: function (trigger, infoId) {
if (RegistrationForm.info.job == undefined) {
RegistrationForm.info.trigger = trigger;
RegistrationForm.info.job = window.setTimeout("RegistrationForm.info.insert("+infoId+")", 200);
}
},
insert: function (infoId) {
RegistrationForm.info.job = undefined;
if (document.getElementById('reInfo')) {
document.getElementById('ly').removeChild(document.getElementById('reInfo'));
}
if (RegistrationForm.info.trigger.value != "") {
return;
}
var box = document.createElement('div');
box.id = "reInfo";
box.className = "reInfo rb5";
box.style.position = "absolute";
box.style.top = Jpy.getOffsetPosition(RegistrationForm.info.trigger).y-8;
box.style.left = Jpy.getOffsetPosition(RegistrationForm.info.trigger).x+340;
switch (infoId) {
case 1:
box.innerHTML = "<div class='reInfoPointer'>&nbsp;</div>Wähle hier einen <b>Mitgliedsnamen</b> mit dem dich andere Jappynutzer ansprechen.";
break;
case 2:
box.innerHTML = "<div class='reInfoPointer'>&nbsp;</div>Wähle hier ein neues Passwort. <br><i>Keine Passwörter von E-Mailaccounts benutzen!</i>";
break;
case 3:
box.innerHTML = "<div class='reInfoPointer'>&nbsp;</div>Gibt hier deine E-Mailadresse ein.";
break;
case 4:
box.innerHTML = "<div class='reInfoPointer'>&nbsp;</div>Die geheime Antwort ist ein zusätzlicher Schutz für dein Profil! Bei wichtigen Änderungen stellt dir Jappy die geheime Frage!";
break;
case 5:
box.innerHTML = "<div class='reInfoPointer'>&nbsp;</div>Gibt hier deine PLZ ein. Es werden nur die ersten 2 Stellen im Profil angezeigt!";
break;
default:
box.innerHTML = "<div class='reInfoPointer'>&nbsp;</div>...";
}
document.getElementById('ly').style.display = "block";
document.getElementById('ly').appendChild(box);
RegistrationForm.info.trigger = null;
},
hide: function () {
if (document.getElementById('reInfo')){
document.getElementById('reInfo').style.display = "none";
}
}
},
checkEmail: function (trigger) {
 if (document.getElementById('reEmailError')) {
 document.getElementById('reEmailFrame').removeChild(document.getElementById('reEmailError'))
 }
function showEmailInfo(message) {
if (document.getElementById('reEmailError')) {
document.getElementById('reEmailError').innerHTML = message;
}
else {
var box = document.createElement('div');
box.id = "reEmailError";
box.className = "reMsg rb5";
box.innerHTML = "<div class='reMsgPointer'>&nbsp;</div>"+message;
document.getElementById('reEmailFrame').appendChild(box);
}
}
var input = trigger;
var email = input.value;
var checkList = [
[/^www/g, 1, "Bist du dir sicher, dass deine Mail mit www beginnt? Das ist ungewöhnlich für eine E-Mailadresse!"],
[/\.com\.com/g, 1, "zwei mal .com?"],
[/\.de\.de/g, 1, "zwei mal .de?"],
[/acrcor\.de/, 2, "arcor.de"],
[/arrcor\.de/, 2, "arcor.de"],
[/acor\.de/, 2, "arcor.de"],
[/[a-z0-9]{1}arcor\.de/i, 2, "arcor.de"],
[/aolo\.com/, 2, "aol.com"],
[/alo\.de/, 2, "aol.de"],
[/aokl\.com /, 2, "aol.com"],
[/ali[cs]{1}e\-dls\.net/, 2, "alice-dsl.net"],
[/alise\-dsl\.net/, 2, "alice-dsl.net"],
[/freedet\.de/, 2, "freenet.de"],
[/freeent\.de/, 2, "freenet.de"],
[/freenett\.de/, 2, "freenet.de"],
[/freennet\.de/, 2, "freenet.de"],
[/freenrt\.de/, 2, "freenet.de"],
[/freetnet\.de/, 2, "freenet.de"],
[/freneet\.de/, 2, "freenet.de"],
[/dmx\.de/, 2, "gmx.de"],
[/gemx\.net/, 2, "gmx.net"],
[/gnx\.net/, 2, "gmx.net"],
[/gmy\.de/, 2, "gmx.de"],
[/gmxmail\.com/, 2, "gmx.de"],
[/hgmx\.de/, 2, "gmx.de"],
[/hmx\.de/, 2, "gmx.de"],
[/gogglemail\.com/, 2, "googlemail.com"],
[/gogglemail\.de/, 2, "googlemail.de"],
[/goglemail\.com/, 2, "googlemail.com"],
[/googelemail\.com/, 2, "googlemail.com"],
[/googemail\.com/, 2, "googlemail.com"],
[/googleemail\.com/, 2, "googlemail.com"],
[/googlemai\.com/, 2, "googlemail.com"],
[/googlemail\.de\.com/, 2, "googlemail.com"],
[/googlemaile\.com/, 2, "googlemail.com"],
[/googlemal\.com/, 2, "googlemail.com"],
[/googlemale\.com/, 2, "googlemail.com"],
[/googlem\.com/, 2, "googlemail.com"],
[/googlmail\.com/, 2, "googlemail.com"],
[/goolemail\.com/, 2, "googlemail.com"],
[/goolemail\.de/, 2, "googlemail.de"],
[/googelmail\.com/, 2, "googlemail.com"],
[/haotmail\.de/, 2, "hotmail.de"],
[/ghotmail\.com /, 2, "hotmail.com"],
[/homail\.com /, 2, "hotmail.com"],
[/hootmail\.com /, 2, "hotmail.com"],
[/hotail\.com /, 2, "hotmail.com"],
[/ghotmail\.com /, 2, "hotmail.com"],
[/hotlain\.com /, 2, "hotmail.com"],
[/hotmai\.com /, 2, "hotmail.com"],
[/hotmal\.com /, 2, "hotmail.com"],
[/hotmaill\.com /, 2, "hotmail.com"],
[/hotrmail\.com /, 2, "hotmail.com"],
[/otrmail\.com /, 2, "hotmail.com"],
[/hotmil\.de/, 2, "hotmail.de"],
[/hotmai\.com/, 2, "hotmail.com"],
[/homil\.de/, 2, "hotmail.de"],
[/holmail\.de/, 2, "hotmail.de"],
[/hootmail\.de/, 2, "hotmail.de"],
[/hormail\.de/, 2, "hotmail.de"],
[/haotmail\.de/, 2, "hotmail.de"],
[/hotail\.de/, 2, "hotmail.de"],
[/hotmaild\.de/, 2, "hotmail.de"],
[/hotmaile\.de/, 2, "hotmail.de"],
[/hotmaill\.de/, 2, "hotmail.de"],
[/hotmailo\.de/, 2, "hotmail.de"],
[/hotmali\.de/, 2, "hotmail.de"],
[/hotmel\.de/, 2, "hotmail.de"],
[/hotmmail\.de/, 2, "hotmail.de"],
[/hotmsil\.de/i, 2, "hotmail.de"],
[/htmail\.de/i, 2, "hotmail.de"],
[/htomail\.de/i, 2, "hotmail.de"],
[/hotmail\.tv/, 2, "hotmail.de"],
[/hotmeil\.es/, 2, "hotmail.es"],
[/jive\.de/i, 2, "live.de"],
[/liefe\.de/i, 2, "live.de"],
[/livr\.de/i, 2, "live.de"],
[/liv\.com/i, 2, "live.com"],
[/llive\.de/i, 2, "live.de"],
[/mns\.com/i, 2, "msn.com"],
[/mns\.de/i, 2, "msn.de"],
[/odafone\.de/i, 2, "vodafone.de"],
[/onlinhome\.de/i, 2, "onlinehome.de"],
[/t\-oline\.de/i, 2, "t-online.de"],
[/t\-onilne\.de/i, 2, "t-online.de"],
[/t\-onliene\.de/i, 2, "t-online.de"],
[/t\-onlinde\.de/i, 2, "t-online.de"],
[/tonline\.de/i, 2, "t-online.de"],
[/t-onlinie\.de/i, 2, "t-online.de"],
[/t-onliune\.de/i, 2, "t-online.de"],
[/t-onlline\.de/i, 2, "t-online.de"],
[/t-onlne\.de/i, 2, "t-online.de"],
[/t-oneline\.de/i, 2, "t-online.de"],
[/t-onloine\.de/i, 2, "t-online.de"],
[/t-onlone\.de/i, 2, "t-online.de"],
[/t-onlune\.de/i, 2, "t-online.de"],
[/t-oonline\.de/i, 2, "t-online.de"],
[/tmobil\.de/i, 2, "t-mobile.de"],
[/telecom\.de/i, 2, "telekom.de"],
[/yahhoo\.de/i, 2, "yahoo.de"],
[/yahooo\.de/i, 2, "yahoo.de"],
[/yahoo\.cm/i, 2, "yahoo.com"],
[/ahoo\.de/i, 2, "yahoo.de"],
[/ymail\.com/i, 2, "yahoo.com"]
];
if ((/(\w[\wüöä.]{2,}@)(\w{2,}.)*([a-zA-Züöä\-]{2,}\.[a-zA-Z]{2,4})/gi).test(email) == true) {
var found = false;
for (var i = 0, len = checkList.length; i < len; i++) {
if (checkList[i][0].test(email) == true) {
if (checkList[i][1] == 1) {
showEmailInfo(checkList[i][2])
}
else if(checkList[i][1] == 2) {
showEmailInfo("Meintest du <b>"+checkList[i][2]+"</b>? <span class='inCo rb5 cp' onclick='RegistrationForm.replaceEmail("+checkList[i][0]+", \""+checkList[i][2]+"\")'>Ja</span>")
}
else {
showEmailInfo("Deine E-Mailadresse beinhaltet "+checkList[i][2]+". Diese Zeichenfolge wirkt wie ein Tippfehler!")
}
found = true;
}
}
if (found == false) {
if (document.getElementById('reEmailOk')) {
document.getElementById('reEmailFrame').removeChild(document.getElementById('reEmailOk'));
}
var box = document.createElement("span");
box.id = "reEmailOk";
box.className = "icOk";
box.innerHTML = "&nbsp;";
document.getElementById('reEmailFrame').appendChild(box);
if (document.getElementById('reInfo')){
document.getElementById('reInfo').style.display = "none";
}
}
}
else if (email == "") {
return;
}
else {
if ((/(\w[\w.]{2,}@)(\w{2,}.)*([a-zA-Z\-]{2,}\.[a-zA-Z]{2,4})/gi).test(email) == false) {
showEmailInfo("Bitte überprüfe die angegebene E-Mailadresse.")
}
}
},
replaceEmail: function (oldEmailStrip, newEmailStrip) {
document.getElementById('reEmailInput').value = document.getElementById('reEmailInput').value.replace(oldEmailStrip, newEmailStrip);
RegistrationForm.checkEmail(document.getElementById('reEmailInput'));
},
plz: {
getCities: function (focusStatus) {
var arguments = {
zip: document.getElementById('reZipcode').value,
countryId: document.getElementById('reCountryId').value,
type: "RegistrationForm"
};
var verify = new AjaxHandler();
var callback = {
success: function(responseText) {
if (document.getElementById('rePLZError')) {
document.getElementById('rePlzBox').removeChild(document.getElementById('rePLZError'));
}
if (!responseText) {
SystemMessage.inline.success('Keine')
document.getElementById('reLocationWrap').style.display = "none";
}
else {
document.getElementById('reLocationBox').innerHTML = responseText;
document.getElementById('reLocationBox').getElementsByTagName('select')[0].setAttribute("tabindex", "13");
if (document.getElementById('reLocationBox').getElementsByTagName('select')[0].length == 0) {
var box = document.createElement('div');
box.id = "rePLZError";
box.className = "reMsg rb5";
box.innerHTML = "<div class='reMsgPointer'>&nbsp;</div><span class='icMark'>&nbsp;</span><br>Zu dieser PLZ wurde kein Ort gefunden! Bitte gibt eine andere PLZ ein.";
document.getElementById('rePlzBox').appendChild(box);
document.getElementById('reLocationWrap').style.display = "none";
}
else {
document.getElementById('reLocationWrap').style.display = "block";
if (focusStatus == true) {
document.getElementById('reLocationBox').getElementsByTagName('select')[0].focus();
}
}
}
},
failure: function(statusCode) {
RegistrationForm.showAjaxError(statusCode);
}
};
if (document.getElementById('reZipcode').value != "") {
verify.request('POST', "/backend/getLocationSelect.php", callback, arguments);
}
},
check: function () {
if (document.getElementById('reZipcode').value.length == 5 && document.getElementById('reCountryId').value == 1) {
RegistrationForm.plz.getCities(true);
}
else if (document.getElementById('reCountryId').value != 1 && document.getElementById('reZipcode').value.length > 3) {
RegistrationForm.plz.getCities(false);
}
}
},
highlight: {
add: function (line) {
line.className = "reLine reActive cf";
},
remove: function (line) {
line.className = "reLine cf";
}
},
showAjaxError: function (statusCode) {
if (statusCode == 0) {
SystemMessage.inline.error('Du bist nicht mit dem Internet verbunden.');
}
else if (statusCode == 404) {
SystemMessage.inline.error('Die angefragte Datei wurde nicht gefunden.');
}
else if (statusCode == 500){
SystemMessage.inline.error('Die Jappyserver haben ein Problem!');
}
else {
SystemMessage.inline.error('Fehler.\n'+statusCode);
}
},
init: function () {
document.getElementById('le').getElementsByTagName('img')[0].style.display = "none"
if (document.getElementById('rePromote')) {
document.getElementById('rePromote').style.display = "none";
}
document.getElementById('reZipWrap').style.display = "block";
if (document.getElementById('reNicknameInput').value == "") {
document.getElementById('reNicknameInput').focus();
document.getElementById('reNicknameLine').className = "reLine reActive cf";
document.getElementById('reNicknameInput').className = "reIn reInputActive";
}
document.getElementById('reNicknameInput').onfocus = function () {
this.className = "reIn reInputActive";
RegistrationForm.highlight.add(this.parentNode.parentNode);
RegistrationForm.info.show(this, 1);
}
document.getElementById('reNicknameInput').onblur = function () {
RegistrationForm.checkNickname();
RegistrationForm.highlight.remove(this.parentNode.parentNode);
RegistrationForm.info.hide();
this.className = "reIn";
}
document.getElementById('rePasswordInput').onfocus = function () {
RegistrationForm.highlight.add(this.parentNode.parentNode);
this.className = "reIn reInputActive";
RegistrationForm.info.show(this, 2);
}
document.getElementById('rePasswordInput').onblur = function () {
RegistrationForm.checkPassword();
RegistrationForm.highlight.remove(this.parentNode.parentNode);
RegistrationForm.info.hide();
this.className = "reIn";
}
document.getElementById('reEmailInput').onfocus = function () {
RegistrationForm.highlight.add(this.parentNode.parentNode);
this.className = "reIn reInputActive";
RegistrationForm.info.show(this, 3);
}
document.getElementById('reEmailInput').onblur = function () {
RegistrationForm.checkEmail(this);
RegistrationForm.info.hide();
RegistrationForm.highlight.remove(this.parentNode.parentNode);
this.className = "reIn";
}
document.getElementById('reSecretAnswerInput').onfocus = function () {
RegistrationForm.highlight.add(this.parentNode.parentNode);
this.className = "reIn reInputActive";
RegistrationForm.info.show(this, 4);
}
document.getElementById('reSecretAnswerInput').onblur = function () {
this.className = "reIn";
RegistrationForm.highlight.remove(this.parentNode.parentNode);
RegistrationForm.info.hide();
}
document.getElementById('reZipcode').onfocus = function () {
RegistrationForm.highlight.add(this.parentNode.parentNode);
this.className = "reIn reInputActive";
RegistrationForm.info.show(this, 5);
}
document.getElementById('reZipcode').onblur = function () {
this.className = "reIn";
RegistrationForm.highlight.remove(this.parentNode.parentNode);
RegistrationForm.info.hide();
}
document.getElementById('reZipcode').onkeyup = function () {
RegistrationForm.plz.check();
}
RegistrationForm.info.show(document.getElementById('reNicknameInput'), 1);
}
}
// Wed Jul 28 18:06:30 2010