function init() {

	var mp = 'nav';
	var hp = 'hide';
	var sp = 'show';
	var ct = 'control';
	var pp = 'parent';
	var pa = 'active';
	var cu = 'current';
	var d, uls, i;
	if (!document.getElementById && !document.createTextNode) {
		return;
	}
	d = document.getElementById('ctlg_tree');
	if (!d) {
		return;
	}
	addclass(d, mp);
	uls = d.getElementsByTagName('UL');
	for (i = 0; i < uls.length; i++) {
		if (checkcurrent(uls[i])) {
			var ctrl = createcontrol(uls[i]);
			addclass(ctrl, ct);
			addclass(ctrl, pa);
		}
		else {
			addclass(uls[i], hp);
			var ctrl = createcontrol(uls[i]);
			addclass(ctrl, ct);
			addclass(ctrl, pp);
			ctrl.onclick = function() {
				if (this.title == 'свернуть') this.title = 'развернуть'; else this.title = 'свернуть';
				swapclass(this, pp, pa);
				swapclass(this.parentNode.getElementsByTagName('UL') [0], hp, sp);
				// for fucking mozilla - force refresh absolute div position
				try{
				var absdiv = document.getElementById('right_column_photo1');
				absdiv.className = 'hide';
				absdiv.className = '';
				}catch(e){
				}
				
				return false;
			}
		}
	}
	function createcontrol(o) {
		var l = o.parentNode.firstChild; 
		var c = document.createElement("A");
		c.title = 'развернуть';
		return o.parentNode.insertBefore(c, l);
	}
	function checkcurrent(o) {
		if (check(o.parentNode, cu)) {
			return true;
		}
		for (var i = 0; i < o.getElementsByTagName('LI').length; i++) {
			if (check(o.getElementsByTagName('LI') [i], cu)) {
				return true;
			}
		}
		return false;
	}
	function swapclass(o, c1, c2) {
		var cn = o.className
		o.className = !check(o,c1)?cn.replace(c2,c1):cn.replace(c1, c2);
	}
	function addclass(o, c) {
		if (!check(o, c)) {
			o.className += o.className == ''?c:' '+c;
		}
	}
	function check(o, c) {
	 	return new RegExp('\\b' + c + '\\b').test(o.className);
	}
}


