var oRO = {
  //addEvent cross browser event handling for ie5+ and ns6/mozilla by Scott Andrew
  addEvent : function (elm, evType, fn, useCapture) {
    if (elm.addEventListener) {
      elm.addEventListener(evType, fn, useCapture);
      return true;
    } else if (elm.attachEvent) {
      var r = elm.attachEvent('on' + evType, fn);
      return r;
    } else {
      elm['on' + evType] = fn;
    }
  },
  init: function() {
    if (!document.getElementsByTagName || !document.getElementById) return;
    oRO.oNav = document.getElementById('showall');
	oRO.oInt = document.getElementById('interactive');
	oRO.oCls = document.getElementById('closeflash');
    if (!oRO.oNav) return; 
    //attach the mouse over and mouse out events to the links
    oRO.addEvent(oRO.oNav, 'mouseover', oRO.mOver, false);
    oRO.addEvent(oRO.oNav, 'mouseout', oRO.mOut, false);
	oRO.addEvent(oRO.oCls, 'click', oRO.mClose, false);
    oRO.oNav.hoverDiv = document.getElementById('locations');
    oRO.oNav.hoverDiv.opened = false;
    oRO.addEvent(oRO.oNav.hoverDiv, 'mouseover', oRO.hoverMOver, false);
    oRO.addEvent(oRO.oNav.hoverDiv, 'mouseout', oRO.hoverMOut, false);

	oRO.oNav.pastLoc = document.getElementById('viewpastlocations');
	oRO.oInt.pastLoc = document.getElementById('viewpastlocations');	
    
	//Temp Fix to stop FF/Mac from displaying Map Flyover
	var detect = navigator.userAgent.toLowerCase();
	if (detect.indexOf('macintosh') != -1) { 
		if ((detect.indexOf('mozilla') == 1) || (detect.indexOf('safari') == -1)) {
			document.getElementById('interactive').style.display = 'none';
			return true;
		} else {
			oRO.addEvent(oRO.oNav, 'click', oRO.mClick, false);	
			oRO.addEvent(oRO.oInt, 'click', oRO.mClick, false);			
		}		
	} else {
		oRO.addEvent(oRO.oNav, 'click', oRO.mClick, false);
		oRO.addEvent(oRO.oInt, 'click', oRO.mClick, false);
	}	
	oRO.oNav.opened = false;
	oRO.oInt.opened = false;
  },
  
  mClose: function(e) {
    var oLink;
    if (e && e.target)
      oLink = e.target;
    if (window.event && window.event.srcElement)
      oLink = window.event.srcElement;
    if (!oLink) 
      return;
    if (oLink.nodeType == 3) {
      oLink = oLink.parentNode;  
    }
	document.getElementById('viewpastlocations').style.display = 'none';
	document.getElementById('closeflash').style.display = 'none';
	//oLink.pastLoc.opened = false;
	LUNATIC.util.Event.preventDefault(e);
	return false;
  },	  
  
  mClick: function(e) {
    var oLink;
    if (e && e.target)
      oLink = e.target;
    if (window.event && window.event.srcElement)
      oLink = window.event.srcElement;
    if (!oLink) 
      return;
    if (oLink.nodeType == 3) {
      oLink = oLink.parentNode;  
    }  
	//var getloc = document.getElementById('viewpastlocations');
	oLink.pastLoc.style.display = 'block';
	document.getElementById('closeflash').style.display = 'block';
	oLink.pastLoc.opened = true;
    LUNATIC.util.Event.preventDefault(e);	
	return false;
  }, 
  
  hideDiv: function(e) {
    var oLink;
    if (e && e.target)
      oLink = e.target;
    if (window.event && window.event.srcElement)
      oLink = window.event.srcElement;
    if (!oLink) 
      return;
    if (oLink.nodeType == 3) {
      oLink = oLink.parentNode;  
    } 
	do{
		alert(oLink.nodeName); 
		if(oLink.nodeName == "DIV")
		{
			alert(oLink.id);
			if(oLink.id && oLink.id == "viewpastlocations")
			{
				alert("made it");
				return;
			}
		}
		oLink = oLink.parentNode;
	}
	while(oLink.nodeName != "HTML")
	//oLink.oNav.opened = false;
	//oLink.oInt.opened = false;
	//oRO.hide();	
	document.getElementById("viewpastlocations").style.display = "none";
  },   
  
  mOver: function(e) {
    var oLink;
    if (e && e.target)
      oLink = e.target;
    if (window.event && window.event.srcElement)
      oLink = window.event.srcElement;
    if (!oLink) 
      return;
    if (oLink.nodeType == 3) {
      oLink = oLink.parentNode;  
    }
    //oRO.closeAllHovers();
    oLink.hoverDiv.style.position = 'absolute';

	if (oLink.parentNode.clientWidth) {
		var offset = (oLink.parentNode.clientWidth/2 -10);
	} else {
		var offset = 25;
	}
	
	oLink.hoverDiv.style.left = ( LUNATIC.util.Dom.getX(oLink) - (73 - offset) )+ 'px';
	if (document.all) {
		var temp = oLink.hoverDiv.style.top = (ygPos.getY(oLink) + 19) + 'px';
	} else {
		var temp = oLink.hoverDiv.style.top = (ygPos.getY(oLink)+ 20) + 'px';
	}

    oLink.hoverDiv.style.display = 'block';
    if (oRO.timeOut) window.clearTimeout(oRO.timeOut);
    oLink.hoverDiv.opened = true;
  },
  
  startHoverClose:function() {
    oRO.timeOut = window.setTimeout('oRO.closeAllHovers()', 500); 
  },
  mOut: function(e) {
    var oLink;
    if (e && e.target)
      oLink = e.target;
    if (window.event && window.event.srcElement)
      oLink = window.event.srcElement;
    if (!oLink) 
      return;
    if (oLink.nodeType == 3) {
      oLink = oLink.parentNode;  
    }
    oRO.startHoverClose();
    oLink.hoverDiv.opened = false;
  },
  hoverMOver: function(e) {
    var oLink;
    if (e && e.target)
      oLink = e.target;
    if (window.event && window.event.srcElement)
      oLink = window.event.srcElement;
    if (!oLink) 
      return;
    if (oLink.nodeType == 3) {
      oLink = oLink.parentNode;  
    }
    if (oRO.timeOut) window.clearTimeout(oRO.timeOut);
    oLink.opened = true;
  },
  hoverMOut : function(e) {
    var oLink;
    if (e && e.target)
      oLink = e.target;
    if (window.event && window.event.srcElement)
      oLink = window.event.srcElement;
    if (!oLink) 
      return;
    if (oLink.nodeType == 3) {
      oLink = oLink.parentNode;  
    }
    oRO.startHoverClose();
    oLink.opened = false;
  },
  closeAllHovers: function() {
    //oRO.oNav.hoverDiv.style.display='none';
	document.getElementById('locations').style.display='none';
    oRO.oNav.hoverDiv.opened = false;
  }
}

oRO.addEvent(window, 'load', oRO.init, false);
//oRO.addEvent(window, 'click', oRO.hideDiv, false);