var lv = null, val=null, cv=null, ind=null, nav=false, no_ajax=false;
var h_off=0, h_on=0, h_end=0, h_oend=0, i=0, diff=0, step=9, tlnk="tlnk", nn=10, tt=500, animate=1;
var lnat = "#666666", lsub = "#000000", lcur = "#DA251D";
var h0 = new Array(), divs = new Array();
var isOp=(navigator.userAgent.indexOf("Opera")>-1)?1:0;
var isMoz=(navigator.userAgent.indexOf("Gecko")>-1)?1:0;

function avis(val){
    if(animate) {
        vis(val); animate=0;
        setTimeout("animate=1",555);
    }
}

function vis(val) {
  if(nav) {
    if(lv && !document.getElementById("d"+lv)) {
        //if(lv.length>2)
		document.getElementById("l"+lv).style.color=lnat;
        lv = lv.substr(0,lv.length-2);
    }

    if(document.getElementById("d"+lv)) {
        if(lv == val.substr(0,val.length-2) && h0[val]) {
          for(i=2;i<val.length;i+=2) {
            slide_on(ch(val.substr(0,i)),ch(val.substr(0,i))+h0[val],val.substr(0,i));
          }
        } else if(lv.substr(0,2) != val.substr(0,2)) {
          for(i=lv.length;i>=2;i-=2) { off(lv.substr(0,i)); }
        } else {

          diff=h0[val]?h0[val]:0;//&& lv.length>2
          if(document.getElementById("d"+lv).style.display == "none") document.getElementById("l"+lv).style.color=lnat;
          else {
            for(i=lv.length;i>=val.length;i-=2) {
				if(lv.indexOf(val)!=-1) {
					//if(i>2)
					document.getElementById("l"+lv.substr(0,i)).style.color=lnat;
					if(lv!=val) continue;
				}
                diff -= h0[lv.substr(0,i)];
                off(lv.substr(0,i));
            }
          }

          if(document.getElementById("d"+val) && document.getElementById("d"+val).style.display != "none") diff -= ch(val)+6;

          for(i=lv.length;i>=2;i-=2) {
            if(!diff) break;
            if(diff>0) slide_on(ch(val.substr(0,i)),ch(val.substr(0,i))+diff,val.substr(0,i));
            else if(diff<0) slide_off(ch(lv.substr(0,i)),ch(lv.substr(0,i))+diff+4,lv.substr(0,i));
          }
        }
    } else if(lv) document.getElementById("l"+lv).style.color=lnat;

    if(document.getElementById("d"+val) && document.getElementById("d"+val).style.display == "none") on(val);
    if(!isNaN(val)) lv =(val == lv)?val.substr(0,val.length-2):val;
  } else off(val);
  return false;
}

function ch(cv) { return document.getElementById("d"+cv).offsetHeight; }

function on(v) {
	document.getElementById("l"+v).style.color=lsub;
    document.getElementById("i"+v).src = '/res/minus.gif';//'+(v.length>2?'_sub':'_main')+'
	document.getElementById("d"+v).style.display = 'block';
    slide_on(0,h0[v],v);
}

function slide_on(h_on,h_end,v){
    if(!document.getElementById("d"+v)||h_on==h_end) return;
    h_on+=step;
    document.getElementById("d"+v).style.height=h_on+'px';
    if(h_on<h_end) setTimeout("slide_on("+h_on+","+h_end+",'"+v+"')",1);
    else document.getElementById("d"+v).style.height=h_end+'px';
}

function off(v) {
    document.getElementById("l"+v).style.color=lnat;
    document.getElementById("i"+v).src = '/res/plus.gif';//'+(v.length>2?'_sub':'_main')+'
    if(nav) slide_off(h0[v],0,v);
    else document.getElementById("d"+v).style.display = 'none';
}

function slide_off(h_off,h_oend,v) {
    if(!document.getElementById("d"+v)||h_off==h_oend) return;
    if(h_oend<=0) h_oend=1;
    if(h_off <= 35)  {
        document.getElementById("d"+v).style.height=h_oend+'px';
        if(h_oend<10) document.getElementById("d"+v).style.display = 'none';
    } else if(ch(v) > h_oend) {
        h_off=ch(v)-step*2;
        document.getElementById("d"+v).style.height=h_off+'px';
        setTimeout("slide_off("+h_off+","+h_oend+",'"+v+"')",1);
    }
}

function path(code) {
    var k=0;
    for(i=0;i<document.images.length;i++) {
        if(!document.images[i].id || document.images[i].id.substr(0,1)!=='i') continue;
        else divs[k++]=document.images[i].id;
        if(code.indexOf(document.images[i].id)==0) {
            lv = document.images[i].id.substr(1);
            //if(lv.length>2)
			document.getElementById("l"+lv).style.color = lsub;
        }
    }
    divs.sort(by_len);
    for(i=0;i<divs.length;i++){
        ind = divs[i].substr(1);
        if(document.getElementById("d"+ind)) h0[ind]=ch(ind);
        if(code.indexOf(divs[i])!==0) off(ind);
    }
	//code.length>2&&
    if(document.getElementById("l"+code.substr(1))) {
        document.getElementById("l"+code.substr(1)).style.color = lcur;
        lv = code.substr(1);
    }
    nav=true;
}

function by_len(a,b){ return b.length-a.length; }

var r = null;

function req(url,m_id) {
    if(!m_id) m_id=lv='';
	if(no_ajax) return true;
    else showDm('Подождите пожалуйста','<br/><br/>Загрузка документа...');
    if(window.ActiveXObject) {
        r=new ActiveXObject("Microsoft.XMLHTTP");
        if (!r) r=new ActiveXObject("Msxml2.XMLHTTP");
    } else if(window.XMLHttpRequest) r = new XMLHttpRequest();

    if(r) {
		if(m_id.length>2 && document.getElementById("d"+m_id.substr(0,2)).style.display=='none') vis(m_id.substr(0,2));
		if(lv!=m_id) vis(m_id);
        if(document.getElementById("l"+m_id)) document.getElementById("l"+m_id).style.color=lcur;

        r.onreadystatechange=resp;
        r.open("GET",(isNaN(url))?'./'+url+((url.indexOf("?")>=0)?"&":"?")+'show='+m_id+'&ajax':'./?show='+url+"&ajax",true);
        try { r.send(null); }
        catch (errv) { return true; }
        //lv=m_id; //hideDm();
    } else return true;
    return false;
}

function resp(){
    //alert(r.readyState);
    if(r.readyState == 4){ // && r.status == 200
        if(r.responseText.length>1) {
            document.getElementById("type").innerHTML=r.responseText;
            setTimeout(lightTR,999);
            hideDm();
        } else {
            showDm('Внимание','<br/>Документ не найден в системе.');
            setTimeout(hideDm,1666);
        }
    }
}

function lightTR(){
var subEls = document.getElementById('type').getElementsByTagName('tr');
	for (var i=0; i<subEls.length; i++) {
		subEls[i].onmouseover=function() { this.style.backgroundColor = '#dddddd'; this.style.cursor = 'hand'; }
		subEls[i].onmouseout=function() {  this.style.backgroundColor = '#ffffff'; }
	}
}

function feedback() {
  if (!document.sform.msg.value) {
  	alert ('Введите текст сообщения');
  	document.sform.msg.focus();
  	return false;
  } else if(document.sform.myemail.value.length<6 && (!document.sform.town.value.length || document.sform.town.value =='other')) {
  	alert ('Выберете точку оказания услуг или укажите контактный Email'+town);
  	document.sform.myemail.focus();
    blink_link("tlnk",8,333);
  	return false;
  } else if (document.sform.mytel.value.length<6) {
  	alert ('Введите контактный телефон');
  	document.sform.mytel.focus();
  	return false;
  } else if (document.sform.msg.value.length<5) {
  	alert ('Слишком кототкий текст сообщения');
  	document.sform.msg.focus();
  	return false;
  }else if (document.sform.pwd.value.length!=6) {
  	alert ('Введите число с изображения');
  	document.sform.pwd.focus();
  	return false;
  } else return true;
}

function blink_link(tlnk,nn,tt){
    document.getElementById(tlnk).style.background=((Math.round(nn/2)==nn/2)?"#666666":"#DA251D");
    if(--nn>0) setTimeout("blink_link('"+tlnk+"',"+nn+","+tt+")",tt);
}

function blink_menu(mlnk,nn,tt){
    document.getElementById(mlnk).style.color=((Math.round(nn/2)==nn/2)?"#DA251D":"#333333");
    if(--nn>0) setTimeout("blink_menu('"+mlnk+"',"+nn+","+tt+")",tt);
    else if(!lv) vis("02");
}

function mdecode(link) {
    link.href = link.href.replace('mto:',"mailto:").replace('=',"-").replace('%',"@").replace('*',".").replace('#',"_");
    return true;
}


window.onerror = null;


