document.observe('dom:loaded', function(){

	/* COOKIES */
	function setCookie (name, value, expires, path, domain, secure) {
		document.cookie = name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
	}
	
	function getCookie (name) {
		var cookie = " " + document.cookie;
		var search = " " + name + "=";
		var setStr = null;
		var offset = 0;
		var end = 0;
		if (cookie.length > 0) {
			offset = cookie.indexOf(search);
			if (offset != -1) {
				offset += search.length;
				end = cookie.indexOf(";", offset)
				if (end == -1) {
					end = cookie.length;
				}
				setStr = unescape(cookie.substring(offset, end));
			}
		}
		return(setStr);
	}

	/*ГЛАВНОЕ МЕНЮ*/
	var time;
	function setMenuPos(obj){
		elLeftPos = $(obj).cumulativeOffset()[0];
		elWidth = $(obj).getWidth();
		elLine = $('mact').getWidth();
		elActivePos = elLeftPos + elWidth/2 - elLine/2;
		elLinePos = elActivePos + 20;
		new Effect.Move('mact', {x: elActivePos, mode: 'absolute'});
		new Effect.Morph('mline', {style: {width: elLinePos+"px"}});
	};
	if ($('mactive')) {
		setMenuPos('mactive');
	};
	$$('a[class="item"]').each(function(element){
		element.observe('mouseover', function(){
			setMenuPos(element);
			window.clearTimeout(time);
		});
	});
	$$('a[class="item"]').each(function(element){
		var xx = element.observe('mouseout', function(){
			time = window.setTimeout(function() {
				if ($('mactive')) {
					setMenuPos('mactive');
				};
			}, 2000);
		});
	});
	/*———*/
	
	/*КАТАЛОГ*/
	var lastel;
	$$('span[class="cat"]').each(function(element){
		element.observe('click', function(){
			activeItem = element.up('div');
			if (activeItem.className == "catalog"){
				activeItem.className = "catalog active";
				if (lastel != activeItem){
					hideLast(lastel);
				};
				lastel = activeItem;
			} else {
				activeItem.className = "catalog";
				lastel = activeItem;
			};
		});
	});
	function hideLast(obj){
		if (obj){
			obj.className = "catalog";
		};
	};
	/*———*/
	
	/*СРАВНЕНИЕ ОБОРУДОВАНИЯ*/
	var maxItems = 5; // максимальное число оборудования участвующего в сравнении
	function elCounter(){
		elSize = $('eqList').childElements().size();
		if (elSize >= 1){
			$('eqList').show();
			$('eqClear').show();
		};
		if (elSize >= 2){
			$('eqComp').show();
		} else {
			$('eqComp').hide();
		}
		return elSize;
	};
	function elClear(){
		$('eqList').update('');
		$('eqClear').hide();
		$('eqComp').hide();
		$$('a[class="add no"]').each(function(element){
			element.className = "add";
			element.show();
		});
		$$('div[rel="RIGHT_REF_ADD_TO_COMPARE"]').each(function(element){
			if (element.className == 'hr') element.show();
		});
		setCookie('compare_ids','',false,'/');
	};
	function elGetId(rel){
		var arr = rel.split("=");
		return arr[0];
	}
	function elGetName(rel){
		var arr = rel.split("=");
		return arr[1];
	}
	function elGetGroup(rel){
		var arr = rel.split("=");
		return arr[2];
	}
	function elGetGroupName(rel){
		var arr = rel.split("=");
		return arr[3];
	}
	function elCookieAddId(rel){
		var coo = getCookie('compare_ids');
		if (coo == null) coo = "";
		var ids2 = coo.split('*');
		var ids = new Array();
		var i;
		for (i=0; i<ids2.length; i++){
			if (parseInt(ids2[i]) > 0) ids[ids.length] = ids2[i];
		}
		ids[ids.length] = elGetId(rel);
//alert(ids.join('*'));
		setCookie('compare_ids',ids.join('*'),false,'/');
		if (ids.length <= 1) setCookie('compare_gid',elGetGroup(rel),false,'/');
//alert(getCookie('compare_ids'));
	}
	function elCookieDeleteId(rel){
		var coo = getCookie('compare_ids');
		if (coo == null) return;
//alert(coo);
		var arg = rel.split('=');
		arg = arg[0];
//alert(arg);
		var ids2 = coo.split('*');
		var ids = new Array();
		var i;
		for (i=0; i<ids2.length; i++){
			if (parseInt(ids2[i]) <= 0) continue;
			if (parseInt(ids2[i]) == arg) continue;
			ids[ids.length] = ids2[i];
		}
//alert(ids.join('*'));
		setCookie('compare_ids',ids.join('*'),false,'/');
	}
	
	function elDeleteStartup(){
		$$('span[class="elDelete"]').each(function(element){
			element.observe('click', function(){
				var obj = element.up().id;
				oneElDelete(obj);
			});
		});
	};
	function elDeleteOne(rel){
		$$('span[rel="'+rel+'"]').each(function(element){
			element.observe('click', function(){
				var obj = element.up().id;
				oneElDelete(obj);
			});
		});
	};
	elDeleteStartup();
	$$('a[class="add"]').each(function(element){
		element.observe('click', function(){
			if ((element.className == "add") && (elCounter() >= maxItems)){
				alert('В сравнении может участвовать не более '+maxItems+' единиц оборудования.')
			};
			if ((element.className == "add") && (elCounter() != maxItems)){
				$('elTitle').update('Сравнение оборудование в группе «<a href="/catalogue/?g='+elGetGroup(element.rel)+'">'+elGetGroupName(element.rel)+'</a>»:');
				$('eqList').insert('<li id="'+element.rel+'"><span rel="'+element.rel+'" class="elDelete" title="Удалить оборудование из списка сравнения">Удалить</span><a href="/catalogue/?id='+elGetId(element.rel)+'">'+elGetName(element.rel)+'</a></li>');
				element.className = "add no";
				elCookieAddId(element.rel);
				elCounter();
				elDeleteOne(element.rel);
			};
		});
	});
	$$('a[class="add no"]').each(function(element){
		element.observe('click', function(){
			if ((element.className == "add") && (elCounter() >= maxItems)){
				alert('В сравнении может участвовать не более '+maxItems+' единиц оборудования.')
			};
			if ((element.className == "add") && (elCounter() != maxItems)){
				$('elTitle').update('Сравнение оборудование в группе «<a href="/catalogue/?g='+elGetGroup(element.rel)+'">'+elGetGroupName(element.rel)+'</a>»:');
				$('eqList').insert('<li id="'+element.rel+'"><span rel="'+element.rel+'" class="elDelete" title="Удалить оборудование из списка сравнения">Удалить</span><a href="/catalogue/?id='+elGetId(element.rel)+'">'+elGetName(element.rel)+'</a></li>');
				element.className = "add no";
				elCookieAddId(element.rel);
				elCounter();
				elDeleteOne(element.rel);
			};
		});
	});
	$$('a[class="delete"]').each(function(element){
		element.observe('click', function(){
//alert(element.rel);		
			elCookieDeleteId(element.rel.split('_')[1] + '=MODEL');
			$$('.'+element.rel).each(function(element){
				element.hide();
			});
		});
	});
	if (document.getElementById('eqClear')){
		$('eqClear').observe('click', function(){
			elClear();
			$('elTitle').update('Выберите оборудование для сравнения.');
		});
	}
	function oneElDelete(obj){
//alert(obj);	
		elCookieDeleteId(obj);
		$(obj).remove();
		$$('a[rel="'+obj+'"]').each(function(element){
			element.className = "add";
		});
		maxEl = elCounter();
		if (maxEl == 0){
			elClear();
			$('elTitle').update('Выберите оборудование для сравнения.');
		};
	};
	/*———*/
	
});
