/******************************************
 * The Message Class, for display session-stored message
 * on the front-end.
 ******************************************/
 if (typeof crumbs == "undefined" || !crumbs) {
    var crumbs = {};
}

crumbs.Message = Class.create({
	initialize: function (messageContainer) {
		this._container = $(messageContainer);
		this.errorClass = "error";
		this.successClass = "success";
	},

	setType: function (type) {
		if (typeof type != "undefined") {
			if (type.toString() == "success")
				this._type = "success";
			else
				this._type = "error";
		}
		else
			this._type = "error";
	},

	getType: function () {
		if (!this._used) 
			return this._type;
		return false;
	},

	isError: function () {
		if (this.getType() == "error")
			return true;
		return false;
	},

	setMessage: function (message, type) {
		this._message = message;
		this.setType(type);
		this._used = false;
	},

	setUnstyledMessage: function (message, type) {
		message = "<ul class=\"messages\"><li class=\"error-msg\"><ul><li>" + message + "</li></ul></li></ul>";
		this.setMessage(message, type);
	},

	getMessage: function () {
		if (!this._used) {
			this._used = true;
			return this._message;
		}
		return false;
	},

	hasMessage: function () {
		return !this._used;
	},

	showMessage: function () {
		if (this.hasMessage()){
			this._container.innerHTML = this._message;
//			var className = this.isError() ? this.errorClass : this.successClass;
//			this._container.addClassName(className);
			this._container.setStyle({display: 'block'});
		}			
	},

	hideMessage: function () {
//		this._container.addClassName(this.errorClass);
//		this._container.addClassName(this.successClass);
		this._container.setStyle({display: 'none'});
	}
});
