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; }