function connectByURLResearch (url)
{
    request.open ("GET", url, true);
    request.onreadystatechange = getResponseResearch;
    request.send(null);
}

function submitRegisterSectionResearch (language, path, symb)
{
    var script_name;
    if(language == 'perl')
    {
        script_name = 'registerform.pl';
    }
    else if (language == 'php')
    {
        script_name = 'registerform.php';
    }
    else if (language == 'aspx')
    {
        script_name = 'registerform.aspx';
    }

    //alert('path = ' + path);

    if (path) script_name = path + script_name;

    // alert (script_name+'?act=checklogin&login='+document.getElementById('login').value+'&'+Math.random());
    if (!checkFieldsByRegexpResearch()) return false;

    if (! symb) symb = '?';

    connectByURLResearch (script_name+symb+'act=check&login='+document.getElementById('login').value+
                                                    '&id='+document.getElementById('id').value+
                                                    '&host='+document.getElementById('host').value+
                                                    '&ecode='+document.getElementById('ecode').value+
                                                    '&icode='+document.getElementById('icode').value+
                                                    '&'+Math.random());
    return;
}

function checkFieldsByRegexpResearch()
{
    var str=new Array();
    var login=document.getElementById('login').value;
    if (login.length<3 || login.length>20 || ! login.match(/^[a-z|A-Z|0-9]+$/))
        str.push ("- Поле 'Логин' может состоять только из букв (A-Z a-z) и цифр (0-9); длина поля не может быть меньше 3 и больше 20 символов");
    var pass1=document.getElementById('pass1').value;
    if (pass1.length<6 || ! pass1.match(/^[a-z|A-Z|0-9]+$/))
        str.push ("- Поле 'Пароль' может состоять только из букв (A-Z a-z) и цифр (0-9); длина поля не может быть меньше 6 символов");
    var pass2=document.getElementById('pass2').value;
    if (pass2.length<6 || ! pass2.match(/^[a-z|A-Z|0-9]+$/))
        str.push ("- Поле 'Подтверждение пароля' может состоять только из букв (A-Z a-z) и цифр (0-9); длина поля не может быть меньше 6 символов");
    if (pass1!=pass2)
        str.push ("- Пароли не совпадают");
    var name_i=document.getElementById('name_i').value;
    if (! name_i)
        str.push ("- Поле 'Имя' не может быть пустым");
    var name_f=document.getElementById('name_f').value;
    if (! name_f)
        str.push ("- Поле 'Фамилия' не может быть пустым");
    var phone=document.getElementById('phone').value;
    if (! phone)
        str.push ("- Поле 'Телефон' не может быть пустым");
    var email=document.getElementById('emailre').value;
    if (! email.match(/^[\w\.-]+\@([\w-]+\.)+\w+$/))
        str.push ("- Поле 'Эл. почта' заполнено неверно");
    var firm=document.getElementById('firm').value;
    if (! firm)
        str.push ("- Поле 'Название компании' не может быть пустым");
    var ecode=document.getElementById('ecode').value;
    if (! ecode)
        str.push ("- Поле 'Код, изображённый на картинке' не может быть пустым");

    if (str.length)
    {
        alert ("Ошибки:\n"+str.join("\n"));
        return false;
    }
    else
    {
        return true;
    }

}

function getResponseResearch()
{
    if (request.readyState == 4)
    {
        if (request.status == 200)
        {
            var response = request.responseText;
            //response = response.replace(/^Error: /, '');
            response = response.replace(/\n/g, '');
            response = response.replace(/\r/g, '');
            response = response.replace(/.*(checklogin_ok_checkcode_ok|checklogin_exist_checkcode_ok|checklogin_ok_checkcode_error|checklogin_exist_checkcode_error).*/, "$1");

            if (response == 'checklogin_ok_checkcode_ok')
            {
                //alert (123);
                document.getElementById('f_registerform').submit();
                //alert (456);
                //document.forms['f_registerform'].submit();
            }
            else if (response == 'checklogin_exist_checkcode_ok')
            {
                alert ('Пользователь с логином \''+document.forms['f_registerform'].elements['login'].value+'\' уже существует в базе данных!');
            }
            else if (response == 'checklogin_ok_checkcode_error')
            {
                alert ('Проверочный код введён неправильно!');
            }
            else if (response == 'checklogin_exist_checkcode_error')
            {
                alert ('Пользователь с логином \''+document.forms['f_registerform'].elements['login'].value+'\' уже существует в базе данных!\nПроверочный код введён неправильно!');
            }
            else
            {
                alert('Ошибка:\n' + response);
            }
        }
        else
        {
            alert("status is " + request.status);
        }
    }
}
