

function error(str) {
	console_write(str, 'error');
	
}

function warn(str) {
	console_write(str, 'warning');

}

var console_setup = false;
var msg_index = 0;
function console_write(str) {
	if (!console_setup) setup_console();
	
	var css_class = '';
	if (console_write.arguments.length > 1)
		css_class = console_write.arguments[1];
	var id = "msg_" + msg_index++;
	$('#SYSTEM_CONSOLE').append('<p class="' + css_class + '" id="'+ id +'" style="display:none;">' + str + '</p>');
	$('#SYSTEM_CONSOLE p#' + id).show('normal');
}

function clear_console() {
	console_setup = false;
	$('#SYSTEM_CONSOLE').hide('normal', function() {
		$(this).empty().show();
	});
}

function setup_console() {
	/* added the style stuff to get it to work in ie :S */
	$('#SYSTEM_CONSOLE').append('<a class="clear" href="#" onclick="clear_console();" style="margin-left: '+($('#SYSTEM_CONSOLE').width()-18)+'">clear</a>');
	console_setup = true;
}

/* added this stuff to get it to work in ie :S */
function init_console() {
	if ($.browser.msie) { //unnecessary for other browsers because of :hover 
		$('#SYSTEM_CONSOLE').hover(
			function() {
				$(this).addClass('over');
			},
			function() {
				$(this).removeClass('over');
			}
		);
	}
}


	//a basic json_decode abstraction
	function dejson(text) {
		var data = eval("(" + text + ")");
		return data;
	}
