//------------------------------------------------------------------------
//-- DHTML Menu Library
//-- Ryan J. McDonough 
//-- rmcdonough@typetzone.com
//-- Type T
//-- http://www.typetzone.com
//-- last modified 03/15/01 by Helen Keighron
//------------------------------------------------------------------------

//-----------------------------------------------------------------------------
//-- Netscape resize bug fix.  Please do not alter.
//-----------------------------------------------------------------------------

version = 2.0;

if (document.layers) {	
	if(!window.saveInnerWidth) {
  		window.onresize = resize;
  		window.saveInnerWidth = window.innerWidth;
  		window.saveInnerHeight = window.innerHeight;
		}
	}
	
function resize() {
    if (saveInnerWidth < window.innerWidth || 
        saveInnerWidth > window.innerWidth || 
        saveInnerHeight > window.innerHeight || 
        saveInnerHeight < window.innerHeight ) 
    {
        window.location.reload();
        scroll(0,0);
    }
}

//---------------------------------------------------------------------
//-- Define the image arrays and the image path for each section.
//---------------------------------------------------------------------

buttonPath = "../images/buttons/";
imageName = new Array();
imageOff = new Array();
imageOver = new Array();
imgType = ".gif";

//---------------------------------------------------------------------
//-- Common Buttons for All pages
//---------------------------------------------------------------------
//imageName[0]  = "test";
pageLoaded = false;
preLoadDone = false;

//---------------------------------------------------------------------
//-- Initialization of the menu parameter values that will be set each 
//-- time a menu is activated. 
//---------------------------------------------------------------------

lastMenu       = null;
lastMenuTop    = 0;
lastMenuLeft   = 0;
lastMenuRight  = 0;
lastMenuBottom = 0;

//-----------------------------------------------------------------------------
//-- browser sniffing variables to allow graceful menu functionality degradation 
//--i n IE 4.0
//-----------------------------------------------------------------------------

var ua = navigator.userAgent.toLowerCase();
var is_ie4 = ua.indexOf("msie 4") != -1;

//---------------------------------------------------------------------
//-- ****************************************************************
//--               DHTML Menu Functions Begin Below
//-- ****************************************************************
//---------------------------------------------------------------------

//-----------------------------------------------------------------------------
//-- Here we establish the objRef and the objStyle to be evaluated 
//-- in the show/hide functions below.
//-- Netscape 6 takes the DOM1-compliant document.getElementById
//-- IE 5.0 and up also supports document.getElementByID
//-- IE 5.0 and below supports document.all
//-- Netscape 4.0 requires document.layers
//-----------------------------------------------------------------------------

if (document.getElementById) 
{
	objRef="document.getElementById";
	objStyle=".style";
}
			
else if (document.all) 
{
	objRef="document.all";
	objStyle=".style";
}
else 
{
	objRef="document.layers";
	objStyle="";
}


//-----------------------------------------------------------------------------
//functions for hiding and showing the object itself.  Please do not alter.
//-----------------------------------------------------------------------------

function show(object) 
{
	if (objRef=="document.getElementById") {
	eval(objRef+'("'+object+'")'+objStyle+'.visibility = "visible"');
	}
	
	else {
	eval(objRef+'["'+object+'"]'+objStyle+'.visibility = "visible"');
	}
}
	
function hide(object) {
	if (objRef=="document.getElementById") {
	eval(objRef+'("'+object+'")'+objStyle+'.visibility = "hidden"');
	}
	
	else {
	eval(objRef+'["'+object+'"]'+objStyle+'.visibility = "hidden"');
	}	
	}

//-----------------------------------------------------------------------------
//-- This function shows the menu
//-- Any open menus will be hidden before the selected menu is shown
//-- Here we disable the showMenu function for IE 4.0 and Windows NT
//-- as there are known bugs in this version of IE
//-- Here we also set our variable lastMenu which is required for mouse tracking
//-----------------------------------------------------------------------------

function showMenu(object)
{
	if (!is_ie4)
	{
		hideAll();
		show(object);
		lastMenu = object;
		if (document.all)
		{
			getMenuParams();
		}
	}
}		

//-----------------------------------------------------------------------------
//-- This function hides all the menus
//-- If deleting a menu entirely, be sure to remove the ID being passed in here
//-- If adding a menu, be sure to add a duplicate line with your new Menu's ID
//-- being passed in:  Ex:  hide('yourNewMenuID');
//-----------------------------------------------------------------------------
	
function hideAll()
{
	
	if (!is_ie4)
	{
		hide('about');
		hide('weddings');
		hide('events');
		hide('cds');
		hide('listen');
		hide('contact');	
	}
}
	
//-----------------------------------------------------------------------------
//-- This function hides an individual menu.  Please do not alter.
//-----------------------------------------------------------------------------

function hideMenu(e) 
{	
	if (window.event)
	{
		menuID = window.event.srcElement.name;
	}
	else
	{

		menuID = e.target.name;
	}

	if (menuID)
	{	
		hide(menuID);
		lastMenu = null;
	}
	
}
	

//------------------------------------------------------------------------------
//-- This function tracks the mouse movements in IE using the IE Event Model. 
//-- Please do not alter.
//------------------------------------------------------------------------------
function trackMouseIE()
{
	if (!is_ie4 && lastMenu != null)
	{
		mouseX = window.event.clientX;
		mouseY = window.event.clientY;
		if (mouseY < lastMenuTop || 
			mouseY > lastMenuBottom || 
			mouseX < lastMenuLeft || 
			mouseX > lastMenuRight)
		{
			hide(lastMenu);
		}
	}
	
}


function getMenuParams()
{
	if (!is_ie4 && lastMenu != null)
	{
		lastMenuTop    = document.all[lastMenu].offsetTop - document.body.scrollTop;
		lastMenuLeft   = document.all[lastMenu].offsetLeft - document.body.scrollLeft;
		lastMenuHeight = document.all[lastMenu].offsetHeight;
		lastMenuWidth  = document.all[lastMenu].offsetWidth;
		
		lastMenuRight  = lastMenuWidth + document.all[lastMenu].currentStyle.pixelLeft;
		lastMenuBottom = lastMenuHeight + document.all[lastMenu].currentStyle.pixelTop;
	}
}
//------------------------------------------------------------------------------
//-- This function tracks the mouse movements in Netscape 4.x using the
//-- Netscape 4.x Event Model. Please do not alter this function.
//------------------------------------------------------------------------------

function trackMouseNS(e)
{
	mouseX = e.pageX;
	mouseY = e.pageY;

	if (lastMenu != null)
	{
		lastMenuTop    = document.layers[lastMenu].top - pageYOffset;
		lastMenuLeft   = document.layers[lastMenu].left - pageXOffset;
		
		lastMenuHeight = document.layers[lastMenu].document.height;
		lastMenuWidth  = document.layers[lastMenu].document.width;
		
		lastMenuRight  = lastMenuWidth + document.layers[lastMenu].left;
		lastMenuBottom = lastMenuHeight + document.layers[lastMenu].top;
		 
		if (mouseY < lastMenuTop || 
			mouseY > lastMenuBottom || 
			mouseX < lastMenuLeft || 
			mouseX > lastMenuRight)
		{
			hide(lastMenu);
			//window.status ='mousetracking on';
			//return true;
		}
	}
}


// Please do not alter this function

function init() 
{
	pageLoaded = true;
	setUpEvents();
	preLoad();
}
	
if (document.layers)
{
	document.captureEvents(Event.MOUSEMOVE);
	document.onmousemove = trackMouseNS;
}
	
//--------------------------------------------------------------------------------------
//-- Netscape requires that you pass in the menu ID for each menu as demonstrated below
//-- if removing a menu, be sure to remove both lines referencing it here
//---if adding a menu, be sure to add the following:
//-- document.layers["yourNewMenu'sID"].captureEvents(Event.MOUSEOVER | Event.MOUSEOUT);
//-- document.layers["yourNewMenu'sID"].onmouseout  = hideMenu;	
//--------------------------------------------------------------------------------------	
function setUpEvents()   // sets up events for NS4 & IE
{
	if (!is_ie4 && window.event)
	{
		document.onmousemove = trackMouseIE;
	}	
	

	if (document.layers)
	{ 
		document.layers["about"].captureEvents(Event.MOUSEOVER | Event.MOUSEOUT);
		document.layers["about"].onmouseout  = hideMenu;
		document.layers["weddings"].captureEvents(Event.MOUSEOVER | Event.MOUSEOUT);
		document.layers["weddings"].onmouseout  = hideMenu;
		document.layers["events"].captureEvents(Event.MOUSEOVER | Event.MOUSEOUT);
		document.layers["events"].onmouseout  = hideMenu;
		document.layers["cds"].captureEvents(Event.MOUSEOVER | Event.MOUSEOUT);
		document.layers["cds"].onmouseout  = hideMenu;
		document.layers["listen"].captureEvents(Event.MOUSEOVER | Event.MOUSEOUT);
		document.layers["listen"].onmouseout  = hideMenu;
		document.layers["contact"].captureEvents(Event.MOUSEOVER | Event.MOUSEOUT);
		document.layers["contact"].onmouseout  = hideMenu;
	}
}

function preLoad() {
	window.status = "Preloading images......"
	for (i = 0; i < imageName.length; i++) {
		imageOff[i] = new Image();
		imageOff[i].src = buttonPath + imageName[i] + imgType;
		window.status = "Loading off state for Image: " + imageName[i];
		
		imageOver[i] = new Image();
		imageOver[i].src = buttonPath + imageName[i] + "_over" + imgType;
		window.status = "Loading over state for Image: " + imageName[i];
		}
	window.status = "Loading Complete."
	preLoadDone = true;
	}

	

function imgOverFlat(imgID) 
{
	document.images[imageName[imgID]].src = imageOver[imgID].src;
}
	
function imgOffFlat(imgID) 
{
	document.images[imageName[imgID]].src = imageOff[imgID].src;
}

