var loginChecked = false;
var loginOk = false;
var ajaxOk = false;
if (document.images) {
var pic = new Image();
pic.src="img/ajax_small.gif";
}
function init() {
var xmlHttp = ajax_init();
if ( ! xmlHttp ) {
document.getElementById("login_edit").style.width = "250px";
document.getElementById("ajax_login").style.display = "none";
}else{
ajaxOk = true;
}
}
function check_availability() {
var xmlHttp = ajax_init();
if ( ! xmlHttp ) { return false; }
var login = document.getElementById("login_edit").value;
if ( login == "" ) {
alert("Login nie może być pusty");
return false;
}
if ( login.length < 4 ) {
alert("Login powinien składać się z co najmniej 4 znaków");
return false;
}
div = document.getElementById("ajax_login");
div.innerHTML = ' ';
div.innerHTML += " Sprawdzam, proszę czekać...";
var url="ajax,op-check_login,login-";
url += login + ".html";
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4) {
if ( (xmlHttp.status == 200) && (xmlHttp.responseText != "") ) {
loginChecked = login;
div.innerHTML = " "+xmlHttp.responseText;
loginOk = xmlHttp.getResponseHeader("X-Ajaxify") == "OK";
}else{
div.innerHTML = " FAIL : ";
div.innerHTML += " Sprawdzenie niemożliwe. Login będzie sprawdzony w następnym kroku";
loginChecked = -1;
}
}
}
xmlHttp.open("GET", url);
xmlHttp.send(null);
}
function login_changed() {
if ( loginChecked == 0 ) { return; }
if ( loginChecked != document.getElementById("login_edit") ) {
loginChecked = 0;
loginOk = 0;
document.getElementById("ajax_login").innerHTML = ' ';
};
}
function check_form(isNew) {
var err = "";
var edit;
if ( isNew ) {
var login;
if ( ajaxOk ) {
if ( loginChecked == 0 ) { err += "Najpierw musisz sprawdzić login\r\n"; }
else if( (loginChecked != -1) && !loginOk ) { err += "Podany login jest nieprawidłowy\r\n"; }
login = loginChecked;
}else{
edit = trim(document.getElementById("login_edit").value);
document.getElementById("login_edit").value = edit;
if ( edit == "" ) { err += "Login nie może być pusty\r\n"; }
else if ( edit.length < 4 ) { err += "Login powinien składać się z co najmniej 4 znaków\r\n"; }
login = edit;
}
edit = document.getElementById("pass1").value;
if ( edit == "" ) { err += "Hasło nie może być puste\r\n"; }
else if ( edit.length < 6 ) { err += "Minimalna długość hasła to 6 znaków\r\n"; }
else if ( edit != document.getElementById("pass2").value ) { err += "Oba hasła muszą być identyczne\r\n"; }
else if ( edit == login ) { err += "Hasło i login muszą się różnić\r\n"; }
//edit = document.getElementById("rules_accept").value;
//if (edit!="1") { err += "Musisz zaakceptować regulamin\r\n"; }
}else{
edit = document.getElementById("pass1").value;
if ( edit.length > 0 ) {
if ( edit != document.getElementById("pass2").value ) { err += "Oba hasła muszą być identyczne\r\n"; }
}
}
edit = trim(document.getElementById("email_edit").value);
document.getElementById("email_edit").value = edit;
if ( edit == "" ) { err += "E-mail nie może być pusty\r\n"; }
else if ( edit == "" ) { err += "E-mail nie może być pusty\r\n"; }
else if ( ! is_valid_email(edit) ) { err += "Adres e-mail jest nieprawidłowy\r\n"; }
edit = trim(document.getElementById("fake_email_edit").value);
document.getElementById("fake_email_edit").value = edit;
if ( (edit.length > 0) && ( ! is_valid_email(edit) ) ) { err += "Publiczny adres e-mail jest nieprawidłowy\r\n"; }
if ( isNew ) {
edit = document.getElementById("token_edit").value;
if ( edit.length != 4 ) { err += "Proszę przepisać tekst z obrazka\r\n"; }
}
if ( err ) {
alert( "Wystąpiły następujące błedy podczas przetwarzania twojego zgłoszenia:\r\n\r\n" + err );
return false;
}
return true;
}
function is_valid_email(edit) {
var atIndex = edit.indexOf("@");
var afterAt = edit.substring((atIndex + 1), edit.length);
var dotIndex = afterAt.indexOf(".");
dotIndex = dotIndex + atIndex + 1;
afterAmp = edit.substring((atIndex + 1), dotIndex);
var afterDot = edit.substring((dotIndex + 1), edit.length);
var beforeAt = edit.substring(0,(atIndex));
var email_regex = /^\w(?:\w|-|\.(?!\.|@))*@\w(?:\w|-|\.(?!\.))*\.\w{2,3}/
if ((edit.indexOf("@") != "-1") &&
(afterAt.length > 0) &&
(beforeAt.length > 1) &&
(afterDot.length > 1) &&
(email_regex.test(edit)) ) { return true; } else { return false; }
}
function trim(str) {
return str.replace(/^\s+|\s+$/g, '');
}
function ajax_init() {
var xmlHttp;
try { xmlHttp=new XMLHttpRequest(); }
catch (e) {
try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); }
catch (e) {
try { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); }
catch (e) {
xmlHttp = false;
}
}
}
return xmlHttp;
}