// MenuFunctions.js: JScript source code
var ns = (navigator.appName.indexOf('Netscape')>-1);
var ie = (navigator.appName.indexOf('Microsoft Internet Explorer')>-1);
//alert('browser is: ' + navigator.appName + navigator.appVersion);
var Mac = (navigator.appVersion.indexOf('Macintosh')>-1);
// define the menu items for each menu here
// elements are 0 - the name of the item, 1 - destination, 2- text displayed in menu.

/* createMenu function makes the <DIV tag and uses the DivMenu style attributes.
	then there is a table created.  Each row has a menu item.
*/
function createMenu(menuName, menuItems)
{
   var divHTML = '<DIV ID="' + menuName + 'MenuDiv" CLASS="DivMenu"';
   divHTML = divHTML + ' onmouseout="hideMenu(this, ' + menuName.length + ', event)">';

   var tableHTML = '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=1 ID="' + 
      menuName + 'Table"><TBODY ID="' + menuName + 'TableBody">';
   var tableRowHTML = "";
   var rowCount;
   var totalNoRows = menuItems.length;
   var menuItemName = "";
   var coursePageName = "";
   var strMouseOver = ' onmouseover="document_onmouseover(event);"';
   var strMouseOut = ' onmouseout="document_onmouseout(event);"';
   
//   debugger
   for (rowCount = 0; rowCount < totalNoRows; rowCount++)
   {
		menuItemName= menuItems[rowCount][0];
		tableRowHTML = tableRowHTML + '<TR ID="' + menuName + 
         menuItems[rowCount][0] +  'TR"><TD ID="' + menuName + 
         menuItemName;

// Courses get special treatment requiring a cookie to be written.    
    if (menuItemName.substr(0, 3) == "Mod")
		{
		if ((menuName.indexOf("Courses") == 0) || (menuName.indexOf("SubCourses") == 0) || menuItemName.substr(3, 3) == "124")
			{
			coursePageName = "modules/course.asp";
			tableRowHTML = tableRowHTML + '" ' + strMouseOver + strMouseOut + ' onclick="WriteModCookie(\'' + menuItems[rowCount][1] + '\'); goPage(\'../modules/course.asp\')"';
			}
		else
			{
		// descriptions for Wish list courses (courses I need or want) have the cckey cookie written and are shown in a new window.
			coursePageName = "course_desc.asp";
			tableRowHTML = tableRowHTML + '"  ' + strMouseOver + strMouseOut + ' onclick="WriteCCCookie(\'' + menuItems[rowCount][1] + '\'); MM_openBrWindow(\'../course_desc.asp\',\'\',\'scrollbars=1,width=500,height=400,top=150,left=100\' )"';
			}
		tableRowHTML = tableRowHTML + ' CLASS="TDLink">' + menuItems[rowCount][2] + '</TD></TR>';
		}
	else
		if (menuItemName.substr(0, 3) == "Off")
		{
		// descriptions for workbook or CDROM courses have the cckey cookie written and are shown in a new window.
			coursePageName = "course_desc.asp";
			tableRowHTML = tableRowHTML + '"  ' + strMouseOver + strMouseOut + ' onclick="WriteCCCookie(\'' + menuItems[rowCount][1] + '\'); MM_openBrWindow(\'../course_desc.asp\',\'\',\'scrollbars=1,width=500,height=400,top=150,left=100\' )"';
			tableRowHTML = tableRowHTML + ' CLASS="TDMenu">' + menuItems[rowCount][2] + '</TD></TR>';
		} 
		else if (menuItemName.substr(0, 3) == "Pop") 
		{ 
		// Uses Popup window
		//window.open(theURL,winName,features);
		tableRowHTML = tableRowHTML + '"  ' + strMouseOver + strMouseOut + ' onclick="MM_openBrWindow(\'' + menuItems[rowCount][1] + '\', \'' + menuItems[rowCount][0] + '\', \'scrollbars=yes,width=525,height=425,top=100,left=100\')"';
		tableRowHTML = tableRowHTML + ' CLASS="TDMenu">' + menuItems[rowCount][2] + '</TD></TR>';
        }   		
        else
		{ 
		tableRowHTML = tableRowHTML + '"  ' + strMouseOver + strMouseOut + ' onclick="goPage(\'' + menuItems[rowCount][1] + '\')"';
		tableRowHTML = tableRowHTML + ' CLASS="TDMenu">' + menuItems[rowCount][2] + '</TD></TR>';
        }   
   }
  //alert(divHTML + tableHTML + tableRowHTML);

   return divHTML + tableHTML + tableRowHTML + '</TBODY></TABLE></DIV>';
}

//******************************************************************************
function showMenu(menuToShow, event)
{
//debugger
  var srcElement = getTargetElement(event); 
   var xPos = srcElement.offsetLeft + srcElement.offsetWidth;
   var yPos = srcElement.offsetTop; 

// internet explorer on ie puts a gap between the buttons and the menus.
if (Mac && ie)
	xPos = xPos - 4;
  //alert(srcElement.id + ' top:' + yPos);
   menuToShow.style.left = xPos;
   menuToShow.style.top = yPos;
   menuToShow.style.visibility = 'visible';
}

//******************************************************************************
function getTargetElement(evt) {
    var elem
    if (evt.target) {
        elem = (evt.target.nodeType == 3) ? evt.target.parentNode : evt.target
    } else {
        elem = evt.srcElement
    }
    return elem

}

//******************************************************************************
function hideMenu(menuToHide, menuIDLength, e)
{   
   var toElementID;
//	***	uncomment the line below to start the debugger at this point.
//   debugger
// how about we just do a time waster here?

   if (ns)
   {
      var mouseLastIn = e.relatedTarget;       
   }
   else
   {
	  var mouseLastIn =  event.toElement; 
   }
   if (mouseLastIn != null)
   {
      if (mouseLastIn.nodeType == 3)
      {
         mouseLastIn = mouseLastIn.parentNode; 
      }
      toElementID = mouseLastIn.id;
   }
   else 
   {  
       return false;
   }

   if (typeof(toElementID) == "undefined")
   {
      toElementID = "UNDEF";
   }
   toElementID = toElementID.substr(0,menuIDLength);
   var divMenuID = menuToHide.id;
   divMenuID = divMenuID.substr(0,menuIDLength);
   //alert(toElementID + ' and ' + divMenuID);
   
   
   if (toElementID != divMenuID)
   {	
//		pausecomp(600);
		menuToHide.style.visibility = 'hidden';
   }
}

function pausecomp(Amount)
{
	d = new Date() //today's date
	while (1)
	{
	mill=new Date() // Date Now
	diff = mill-d //difference in milliseconds
	if( diff > Amount ) {break;}
	}
}
	
	
function document_onmouseover(e) 
{
   if (ns)
   {
      var srcElement = e.target;
   } 
   else
   {
      var srcElement = event.srcElement;
   }

   if (srcElement.nodeType == 3)
   {
       srcElement = srcElement.parentNode; 
   }

   if (srcElement.tagName=="TD")
   {
      srcElement.style.color = "white";
      srcElement.style.backgroundColor = "darkblue"
   }
}

function document_onmouseout(e) 
{
    if (ns)
   {
      var srcElement = e.target;
   } 
   else
   {
      var srcElement = event.srcElement;
   }

   if (srcElement.nodeType == 3)
   {
      srcElement = srcElement.parentNode; 
   }

   if (srcElement.className == "TDLink")
   {
      srcElement.style.color ="blue";
      srcElement.style.backgroundColor = "#C9CED3";
      srcElement.style.borderColor = "#bfbfbf";
   }

   if (srcElement.className == "TDMenu")
   {
      srcElement.style.color ="black";
      srcElement.style.backgroundColor = "#C9CED3";
      srcElement.style.borderColor = "#bfbfbf";
   }

}

function goPage(src)
{
   window.location.href = src;
}


