var UserZone = {
	
	init : function() {},
	
	isLogged : function() {
		return typeof(_USER) == 'object' && _USER.username;
	},
	
	login : function (form) {
		this.form = $(form);
		this.form.down('.error').hide();
		this.form.down('.error').next().hide();
		this.form.down('.loader').show();
		this.form.down('.loader').next().show();
		var o = this;
		
		new Ajax.Request(_INDEX + '?act=neo_userzone/ajax_login', {
			parameters : $(form).serialize(),
			onComplete : function (transport) {
				o.form.down('.loader').hide();
				o.form.down('.loader').next().hide();
				transport.responseText.match(/^1/) ? UserZone.loginSuccess() : UserZone.loginError();
			}
		})
	},
	
	register : function(form) {
		
		this.form = $(form);
		this.form.down('.error').hide();
		this.form.down('.error').next().hide();
		this.form.down('.loader').show();
		this.form.down('.loader').next().show();
		var o = this;
		
		$(form).request({
			onComplete: function(transport) {
				o.form.down('.loader').hide();
				o.form.down('.loader').next().hide();
				if (transport.responseText.match(/^1/))
					UserZone.loginSuccess();
				else if (transport.responseText.isJSON()) {
					var errors = $H(transport.responseText.evalJSON());
					o.form.down('.error').down('td').update(errors.values().join(" "));
					o.form.down('.error').show();
					o.form.down('.error').next().show();
					return false;					
				} 
			}
		})
	},
	
	loginSuccess : function () {
		document.location.reload();
	},
	
	loginError : function () {
		this.form.down('.error').show();
		this.form.down('.error').next().show();
	}
}

Event.observe(window, 'load', UserZone.init);

