// Javascript Vertical Auto-Hiding menus

/* 
Author: Scott Ord, Pentura Solutions
Copyright 2005-2006
This code may be modified as long as this comment stays intact
*/

// Modified from:

/***********************************************
* AnyLink Vertical Menu- © Dynamic Drive (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

//Contents for menu 1
var aboutMenu=new Array();
aboutMenu[0]='<a href="profile.html">Profile</a>';
aboutMenu[1]='<a href="mandate.html">Mandate</a>';
aboutMenu[2]='<a href="BoD.html">Board of Directors</a>';
//aboutMenu[3]='<a href="staff.html">MCPA Staff</a>';
aboutMenu[4]='<a href="involved.html">Get Involved</a>';
//aboutMenu[3]='<a href="volunteers.html">Volunteers</a>';
//aboutMenu[4]='<a href="staff.html#volunteers">Volunteers</a>';
//aboutMenu[4]='<a href="fundraising.html">Fundraising</a>';
//aboutMenu[5]='<a href="staff.html#fundraising">Fundraising</a>';


var programsMenu=new Array();
//programsMenu[0]='<a href="BCW.html">Business Crime Watch</a>';
//programsMenu[1]='<a href="alert.html">Community Alert</a>';
programsMenu[1]='<a href="watch.html">Neighbourhood Watch</a>';
programsMenu[2]='<a href="crossroads.html">Crossroads Youth Academy</a>';
//programsMenu[3]='<a href="counteract.html">Counter-Act</a>';
programsMenu[4]='<a href="safest.html">Safest City Report</a>';
programsMenu[5]='<a href="crimeIncidents.html#mapView">Crime Incidents</a>';
programsMenu[6]='<a href="partnerPrograms.html">Partner Programs</a>';
programsMenu[7]='<a href="handbook.html">Crime Prevention Handbook</a>';

var newsMenu = new Array();
newsMenu[0]='<a href="news.html">News Releases</a>';
newsMenu[1]='<a href="archive.html">News Archive</a>';

// Menu disappear time onMouseout (in milliseconds)
var disappeardelay=300;  
// Horizontal offset in pixels of menu from default location (0-5 is a good value)
var horizontaloffset=-10;
// Vertical offset in pixels of menu from default location (0-5 is a good value)
var verticalOffset=58;

/////No further editing needed

var ie4=document.all

var ns6=document.getElementById&&!document.all

if (ie4||ns6)
document.write('<div id="dropMenu" onMouseover="clearhidemenu()" onMouseout="dynamichide(event)"></div>')

function populatemenu(menu){
	//if (ie4||ns6) {
		dropmenuobj.innerHTML = menu.join("")
	//}
}

function showhide(obj, e, visible, hidden, menuwidth){
//	if (ie4||ns6)
	//dropmenuobj.style.left=-500;
	//obj.style.left=-500;
	//dropmenuobj.style.top=-500;
	//obj.style.top=-500;
	dropmenuobj.widthobj=dropmenuobj.style
	dropmenuobj.widthobj.width=menuwidth


	if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
	obj.visibility=visible
	else if (e.type=="click")
	obj.visibility=hidden
}




function dropdownmenu(obj, e, menucontents, menuwidth){
	
	//alert(obj.offsetWidth);
	if (window.event) event.cancelBubble=true
	else if (e.stopPropagation) e.stopPropagation()
	clearhidemenu()
	dropmenuobj=document.getElementById? document.getElementById("dropMenu") : dropMenu
	populatemenu(menucontents)

	//if (ie4||ns6){
	showhide(dropmenuobj.style, e, "visible", "hidden", menuwidth)
	
	dropmenuobj.style.left = obj.offsetLeft + obj.offsetParent.offsetLeft + horizontaloffset + "px"
	dropmenuobj.style.top = obj.offsetTop + obj.offsetHeight + verticalOffset + "px"
	
	//}

	//return clickreturnvalue()
}

function clickreturnvalue(){
	if (ie4||ns6) {
		return false
	}
	else {
		return true
	}
}

function dynamichide(e){
	if (ie4&&!dropmenuobj.contains(e.toElement)) {
		delayhidemenu()
	}
	else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget)) {
		delayhidemenu()
	}
}

function hidemenu(e){
	if (typeof dropmenuobj!="undefined"){
		if (ie4||ns6)
		dropmenuobj.style.visibility="hidden"
	}
}

function delayhidemenu(){
	if (ie4||ns6) {
		delayhide=setTimeout("hidemenu()",disappeardelay)
	}
}

function clearhidemenu(){
	if (typeof delayhide!="undefined") {
		clearTimeout(delayhide)
	}
}

/*
function iecompattest(){
	return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}
*/

function contains_ns6(a, b) {
	while (b.parentNode) {
		if ((b = b.parentNode) == a) {		
			return true;
		}
	}
	return false;
}
