var find_email = []; var find_user = []; var email_occupied = []; var user_occupied = []; var change_login = true; $(document).ready(function() { // měnit pole login pokud tam nic není $('input[name=email]').change(function(){ var value = $(this).val(); if (change_login) { $('input[name=login_name]').val(value); formCheckEmail(value); } }); // pokud se změní pak zablokovat doplňování emailem případně znovu povolit při prazdném poličku $('input[name=login_name]').change(function(){ var value = $(this).val(); if (value == '') { change_login = true; } else { change_login = false; formCheckUser(value); } }); // zachycení formulářů $('#main').on('submit', 'form', function(e){ e.preventDefault(); var type = $(this).children('input[name=form_name]').val(); switch(type) { case "registration": formSave(); break; } }); }); function formCheckEmail(value) { // správný formát emailu? if (!isEmail(value)) { $("#email_no_valid").dialog('open'); return false; } // hledalo se již, pokud ano byl již označen jako nepoužitelný? if (arraySize(find_email) && find_email.indexOf(value) != -1) { if (arraySize(email_occupied) && email_occupied.indexOf(value) != -1) { $("#email_exists").dialog('open'); return false; } return true; } // pokud ne jak je tomu ve skutečnosti? $.getJSON('ajax.php', { go: 'Registrace', action: 'findEmail', email: value }, function(response){ find_email.push(value); if (response.process === "ok" && response.found) { $("#email_exists").dialog('open'); email_occupied.push(value); return false; } return true; }); } function formCheckUser(value) { if (value == "") { return false; } // hledalo se již, pokud ano byl již označen jako nepoužitelný? if (arraySize(find_user) && find_user.indexOf(value) != -1) { if (arraySize(user_occupied) && user_occupied.indexOf(value) != -1) { $("#login_exists").dialog('open'); return false; } return true; } // pokud ne jak je tomu ve skutečnosti? $.getJSON('ajax.php', { go: 'Registrace', action: 'findUser', login: value }, function(response){ find_user.push(value); if (response.process === "ok" && response.found) { $("#login_exists").dialog('open'); user_occupied.push(value); } }); } function formSave() { var first_name = $('input[name=first_name]').val(); var last_name = $('input[name=last_name]').val(); var email = $('input[name=email]').val(); var login_name = $('input[name=login_name]').val(); var password = $('input[name=first_password]').val(); var re_password = $('input[name=re_password]').val(); var telephone = $('input[name=telephone]').val(); telephone = telephone.replace(' ', ''); if (!isEmail(email)) { $("#email_no_valid").dialog('open'); return false; } if (arraySize(find_email) && find_email.indexOf(email) != -1) { if (arraySize(email_occupied) && email_occupied.indexOf(email) != -1) { $("#email_exists").dialog('open'); return false; } } if (arraySize(find_user) && find_user.indexOf(login_name) != -1) { if (arraySize(user_occupied) && user_occupied.indexOf(login_name) != -1) { $("#login_exists").dialog('open'); return false; } } if (password !== re_password) { $("#bad_re_password").dialog('open'); return false; } if (password.length < 6) { $("#password_length").dialog('open'); return false; } if (telephone.length && !isTel(telephone)) { $("#bad_tel").dialog('open'); return false; } // odeslat a zkontrolovat $.getJSON('ajax.php', { go: 'Registrace', action: 'save', 'first_name': first_name, 'last_name': last_name, 'email': email, 'login': login_name, 'password': password, 're_password': re_password, 'telephone': telephone }, function(response){ if (response.process === "ok") { window.location.href="index.php"; } else { if (response.type == 1) { $("#email_exists").dialog('open'); } else if (response.type == 2) { $("#login_exists").dialog('open'); } else if (response.type == 3) { $("#email_no_valid").dialog('open'); } else if (response.type == 4) { $("#bad_re_password").dialog('open'); } else if (response.type == 5) { $("#password_length").dialog('open'); } else if (response.type == 6) { $("#bad_tel").dialog('open'); } else { $("#bad_data").dialog('open'); } } }); }