//	high_default.js
//	Portions (C) PyrusMalus, 2008.
//	www.pyrusmalus.com


var globalMenuIndex = 0;
var globalSequenceIndex = 0;



//	Class from URL
	

	
function pm_setBodyClassFromUrl()
{
	var pageName = (new String(location.pathname.match( /[^\/]+\/*$/ )));
	if (pageName.charAt(pageName.length - 1) == "/") 
	{
	  pageName = pageName.substring(0, pageName.length - 1);
	}
	pm_changeSubmenuStyle("submenu_" + pageName, "selected");
}




//	Fading

function pm_setOpacity(object, opacity)
{
	if ((opacity >= 0) && (opacity <=100) && (object != null))
	{
		opacity = (opacity == 100 ? 99.999 : opacity);

		//	Safari 1.2, Firefox, Mozilla, CSS3...
		object.style.opacity = opacity / 100;

		//	Old Mozilla, Firefox...
		object.style.MozOpacity = opacity / 100;

		//	Old Safari, Konqueror...
		object.style.KHTMLOpacity = opacity / 100;

		//	IE/Win...
		object.style.filter = "alpha(opacity:"+opacity+")";
	}
}


function pm_setOpacityForId(objectId, opacity)
{
	if (document.getElementById)
	{
		object = document.getElementById(objectId);
		pm_setOpacity(object, opacity);
	}
}


function pm_showHideDivWithName(inDivName, inShow)
{
	object = document.getElementById(inDivName);
	if (object)
	{
		object.style.display = (inShow) ? "block" : "none";
	}
}

function pm_changeInnerText(inObjectName, inText)
{
	object = document.getElementById(inObjectName);
	if (object && inText)
	{
		object.innerHTML = inText;
	}
}

function pm_changeLinkSource(inLinkName, inLinkUrl)
{
	object = document.getElementById(inLinkName);
	if (object && inLinkUrl)
	{
		object.href = inLinkUrl;
	}
}

function pm_changeImageSource(inImgName, inSource)
{
	object = document.getElementById(inImgName);
	object.src = inSource;
}






// ------------------------------------------

function pm_remoteRollover(inPrefix, inProjectUri, inRolloverClass, inNormalClass, inHighlight)
{
	object = document.getElementById(inPrefix + inProjectUri);
	if (object)
	{
		object.className = inHighlight ? inRolloverClass : inNormalClass;
	}
}


function pm_changeSubmenuStyle(inDivName, inStyleName)
{
	object = document.getElementById(inDivName);
	if (object)
	{
		object.className = inStyleName;
		
		//	This is a horrible hack because IE won't dynamically show changes to className,
		//	so we're forcing the change of text decoration instead. Aaargh.
		if (inStyleName == "selected")
		{
			link = object.childNodes[0];
			link.style.textDecoration = 'underline';
		}
	}
}


function pm_changeStyleDivWithName(inDivName, inStyleName)
{
	object = document.getElementById(inDivName);
	if (object)
	{
		object.className = inStyleName;
	}
}


function pm_rollover(inRolloverName)
{
	divName = 'pm_home_' + inRolloverName;
	
	pm_showHideDivWithName('pm_home_welcome', false);
	
	pm_showHideDivWithName('pm_home_the_chocolatier', false);
	pm_showHideDivWithName('pm_home_the_chocolate_shop', false);
	pm_showHideDivWithName('pm_home_chefs_and_corporate', false);
	
	pm_showHideDivWithName(divName, true);
}

function pm_unrollover(inRolloverName)
{
	divName = 'pm_home_' + inRolloverName;
	
	pm_showHideDivWithName('pm_home_welcome', true);
	
	pm_showHideDivWithName('pm_home_the_chocolatier', false);
	pm_showHideDivWithName('pm_home_the_chocolate_shop', false);
	pm_showHideDivWithName('pm_home_chefs_and_corporate', false);	
}

	

function x_pm_showMenus()
{
	if (gMenuCycle <= (180 + 40 * 2))
	{
		gMenuCycle = gMenuCycle + 1;
		for (menuLoop = 0; menuLoop < [menus.length]; menuLoop++)
		{
			newY = (-140 + gMenuCycle - menuLoop * 40);
			newOpacity = ((gMenuCycle - menuLoop * 40) / 2 + 20);
			if (newY <= 40)
			{
				menus[menuLoop].style.backgroundPosition = '0px ' + newY + 'px';
				if (newOpacity > 0)
				{
					pm_setOpacity(menus[menuLoop], newOpacity);
				}
			}
		}
		window.setTimeout("pm_showMenus()", 2);
	}
}


function x_pm_initializeMenu()
{
	//	Initialize the three menu images: slide down.
	
	menus[menus.length] = document.getElementById("menu_the_chocolatier");
	menus[menus.length] = document.getElementById("menu_the_chocolate_shop");
	menus[menus.length] = document.getElementById("menu_chefs_and_corporate");
	
	gMenuCycle = 0; 
	
	for (menuLoop = 0; menuLoop < [menus.length]; menuLoop++)
	{
		initialY = (-140 + gMenuCycle - menuLoop * 40);
		menus[menuLoop].style.backgroundPosition = '0px ' + initialY + 'px';
		pm_setOpacity(menus[menuLoop], 50);
	}
	
	window.setTimeout("pm_showMenus()", 1000);
		
}


function pm_initializeMenu()
{
	globalMenuIndex = 1;
	globalSequenceIndex = 2;
	
	window.setTimeout("pm_changeMenu(" + globalMenuIndex + ", " + globalSequenceIndex +")", 1000);
}

function pm_changeMenu(inMenuIndex, inImageIndex)
{
	frontObjectName = "home_menu_" + inMenuIndex + "_front";
	backObjectName = "home_menu_" + inMenuIndex + "_back";
	imageName = "home_menu_" + inMenuIndex + "_" + inImageIndex + ".jpg";
	imagePath = "/_resources/interface/" + imageName;
	
	frontObject = document.getElementById(frontObjectName);
	backObject = document.getElementById(backObjectName);
	
	//	Set the front object to be invisible...
	pm_setOpacity(frontObject, 0);
	
	//	When it is loaded in want to start fading it up...
	frontObject.onload = function()
	{
		pm_fadeInMenuImage(frontObjectName, backObjectName, 0, 1, 5);
	}
	
	//	Set the source...
	frontObject.src = imagePath;
}


function pm_fadeInMenuImage(inFrontObjectName, inBackObjectName, inOpacity, inFadeIncrement, inFadeDelay)
{
	frontObject = document.getElementById(inFrontObjectName);
	backObject = document.getElementById(inBackObjectName);
	if (inOpacity <= 100)
	{
		pm_setOpacity(backObject, 100-inOpacity);
		pm_setOpacity(frontObject, inOpacity);
		
		inOpacity += inFadeIncrement;
		
		timeoutCommand = "pm_fadeInMenuImage('" + inFrontObjectName + "', '" + inBackObjectName + "', " + inOpacity + ", " + inFadeIncrement + ", " + inFadeDelay + ")";
		window.setTimeout(timeoutCommand, inFadeDelay);
	}
	else
	{
		//	Swap into back...
		backObject.src = frontObject.src;
		pm_setOpacity(frontObject, 0);
		pm_setOpacity(backObject, 100);
		
		//	Go around again...
		pm_changeNextMenu();
	}
}

function pm_changeNextMenu()
{
	globalMenuIndex++;
	if (globalMenuIndex > 3)
	{
		globalMenuIndex = 1;
		globalSequenceIndex++;
		if (globalSequenceIndex > 3)
		{
			globalSequenceIndex = 1;
		}
	}
	window.setTimeout("pm_changeMenu(" + globalMenuIndex + ", " + globalSequenceIndex + ")", 1000);
}









