
var Login =
{
    init : function()
    {
        $('infoNoJS').remove();
        $('loginForm').show();
        $('loginForm').observe('submit', Login.checkLoginData.bindAsEventListener(Login));
        $('fLogin').focus();
    },
    
    checkLoginData : function( event )
    {
        event.stop();
    	if( $F('fLogin').blank() || $F('fPassword').blank() ) {
    		return;
    	}
    	$('loginResult').update(Login.messages.loginInProgress).show();
    	$('loginResult').style.textDecoration = 'blink';

    	new Ajax.Request('/users/userAccount/checkLoginData', {
    			parameters: {
    				'login'    : $F('fLogin'),
    				'password' : $F('fPassword')
    			},
    			onSuccess: function(transport) {
    				json = transport.responseText.evalJSON();
    				switch( json.result ){
    					case 'OK':
    						message = Login.messages.loginOk;
    						$('loginResult').className = 'ok';
    						var newLocation = 'http://'+window.location.host+$F('fRedirectTo')+window.location.hash;
    						document.location.href = newLocation;
    						break
    					case 'ERR_WRONG_DATA':
    						message = Login.messages.wrongData;
    						break
    					case 'ERR_LOGIN_TEMP_BLOCKED':
    						message = Login.messages.tempBlocked;
    						break
    					case 'ERR_LOGIN_BLOCKED':
    						message = Login.messages.blocked;
    						break
    					case 'ERR_NOT_ACTIVATED':
    						message = Login.messages.notActivated;
    						break
    				}
    				$('loginResult').style.textDecoration = 'none';
    				$('loginResult').update(message);
    			}
    		});
    }
}

$(document).observe('dom:loaded', Login.init );

