// ??Globals??

var intTitleTop = 10;
var intTitleHeight = 80;
var intTitleLeft = 200;

var intMainTop = intTitleTop + intTitleHeight;
var intMainLeft = intTitleLeft;

var intMenuTop = 20;
var intMenuLeft = 10;

var intArrowWidth = 40;
var intArrowTop = 20;

// constants for menu images
var strCellTop = strRelFolder + "cellTop.gif";
var strCellBackground = strRelFolder + "cellBackground.gif";
var strCellBottom = strRelFolder + "cellBottom.gif";

// constants for button images and title
var strButtonOff = strRelFolder + "buttonOff.gif";
var strButtonOver = strRelFolder + "buttonOver.gif";
var strButtonDown = strRelFolder + "buttonDown.gif";
var strTitle = strRelFolder + strTitle;
	
var isDHTML = (document.getElementById || document.all || document.layers);

function getObjectByID(id)
{
	if(document.getElementById)	
	{    	
		// DOM level 1 browsers: IE 5+, NN 6+
	  this.obj = document.getElementById(id);
		this.style = document.getElementById(id).style;
	}
	else if(document.all)	
	{  			
		// IE 4
		this.obj = document.all[id];
		this.style = document.all[id].style;
	}
	else if(document.layers)  
	{ 			
		// NN 4
	  this.obj = document.layers[id];
	  this.style = document.layers[id];
	}
}

// this function makes the object visible
function showObject(id)
{
	var obj = new getObjectByID(id);
	obj.style.visibility = 'visible';
}
	
// this function makes the object invisible	
function hideObject(id)
{
	var obj = new getObjectByID(id);
	obj.style.visibility = 'hidden';
}

function onerror()
{
    document.location.href = "javascript:";
}

// DOCUMENT OBJECT SWITCH (Used for building cross_browser functions)


/////////////////////////////////////////////////////
//                                                 //
//  SECTION 6: PRELOADING                          //
//  ---------------------------------------------  //
//  Preload images memory for realtime animation.  //
//                                                 //
/////////////////////////////////////////////////////

var count = 0;
var noImages = 4;

function preLoad() {
    button_off = new Image();
    button_off.onload = loadCheck;
    button_off.src = strButtonOff;

    button_dn = new Image();
    button_dn.onload = loadCheck;
    button_dn.src = strButtonDown;

    button_over = new Image();
    button_over.onload = loadCheck;
    button_over.src = strButtonOver;

    imgTitle = new Image();
    imgTitle.onload = loadCheck;
    imgTitle.src = strTitle;
}

function loadCheck() 
{
    count++;
    if(count == noImages) 
    {
        hideObject("msgLyr");
        positionAllLayers();
    } 
    else 
    {
        var msg = '<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=5 WIDTH=300><TR><TD WIDTH=' 
                  + Math.round((count/noImages)*100) 
                  + '% BGCOLOR=#FF0000 ALIGN=RIGHT>' 
                  + '<FONT class="status">' 
                  + Math.round((count/noImages)*100) 
                  + '%</FONT>' 
                  +'</TD><TD BGCOLOR=#800000 VALIGN=MIDDLE>&nbsp;</TD></TR><TR><TD COLSPAN=2 ALIGN=CENTER><FONT class="main">Percent Images Loaded</FONT></TD></TR></TABLE>';
 
        var status = new getObjectByID("msgLyr");
  
				if (typeof(status.value) != 'undefined')
				{
					status.value = msg;
				}
				else if (typeof(status.innerHTML) != 'undefined') 
				{
					status.innerHTML = msg;
				}
    }
}

/////////////////////////////////////////////////////
//                                                 //
//  SECTION 7: POSITIONING                         //
//  ---------------------------------------------  //
//  Build layer objects then position using        //
//  screen width and height dimensions, then       //
//  turn on layer visibility.                      //
//                                                 //
/////////////////////////////////////////////////////
var imgButton;
var objMenu;
var objArrow;
var objTitle;

function positionAllLayers()
{
	
//  setup menu layer
  imgButton = new getObjectByID("lyrMenu");
  objMenu = new getObjectByID("lyrMenu");
  objMenu.left = intMenuLeft;
  objMenu.top = intMenuTop;
    
//	setup title layer
	objTitle = new getObjectByID("lyrTitle");
  objTitle.left = intTitleLeft;
  objTitle.top = intTitleTop;
  showObject("lyrTitle");
	
//  call function to position unique layers
	positionLayers();

//	setup menu layer
	setupMenu("lyrMenu");
	
	var objMenuTop = new getObjectByID("menuTop");
	objMenuTop.obj.focus();

}

/////////////////////////////////////////////////////
//                                                 //
//  SECTION 7: Positioning                         //
//  ---------------------------------------------  //
//  Functions to build the menu                    //
//                                                 //
/////////////////////////////////////////////////////

function setupMenu(layerName)
{
	buildMenu(layerName);

  showObject(layerName);

  menuToggle(strTopLayer);
  //buttonOver(strTopLayer);
}	
function buildTop()
{
	var strMenu = '<table border=0 cellspacing =0 cellpadding=0><tr><td>'
	              + '<img id="menuTop" src="'
	              + strCellTop
	              + '" align="top" BORDER="0" height="2"></td></tr>';
	
	return strMenu;
}
  
function buildOnPage(strLink, strInfo)
// Builds html to display correct layer
//  strLink: Layer Name
//  strInfo: Cell contents
{
	var strMenu;
	
	strMenu = '<tr><td background="'
	          + strCellBackground
	          + '" width="160" height="22">'
	          + '<a style="cursor:nw-resize" href="JavaScript://" onclick="menuToggle(\''
			      + strLink
    			  + '\'); return false" onmouseout="buttonOut(\''
    			  + strLink
			      + '\')" onmouseover="buttonOver(\''
			      + strLink
			      + '\'); menuToggle(\''
			      + strLink
			      + '\')" ;><img align="top" border="0" height="18" hspace="2" name="'
			      + strLink
			      + '" src="'
			      + strButtonOff
			      + '" width="18"><font CLASS="MENU">'
			      + strInfo
			      + '</font></a></td></tr>';
	
	return strMenu;
}


function buildOffPage(strOffPage, strLink, strInfo)
// Builds html to create an link to another page
//  strOffPage: Name of page (without folder)
//  strLink: Layer Name
//  strInfo: Cell contents
{
	
	strMenu = '<tr><td background="'
	          + strCellBackground
	          + '" width="160" height="22">'
	          + '<a href="'
	          + strOffPage
	          + '" onmouseout="buttonOut(\''
			      + strLink
			      + '\'); linkOut(\''
			      + strLink
			      + '\')" onmouseover="buttonOver(\''
			      + strLink
			      + '\'); linkOver(\''
			      + strLink
			      + '\'); menuToggle(\''
			      + strLink
			      + '\')" ;><img align="top" border="0" height="18" hspace="2" name="'
			      + strLink
			      + '" src="'
			      + strButtonOff
			      + '" width="18"><span '
			      + 'id="mnu'
			      + strLink 
			      + '" CLASS="MENU">'
			      + strInfo
			      + '</span></a></td></tr>';
	
	return strMenu;
}


function buildCategory(strInfo)
{
	var strMenu;
	
	strMenu = '<tr><td class="categoryCell"'
	          + 'background="images/cellBackground.gif" '
	          + 'width="160" height="22">'
	          + '<font CLASS="menuCategory">'
			      + strInfo
			      + '</font></a></td></tr>';

	return strMenu;
}

function buildBottom()
{
	var strMenu = '</table><table BORDER="0" CELLSPACING="0" CELLPADDING="0" WIDTH="160"><TR><TD>'
	              + '<IMG SRC="'
	              + strCellBottom
	              + '" align="top" BORDER="0" height="2" WIDTH="160"></TD></TR></table>';
	
	return strMenu;
}


function setupLayer(strLayer)
{

    var objImageTemp = new getObjectByID("lyr" + strLayer);
    objImageTemp.left = intMainLeft;
    objImageTemp.top = intMainTop;

}

/////////////////////////////////////////////////////
//                                                 //
//  SECTION 9: INTERACTIVITY (Menu Selector)       //
//  ---------------------------------------------  //
//  Techniques for toggling and selecting buttons  //
//  then displaying the selected page while hiding //
//  previous page.                                 //
//                                                 //
/////////////////////////////////////////////////////

function linkOver(selection) 
{
	var objLink = new getObjectByID('mnu' + selection)

	objLink.style.color = icDHTMLStyles.menulinkColorOver;
	objLink.style.fontStyle = icDHTMLStyles.menulinkFontStyleOver;
}

function linkOut(selection)
{
	var objLink = new getObjectByID('mnu' + selection)

	objLink.style.color = icDHTMLStyles.menulinkColorOff;
	objLink.style.fontStyle = icDHTMLStyles.menulinkFontStyleOff;
}

function buttonDown(selection)
{
    if(menu_selection != selection)
    {
        // TODO imgButton[selection].src = button_dn.src;
    }
}

function buttonOver(selection)
{
	if(menu_selection != selection)
	{
	    // TODO imgButton[selection].src = button_over.src;
	}
}

function buttonOut(selection)
{
    if(menu_selection != selection)
    {
        // TODO imgButton[selection].src = button_off.src;
    }
}

function menuToggle(selection)
{
  // TODO imgButton[menu_selection].src = button_off.src;
  // TODO imgButton[selection].src = button_dn.src;
  
  hideObject("lyr" + menu_selection);

  showObject("lyr" + selection);

  menu_selection = selection;
}

function toggleLayer(selection)
{
	var objLayer = eval(doc + '["' + selection +'"]' + sty);

	if(objLayer.visibility == "visible")
	{
		objLayer.visibility = "hidden";
	}
	else
	{
		objLayer.visibility = "visible";
	}
}

function setFocus(selection)
{
	var objFocus = new getObjectByID(selection);
	objFocus.obj.focus();
}
//
