var overLayer = false;
var onLayer = '';

function toggleDropdown(x, disp) {
	var dd = document.getElementById(x);
	var flick = (disp == 'show');
	dd.style.display = (flick) ? 'block' : 'none';
//	onLayer = (flick) ? x : '';
//alert("onLayer = " + onLayer);  
    if(flick) {
      onLayer = x;
    } else {
      onLayer = '';
      overLayer = false;
    }
	return;
}


/*function checkLayer () {
  if (!overLayer) {
    var dd = document.getElementById(onLayer).style.display = 'none';
    onLayer = '';
    overLayer = false;
  }
  return;
}*/

function checkLayer (e) {
//  e = (e) ? e : event;
  var isIE = (window.event) ? true : false;
  if (isIE) var e = window.event; // for IE-only
  var cursorY = e.clientY;
//alert("cursorY = " + cursorY);
  var tg = (window.event) ? e.srcElement : e.target;
  var dim = findPos(tg);
  var objHeight = (isIE) ? tg.offsetHeight : tg.clientHeight;
/* ed */ //alert("offsetHeight = " + tg.offsetHeight + "\nclientHeight = " + tg.clientHeight);
  var objY = dim[1]+objHeight;
/* ed */ //alert("cursorY = " + cursorY + "\nobjHeight = " + objHeight + "\nobjY = " + objY);  
  
  if (cursorY >= objY) {
//   alert("cursorY = " + cursorY + "\nobjY = " + objY);
  overLayer = true;
  var dd = document.getElementById(onLayer).style.display = 'block';
  return;
//alert("set onLayer");
  }
  else {
    if(document.getElementById(onLayer)) {
      var dd = document.getElementById(onLayer)
      try {
        dd.style.display = 'none';
//alert("turned onLayer off");
      } catch (e) {
//        alert("error: "+ e);
      }
      onLayer = '';
      overLayer = false;
    }
  }
  return;
}

function setLayer () {
 // overLayer = true;
//  var dd = document.getElementById(onLayer).style.display = 'block';
//  return;
}

function out(e) {
	if (window.event) var e = window.event;
	var tg = (window.event) ? e.srcElement : e.target;
	var reltg = (e.relatedTarget) ? e.relatedTarget : e.toElement;
  if (reltg.nodeName == 'DIV') { 
  // Mouseout took place when mouse actually left layer
	// Handle event
    var dd = document.getElementById(onLayer).style.display = 'none';
    onLayer = '';
    overLayer = false;
  }
  return;
}

/*function findPos(obj) {
	var curleft = curtop = 0;
  var isIE = (window.event) ? true : false;
  if(obj.offsetParent) {
alert("isIE = " + isIE);
    if(isIE) {
      var curleft = obj.clientLeft;
      var curtop = obj.clientTop;
    } else {
	  	curleft = obj.offsetLeft
  		curtop = obj.offsetTop
    }
//		while (obj = obj.offsetParent) {
    while (obj != document.body) {
      if(isIE) {
        curleft += obj.clientLeft;
        curtop += obj.clientTop;
      } else {
  			curleft += obj.offsetLeft
	  		curtop += obj.offsetTop
      }
		}
	}
	return [curleft,curtop];
}*/

//function findPos(obj) { /* returns the page coordinates for an element */
//	var curleft = curtop = 0; /* zeroes variables */
//	if (obj.offsetParent) { /* gets offset from initial parent element */
//		curleft = obj.offsetLeft 
//		curtop = obj.offsetTop
//		while (obj = obj.offsetParent) { /* iterates through the hierarchy of page elements */
//			curleft += obj.offsetLeft
//			curtop += obj.offsetTop
//		}
//	}
//	return [curleft,curtop]; /* return the actual coordinates on the page */
//}

function findPos(obj) {
  var curleft = curtop = 0;
  if (obj.offsetParent) {
    curleft = DL_GetElementLeft(obj);
    curtop = DL_GetElementTop(obj);
  }
  return [curleft,curtop];
}

function DL_GetElementLeft(eElement)
{
    var nLeftPos = eElement.offsetLeft;          // initialize var to store calculations
    var eParElement = eElement.offsetParent;     // identify first offset parent element  
    while (eParElement != null)
    {                                            // move up through element hierarchy
        nLeftPos += eParElement.offsetLeft;      // appending left offset of each parent
        eParElement = eParElement.offsetParent;  // until no more offset parents exist
    }
    return nLeftPos;                             // return the number calculated
}

function DL_GetElementTop(eElement)
{
    var nTopPos = eElement.offsetTop;            // initialize var to store calculations
    var eParElement = eElement.offsetParent;     // identify first offset parent element  
    while (eParElement != null)
    {                                            // move up through element hierarchy
        nTopPos += eParElement.offsetTop;        // appending top offset of each parent
        eParElement = eParElement.offsetParent;  // until no more offset parents exist
    }
    return nTopPos;                              // return the number calculated
}

