function checkmailtext(text)
{
  if ( (text == null) || (text.length < 7) )return false;
  if (! (/^\w+[-_\.]*\w+@\w+-?\w+\.[a-z]{2,4}$/.test(text)) )return false;
  if ( (text == null) || (text < 10) )return false;
  return true;
}


var nick_no_available=true;
var nick_checked="Проверенный ник";

function check_register_username()
{
    var nick=document.register_form.register_nick;
    if ( (/^[a-zA-Z0-9_]{3,20}$/.test(nick.value.toString())) )
    {
        var req = new JsHttpRequest();

        req.onreadystatechange = function() {
            if (req.readyState == 4) {
                nick_checked=req.responseJS.nick;
                nick_no_available=req.responseJS.nick_no_available;
            }
        }
        // Prepare request object (automatically choose GET or POST).
        req.open(null, '/check_nick/', true);
        // Send data to backend.
        req.send( { nick: nick.value.toString()  } );
    }
}

function SetClass(obj,classname)
{
    if(obj.className!=classname)obj.className=classname;
}

function check_register_form()
{
    var nick=document.register_form.register_nick;
    var name=document.register_form.register_name;
    var email=document.register_form.register_email;
    var password=document.register_form.register_password;
    var cpassword=document.register_form.register_confirm_password;
    var cap=document.register_form.register_captcha;

    var submit_now=true;
    var error_message="";


    if (! (/^[a-zA-Z0-9_]{3,20}$/.test(nick.value.toString())) )
    {
        submit_now=false;
        nick.className="text_normal";
    }
    else
    {
        nick.className="text_good";
    }
    if (! (/^[a-zA-Z0-9_]{0,20}$/.test(nick.value.toString())) )nick.className="text_bad";

    if ( (/^[a-zA-Z0-9_]{3,20}$/.test(nick.value.toString())) && (nick.value.toString()==nick_checked) && (nick_no_available==true) )
    {
        submit_now=false;
        nick.className="text_bad";
        document.getElementById('noavailable_small').style.display='';
    }else
        document.getElementById('noavailable_small').style.display='none';

    if((/^[a-zA-Z0-9_]{3,20}$/.test(nick.value.toString()))&&nick.value.toString()!=nick_checked)
    {
        submit_now=false;
        nick.className="text_normal";
    }


    if (! (/^[а-яА-ЯA-Za-z0-9_]{3,20}$/.test(name.value.toString())) )
    {
        submit_now=false;
        name.className="text_normal";
    }
    else name.className="text_good";

    if (! (/^[а-яА-ЯA-Za-z0-9_]{0,20}$/.test(name.value.toString())) )name.className="text_bad";

    if(checkmailtext(email.value.toString())==false)
    {
        submit_now=false;
        email.className="text_normal";
    }
    else email.className="text_good";


    var pass_text= password.value.toString();
    var cpass_text= cpassword.value.toString();

    if (! (/^[a-z0-9_]{3,20}$/.test(pass_text)) || pass_text!=cpass_text )
    {
        submit_now=false;
        password.className="text_normal";
        cpassword.className="text_normal";
    }
    else
    {
        cpassword.className="text_good";
        password.className="text_good";
    }

    if (! (/^[0-9]{4}$/.test(cap.value.toString())) )
    {
        submit_now=false;
        cap.className="text_normal";
    }
    else cap.className="text_good";
    if (! (/^[0-9]{0,4}$/.test(cap.value.toString())) )cap.className="text_bad";

    if(submit_now)document.register_form.submit_button.disabled=false;
    else document.register_form.submit_button.disabled=true;
}


function check_login_form()
{
    var nick=document.login_form.login_username;
    var password=document.login_form.login_password;

    var submit_now=true;


    if (! (/^[a-zA-Z0-9_]{3,20}$/.test(nick.value.toString())) )
    {
        submit_now=false;
        nick.className="text_normal";
        nick.style.border="1px solid #D5D5D5";
    }
    else
    {
        nick.className="text_good";
        nick.style.border="1px solid #D5D5D5";
    }
    if (! (/^[a-zA-Z0-9_]{0,20}$/.test(nick.value.toString())) )nick.className="text_bad";


    var pass_text= password.value.toString();

    if (! (/^[a-z0-9_]{3,20}$/.test(pass_text)) )
    {
        submit_now=false;
        password.className="text_normal";
        nick.style.border="1px solid #D5D5D5";
    }
    else
    {
        password.className="text_good";
        nick.style.border="1px solid #D5D5D5";
    }

    if(submit_now)document.login_form.submit_button.disabled=false;
    else document.login_form.submit_button.disabled=true;
}



function check_simple_login_form()
{
    var nick=document.simple_login_form.login_username;
    var password=document.simple_login_form.login_password;

    var submit_now=true;


    if (! (/^[a-zA-Z0-9_]{3,20}$/.test(nick.value.toString())) )
    {
        submit_now=false;
        nick.style.backgroundColor="#ffffff";
    }
    else
    {
        nick.style.backgroundColor="#ccffcc";
    }
    if (! (/^[a-zA-Z0-9_]{0,20}$/.test(nick.value.toString())) )nick.style.backgroundColor="#ffcccc";


    var pass_text= password.value.toString();

    if (! (/^[a-z0-9_]{3,20}$/.test(pass_text)) )
    {
        submit_now=false;
        password.style.backgroundColor="#ffffff";
        //password.className="text_normal";
    }
    else
    {
        password.style.backgroundColor="#ccffcc";
        //password.className="text_good";
    }
    if (! (/^[a-z0-9_]{0,20}$/.test(pass_text)) )
        password.style.backgroundColor="#ffcccc";
    password.style.border='1px solid gray';
    nick.style.border='1px solid gray';
    /*if(submit_now)document.simple_login_form.submit_button.disabled=false;
    else document.simple_login_form.submit_button.disabled=true;*/
    return submit_now;
}


function check_new_message_forms()
{
    var str=document.new_message_form_1.new_message_text.value.toString();
    var str1=document.new_message_form_1.captcha.value.toString();
    document.new_message_form_1.submit_button.disabled=false;
    //if (! (/^[.\n]{3,200}$/.test(str) ) )
    if(str.length<3||str.length>256 || (!(/^[0-9]{4}$/.test(str1) ) ))
        document.new_message_form_1.submit_button.disabled=true;

    str=document.new_message_form_2.new_message_text.value.toString();
    str1=document.new_message_form_2.captcha.value.toString();
    document.new_message_form_2.submit_button.disabled=false;
    //if (! (/^[.\n]{3,200}$/.test(str) ) )
    if(str.length<3||str.length>256 || (!(/^[0-9]{4}$/.test(str1) ) ))
        document.new_message_form_2.submit_button.disabled=true;

    str=document.new_message_form_3.new_message_text.value.toString();
    str1=document.new_message_form_3.captcha.value.toString();
    document.new_message_form_3.submit_button.disabled=false;
    //if (! (/^[.\n]{3,200}$/.test(str) ) )
    if(str.length<3||str.length>256 || (!(/^[0-9]{4}$/.test(str1) ) ))
        document.new_message_form_3.submit_button.disabled=true;
}

function check_settings_form()
{
    var name=document.settings_form.register_name;
    var email=document.settings_form.register_email;
    var password=document.settings_form.register_password;
    var cpassword=document.settings_form.register_confirm_password;
    var cap=document.settings_form.register_captcha;

    var submit_now=true;
    var error_message="";


    if (! (/^[а-яА-ЯA-Za-z0-9_]{3,20}$/.test(name.value.toString())) )
    {
        submit_now=false;
        name.className="text_normal";
    }
    else name.className="text_good";

    if (! (/^[а-яА-ЯA-Za-z0-9_]{0,20}$/.test(name.value.toString())) )name.className="text_bad";

    if(checkmailtext(email.value.toString())==false)
    {
        submit_now=false;
        email.className="text_normal";
    }
    else email.className="text_good";


    var pass_text= password.value.toString();
    var cpass_text= cpassword.value.toString();

    if ( (!(/^[a-z0-9_]{3,20}$/.test(pass_text)) || pass_text!=cpass_text)&&pass_text.length>0 )
    {
        submit_now=false;
        password.className="text_normal";
        cpassword.className="text_normal";
    }
    else
    {
        cpassword.className="text_good";
        password.className="text_good";
    }

    if (! (/^[0-9]{4}$/.test(cap.value.toString())) )
    {
        submit_now=false;
        cap.className="text_normal";
    }
    else cap.className="text_good";
    if (! (/^[0-9]{0,4}$/.test(cap.value.toString())) )cap.className="text_bad";

    if(submit_now)document.settings_form.submit_button.disabled=false;
    else document.settings_form.submit_button.disabled=true;
}

