session.orig.js 2.18 KB
function Session(sInfo, sId, sUser)
{
	this.eUser    = $(sUser);
	this.eId      = $(sId);
	this.canvas   = $(sInfo + " canvas").get(0);
	this.context  = this.canvas.getContext("2d");

	this.id       = "none"
	this.timeout  = 0;
	this.timeleft = 0;
	this.user     = null;

	//this.draw();
}

Session.prototype.isAthenticated = function(data)
{
}

Session.prototype.authenticate = function(data)
{
	this.username  = data.username;
	this.email     = data.email;
	this.firstname = data.firstname;
	this.surname   = data.surname;

	name = "";
	if ('' == this.username) {
		name = "not logged in";
		$("li.signup").removeClass("hide");
		$("li.login").removeClass("hide");
		$("li.logout").addClass("hide");
	} else {
		if ('' == this.firstname || '' == this.surname) {
			name += this.username;
		} else {
			name += this.firstname + " " + this.surname;
		}
		$("li.signup").addClass("hide");
		$("li.login").addClass("hide");
		$("li.logout").removeClass("hide");
	}

	this.eUser.empty().append(name);
}

Session.prototype.loadJSON = function(data)
{
	// this.stop();

	this.id        = ("0" == data.id)? "none" : data.id;
	this.timeout   = data.timeout * 10;
	this.timeleft  = data.timeleft * 10;

	this.eId.empty().append(this.id);

	this.draw();
	if (0 < this.timeleft)
		this.start();
}

Session.prototype.draw = function()
{
	this.context.fillStyle = "rgb(255, 0, 0)";
	this.context.fillRect(0, 0, this.canvas.width, this.canvas.height);

	this.context.fillStyle = "rgb(0, 255, 0)";
	this.context.fillRect(0, 0,
			this.canvas.width / this.timeout * this.timeleft,
			this.canvas.height);
}

Session.prototype.start = function()
{
	if (null === this.interval) {
		this.interval = setInterval($.proxy(this.process, this), 1000);
	}
}

Session.prototype.process = function()
{
	if (0 >= this.timeleft) {
		this.stop();
	}

	else {
		this.timeleft -= 10;
		this.draw();
	}
}

Session.prototype.stop = function()
{
	clearInterval(this.interval);
	this.interval = null;
	this.id       = "none";
	this.timeout  = 0;
	this.timeleft = 0;
	this.username = "";
	this.email     = "";
	this.firstname = "";
	this.surname   = "";

	this.eId.empty().append("");
	this.eUser.empty().append("not logged in");

	this.draw();
}

// vim: set ts=4 sw=4: