﻿// Script that handles the main dropdown and rollover menu items
// File: mainmenu.js
// Author: Anthony Huscher
// Company: The Source for Youth Ministry
// Date: December 13, 2007

// Rollover image array
imageRollover = new Array();

// *** Main Button Bar ***
// Free Resources Image
imageRollover[0] = new Array();
imageRollover[0][0] = new Image();
imageRollover[0][0].src = "/images/NLFreeResources-On.gif";
imageRollover[0][1] = new Image();
imageRollover[0][1].src = "/images/NLFreeResources-Off.gif";
imageRollover[0][2] = "FREERESOURCES";

// Articles & Ideas Image
imageRollover[1] = new Array();
imageRollover[1][0] = new Image();
imageRollover[1][0].src = "/images/NLArticles-On.gif";
imageRollover[1][1] = new Image();
imageRollover[1][1].src = "/images/NLArticles-Off.gif";
imageRollover[1][2] = "ARTICLES";

// Recommended Image
imageRollover[2] = new Array();
imageRollover[2][0] = new Image();
imageRollover[2][0].src = "/images/NLRecommended-On.gif";
imageRollover[2][1] = new Image();
imageRollover[2][1].src = "/images/NLRecommended-Off.gif";
imageRollover[2][2] = "RECOMMENDED";

// Send This Page to a Friend Image
imageRollover[3] = new Array();
imageRollover[3][0] = new Image();
imageRollover[3][0].src = "/images/NLSendTo-On.gif";
imageRollover[3][1] = new Image();
imageRollover[3][1].src = "/images/NLSendTo-Off.gif";
imageRollover[3][2] = "SENDTO";

// *** Second Button Bar ***
// Home Image
imageRollover[4] = new Array();
imageRollover[4][0] = new Image();
imageRollover[4][0].src = "/images/NLHome-On.gif";
imageRollover[4][1] = new Image();
imageRollover[4][1].src = "/images/NLHome-Off.gif";
imageRollover[4][2] = "HOME";

// Home Image
imageRollover[4] = new Array();
imageRollover[4][0] = new Image();
imageRollover[4][0].src = "/images/NLHome-On.gif";
imageRollover[4][1] = new Image();
imageRollover[4][1].src = "/images/NLHome-Off.gif";
imageRollover[4][2] = "HOME";

// About Us Image
imageRollover[5] = new Array();
imageRollover[5][0] = new Image();
imageRollover[5][0].src = "/images/NLAboutUs-On.gif";
imageRollover[5][1] = new Image();
imageRollover[5][1].src = "/images/NLAboutUs-Off.gif";
imageRollover[5][2] = "ABOUTUS";

// Contact Us Image
imageRollover[6] = new Array();
imageRollover[6][0] = new Image();
imageRollover[6][0].src = "/images/NLContactUs-On.gif";
imageRollover[6][1] = new Image();
imageRollover[6][1].src = "/images/NLContactUs-Off.gif";
imageRollover[6][2] = "CONTACTUS";

// The Only Resources for Sale Image
imageRollover[7] = new Array();
imageRollover[7][0] = new Image();
imageRollover[7][0].src = "/images/NLOnlyResources-On.gif";
imageRollover[7][1] = new Image();
imageRollover[7][1].src = "/images/NLOnlyResources-Off.gif";
imageRollover[7][2] = "FORSALE";

// The Source For Parents
imageRollover[8] = new Array();
imageRollover[8][0] = new Image();
imageRollover[8][0].src = "/images/NLParentsOn.gif";
imageRollover[8][1] = new Image();
imageRollover[8][1].src = "/images/NLParentsOff.gif";
imageRollover[8][2] = "PARENTS";

// Help Image
imageRollover[9] = new Array();
imageRollover[9][0] = new Image();
imageRollover[9][0].src = "/images/NLHelp-On.gif";
imageRollover[9][1] = new Image();
imageRollover[9][1].src = "/images/NLHelp-Off.gif";
imageRollover[9][2] = "HELP";

// Administration Image
imageRollover[10] = new Array();
imageRollover[10][0] = new Image();
imageRollover[10][0].src = "/images/NLAdministration-On.gif";
imageRollover[10][1] = new Image();
imageRollover[10][1].src = "/images/NLAdministration-Off.gif";
imageRollover[10][2] = "ADMINISTRATION";

// RSS Image
imageRollover[11] = new Array();
imageRollover[11][0] = new Image();
imageRollover[11][0].src = "/images/NLRSS-On.gif";
imageRollover[11][1] = new Image();
imageRollover[11][1].src = "/images/NLRSS-Off.gif";
imageRollover[11][2] = "RSS";

// Printer Friendly Image
imageRollover[12] = new Array();
imageRollover[12][0] = new Image();
imageRollover[12][0].src = "/images/NLPrinter-On.gif";
imageRollover[12][1] = new Image();
imageRollover[12][1].src = "/images/NLPrinter-Off.gif";
imageRollover[12][2] = "PRINTERFRIENDLY";

// Search Image
imageRollover[13] = new Array();
imageRollover[13][0] = new Image();
imageRollover[13][0].src = "/images/button-search-on.gif";
imageRollover[13][1] = new Image();
imageRollover[13][1].src = "/images/button-search-off.gif";
imageRollover[13][2] = "SEARCH";


// Declare local variables
menuMouseOut = 0;
fadePercentage = 0;
fadeInInterval = 0;
fadeOutInterval = 0;
cancelMenuTimer = 0;
PAGEOUTHIDEMENUDURATION = 400;
MENUTIMEOUTDURATION = 400;
MENUFADESPEED = 20;
MENUFADESTEP = 20;

// Method that highlights the button
function onMainButton(ArrayPosition) {

	// Set the selected image
	document.getElementById(imageRollover[ArrayPosition][2]).src = imageRollover[ArrayPosition][0].src;
}

// Method that unhighlights the button
function offMainButton(ArrayPosition) {

	// Check to see if this button has a menu
	if (document.getElementById(imageRollover[ArrayPosition][2] + "MENU") == null) {

		// Reset the selected image
		document.getElementById(imageRollover[ArrayPosition][2]).src = imageRollover[ArrayPosition][1].src;
	}
	else { // This button has a menu

		// Check to see if the menu is hidden
		if (document.getElementById(imageRollover[ArrayPosition][2] + "MENU").style.display == "none") {

			// Reset the selected image
			document.getElementById(imageRollover[ArrayPosition][2]).src = imageRollover[ArrayPosition][1].src;
		}
	}
}

// Method that shows the drop down menu
function showMenuArea(ArrayPosition) {

	// Start the cancel menu timer (Needed for mouse out of page)
	cancelMenuTimer = setTimeout("hideMenuArea(-1)", PAGEOUTHIDEMENUDURATION);

	// Hide all other menu areas
	hideMenuArea(ArrayPosition);

	// Reset the fade counter
	fadePercentage = 0;

	// Start the fade in interval
	if (ArrayPosition == 0) fadeInInterval = setInterval("displayMenuArea(0)", MENUFADESPEED);
	if (ArrayPosition == 1) fadeInInterval = setInterval("displayMenuArea(1)", MENUFADESPEED);
	if (ArrayPosition == 2) fadeInInterval = setInterval("displayMenuArea(2)", MENUFADESPEED);
}

// Method that shows the drop down menu
function displayMenuArea(ArrayPosition) {

	// Increment the fade percent counter
	fadePercentage = fadePercentage + MENUFADESTEP;

	// Fade in the menu to show
	document.getElementById(imageRollover[ArrayPosition][2] + "MENU").style.filter = "Alpha(Opacity=" + fadePercentage + ")"; // IE
	document.getElementById(imageRollover[ArrayPosition][2] + "MENU").style.opacity = (fadePercentage / 100); // FireFox

	// Check to see if the transition is complete and stop the fade
	if (fadePercentage >= 100) clearInterval(fadeInInterval);

	// Show the drop down menu and reselect the button
	document.getElementById(imageRollover[ArrayPosition][2]).src = imageRollover[ArrayPosition][0].src;
	document.getElementById(imageRollover[ArrayPosition][2] + "MENU").style.display = "block";
}

// Method that hides the drop down menu
function hideMenuArea(ArrayPositionToNotHide) {

	// Stop any fade in activites
	clearInterval(fadeInInterval);

	// Reset the selected button images
	if (ArrayPositionToNotHide != 0) document.getElementById(imageRollover[0][2]).src = imageRollover[0][1].src;
	if (ArrayPositionToNotHide != 1) document.getElementById(imageRollover[1][2]).src = imageRollover[1][1].src;
	if (ArrayPositionToNotHide != 2) document.getElementById(imageRollover[2][2]).src = imageRollover[2][1].src;

	// Hide the drop down menus
	if (ArrayPositionToNotHide != 0) document.getElementById(imageRollover[0][2] + "MENU").style.display = "none";
	if (ArrayPositionToNotHide != 1) document.getElementById(imageRollover[1][2] + "MENU").style.display = "none";
	if (ArrayPositionToNotHide != 2) document.getElementById(imageRollover[2][2] + "MENU").style.display = "none";
}

// Method starts the hide menu countdown
function startHideMenu(ArrayPosition) {

	// Cancel the hide menu
	clearTimeout(menuMouseOut);

	// Start the countdown to hide the menus
	menuMouseOut = setTimeout("hideMenuArea(-1)", MENUTIMEOUTDURATION);
}

// Method that navigates to the URL passed
function navigate(URL) {

	// Set the window location
	window.location = URL;
}

// Method sets the over class
function menuItemMouseOver(menuItem) {

	// Cancel the hide menu
	clearTimeout(menuMouseOut);

	// Set the item to be selected
	menuItem.className = "MAINDROPDOWNON";
}

// Method sets the off class
function menuItemMouseOut(menuItem) {

	// Set the item to not be selected
	menuItem.className = "MAINDROPDOWNOFF";
}

function mouseoverStars(resourceID, star)
{
    // Loop through the number of stars to change to yellow
    for (i=1; i<=star; i++) { document.getElementById("star" + i + "-" + resourceID).src = "/images/star-yellow.gif"; }
    
    // Loop through the number of stars to change to white
    for (i=(star+1); i<=5; i++) { document.getElementById("star" + i + "-" + resourceID).src = "/images/star-white.gif"; }
}