// Copyright 2006-2007 javascript-array.com
var timeout=500;
var closetimer=0;
var ddmenuitem=0;
// open hidden layer
function mopen(id){
//cancel close timer
mcancelclosetime();
//close old layer
if(ddmenuitem){
mclose();
}
//get new layer and show it
ddmenuitem = document.getElementById(id);
ddmenuitem.style.visibility = 'visible';
if(document.getElementById(ddmenuitem.id+'_toggle')){
document.getElementById(ddmenuitem.id+'_toggle').innerHTML='&nbsp;^';
}
}
//open hidden layer
function mtoggle(id){
//cancel close timer
mcancelclosetime();
//close old layer
if(ddmenuitem  && ddmenuitem.id!=id){
mclose();
}
//get new layer and show it
ddmenuitem = document.getElementById(id);
if(ddmenuitem.style.visibility=='visible'){
mclose();
}else{
ddmenuitem.style.visibility='visible';
document.getElementById(id+'_toggle').innerHTML='&nbsp;^';
closetimer = window.setTimeout(mclose,2000);
}
}
//close showed layer
function mclose(){
if(ddmenuitem){
ddmenuitem.style.visibility='hidden';
}
if(document.getElementById(ddmenuitem.id+'_toggle')){
document.getElementById(ddmenuitem.id+'_toggle').innerHTML='&nbsp;&gt;';
}
}
//go close timer
function mclosetime(){
closetimer=window.setTimeout(mclose,timeout);
}
//cancel close timer
function mcancelclosetime(){
if(closetimer){
window.clearTimeout(closetimer);
closetimer=null;
}
}
//close layer when click-out
document.onclick=function(event){
try{
var target=(evt.srcElement||evt.target);
if(target.rel!='toggle'){
if(ddmenuitem){
mclose();
}
}
}catch(ex){/*IE*/}
};