var LoginManager = new Class({

	initialize: function() {
		
		if(Context.loggedin == 0) {
			
			if($chk(Cookie.read('username'))) {
				$('username').setProperty('value',Cookie.read('username'));
				$('username').setStyle('color','#3C64B0');
			} else {
				$('username').setProperty('value',oLocalization.username);
			}
			
			$('username').addEvent('focus', function(event) {
				if($('username').get('value') == oLocalization.username) {
					$('username').set('value','');
				}
				$('username').setStyle('color','#3C64B0');
			});
			
			$('username').addEvent('blur', function(event) {
				if($('username').get('value') == '' || $('username').get('value') == oLocalization.username) {
					$('username').set('value',oLocalization.username);
					$('username').setStyle('color','#666');
				}
			});
			
			$('password').addEvent('focus', function(event) {
				
				if(Browser.Engine.trident) {
					LoginManager.msieFocusPassword();
				} else {
					
					if($('password').get('value') == oLocalization.password) {
						$('password').set('value', '');
					}
					$('password').set('type', 'password');
					$('password').setStyle('color','#3C64B0');
					
				}
				
			});
			
			$('password').addEvent('blur', function(event) {
				if(Browser.Engine.trident) {
					LoginManager.msieBlurPassword();
				} else {
					
					if($('password').get('value') == '' || $('password').get('value') == oLocalization.password) {
						$('password').set('value', oLocalization.password);
						$('password').set('type', 'text');
						$('password').setStyle('color','#666');
					}
					
				}
			});
			
			$('password').addEvent('keyup', function(event) {
				var event = new Event(event);
				switch(event.key) {
					case('enter'):
						LoginManager.doLogin.request();
					break;
				}
			});
			
		}
		
	},
	
	msieFocusPassword : function() {
		if($('password').get('value') == oLocalization.password) {
			var pw = new Element('input', {
				'maxlength' : 32,
				'id' : 'password',
				'class' : 'login-input',
				'value' : '',
				'type' : 'password',
				'style' : 'color:#1C4F6B; width:70px;'
			});
			pw.replaces($('password'));
			setTimeout("$('password').focus();",50);
			$('password').addEvent('focus', function(event) {
				LoginManager.msieFocusPassword();
			});
			$('password').addEvent('blur', function(event) {
				LoginManager.msieBlurPassword();
			});
		}
		$('password').setStyle('color','#1C4F6B');
	},
	
	msieBlurPassword : function() {
		if($('password').get('value') == '' || $('password').get('value') == oLocalization.password) {
			var pw = new Element('input', {
				'maxlength' : 32,
				'id' : 'password',
				'class' : 'login-input',
				'value' : oLocalization.password,
				'type' : 'text',
				'style' : 'color:#666; width:70px;'
			});
			pw.replaces($('password'));
			$('password').addEvent('focus', function(event) {
				LoginManager.msieFocusPassword();
			});
			$('password').addEvent('blur', function(event) {
				LoginManager.msieBlurPassword();
			});
		}
	},

	UI: {
	
		buttonHover: function(left, middle, right) {
			$(left).toggleClass('activeButtonLoginLeft');
			$(middle).toggleClass('activeButtonLoginMiddle');
			$(right).toggleClass('activeButtonLoginRight');
		}
	
	},
		
	doLogin : { 
	
		dblclickcatch : false,
	
		request: function() {
			
			if(!LoginManager.doLogin.dblclickcatch) {
				LoginManager.doLogin.dblclickcatch = true;
				$('loginloadingicon').setProperty('src','/images/loading.gif');
				$('loginloadingicon').setStyle('visibility','visible');
				$('loginloadingicon').setStyle('opacity',1);
				new Request.JSON({
					method: 'post',
					data: {username: $('username').get('value').trim(), password: $('password').get('value').trim(), timezoneminuteoffset: oTimezoneDetector.minuteoffset, timezonehouroffset: oTimezoneDetector.houroffset, timezoneolson: oTimezoneDetector.olson},
					url: '/ajax/LoginManager.doLogin.request.ajax.php',
					onFailure: function(exc) {
						LoginManager.doLogin.error({action:null, messages:oLocalization.js_default_ajax_error});
					},
					onError: function() {
						LoginManager.doLogin.error({action:null, essages:oLocalization.js_default_ajax_error});
					},
					onSuccess: function(o, r) {
						
						//alert(r);
						
						switch(o.success) {
							case(-1):
								LoginManager.doLogin.error({action:null, essages:oLocalization.loginfailed});
								break;
							case(0):
								LoginManager.doLogin.error(o);
								break;
							case(1):
								LoginManager.doLogin.success();
								break;
						}
					}
				}).send();
				
			}
				
		},
		
		success: function() {
			Cookie.write('username', $('username').get('value').trim(), {duration:365});
			location.href = '/';
		},
		
		error: function(o) {
			
			$('loginloadingicon').setProperty('src','/images/icons/cross.png');
			
			var fadeout = function() {
				$('loginloadingicon').fade('out');	
				unsetdblclickcatch.delay(500);
			};
			fadeout.delay(2500);
			var unsetdblclickcatch = function() {
				LoginManager.doLogin.dblclickcatch = false;
			};
			
			if(Context.get('mobile')) {

				if(o.action == 'view-activation-info') {
					LightboxGuru.viewHtmlbox('MLightbox.activation-required.ajax.php', oLocalization.emailactivationrequired, {email:o.email, id:o.id})
				} else {
					alert(oLocalization.loginfailed);
				}				

			} else {

				if(o.action == 'view-activation-info') {
					LightboxGuru.viewHtmlbox('Lightbox.activation-required.ajax.php', oLocalization.emailactivationrequired, {email:o.email, id:o.id})
				} else {
					LightboxGuru.viewHtmlbox('Lightbox.login-box.ajax.php', oLocalization.loginfailed, {});
				}

			}

		}
		
	}	

});
