var intervalID = '';
window.onload = function(){
    checkFields();
    intervalID = setInterval('checkFields()', 1000);
}
var loginStat = false;
var emailStat = false;

function countFields(){	var login = document.getElementById('login').value;
    var fio = document.getElementById('fio').value;
    var email = document.getElementById('email').value;
    var pasport = document.getElementById('pasport').value;
    var phone = document.getElementById('phone').value;
    var pass = document.getElementById('pass').value;
    document.getElementById('loginCount').innerHTML = login.length;
    document.getElementById('loginCount').innerText = login.length;
    document.getElementById('fioCount').innerHTML = fio.length;
    document.getElementById('fioCount').innerText = fio.length;
    document.getElementById('emailCount').innerHTML = email.length;
    document.getElementById('emailCount').innerText = email.length;
    document.getElementById('pasportCount').innerHTML = pasport.length;
    document.getElementById('pasportCount').innerText = pasport.length;
    document.getElementById('phoneCount').innerHTML = phone.length;
    document.getElementById('phoneCount').innerText = phone.length;
    document.getElementById('passCount').innerHTML = pass.length;
    document.getElementById('passCount').innerText = pass.length;}

function checkFields(){
    var login = document.getElementById('login').value;
    var fio = document.getElementById('fio').value;
    var email = document.getElementById('email').value;
    var pasport = document.getElementById('pasport').value;
    var phone = document.getElementById('phone').value;
    var pass = document.getElementById('pass').value;
    var pass2 = document.getElementById('pass2').value;
    var good = true;
    JsHttpRequest.query('/backend.php',{
                        'func' : 'getStatLoginEmail',
                        'login' : login,
                        'email' : email},
                        function(result, errors){
                            answer = errors;
                            if (result){
                                loginStat = result['loginStat'];
                                emailStat = result['emailStat'];
                            }
                            if (errors) alert(errors);
                        },
                        true
                        );
    if (login.match(/^[0-9a-zA-Z\_\-]+$/i) && (login.length >= 3) && (login.length <= 30) && !loginStat){
        document.getElementById('login_good').style.display = '';
        document.getElementById('login_bad').style.display = 'none';
        if (!loginStat) document.getElementById('login_exist').style.display = 'none';
    }else{
        document.getElementById('login_good').style.display = 'none';
        document.getElementById('login_bad').style.display = '';
        if (loginStat) document.getElementById('login_exist').style.display = '';
        good = false;
    }

    if ((fio.length >= 10) && (fio.length <= 80)){
        document.getElementById('fio_good').style.display = '';
        document.getElementById('fio_bad').style.display = 'none';
    }else{
        document.getElementById('fio_good').style.display = 'none';
        document.getElementById('fio_bad').style.display = '';
        good = false;
    }

    if (email.match(/^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]{0,}\.)+[a-z]{2,4}$/i) && (email.length >= 5) && (email.length <= 50) && !emailStat){
        document.getElementById('email_good').style.display = '';
        document.getElementById('email_bad').style.display = 'none';
        if (!emailStat) document.getElementById('email_exist').style.display = 'none';
    }else{
        document.getElementById('email_good').style.display = 'none';
        document.getElementById('email_bad').style.display = '';
        if (emailStat) document.getElementById('email_exist').style.display = '';
        good = false;
    }

    if (pasport.match(/^[a-zA-Zà-ÿÀ-ß 0-9]{6,20}$/i)){
        document.getElementById('pasport_good').style.display = '';
        document.getElementById('pasport_bad').style.display = 'none';
    }else{
        document.getElementById('pasport_good').style.display = 'none';
        document.getElementById('pasport_bad').style.display = '';
        good = false;
    }
    if (phone.match(/^[\+]{0,}[0-9 ]{6,}$/i)){
        document.getElementById('phone_good').style.display = '';
        document.getElementById('phone_bad').style.display = 'none';
    }else{
        document.getElementById('phone_good').style.display = 'none';
        document.getElementById('phone_bad').style.display = '';
        good = false;
    }
    if ((pass.length >= 6) && (pass.length <= 20)){
        document.getElementById('pass_good').style.display = '';
        document.getElementById('pass_bad').style.display = 'none';
    }else{
        document.getElementById('pass_good').style.display = 'none';
        document.getElementById('pass_bad').style.display = '';
        good = false;
    }
    if ((pass2.length >= 6) && (pass2.length <= 20) && (pass == pass2)){
        document.getElementById('pass2_good').style.display = '';
        document.getElementById('pass2_bad').style.display = 'none';
    }else{
        document.getElementById('pass2_good').style.display = 'none';
        document.getElementById('pass2_bad').style.display = '';
        good = false;
    }
    if (good){
        document.getElementById('but').disabled = false;
    }else{
        document.getElementById('but').disabled = true;
    }
}
