function User(user_id) {
	this.user_id = parseInt(user_id, 11);

	this.login = function(formId) {
		var formObject = document.getElementById(formId);
		if (formId == 'frontpage-login-form') {
			userLoginCallback.argument.logintype = 'frontpage_login';
		}

        YAHOO.util.Connect.setForm(formObject);
        YAHOO.util.Connect.asyncRequest('POST', 'rpc/login.php', userLoginCallback);
	};

	this.handleSuccess = function(o) {
		var result =  eval('(' + o.responseText + ')');
		if (result.user_logged_in === true) {
            // go to cms-admin page
            location.href='admin_index.php';
		}
		else {
			if (o.argument.logintype == undefined) {
				this.displayLoginFailError();
			}
			else {
				this.displayFrontpageLoginFailure(result.messages.errors[0]);
			}
		}
	};

    /* Display messages section */
    this.displayLoginFailError = function() {
		toogle_lightbox(new Array('fade', 'user_login_form', 'login_failed_error'), 'block');
	}

    this.displayEmptyFieldError = function() {
		toogle_lightbox(new Array('fade', 'user_login_form', 'login_failed_error'), 'block');
        //toogle_lightbox(new Array('fade', 'user_login_form', 'login_empty_error'), 'block');
	}

    this.displayOKMessage = function() {
		toogle_lightbox(new Array('OK'), 'block');
	}

    this.displayMailError = function() {
		toogle_lightbox(new Array('error_mail_not_sent'), 'block');
	}

    this.displayInvalidEmailError = function() {
		toogle_lightbox(new Array('error_invalid_user'), 'block');
	}

	this.displayFrontpageLoginFailure = function(msg) {
		if (document.getElementById('login_failure_msg')) {
			document.getElementById('login_failure_msg').innerHTML = msg;
			document.getElementById('login_failure_msg').style.display = 'block';
		}
	}
}
