var loginHandler = {

	init : function() {
		if ($F('login_user_email')) $('login_user_password').focus();
		else $('login_user_email').focus();
	},

	dialog : null,
	
	directUrl: '/',

	params : null,

	enterFunction : function(event) {
		console.dir(event);
		if(event.keyCode == Event.ENTER) alert('Enter key was pressed');
	},

	loginButtonFunction : function(event) {
		event.stop();
		var cmd = '/';

		var user_email_value = $F($('login').select('.user_email').pop());
		var user_password_value = $F($('login').select('.user_password').pop());
		var durl = this.directUrl;

		if (!user_email_value || !user_password_value) return false;

		new Ajax.Request(cmd, {
			method:'POST',
			parameters: {
				page : 'User_UserPage',
				event : 'checkLogin',
				user_email : user_email_value,
				user_password : user_password_value,
				ajax_login : 1,
				referrer: this.referrer
			},
			onSuccess: function(transport){
				eval('var response = ' + transport.responseText + ';');
				var login_error_msg = $('login').select('.login_error_msg').pop();
				if (response) {
					login_error_msg.toggleClassName('login_ok');
					login_error_msg.innerHTML=loginHandler.params.loginOK;
					login_error_msg.show();
					windowHandler.resize();
					document.location = response.url ? response.url : durl;
				} else {
					login_error_msg.toggleClassName('login_error');
					login_error_msg.innerHTML=loginHandler.params.loginError;
					login_error_msg.show();
					windowHandler.resize();
					Windows.focusedWindow.updateHeight();
				}
				try {__click=false;} catch(e) {}
			},
			onFailure: function(){  }
		});

		return false;
	},

	cancelButtonFunction : function(event) {

	},

	openLoginWindow : function(event, referrer, directUrl) {
		if (event) event.stop();
		if (referrer) this.referrer = referrer;
		if (directUrl) this.directUrl = directUrl; else this.directUrl = '/'; 

		windowHandler.init({
			id : 'login',
			overlay: true
		});
		windowHandler.show('login');

		$('login').select('.login_button_login').each(function(element){
			$(element).observe('click', loginHandler.loginButtonFunction.bindAsEventListener(loginHandler));
		});

		$('login').select('.login_button_cancel').each(function(element){
			$(element).observe('click', windowHandler.hide.bindAsEventListener(windowHandler));
		});

		//$('user_email').observe('keyup', loginHandler.enterFunction.bindAsEventListener(loginHandler, element));
		//$('user_password').observe('keyup', loginHandler.enterFunction.bindAsEventListener(loginHandler, element));
		window.scroll(0,0);
		return false;
	},

	initLoginWindow : function(params) {
		this.params = params;
		$('user_button_login').observe('click', loginHandler.openLoginWindow.bindAsEventListener(loginHandler, params.referrer));
	}
}


