/*
 * system_report.js Version 1.0 (Jan Sugarek)
 * - subor obsahuje vseobecne funkcie pre zobrazovanie chybovych a systemovych hlasok
 * - subor obsahuje nastroj na automaticke skryvanie sprav po urcitom case
 * - funkcie na zobrazovanie umoznuju zadat parameter debug_only, ktory urci ze sprava sa zobrazi len pri debug_mode
 *
 * v1.0 (21.7.2008)
 */

// premenne
var debug_mode = true; // aktivuje debug mod ak true
var e_console = false; // odkaz na element ktory je konzola
var report_timeout = 30000; // cas, za ktory ak sa neobnovi sprava v konzole tak konzola zmizne
var report_timeout_id = false; // id casovaca

/*
 * Inicializacia systemu sprav, musi byt inicializovana konzola inac nebude program fungovat
 */
function report_init(console, debug_m)
{
	e_console = document.getElementById(console);
	if(!e_console)
	{
		alert('REPORT-SYSTEM: Nepodarilo sa inicializovať konzolu');
		return false;
	}
	debug_mode = debug_m;
	return true;
}


/*
 * Funkcia vypise vseobecnu spravu
 * VSTUP:  msg - retazec spravy
 *         debug_only - ak true tak sprava sa zobrazi iba pri zapnutom debug mode
 * VYSTUP: ziadny
 */
function report_message(msg, debug_only)
{
	if(debug_only && !debug_mode) return;

	e_console.className = 'console_message';
	e_console.innerHTML = msg;
	e_console.style.display = 'block';

	report_deleter_stop();
	report_timeout_id = setTimeout('report_deleter();', report_timeout);
}

/*
 * funkcia vypise chybovu hlasku
 * VSTUP:  msg - retazec chybovej spravy
 *         debug_only - ak true tak sprava sa zobrazi iba pri zapnutom debug mode
 * VYSTUP: ziadny
 */
function report_error(msg, debug_only)
{
	if(debug_only && !debug_mode) return;

	e_console.className = 'console_error';
	e_console.innerHTML = msg;
	e_console.style.display = 'block';

	report_deleter_stop();
	report_timeout_id = setTimeout('report_deleter();', report_timeout);
}

/*
 * funkcia vypise spravu typu "uspesne vykonanie"
 * VSTUP:  msg - retazec spravy
 *         debug_only - ak true tak sprava sa zobrazi iba pri zapnutom debug mode
 * VYSTUP: ziadny
 */
function report_success(msg, debug_only)
{
	if(debug_only && !debug_mode) return;

	e_console.className = 'console_success';
	e_console.innerHTML = msg;
	e_console.style.display = 'block';

	report_deleter_stop();
	report_timeout_id = setTimeout('report_deleter();', report_timeout);
}

/*
 * Po zavolani tejto funkcie sa zastavi mazanie spravy
 */
function report_deleter_stop()
{
	if(report_timeout_id)
	{
		clearTimeout(report_timeout_id);
	}
}

/*
 * Skryje konzolu
 */
function report_deleter()
{
	e_console.style.display = 'none';
}
