/**
 * Модуль оповещений о действиях. Представляет собой сообщение вверху
 * сайта, которое появляется после какого-либо действия пользователя
 * (например, сохранения). Сообщение автоматически убирается спустя
 * какое-то время.
 *
 * @author М. Кечинов
 */


// Инициализация модуля (автоматическая)
$(document).ready(function(){
	Notificator.init();
});


/**
 * Основной объект
 */
Notificator = {};


/**
 * Функция инициализации модуля
 */
Notificator.init = function() {

	// Создаем свойство таймера, который будет включаться когда создаем сообщение
	this.timer = null;

	// Если было задано сообщение об оповещении (передано в шаблон)
	// показываем нотификатор, а флаг удаляем
	if( typeof(notificatorMessage) != 'undefined' ) {

		Notificator.create(notificatorMessage);
		delete notificatorMessage;
		
	}

};


/**
 * Создает оповещение
 */
Notificator.create = function(message) {

	// Формируем HTML
	var html = '<div id="notificator" onclick="$(' + "'#notificator'" + ').remove();">' + message + '</div>';

	// Удаляем предыдущий нотификатор и очищаем таймер
	Notificator.remove()

	// Добавляем нотификатор и отображаем его
	$('body').append(html);
	$('#notificator').fadeIn();

	// Устанавливаем таймер на 10 секунд, после чего нотификатор должен быть уничтожен
	this.times = setTimeout( Notificator.remove, 3000);

}


Notificator.remove = function() {

	// Удаляем таймер
	try {

		clearTimeout(this.timer);

	} catch(e) {}

	// Освобождаем переменную
	this.timer = null;


	// Удаляем из HTML
	$('#notificator').remove();

}
