// Функция запускается из первого клика (onclick) по элементу навигации
// создает новый обрабтчик onclick и добавляет обработчики событий onmouseover и щтьщгыущге
function makeCreature(link, uid, login, cid, filename){
	link.params = {
		uid: uid, // пока не используется
		login: login, // пока не используется
		cid: cid, 
		filename: filename	
	}
	link.zoo = null; // ссылка на сам объект анимации

	// переписываем обработчик onclick (теперь он рулит кликами)
	link.onclick = function(){
		if(this.zoo){ // если анимация была уже загружена, выгружаем ее
			deleteZoo(this);
			removeClass(this.parentNode, 'shown');
		} else { // если анимация еще не загружалась, загружаем
			createZoo(this);
			addClass(this.parentNode, 'shown');
			addClass(this, 'loading');
		}
		this.blur();
		return false;
	}
	// синхронизация подсветки с анимацией
	link.onmouseover = function(){
		if(this.zoo){
			addClass(this.zoo.htmlObj, 'showit');
		}
	}
	link.onmouseout = function(){
		if(this.zoo){
			removeClass(this.zoo.htmlObj, 'showit');
		}
	}

	// запускаем новый обработчик
	link.onclick(); 
	return false;
}

// Создаем (загружаем) анимацию
function createZoo(link){
	var body = document.getElementsByTagName('body')[0];
	var pre = document.createElement('pre');
	var nbsp = document.createTextNode(' ');
	pre.id = 'zoo_' + link.id;
	pre.className = 'zoo unloaded';
	pre.title = link.params.filename + ' (by ' + link.params.login + ')';
	pre.appendChild(nbsp);
	body.appendChild(pre);

	link.zoo = new Zoomation(pre.id, link.params.cid + '?rnd=' + Math.random(), false, link);
}


// Удаляем (выгружаем) анимацию
function deleteZoo(link){
	link.zoo.stop();

	var body = document.getElementsByTagName('body')[0];

	addClass(link.zoo.htmlObj, 'flashing');
	setTimeout(function(){
			body.removeChild(link.zoo.htmlObj);
			link.zoo = null;
		}, 300);
	
}
