function inspect(obj,win) {
    var str = "";
    for (var prop in obj) str += "obj." + prop + " = " + obj[prop] + "<br>";
    if(win){var kokos = window.open("","ins_win"); kokos.document.writeln(str);}else alert(str);
}

function getPos(el) {
       var r = { x: el.offsetLeft, y: el.offsetTop, w: el.offsetWidth, h: el.offsetHeight};

       if (el.offsetParent) {
               var tmp = getPos(el.offsetParent);
               r.x += tmp.x;
               r.y += tmp.y;
       }
       return r;
}

function topMenu(elm) {
          try{
            var uls = elm.getElementsByTagName('ul')[0];
            if (uls.style.display == 'block') return;
          }
          catch(e){ return; }

          //check size of container element & aline menu with it
          var main;
          try{
            main  = getPos(document.getElementById('main'));
            main  = (main.x + main.w);
          }
          catch(e){
            main  = document.body.offsetWidth;
          }
          var doc   = document.body.offsetWidth;

          if (typeof elm.onmouseout !== 'function') {
             elm.onmouseout = function(){
                 try {
                   var uls2 = this.getElementsByTagName('ul')[0];
                   if (uls2.style.display == 'none') return;
                 }catch(e){}

                 uls2.style.display = 'none';
                 uls2.style.right = 'auto';
                 var a = this.getElementsByTagName('a')[0];
                 a.className = a.className.replace(/[ ]*active/g,"");
              }
          }

          uls.style.display = 'block';
          var med   = getPos(uls);
              med   = med.x+med.w;

          //aline position
          if (main<med)
             uls.style.right = (doc-main+7)+'px';

          elm.getElementsByTagName('a')[0].className += "active";
}

function leftMenu(origElm) {
  var pElm = origElm.parentNode;

  if (pElm){
      if (pElm.className.indexOf('active')>-1)
         pElm.className = pElm.className.replace(/[ ]*active/g,"");
      else
      if(pElm.className.indexOf('passive')<0)
         pElm.className += ' active';
  }
  else
     pElm.className = 'active';
}

function popup(elm,popup) {
   var popup  = document.getElementById(popup);
   if(popup.style.display == 'block') return;
   var elmPos = getPos(elm);

   // popup position
   popup.style.marginLeft = (200-(200-elmPos.w)) +"px";
   popup.style.top        = (elmPos.y) +"px";
   popup.style.display    = 'block';
   if (typeof elm.onmouseout !== 'function'){
       elm.onmouseout = function(){
          popup.style.display = 'none';
       }
   }
}
