function gei(id){
	return document.getElementById(id);
}
function get(tag,el){
	el = el || document;
	return el.getElementsByTagName(tag);
}
function gen(name){
	return document.getElementsByName(name);
}
/*-=+=-*/
document.onclick=function(e){
	e=e || window.event;
	var elem=e.target || e.srcElement;
	if (!elem.id || elem.id.lastIndexOf('_select_')==-1){
		var uls=get('UL');
		for (var i=0;i<uls.length;i++){
			if (uls[i].id!="" && uls[i].id.lastIndexOf('_select_ul')==uls[i].id.length-10){
				uls[i].style.display=(uls[i].style.display=="block"?"none":uls[i].style.display);
			}
		}
	}else{
		var id=elem.id.substr(0,elem.id.lastIndexOf('_select_'));
		var uls=get('UL');
		for (var i=0;i<uls.length;i++){
			if (uls[i].id!="" && uls[i].id.lastIndexOf('_select_ul')==uls[i].id.length-10 && uls[i].id.lastIndexOf(id)!=0){
				uls[i].style.display=(uls[i].style.display=="block"?"none":uls[i].style.display);
			}
		}
	}
}

function externalLinks() {
	var links = get('A');
	for (var i=0;i < links.length;i++){
		if (links[i].className == 'external'){
			links[i].target = "_blank";
		}
	}
}

function loadImage(url){
	var i=new Image;
	i.src=url;
}

function loadImages(){
	for (var i=0;i<arguments.length;i++)
		loadImage(arguments[i]);
}

// выбрать все галочки (checkbox)
function CheckAll(form,name){
	var f=gei(form),selected=false;
	var n=name.length, length=f.elements.length;
	var selected=false;
	for(var i=0; i<length; i++)
		if(f.elements[i].name && f.elements[i].name.substr(0,n)==name)
			if(f.elements[i].checked)
				selected=true;
	for(i=0; i<length; i++)
		if(f.elements[i].name && f.elements[i].name.substr(0,n)==name)
			f.elements[i].checked=!selected;
}

function ajaxMessage(code,num,img,hash){
	for(var i=0; i<document.getElementById(code+'_hide').childNodes.length; i++)
		if(document.getElementById(code+'_hide').childNodes[i].nodeName=='DIV')
			document.getElementById(code+'_hide').childNodes[i].style.display='none';
	if(num){
		document.getElementById(code+'_message_'+num).style.display='block';
		document.getElementById(code+'_hide').style.display='block';
		if(num==1){
			var el=document.getElementById(code+"_form").elements;
			var l=code.length;
			for (var i=0;i<el.length;i++)
				if (el[i].id.substr(l).indexOf('clean')==1) el[i].value="";
		}
	}
	if(img&&hash){
		document.getElementById(code+'_code_img').src=img;
		document.getElementById(code+'_hash').value=hash;
	}
}

function initOnLoad() {  
	var elem=arguments[0];
	var oElem=(elem=="body"?get(elem)[0]:gei(elem));
	if(oElem != null && typeof(oElem) != "undefined") {
		var initOnLoad_args = Array.prototype.slice.call(arguments);
		initOnLoad_args.shift();
		initOnLoad_args.shift();
		arguments[1].apply(null, initOnLoad_args); 
	}else { 
		var initOnLoad_args = Array.prototype.slice.call(arguments);
		setTimeout(function(){initOnLoad.apply(null,initOnLoad_args); },50);
	} 
}

function loadMnImage(el){
	if (!el.nodeType) el=gei(el);
	var elements=get("A",el)
	var count=elements.length;
	for (var i=0;i<count;i++){
		if (elements[i].innerHTML.lastIndexOf('<!--')!=-1){
			loadImage(elements[i].innerHTML.slice(elements[i].innerHTML.lastIndexOf('<!--')+4,elements[i].innerHTML.lastIndexOf('-->')));
		}
	}
}

function SendFormData(id,url,method){
	url=url || location.href;
	if (url.indexOf('#')!=-1) url=url.substr(0,url.indexOf('#'));
	method=method || "post";
	var el=gei(id+"_form");
	if (!el){
		alert ("Не найдена форма '"+id+"_form'");
		return 0;
	}
	el=el.elements;
	var exchanger = new ajax();
	exchanger.onLoaded=function(){eval(this.connector.responseText);}
	for (var i=0;i<el.length;i++){
		if (el[i].type=="checkbox") el[i].value=(el[i].checked?(el[i].value?el[i].value:"on"):"");
		if (el[i].type=="radio"){
			if (el[i].checked){
				if (!el[i].value) el[i].value="on";
				exchanger.add_variable(el[i].name,el[i].value);
			}
		}else{
			if (el[i].name){
				exchanger.add_variable(el[i].name,el[i].value);
			}else if (el[i].id){
				exchanger.add_variable(el[i].id,el[i].value);
			}
		}
	}
	exchanger.add_variable("ajax_query",1);
	exchanger.send(url,method);
	var error=false;
	var i=0;
	var msg="";
	AjaxHandler(exchanger);

	function AjaxHandler(obj){
		i++;
		if (!obj.successfull && !error && i<100){
			if (obj.errors.length>0){
				error=true;
				ShowError(obj);
			}else{
				setTimeout(function(){AjaxHandler(obj);},100);
			}
		}else if (!obj.successfull && !error){
			ShowError(obj);
		}
	}
	
	function ShowError(obj){
		var el_error=gei(id+"_error");
		if (error && el_error){
			for (var j=0;j<obj.errors.length;j++){
				msg+=obj.errors[j]+"<br/>";
			}
			el_error.innerHTML=msg;
			el_error.style.display="block";
		}else if(!obj.successfull){
			obj.abort();
			if (el_error){
				el_error.innerHTML="Таймаут соединения";
				el_error.style.display="block";
			}
		}
	}
}

function SendData(params){
	var exchanger = new ajax();
	exchanger.onLoaded=function(){eval(this.connector.responseText);}
	for (var i in params){
		if (i=="method"){
			method=params[i];
		}else if (i=="url"){
			url==params[i];
		}else{
			exchanger.add_variable(i,params[i]);
		}
	}
	exchanger.add_variable("ajax_query",1);
	var url=url || location.href;
	if (url.indexOf('#')!=-1) url=url.substr(0,url.indexOf('#'));
	var method=method || "post";
	exchanger.send(url,method);
	var error=false;
	var i=0;
	var msg="";
	AjaxHandler(exchanger);

	function AjaxHandler(obj){
		i++;
		if (!obj.successfull && !error && i<30){
			if (obj.errors.length>0){
				error=true;
				ShowError(obj);
			}else{
				setTimeout(function(){AjaxHandler(obj);},1000);
			}
		}else if (!obj.successfull && !error){
			ShowError(obj);
		}
	}
	
	function ShowError(obj){
		if (error){
			for (var j=0;j<obj.errors.length;j++){
				msg+=obj.errors[j]+'\n';
			}
			alert(msg);
		}else if(!obj.successfull){
			obj.abort();
			alert("Таймаут соединения");
		}
	}
}


initOnLoad('mn_pic',loadMnImage,'mn_pic');
initOnLoad('body',externalLinks);

loadImages("sait/images/mn_main_hover_bg.gif","sait/images/mn_main_hover_left.gif","sait/images/mn_main_hover_right.gif");
loadImages("sait/images/mn_main_act_bg.gif","sait/images/mn_main_act_left.gif","sait/images/mn_main_act_right.gif");

function mn_cat(t,id,level_id){
	if (category[id]){
		var elements=get("LI",t.parentNode.parentNode);
		var cont="";
		for (var i=0;i<elements.length;i++){
			elements[i].className='el';
			elements[i].onmouseout=function(){this.className='el'};
			elements[i].onmouseover=function(){this.className='act'};
		}
		t.parentNode.className='act';
		t.parentNode.onmouseout="";
		level_id++;
		for (var i=0;i<category[id].length;i++){
			cont+="<li class='el' onmouseover=\"this.className='act';\" onmouseout=\"this.className='el';\"><a href='catalogue-category-"+category[id][i][1]+".html' onclick='mn_cat(this,"+category[id][i][1]+","+level_id+");return false;'>"+category[id][i][0]+"</a></li>";
		}
		gei('cat_level_3').innerHTML="";
		gei('cat_level_'+(level_id-1)).innerHTML="<ul>"+cont+"</ul>";
	}else{
		location.href="catalogue-category-"+id+".html";
	}
}
function gotoid(id){
	var s=location.href;
	location.href=(s.indexOf('#')!=-1?s.substr(0,s.indexOf('#')):s)+'#'+id;
}
function main_action(id){
	var el=gei('sidebar_ul').removeChild(gei('el'+id));
	var el1=get('LI',gei('sidebar_ul'));
	el1=el1[0];
	el1.className="";
	el.className="item"+id;
	gei('sidebar_ul').insertBefore(el,el1);
	gei('main_block_header').innerHTML=gei('el'+id+'_header').innerHTML;
	gei('main_block_content').innerHTML=gei('el'+id+'_content').innerHTML;
	var block=get('DIV',gei('content'));
	block=block[0];
	block.id="i_item"+id;
}
function cat_box(id,t){
	if (category[id]){
		var elements=get("LI",gei('cat_box'));
		var cont="";
		for (var i=0;i<elements.length;i++){
			elements[i].className='';
		}
		t.parentNode.className='here';
		/*for (var i=0;i<category[id].length;i++){
			cont+="<li><a href='catalogue-category-"+category[id][i][1]+".html' onclick='return cat_list("+category[id][i][1]+",this);'>"+category[id][i][0]+"</a></li>";
		}
		gei('cat_list').innerHTML=cont;*/
			var ul=document.createElement('ul');
			gei('cat_list').innerHTML='';
			gei('cat_list').appendChild(ul);
			for (var i=0;i<category[id].length;i++){
				a=document.createElement('a');
				a.href="catalogue-category-"+category[id][i][1]+".html";
				var func=function(i){return function(){return cat_list(category[id][i][1],this);}}
				a.onclick=func(i);
				a.innerHTML=category[id][i][0];
				li=document.createElement('li');
				li.onmouseover=function(){this.style.backgroundImage='url(sait/images/g/li/5.png)';}
				li.onmouseout=function(){this.style.backgroundImage='url(sait/images/g/li/5.png)';}
				li.appendChild(a);
				ul.appendChild(li);
			}
		gotoid('cat_list');
		return false;
	}
}
function cat_list(id,t){
	if (category[id]){
		var elements=get("UL",t.parentNode);
		if (elements.length>0){
			var elements2=t.parentNode.childNodes;
			var hide=false;
			for (var i=0;i<elements2.length;i++){
				if (elements2[i].tagName=='UL' && elements2[i].style.display!='none'){
					hide=true;
				}
			}
			for (var i=0;i<elements.length;i++){
				elements[i].style.display='none';
			}
			elements=get("LI",t.parentNode);
			for (var i=0;i<elements.length;i++){
				elements[i].className='';
				elements[i].style.backgroundImage='url(sait/images/g/li/6.png)';
				elements[i].onmouseover=function(){this.style.backgroundImage='url(sait/images/g/li/5.png)';}
				elements[i].onmouseout=function(){this.style.backgroundImage='url(sait/images/g/li/5.png)';}
			}
			if (hide){
				t.parentNode.className='';
				t.parentNode.style.backgroundImage='url(sait/images/g/li/5.png)';
				t.parentNode.onmouseover=function(){this.style.backgroundImage='url(sait/images/g/li/5.png)';}
				t.parentNode.onmouseout=function(){this.style.backgroundImage='url(sait/images/g/li/5.png)';}
				return false;
			}
			for (var i=0;i<elements2.length;i++){
				if (elements2[i].tagName=='UL') elements2[i].style.display='block';
			}
		  t.parentNode.className='here';
		  t.parentNode.style.backgroundImage='url(sait/images/g/li/6.png)';
		  t.parentNode.onmouseover=function(){this.style.backgroundImage='url(sait/images/g/li/6.png)';}
			t.parentNode.onmouseout=function(){this.style.backgroundImage='url(sait/images/g/li/6.png)';}
		}else{
			var cont="";
			var a,li;
			/*for (var i=0;i<category[id].length;i++){
				cont+="<li><a href='catalogue-category-"+category[id][i][1]+".html' onclick='return cat_list("+category[id][i][1]+",this);'>"+category[id][i][0]+"</a></li>";
			}*/
			t.parentNode.className='here';
			t.parentNode.style.backgroundImage='url(sait/images/g/li/6.png)';
			t.parentNode.onmouseover=function(){this.style.backgroundImage='url(sait/images/g/li/6.png)';}
			t.parentNode.onmouseout=function(){this.style.backgroundImage='url(sait/images/g/li/6.png)';}
			var ul=document.createElement('ul');
			t.parentNode.appendChild(ul);
			for (var i=0;i<category[id].length;i++){
				a=document.createElement('a');
				a.href="catalogue-category-"+category[id][i][1]+".html";
				var func=function(i){return function(){return cat_list(category[id][i][1],this);}}
				a.onclick=func(i);
				a.innerHTML=category[id][i][0];
				li=document.createElement('li');
				li.onmouseover=function(){this.style.backgroundImage='url(sait/images/g/li/5.png)';}
				li.onmouseout=function(){this.style.backgroundImage='url(sait/images/g/li/5.png)';}
				li.appendChild(a);
				ul.appendChild(li);
			}
		}
		return false;
	}
}
function choose(id){
	var ul=gei(id+"_select_ul");
	ul.style.display=(ul.style.display=="none"?"block":"none");
	return false;
}
function choose_variant(t,id,value){
	gei(id+"_select_ul").style.display="none";
	gei(id+"_select_a").innerHTML=t.childNodes[0].innerHTML;
	gei(id).value=(value?value:t.childNodes[0].innerHTML);
	return false;
}

