//Written by Bogdan Blaszczak/BlaTek

Bmenu={
 ids:['menu1'],
 sTime:300, lTime:4000, //showFilterClass:'filter1', hideFilterClass:'filter2',
 on:false, tm1:0, tm2:0,
 over:function(e,el){if(this.cancB(e,el))return;this.on=true},
 out:function(e,el){if(this.cancB(e,el))return;this.on=false;this.clear();this.tm1=setTimeout('Bmenu.hide()',this.sTime)},
 show:function(e,f,i){
  if(this.cancB(e,f))return
  e=document.getElementById(this.ids[i]);if(!e)return
  //if(this.showFilterClass)e.className=this.showFilterClass
//  eval('try{f=e.filters}catch(Er){}')
//  if(f)eval('try{f[0].Apply()}catch(Er){}')
  e.style.visibility='visible';
//  if(f)eval('try{f[0].Play()}catch(Er){}')
  this.clear();this.tm2=setTimeout('Bmenu.hide()',this.lTime)
 },
 hide:function(e,f,i,u){
  if(i==u)this.hideAll(e,f)
  else{
   if(this.cancB(e,f))return
   e=document.getElementById(this.ids[i]);if(!e)return
   //if(this.hideFilterClass)e.className=this.hideFilterClass
   eval('try{f=e.filters}catch(Er){}')
   if(f)eval('try{f[0].Apply()}catch(Er){}')
   e.style.visibility='hidden'
   if(f)eval('try{f[0].Play()}catch(Er){}')
  }
 },
 hideAll:function(e,f,i){if(!this.on)for(i=0;i<this.ids.length;i++)this.hide(e,f,i)},
 clear:function(){clearTimeout(this.tm1);clearTimeout(this.tm2)},
 cancB:function(ev,el,t){
  if(!ev)return false
  t=ev.type!='mouseout'
  t=ev.relatedTarget?ev.relatedTarget:t?ev.fromElement:ev.toElement
  while(t){if(t==el)return true;t=t.parentNode}
  return false
 }
}

