var ViaPlace = Class.create();
ViaPlace.prototype = {
	_options: Object(),
	//-------------------------------------------------------------------------------[ Constructor ]
	initialize: function(path) {
		this._options.path = path;
		
		this._initializeLogo();
	},
	
	_initializeLogo: function() {
		var logo = $('logo');
		Event.observe(logo, 'click', function() {
			document.location = this._options.path;
		}.bind(this));
	}
};

function nospam(u, d, tld, link) {
   	document.write("<a href=\"mailto:"+u+"@"+d+"."+tld+"\">"+link+"</a>");
}

// Console.
ViaPlace.Console = Class.create();
ViaPlace.Console.prototype = {
	_buffer: Array(),
	_consoleElement: Object(),
	_messages: Array(),
	_options: Object(),
	
	initialize: function(options) {
		this._options = options;
		this._consoleElement = $(this._options.element);
	},
	
	append: function(level, message, flush) {
		var flush = flush || true;
		this._messages.push({message: message, level: level, flushed: false});
		flush ? this.flush() : null;
	},
	flush: function() {
		var changed = false;
		this._messages.each(function(message) {
			if (message.flushed == false) {
				switch (message.level) {
					case 0:
		 			   var src = this._options.path + "includes/images/message.gif";
						var type = "message";
						break;
					case 1:
						var src = this._options.path + "includes/images/warning.gif";
						var type = "warning";
						break;
					case 2:
						var src = this._options.path + "includes/images/error.gif";
						var type = "error";
						break;
				}
				var image = document.createElement("IMG");
				image.setAttribute("src", src);
				image.setAttribute("alt", type);
		   		var div = document.createElement("DIV");
		   		div.appendChild(image);
				div.appendChild(document.createTextNode(message.message));
				this._consoleElement == undefined ? null : this._consoleElement.appendChild(div);
				message.flushed = true;
				changed = true;
			}
		}.bind(this));
		changed ? this._scroll() : null;
	},
	_scroll: function() {
		this._consoleElement == undefined ? null : this._consoleElement.scrollTop = this._consoleElement.scrollHeight;
	}
};
