var LoginWeasel = new Class({

	lightbox : '',

	initialize : function() {
		
		$$('.login-box-input').each(function(el) {
			el.onkeydown = function(event) {
			var event = new Event(event);
				if(event.key == 'enter') {
					oLoginWeasel.doLogin.request();
				}
			};							 
		});
	},

	doLogin : { 
	
		dblclickcatch : false,
	
		request: function() {
			
			if(Context.lightbox) {
				oLoginWeasel.lightbox = 'lightbox-';
			} else {
				oLoginWeasel.lightbox = '';
			}
			
			if(!oLoginWeasel.doLogin.dblclickcatch) {
				oLoginWeasel.doLogin.dblclickcatch = true;

				$(oLoginWeasel.lightbox + 'login-box-submit-button').set('value',oLocalization.ajaxloading);

				new Request.JSON({
					method: 'post',
					data: {username: $(oLoginWeasel.lightbox + 'login-box-username').get('value').trim(), password: $(oLoginWeasel.lightbox + 'login-box-password').get('value').trim(), timezoneminuteoffset: oTimezoneDetector.minuteoffset, timezonehouroffset: oTimezoneDetector.houroffset, timezoneolson: oTimezoneDetector.olson},
					url: '/ajax/LoginManager.doLogin.request.ajax.php',
					onFailure: function(exc) {
						oLoginWeasel.doLogin.error({action:null, messages:oLocalization.js_default_ajax_error});
					},
					onError: function() {
						oLoginWeasel.doLogin.error({action:null, messages:oLocalization.js_default_ajax_error});
					},
					onSuccess: function(o) {
						switch(o.success) {
							case(-1):
								oLoginWeasel.doLogin.error({action:null, essages:oLocalization.loginfailed});
								break;
							case(0):
								oLoginWeasel.doLogin.error(o);
								break;
							case(1):
								oLoginWeasel.doLogin.success();
								break;
						}
					}
				}).send();
				
			}
				
		},
		
		success: function() {
			Cookie.write('username', $(oLoginWeasel.lightbox + 'login-box-username').get('value').trim(), {duration:365});
			location.href = '/';
		},
		
		error: function(o) {
			
			if(o.action == 'view-activation-info') {
				
				LightboxGuru.viewHtmlbox('Lightbox.activation-required.ajax.php', oLocalization.emailactivationrequired, {email:o.email, id:o.id})
				
			} else {
			
				var messages = [o.message];
				
				$(oLoginWeasel.lightbox + 'login-box-username-label').addClass('error');
				$(oLoginWeasel.lightbox + 'login-box-password-label').addClass('error');
				$(oLoginWeasel.lightbox + 'login-box-username').addClass('error');
				$(oLoginWeasel.lightbox + 'login-box-password').addClass('error');		
				
				this.Feedback = new ErrorBox(messages);
				this.Feedback.setCustomFeedbackboxcontainerId(oLoginWeasel.lightbox + 'ajaxfeedbackboxcontainer');
				this.Feedback.show();
		
				var h = ($(this.Feedback.feedbackboxcontainerid).getPosition().y - 56);
				new Fx.Scroll($(document.body)).start(0, h);
				setTimeout("$(oLoginWeasel.doLogin.Feedback.feedbackbox.get('id')).highlight('#ad0000')",500);
				
				oLoginWeasel.doLogin.dblclickcatch = false;
				$(oLoginWeasel.lightbox + 'login-box-submit-button').set('value',oLocalization.login);
				
				//LightboxGuru.viewHtmlbox('Lightbox.login-box.ajax.php', oLocalization.loginfailed, {});

			}

		}
		
	}	

});
