var cAuth = function()
{
	this.state_plugin_name = 'auth_state';
	this.auth_message_container = 'auth_message';
	this.auth_form_container = 'auth_visual';
}

cAuth.prototype.enter = function(btn)
{
    this.enter_custom(btn, this.auth_form_container, this.auth_message_container);
}

/**
 * Login.
 * 
 * @param Element btn
 * @param String form_container   
 */
cAuth.prototype.enter_custom = function(btn, form_container, message_container)
{
  //debugger;
	//btn.disabled = 'false';
	var container = document.getElementById( form_container );

	var collection = container.getElementsByTagName('input');

	var login = '';
	var password = '';
        var captcha = '';

	for (i = 0; i < collection.length; i++)
	{
            if (collection[i].name=='s_login')
            {
                    login = collection[i].value;
            }

            if (collection[i].name=='s_password')
            {
                    password = collection[i].value;
            }

            if (collection[i].name=='s_captcha')
            {
                    captcha = collection[i].value;
            }
	}

	var msg_container = document.getElementById( message_container );
	msg_container.innerHTML = 'Checking...';

	this.login(login, password, captcha);
}


cAuth.prototype.restore_enter_btn = function()
{
	var auth_enter_btn = document.getElementById( 'auth_enter' );
	if (auth_enter_btn)
	{
		auth_enter_btn.removeAttribute('disabled');
	}
}

/**
 * Авторизация пользователя в системе.
 *
 * @param string login
 * @param string password
 */
cAuth.prototype.login = function(login, password, captcha)
{
	var params = new Array();
	params['s_action'] = 'login';
	params['s_login'] = login;
	params['s_password'] = password;
        if (captcha != undefined) {
            params['s_captcha'] = captcha;
        }

	call_ajax(this.state_plugin_name, this.auth_message_container, params); 
}

cAuth.prototype.logout = function(login, password)
{
	var params = new Array();
	params['s_action'] = 'logout';

	call_ajax(this.state_plugin_name, this.auth_message_container, params); 
}

cAuth.prototype.show_logout_form = function()
{
	var params = new Array();
	call_ajax('auth_logout_form', this.auth_form_container, params); 
}

cAuth.prototype.show_login_form = function()
{
	clear_content();

	var params = new Array();
	call_ajax('auth_login_form', this.auth_form_container, params); 
}

function do_login(evt)
{
    
    if (get_pressed_key_code(evt) == 13)
    {
        //debugger;
        auth.enter(document.getElementById('auth_enter'));
    }
}



auth = new cAuth();
