//JS File

app.login = {
	
	attachEvents : function(){		
		app.loginstart.event('click', function(e){			
			app.login.getLogin(e);
		});
		
		app.login_form.event('submit', function(e){ 
			app.login.getLogin(e);
		});
	},

	
	init : function(){ 	
		this.login_form = new tc.forms(app.login_form);
		this.formnotes = new tc.widget.notes(app.formnotes,  {events : {click : this.clickNotes}});
		this.attachEvents();	
		
		app.newspanel.init();
		
		if (sb.browser.$_GET['uname']) {
			this.login_form.pass.focus();
		}
	},
	
	clickNotes : function(e){ 
		var targ = sb.events.target(e);
		if((targ.nodeName == 'LI') && (targ.node)){
			targ.node.focus();					
		}
	},
	
	getLogin : function(e){
		var that = this;
		var ms =  this.login_form.noEmpties();
		
		//kill bubble
		sb.events.stopAndPrevent(e);
				
		//remove errors
		ms.remove.forEach(function(v){ 
			that.formnotes.removeOne(v);
		});
		
		//add errors
		if(ms.hasEmpties){			
			ms.add.forEach(function(v){ 
				that.formnotes.add(v);
			});
		}else{			
			//success!
			var data = 'c=login&uname=' +  this.login_form.uname.value + '&pass=' + this.login_form.pass.value.md5();			
			app.ajax = new sb.ajax({
				format : 'json',
				data : data,
				handler :function(data){
					that.permit(data);
				}
			}).fetch();
				
		}				
	},
	
	goLogin : function(e){	
		var data = 'c=login&uname=' + this.uname.value + '&pass=' + this.pass.value.md5();
		if(app.validator.noEmpties.call(this)){	
			app.ajax = new sb.ajax({
				format : 'json',
				data : data,
				handler : app.login.permit
			});	
			app.ajax.fetch();
		}
	},	
	
	typeOf : function(){ 
		return 'app.login';
	},
	
	permit : function(data){			
				
		this.formnotes.removeOne('ajax_message');	
		
		if(data.travel == 1){	
			app.navi.visit(data.goingto);	
		}else{
			this.formnotes.add({
				id: 'ajax_message',	
				message: data.mess
			});		
		}	
	}
};