

function isValidEmail (email, strict)
{
 if ( !strict ) email = email.replace(/^\s+|\s+$/g, '');
 return (/^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}$/i).test(email);
}


function isValidDomain (domain, strict)
{
 if ( !strict ) domain = domain.replace(/^\s+|\s+$/g, '');
 return (/[A-Z0-9.-]+\.[A-Z]{2,4}/i).test(domain);
}

function isLogin (login, strict)
{
 if ( !strict ) login = login.replace(/^\s+|\s+$/g, '');
 return (/^[A-Z0-9]{3,15}$/i).test(login);
}



function isMatchDomain (d1, d2)
{



(/([A-Z0-9.-]+\.[A-Z]{2,4})/i).test(d1);

d1 = RegExp.$1;

(/([A-Z0-9.-]+\.[A-Z]{2,4})/i).test(d2);

d2 = RegExp.$1;

if (d2 == d1 && d1 != '') {return true}

return false;

}





var CheckForm = function (p) { 

var place = p;

var p_login = document.getElementById('p_login');
var p_person = document.getElementById('p_person');
var p_name = document.getElementById('p_name');
var p_url = document.getElementById('p_url');
var p_info = document.getElementById('p_info');
var p_mail = document.getElementById('p_mail');
var p_password1 = document.getElementById('p_password1');
var p_password2 = document.getElementById('p_password2');
var p_back = document.getElementById('p_back');


var form = document.getElementById('form_reg');
var limit = document.getElementById('limit');



var p_login_info = document.getElementById('p_login_info');
var p_mail_info = document.getElementById('p_mail_info');
var p_url_info = document.getElementById('p_url_info');
var p_password1_info = document.getElementById('p_password1_info');
var p_password2_info = document.getElementById('p_password2_info');
var p_person_info = document.getElementById('p_person_info');
var p_name_info = document.getElementById('p_name_info');




p_person.onchange = p_person.onkeyup = function () {

    if (p_person.value.length < 3) {
    
        p_person_info.innerHTML = '<br>Слишком короткое имя!';
        p_person_info.style.color = '#bb0000';
    }
    else {
    
        p_person_info.innerHTML = '<br>Ok!';
        p_person_info.style.color = '#00bb00';
    }
}

p_name.onchange = p_name.onkeyup = function () {

    if (p_name.value.length < 3) {
    
        p_name_info.innerHTML = '<br>Слишком короткое название!';
        p_name_info.style.color = '#bb0000';
    }
    else {
    
        p_name_info.innerHTML = '<br>Ok!';
        p_name_info.style.color = '#00bb00';
    }
}



p_password1.onchange = p_password1.onkeyup = function () {

    if (p_password1.value.length < 4) {
    
        p_password1_info.innerHTML = '<br>Пароль слишком короткий!';
        p_password1_info.style.color = '#bb0000';
    }
    else {
    
        p_password1_info.innerHTML = '<br>Ok!';
        p_password1_info.style.color = '#00bb00';
    }
}



p_password2.onchange = p_password2.onkeyup = function () {

    if (p_password1.value != p_password2.value) {
    
        p_password2_info.innerHTML = '<br>Пароли не совпадают!';
        p_password2_info.style.color = '#bb0000';
    }
    else {
    
        p_password2_info.innerHTML = '<br>Ok!';
        p_password2_info.style.color = '#00bb00';
    }
}




var error_login = 'Login слишком короткий!';

p_login.onchange = function () {


if (p_login.value.length < 3) {

    p_login_info.innerHTML = '<br>Login слишком короткий!';
    p_login_info.style.color = '#bb0000';
    error_login = 'Login слишком короткий!';

}


if (p_login.value.length > 2) {

    p_login_info.innerHTML = '<br>Идет проверка...';
    p_login_info.style.color = '#999999'
    
    SendRequest('/ajax/?action=check_login&login=' + p_login.value, function (result) {
    
    if (result.result == 'yes') {
    
        p_login_info.innerHTML = '<br>Login свободен!';
        p_login_info.style.color = '#00bb00';
        error_login = '';    
    }

    if (result.result == 'no') {
    
        p_login_info.innerHTML = '<br>Такой login уже зарегистрирован!';
        p_login_info.style.color = '#bb0000';
        error_login = 'Такой login уже зарегистрирован!';        
    }
    
    
    });
    
}    
}



var error_mail = 'E-mail не указан!';

p_mail.onchange = function () {

    
    if (p_mail.value == '') {
    
        p_mail_info.innerHTML = '<br>E-mail не указан!';
        p_mail_info.style.color = '#bb0000';
    
    }
    
    if (p_mail.value != '') {
    
        p_mail_info.innerHTML = '<br>Идет проверка...';
        p_mail_info.style.color = '#999999';
        
        SendRequest('/ajax/?action=check_mail&mail=' + p_mail.value, function (result) {
        
            if (result.result == 'yes') {
            
                p_mail_info.innerHTML = '<br>E-mail свободен!';
                p_mail_info.style.color = '#00bb00';
                error_mail = '';
            }
        
            if (result.result == 'no') {
            
                p_mail_info.innerHTML = '<br>Такой e-mail уже зарегистрирован!';
                p_mail_info.style.color = '#bb0000';
                error_mail = 'Такой e-mail уже зарегистрирован!';
            }
        
            if (result.result == 'invalid') {
                
                p_mail_info.innerHTML = '<br>Некорректный e-mail!';
                p_mail_info.style.color = '#bb0000';
                error_mail = 'Некорректный e-mail!';
            }
        
        
        });
    }     
}

var error_url = 'Не указан URL сайта!';

p_url.onchange = function () {

    p_url_info.innerHTML = '<br>Идет проверка...';
    p_url_info.style.color = '#999999';
    
    SendRequest('/ajax/?action=check_url&url=' + p_url.value, function (result) {
    
    if (result.result == 'yes') {
    
        p_url_info.innerHTML = '<br>URL корректный!';
        p_url_info.style.color = '#00bb00';
        error_url = '';
    }

    if (result.result == 'no') {
    
        p_url_info.innerHTML = '<br>Такой URL уже зарегистрирован!';
        p_url_info.style.color = '#bb0000';
        error_url = 'Такой URL уже зарегистрирован!';
    }

    if (result.result == 'invalid') {
    
        p_url_info.innerHTML = '<br>Некорректный URL!';
        p_url_info.style.color = '#bb0000';
        error_url = 'Некорректный URL!';
    }
    
    
    });
}


p_info.onkeyup = function () {

    var l = p_info.value.length;
    l = 400 - l;
    if (l <= 0) {p_info.value = p_info.value.substring(0, 400)}
    limit.innerHTML = l;
}

limit.innerHTML = 400 -  p_info.value.length;







form.onsubmit = function () {

        var erroring = '';
        
        if (p_person.value.length < 1) {erroring = erroring + 'Вы не указали свое имя. '}
        if (p_name.value.length < 1) {erroring = erroring + 'Вы не указали название компании. '}

        if (error_url != '') {erroring = erroring + error_url + ' '}
        if (error_mail != '') {erroring = erroring + error_mail + ' '}
        if (error_login != '') {erroring = erroring + error_login + ' '}
        
        if (p_info.value.length < 1) {erroring = erroring + 'Вы не указали описание компании. '}
        if (p_info.value.length > 400) {erroring = erroring + 'Описание компании слишком длинное. '}
        
        if (p_password1.value.length < 4) {erroring = erroring + 'Слишком короткий пароль. '}

        if (p_password1.value != p_password2.value) {erroring = erroring + 'Введенные пароли не совпадают. '}
                
        if (erroring.length > 0) {alert(erroring); return false; }

}

}
