// 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) ddmenuitem.style.visibility = 'hidden';

	// get new layer and show it
	if(document.getElementById(id))
	{
                var the_parent;
                switch(id){
                    case 'm1':
                        the_parent = 'nav_listing';
                        break;
                    case 'm2':
                        the_parent = 'nav_pricing';
                        break;
                    case 'm3':
                        the_parent = 'nav_pricing_blue';
                        break;
                    case 'm4':
                        the_parent = 'nav_pricing_yellow';
                        break;

                }
                 var p = document.getElementById(the_parent);
                 //getPos(p);
                var x = findPosX(document.getElementById(the_parent));
                //var y = findPosY(document.getElementById(the_parent));
                ddmenuitem = document.getElementById(id);
                ddmenuitem.style.top = '200px';
                ddmenuitem.style.left = x.toString() + "px";
                ddmenuitem.style.visibility = 'visible';
	}

}
// close showed layer
function mclose()
{
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
}

// go close timer
function mclosetime()
{
	closetimer = window.setTimeout(mclose, timeout);
}

// cancel close timer
function mcancelclosetime()
{
	if(closetimer)
	{
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

function findPosX(obj)
  {
    var curleft = 0;
    if(obj.offsetParent)
        while(1)
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
  }

  function findPosY(obj)
  {
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
  }

  function getPos(el) {
   if (document.getBoxObjectFor) {
     var bo = document.getBoxObjectFor(el);
     el.x = bo.x;
     el.y = bo.y;
   }else {
     var rect = el.getBoundingClientRect();
     el.x = rect.left;
     el.y = rect.top;
   }
}

function setPos(el) {
   if (document.getBoxObjectFor) {
     el.style.left = el.x;
     el.style.top = el.y;
   }else {
     el.style.pixelLeft = el.x + document.documentElement.scrollTop;
     el.style.pixelTop = el.y + document.documentElement.scrollLeft ;
   }
}

// close layer when click-out
document.onclick = mclose; 
