/***  See for description and latest version  ***\
\***  http://www.kruglov.ru/klayers/          ***/
function initKLayers(){
  isDOM=document.getElementById?true:false
  isOpera=isOpera5=window.opera && isDOM
  isOpera6=isOpera && window.print
  isOpera7=isOpera && document.readyState
  isMSIE=isIE=document.all && document.all.item && !isOpera
  isStrict=document.compatMode=='CSS1Compat'
  isNN=isNC=navigator.appName=="Netscape"
  isNN4=isNC4=isNN && !isDOM
  isMozilla=isNN6=isNN && isDOM

  if(!isDOM && !isNC && !isMSIE && !isOpera){
    KLayers=false
    return false
  }

  pageLeft=0
  pageTop=0

  KL_imgCount=0
  KL_imgArray=new Array()

  KL_imageRef="document.images[\""
  KL_imagePostfix="\"]"
  KL_styleSwitch=".style"
  KL_layerPostfix="\"]"

  if(isNN4){
    KL_layerRef="document.layers[\""
    KL_styleSwitch=""
  }

  if(isMSIE){
    KL_layerRef="document.all[\""
  }

  if(isDOM){
    KL_layerRef="document.getElementById(\""
    KL_layerPostfix="\")"
  }

  KLayers=true
  return true
}

initKLayers()
var KL_LAYER=0
var KL_IMAGE=1

function KL_findObject(what,where,type){
  var i,j,l,s
  var len=eval(where+".length")
  for(j=0;j<len;j++){
    s=where+"["+j+"].document.layers"
    if(type==KL_LAYER){
      l=s+"[\""+what+"\"]"
    }
    if(type==KL_IMAGE){
      i=where+"["+j+"].document.images"
      l=i+"[\""+what+"\"]"
    }
    if(eval(l)) return l
    l=KL_findObject(what,s,type)
    if(l!="null") return l
  }
  return "null"
}

function KL_getObjectPath(name,parent,type){
  var l=((parent && isNN4)?(parent+"."):(""))+((type==KL_LAYER)?KL_layerRef:KL_imageRef)+name+((type==KL_LAYER)?KL_layerPostfix:KL_imagePostfix)
  if(eval(l))return l
  if(!isNN4){
    return l
  }else{
    return KL_findObject(name,"document.layers",type)
  }
}

function layer(name){
  return new KLayer(name,null)
}

function KLayer(name,parent){
  this.path=KL_getObjectPath(name,parent,KL_LAYER)
  this.object=eval(this.path)
  if(!this.object)return
  this.style=this.css=eval(this.path+KL_styleSwitch)
}

KLP=KLayer.prototype

KLP.isExist=KLP.exists=function(){
  return (this.object)?true:false
}

function KL_getPageOffset(o){ 
  var KL_left=0
  var KL_top=0
  do{
    KL_left+=o.offsetLeft
    KL_top+=o.offsetTop
  }while(o=o.offsetParent)
  return [KL_left, KL_top]
}

KLP.getAbsoluteLeft=function(){
  var o=this.object
  if(isMSIE || isMozilla || isOpera) return KL_getPageOffset(o)[0]-pageLeft
  if(isNN4) return o.pageX-pageLeft
}

KLP.getAbsoluteTop=function(){
  var o=this.object
  if(isMSIE || isMozilla || isOpera) return KL_getPageOffset(o)[1]-pageTop
  if(isNN4) return o.pageY-pageTop
}

KLP.getHeight=function(){
  var o=this.object
  if(isMSIE || isMozilla || isOpera7) return o.offsetHeight
  if(isOpera) return this.css.pixelHeight
  if(isNN4) return o.document.height
}
KLP.setLeft=KLP.moveX=function(x){
  x+=pageLeft
  if(isOpera){
    this.css.pixelLeft=x
  }else if(isNN4){
    this.object.x=x
  }else{
    this.css.left=x+"px"
  }
}

KLP.setTop=KLP.moveY=function(y){
  y+=pageTop
  if(isOpera){
    this.css.pixelTop=y
  }else if(isNN4){
    this.object.y=y
  }else{
    this.css.top=y+"px"
  }
}

KLP.moveTo=KLP.move=function(x,y){
  this.setLeft(x)
  this.setTop(y)
}

KLP.setVisibility=function(v){
  this.css.visibility=(v)?(isNN4?"show":"visible"):(isNN4?"hide":"hidden")
}

KLP.show=function(){
  this.setVisibility(true)
}

KLP.hide=function(){
  this.setVisibility(false)
}

KLP.isVisible=KLP.getVisibility=function(){
  return (this.css.visibility.toLowerCase().charAt(0)=='h')?false:true
}

// df menu 

function CM(t){
 if(!t || t==1) { if(self.tm) clearTimeout(tm)  } 
 if(!t || t==2) { if(self.rtm) clearTimeout(rtm)  }
}

function HM(d){
 eval("tm=setTimeout(\"DH('sm_"+d+"'); CC();\",500)");
}

function RHM(r){
 eval("rtm=setTimeout(\"DH('ss_"+r+"')\",500)");
}

function DH(hm){
 eval(hm+".hide()");
}

function SM(d){
 m="m_"+d;
 sm="sm_"+d;
 mn=eval("self."+m); // check
 smn=eval("self."+sm); // check
	
 if(!mn || !smn){
  eval("mn="+m+"=layer(\""+d+"\")");
  sd="sub"+d;		
  eval("smn="+sm+"=layer(\""+sd+"\");");
 }

 for(i=0;i<menus;i++) { 
 	ism=eval("self.sm_"+MainMenu[i]);
	if(ism && ism.isVisible && ism!=smn) {
	  ism.hide();
	}
		
	eval("SMD=SubMenu"+i);		
	sml=SMD.length;
  for(j=0;j<sml;j+=4) {
   if(SMD[j+3]) {
	  jrm=eval("self.ss_"+SMD[j+3]);
	  if( jrm && jrm.isVisible) { jrm.hide(); }
 	 }	 
	}		
 }
	
 CM(1);

 var dx=screen.width-WidthSM1-mn.getAbsoluteLeft()-23;
 if(dx>0) {
   dx=0;
 } 
 
 smn.moveTo(mn.getAbsoluteLeft()+dx, mn.getAbsoluteTop() + mn.getHeight()) // move second menu relatively
 smn.show();
}

function SSM(d,r) {
 s="s_"+r;
 ss="ss_"+r;	

 sn=eval("self."+s); // check
 ssn=eval("self."+ss); // check		
 if(!sn || !ssn){
  eval("sn="+s+"=layer(\""+r+"\")");
	sr="sub"+r;		
  eval("ssn="+ss+"=layer(\""+sr+"\");");
 }
  
 for(i=0;i<menus;i++) { 
	eval("SMD=SubMenu"+i);		
	sml=SMD.length;
  for(j=0;j<sml;j+=4) {
   if(SMD[j+3]) {
	  jrm=eval("self.ss_"+SMD[j+3]);
	  if( jrm && jrm.isVisible && jrm!=ssn) { jrm.hide(); }
	 }	 
	}		
 }
		
 CM(2);

 ssn.moveTo(sn.getAbsoluteLeft()+WidthSM1-5, sn.getAbsoluteTop())
 ssn.show();	
}

function SBG(tr,c){
 if(isMSIE || isMozilla || isOpera7){
  tr.style.backgroundColor=c
 }else if(isOpera){
  tr.style.background=c
 }else if(isNN4){
  tr.style.bgColor=c
 }
}

var dcol="#b5d5d5";
var scol="#b3f3ff";
var rgb_scol="rgb(179, 243, 255)"; //for Mozilla Opera


function SC(tr,on)  {
  SBG(tr,on?scol:dcol);
}

function CC(cids)  {

  var len=document.all.length;
  for(j=0;j<len;j++){	
	  if(document.all(j).tagName=="TD") {
		  c=0;
			tr=document.all[j];
  		if(isMSIE || isMozilla || isOpera7){
        c=tr.style.backgroundColor;
      }else if(isOpera){
        c=tr.background
      }
			if((c==scol || c==rgb_scol) && (!cids || cids==tr.id) ) {
			  SC(tr,0);
      }
	 }
	}
}

function Menu()  {
  h=document;
  for(i=0;i<menus;i++) {
		SMN=MainMenu[i];
		eval("SMD=SubMenu"+i);
		sml=SMD.length;				
    h.write("<div id=\"sub"+SMN+"\" style='position: absolute; visibility: hidden; z-index:10; border: 1px solid #009999;' >");
		h.write("<table border=0 cellspacing=1 cellpadding=3 width="+WidthSM1+" bgcolor=\"#114152\">");
    for(j=0;j<sml;j+=4) {
      h.write("<tr><td id=td_"+SMN+" class=sm onmouseover=\"CM(1);"+(SMD[j+3]?"SSM('"+SMN+"','"+SMD[j+3]+"');":"")+"CC('td_"+SMN+"');SC(this,1); return true\" onmouseout=\"HM('"+SMN+"');"+(SMD[j+3]?" RHM('"+SMD[j+3]+"');":"")+" return true\">");
		  if(SMD[j+3]) {
			  h.write("<div id=\""+SMD[j+3]+"\" style='position: relative;'><table border=0 cellspacing=0 cellpadding=0 width=100%><tr><td class=smt>");
			}
      h.write((SMD[j+1]?"<a class=asm href=\""+SMD[j+1]+"\""+(SMD[j+2]!=0?" target=\"_blank\"":"")+">":"")+SMD[j+0]+(SMD[j+1]?"</a>":""));
		  if(SMD[j+3]) {
			  h.write("</td><td align=right><IMG SRC=\"/img/strela.gif\" width=10 height=11 BORDER=0></td></tr></table></div>");
			}
      h.write("</td></tr>");
		}
		h.write("</table></div>");

    for(j=0;j<sml;j+=4) {		
     if(SMD[j+3]) {
		  RMN=SMD[j+3];
		  eval("RMD="+RMN);
  		rml=RMD.length;

	    h.write("<div id=\"sub"+RMN+"\" style='position: absolute; visibility: hidden; z-index:15;' >");
  		h.write("<table border=0 cellspacing=1 cellpadding=3 width="+WidthSM2+" bgcolor=\"#114152\">");
      for(r=0;r<rml;r+=3) {
        h.write("<tr><td class=sm onmouseover=\"CM(0); SC(this,1); return true\" onmouseout=\"RHM('"+RMN+"'); HM('"+SMN+"'); SC(this,0); return true\">");			
        h.write((RMD[r+1]?"<a class=asm href=\""+RMD[r+1]+"\""+(RMD[r+2]!=0?" target=\"_blank\"":"")+">":"")+RMD[r+0]+(RMD[r+1]?"</a>":""));
        h.write("</td></tr>");
		  }
  		h.write("</table></div>");
		 }
		}
	}
}
Menu();	

