
Usuario = Class.create();


Usuario.prototype = {
	///
	isLogged : false,
	data : null,
	///CLASS BODY
	initialize: function() {
    },
	init : function(){
	},
	loginCallServer : function(email, pass, callBack){
		var ap = new AjaxPlace({clas: "LSAccount", func:"Login", args:[email, pass]});
		ap.folder = "admin/";
		var callback = function(transport){
			////alert(transport.responseText);
			var r = eval(transport.responseText);
			
			if (r != false){
				this.login(r[0]);
			}
			if(callback != null){
				callBack(r);
			}
		}
		ap.call({ onSuccess:callback.bind(this) });
	},
	login: function(data) {
		this.isLogged = true;
		this.data = (data != null) ? data : this.data;
		this.dispatchEvent( 'onLogin' );
    },
	logout: function() {
		if(App.currentSection == 7){
			alert("You canīt logout while you are checking out!");
			return;
		}
		var ap = new AjaxPlace({clas: "LSAccount", func:"logoff"});
		ap.folder = "admin/";
		var callback = function(transport){
			this.isLogged = false;
			this.data = null;
			this.dispatchEvent( 'onLogout' );
		}
		ap.call({ onSuccess:callback.bind(this) });
		
    },
	setName : function(name, lastname){
		this.data.fname = name;
		this.data.lname = lastname;
		this.login();
	},
	getFromSession : function(){
		var ap = new AjaxPlace({clas: "LSAccount", func:"getAccount"});
		ap.folder = "admin/";
		var callback = function(transport){
			//alert(transport.responseText);
			var obj = eval(transport.responseText);
			this.login(obj[0]);
		}
		ap.call({ onSuccess:callback.bind(this) });
	},
	checkSession : function(doGet){
		doGet = (doGet != null) ? doGet : true;
		var ap = new AjaxPlace({clas: "LSAccount", func:"isLogged"});
		ap.folder = "admin/";
		var callback = function(transport){
			var bool = eval(transport.responseText);
			if(bool == true){
				if(doGet == true)
					this.getFromSession();
			}
		}
		ap.call({ onSuccess:callback.bind(this) });
	}
}

Object.extend( Usuario.prototype, Event.Publisher );
