// copyright Stephen Chapman, 4th March 2005, 5th February 2006
// from site: http://javascript.about.com/library/blmenu.htm

var fix = 1; 
var delay = 2000; 
var modd = 0;
var bar = new menuBar();

bar.addMenu('Main');
bar.addItem('/index.html','Return HOME');
bar.addItem('/menu_home/home_mission/mission.html','Mission Statement');

bar.addMenu('Services');
bar.addItem('/menu_services/services_lawncare/lawncare.html','Lawncare');
bar.addItem('/menu_services/services_cleanups/cleanups.html','Spring/Fall Cleanups');
bar.addItem('/menu_services/services_snow_removal/snow.html','Snow & Ice Removal');
bar.addItem('/menu_services/services_trimming/trimming.html','Trimming/Pruning');
bar.addItem('/menu_services/services_hauling/hauling.html','Debris Hauling');
bar.addItem('/menu_services/services_absentee_owner/absentee.html','Absentee Owner');

bar.addMenu('Testimonials');
bar.addItem('/menu_testimonials/testimonials.html','What our Customers Say');

bar.addMenu('Specials');
bar.addItem('/menu_specials/specials_discounts/specials.html','Specials');

bar.addMenu('Contact Us');
bar.addItem('/menu_contact/contact_email/email.html','Email Us');

// Beautifulawnandgarden green scheme
var blc = '#344221';

// blh doesn't appear to do anything
var blh = '#ff0000';

// bla is the color of the button background that it changes to when hovering over it
var bla = '#13dc00';

// lc is the color that the button text changes to after it is visited
var lc = '#5b7c23';

// lh doesn't appear to change anything!
var lh = '#13dc00';

// 1a is the color that the button text changes to when hovering over it (white)
var la = '#ffffff';


function menuBar() 
{
	this.jj = -1;
	this.kk = 0;
	this.mO = new Array();
	this.addMenu = addMenu;
	this.addItem = addItem;
	this.writeBar = writeBar;
	this.writeDrop = writeDrop;
}

function addMenu(main) 
{
	this.mO[++this.jj] = new Object();
	this.mO[this.jj].main = main;
	this.kk = 0;
	this.mO[this.jj].link = new Array();
	this.mO[this.jj].name = new Array();
}

function addItem(link,name) 
{
	this.mO[this.jj].link[this.kk] = link;
	this.mO[this.jj].name[this.kk++] = name;
}

function writeBar() 
{
	for (var i=1;i <= this.mO.length; i++)
	{
		document.write('<span id="navMenu'+i+'" class="mH">'+this.mO[i-1].main+'<\/span>');
	}
}

function writeDrop() 
{
	for (var i=1;i <= this.mO.length; i++)
	{
		document.write('<div id="dropMenu'+i+'" class="mD">\r\n');
		for (var h=0;h < this.mO[i-1].link.length; h++)
		{
			document.write('<a class="mL" href="'+this.mO[i-1].link[h]+'">'+this.mO[i-1].name[h]+'<\/a>\r\n');
		}
		document.write('<\/div>\r\n');
	}
}
//
// Commented out next line because it causes the menu bar to stay in the same screen position even though
// the window scrolls.  JOR 2-13-2008
//if (fix) window.onscroll=sMenu;
//
window.onload=iMenu;
var onm = null;
var ponm = null;
var podm = null;
var ndm = bar.mO.length;

function posY() 
{
	return typeof window.pageYOffset != 'undefined' ? window.pageYOffset:document.documentElement.scrollTop? document.documentElement.scrollTop: document.body.scrollTop?document.body.scrollTop:0;
}

function sMenu() 
{
	document.getElementById('mB').style.top = posY() + 'px';
	for (i=1; i<=ndm; i++) 
	{
		menuName = 'dropMenu' + i;
		odm = document.getElementById(menuName); 
		if (onm) 
		{
			var yPos = onm.offsetParent.offsetTop + onm.offsetParent.offsetHeight;
			odm.style.top = yPos + 'px';
		}
	}
}

function iMenu() 
{
	if (document.getElementById) 
	{
		document.onclick = mHide; 
		for (i=1; i<=ndm; i++) 
		{
			menuName = 'dropMenu' + i; 
			navName = 'navMenu' + i; 
			odm = document.getElementById(menuName); 
			onm = document.getElementById(navName); 
			odm.style.visibility = 'hidden'; 
			onm.onmouseover =  mHov; 
			onm.onmouseout = mOut;
		} 
	onm = null;
	} 
return;
}


function  mHov(e) 
{
	if (modd) clearTimeout(modd);
	document.onclick = null; 
	honm = document.getElementById(this.id); 
	if (honm != onm) 
	{
		honm.style.color = lh; 
		honm.style.backgroundColor = blh;
	} 
	menuName = 'drop' + this.id.substring(3,this.id.length); 
	odm = document.getElementById(menuName); 
	if (podm == odm) 
	{
		mHide(); 
		return;
	} 
	if (podm != null) mHide(); 
	onm = document.getElementById(this.id); 
	if ((ponm != onm ) || (podm == null)) 
	{
		onm.style.color = la; 
		onm.style.backgroundColor = bla;
	} 
	if (odm) 
	{
		xPos = onm.offsetParent.offsetLeft + onm.offsetLeft; 
		yPos = onm.offsetParent.offsetTop + onm.offsetParent.offsetHeight; 
		odm.style.left = xPos + 'px'; 
		odm.style.top = yPos + 'px'; 
		odm.style.visibility = 'visible'; 
		odm.onmouseover = omov; 
		odm.onmouseout = omot; 
		podm = odm; 
		ponm = onm;
	}
}

function omov() 
{
	if (modd) clearTimeout(modd);
}


function omot() 
{
	modd = setTimeout('mHide()',delay);
}

function mOut(e) 
{
	modd = setTimeout('mHide()',delay);
	document.onclick = mHide;
	oonm = document.getElementById(this.id); 
	if (oonm != onm) 
	{
		oonm.style.color = lc; 
		oonm.style.backgroundColor = blc;
	}
}

function mHide() 
{
	document.onclick = null; 
	if (podm) 
	{
		podm.style.visibility = 'hidden'; 
		podm = null; 
		ponm.style.color = lc; 
		ponm.style.backgroundColor = blc;
	} 
	onm = null;
}

if (fix) 
{
	var ag = navigator.userAgent.toLowerCase();
	var isG = (ag.indexOf('gecko') != -1);
	var isR=0;
	if (isG) 
	{
		t = ag.split("rv:"); 
		isR = parseFloat(t[1]);
	}
	if (isR && isR<1) 
	{
		setInterval('sMenu()',50);
	}
}