








// *** CROSS-BROWSER COMPATIBILITY ***

var isDOM = (document.getElementById ? true : false); 
var isIE4 = ((document.all && !isDOM) ? true : false);
var isNS4 = (document.layers ? true : false);
var isDyn = (isDOM || isIE4 || isNS4);


function getRef(id)
{
 if (isDOM) return document.getElementById(id);
 if (isIE4) return document.all[id];
 if (isNS4) return document.layers[id];
}

function getSty(id)
{
 return (isNS4 ? getRef(id) : getRef(id).style);
} 





var popTimer = 0; 


var litNow = new Array();

function popOver(menuNum, itemNum)
{
 clearTimeout(popTimer);

 
 hideAllBut(menuNum);

 
 litNow = getTree(menuNum, itemNum);
 changeCol(true);

 
 targetNum = menu[menuNum][itemNum].target;
 if (targetNum > 0)
 {
  
  thisX = parseInt(menu[menuNum][0].ref.left) + parseInt(menu[menuNum][itemNum].ref.left);
  thisY = parseInt(menu[menuNum][0].ref.top) + parseInt(menu[menuNum][itemNum].ref.top);

  
  with (menu[targetNum][0].ref)
  {
   left = thisX + menu[targetNum][0].x;
   top = thisY + menu[targetNum][0].y;
   visibility = 'visible';
  }
 }
}

function popOut(menuNum, itemNum)
{
 
 if ((menuNum == 0) && !menu[menuNum][itemNum].target) hideAllBut(0);
 else popTimer = setTimeout('hideAllBut(0)', 500);
}

function popClick(menuNum, itemNum)
{
 with (menu[menuNum][itemNum])
 {
  switch (type)
  {
   
   case 'js:': { eval(href); break }
   
   case '': type = 'window';
   default: if (href) eval(type + '.location.href = "' + href + '"');
  }
 }

 
 hideAllBut(0);
}


function getTree(menuNum, itemNum)
{


 itemArray = new Array(menu.length);

 while(1)
 {
  itemArray[menuNum] = itemNum;
  
  if (menuNum == 0) return itemArray;
  itemNum = menu[menuNum][0].parentItem;
  menuNum = menu[menuNum][0].parentMenu;
 }
}


function changeCol(isOver)
{
 
 for (count = 0; count < litNow.length; count++)
 {
  // If item number is present, change its colour.
  if (litNow[count])
  {
   
   with (menu[count][0]) with (menu[count][litNow[count]])
   {
    newCol = isOver ? overCol : backCol;

    
    if (isNS4) ref.bgColor = newCol;
    else ref.backgroundColor = newCol;
   }
  }
 }
}

function hideAllBut(menuNum)
{
 
 var keepMenus = getTree(menuNum, 1);

 
 for (count = 0; count < menu.length; count++)
  if (!keepMenus[count] && menu[count]) menu[count][0].ref.visibility = 'hidden';

 
 changeCol(false);
}





function Menu(isVert, popInd, x, y, width, pad, overCol, backCol, borderClass, textClass)
{
 
 this.isVert = isVert;
 // The popout indicator used (if any) for this menu.
 this.popInd = popInd
 
 this.x = x;
 this.y = y;
 this.width = width;
 this.pad = pad;
 
 this.overCol = overCol;
 this.backCol = backCol;
 
 this.borderClass = borderClass;
 this.textClass = textClass;
 
 this.parentMenu = null;
 this.parentItem = null;
 
 this.ref = null;
}

function Item(text, href, type, length, spacing, target)
{

//Make sure it's not possible to return a null value for a length

 this.text = text;
 this.href = href;
 this.type = type;
 this.length = length;
 this.spacing = spacing;
 this.target = target;
 
 this.ref = null;
}

function createMenus()
{
 if (!isDyn) return;

 
 for (currMenu = 0; currMenu < menu.length; currMenu++)
 if (menu[currMenu]) with (menu[currMenu][0])
 {
  
  var str = '', itemX = 0, itemY = 0; topPad = 2;

  
  if (isNS4) pad++;

  
  for (currItem = 1; currItem < menu[currMenu].length; currItem++) with (menu[currMenu][currItem])
  {
   var itemID = 'menu' + currMenu + 'item' + currItem;

   
   var shrink = (borderClass && isDOM && !document.all ? 2 : 0)
   var w = (isVert ? width : length) - shrink;
   var h = (isVert ? length : width) - shrink;


   
   if (isDOM || isIE4)
   {
    str += '<div id="' + itemID + '" style="position: absolute; left: ' + itemX  +
     '; top: ' + itemY + '; width: ' + w + '; height: ' + h + '; visibility: inherit; ';
    if (backCol) str += 'background: ' + backCol;
    str += '" ';
   }
   if (isNS4)
   {
    str += '<layer id="' + itemID + '" left="' + itemX + '" top="' + itemY + '" width="' + 
     w + '" height="' + h + '" visibility="inherit" ';
    if (backCol) str += 'bgcolor="' + backCol + '" ';
   }
   if (borderClass) str += 'class="' + borderClass + '" ';
   
   
   str += 'onMouseOver="popOver(' + currMenu + ',' + currItem + ')" onMouseOut="popOut(' +
     currMenu + ',' + currItem + ')" onClick="popClick(' + currMenu + ',' + currItem + ')">';


   

   if (target > 0)
   {
    
    menu[target][0].parentMenu = currMenu;
    menu[target][0].parentItem = currItem;
    
	   
	
    
    if (popInd)
    {
     if (isNS4) str += '<layer class="' + textClass + '" left="'+ (w - 15) + '" top="' +
      topPad + '">' + popInd + '</layer>';
     else str += '<div class="' + textClass + '" style="position: absolute; left: ' + (w - 15) +
      '; top: ' + topPad + '">' + popInd + '</div>';
    }
   }

   

   if (isNS4) str += (borderClass ? '<spacer type="block" width="' + (w - 8) + '" height="' +
    (h - 8) + '">' : '') +
    '<layer left="' + pad + '" top="' + topPad + '" width="' + (w - (2 * pad)) + '" height="' +
    (h - (2 * pad)) + '"><a class="' + textClass + '" href="#" ' +
    'onClick="popClick(' + currMenu + ',' + currItem + '); return false" ' +
    'onMouseOver="status=\'\'; return true;">' + text  + '</a></layer>';

   

   else str += '<div class="' + textClass + '" style="position: absolute; padding-left: 5; padding-bottom: 22; left: ' + pad + '; top: ' + topPad  + '; width: ' + (w - (2 * pad)) + '; height: ' + (h - (2 * (pad + 8))) + '">' +  text + '</div>';



   
   str += (isNS4 ? '</layer>' : '</div>');

   
   if (isVert) itemY += length + spacing - 1;
   else itemX += length + spacing - 1;

  
  }



 
   
  
  if (document.all)
  {
   

   document.body.insertAdjacentHTML('beforeEnd', '<div id="menu' + currMenu + 'div" ' +
    'style="position: absolute; width: 3; height: 3; visibility: hidden; z-index: 1000">' +
     str + '</div>');
   ref = getSty('menu' + currMenu + 'div');
  }
  
  else if (isDOM)
  {
   var newDiv = document.createElement('div');
   document.body.appendChild(newDiv);
   newDiv.innerHTML = str;
   ref = newDiv.style;
    
   ref.position = 'absolute';
   ref.visibility = 'hidden';
  }
  
  else if (isNS4)
  {
   ref = new Layer(0);
   ref.document.write(str);
   ref.document.close();
  }

  
  ref.left = x;
  ref.top = y;
  
  if (!isNS4) ref.cursor = (document.all ? 'hand' : 'pointer');
  
  if (!document.all) ref.zIndex = 1000;

  
  for (currItem = 1; currItem < menu[currMenu].length; currItem++)
  {
   itemName = 'menu' + currMenu + 'item' + currItem;
   if (isDOM || isIE4) menu[currMenu][currItem].ref = getSty(itemName);
   if (isNS4)
   {
    menu[currMenu][currItem].ref = ref.document[itemName];
    
    with (ref.document[itemName])
    {
     document.captureEvents(Event.CLICK);
     document.onclick = new Function('popClick(' + currMenu + ', ' + currItem + ')');
    }
   }
  }

 
 }

 
resizeHandler();

 
 menu[0][0].ref.visibility = 'visible';
}




var menu = new Array();



var defOver = '#336699';
var defBack = '#003366';


var defLen = 200;


	
menu[0] = new Array();


menu[0][0] = new 
Menu(false, '', 181, 49, 24, 4, '#999999', '', '', 'itemText2'); //#006666 
		menu[0][1] = new Item('Home' , 'http://www.kstc.com', '', 100, 0, 0); //Deflen
	
	menu[0][2] = new Item('About KSTC' , '', '', 110, 0, 183);
		
	menu[0][3] = new Item('Library' , '', '', 100, 0, 187);
		
	menu[0][4] = new Item('Projects & Investments' , '', '', 150, 0, 371);
		
	
menu[174] = new Array();

	menu[174][0] = new Menu(true, '<img src=../../../../../arrow3.gif hspace=4 vspace=4 width=5  Height=9>', 200, 0, 200, 0, defOver, defBack, 'itemBorder', 'itemText');
	
		
menu[174][1] = new Item('Board of Directors', ' http://www.kstc.com/Dynamic/Board/Index.cfm', '', 20, 0, 0);
	
		
menu[174][2] = new Item('KSTC Staff', 'http://www.kstc.com/Dynamic/Staff/Index.cfm', '', 20, 0, 0);
	
		
menu[174][3] = new Item('KSTC Members', 'http://www.kstc.com?255', '', 20, 0, 0);
	
	
menu[182] = new Array();

	menu[182][0] = new Menu(true, '<img src=../../../../../arrow3.gif hspace=4 vspace=4 width=5  Height=9>', 200, 0, 200, 0, defOver, defBack, 'itemBorder', 'itemText');
	
		
menu[182][1] = new Item('KY-NMSI', 'http://www.kstc.com?675', '', 20, 0, 0);
	
		
menu[182][2] = new Item('ARSI', 'http://www.kstc.com?358', '', 20, 0, 0);
	
		
menu[182][3] = new Item('EPSCoR', 'http://www.kstc.com?357', '', 20, 0, 0);
	
		
menu[182][4] = new Item('KEF', 'http://www.kstc.com?581', '', 20, 0, 0);
	
		
menu[182][5] = new Item('KSEF', 'http://www.kstc.com?354', '', 20, 0, 0);
	
	menu[182][6] = new Item('Listed by Category' , '', '', 20, 0, 353);	
	
	
menu[183] = new Array();

	menu[183][0] = new Menu(true, '<img src=../../../../../arrow3.gif hspace=4 vspace=4 width=5  Height=9>', 0, 24,  200, 4, defOver, defBack, 'itemBorder', 'itemText');
	
		
menu[183][1] = new Item('Frequently Asked Questions', 'http://www.kstc.com?361', '', 32, 0, 0);
	
	menu[183][2] = new Item('Our People' , '', '', 20, 0, 174);	
	
		
menu[183][3] = new Item('KSTC Mission', 'http://www.kstc.com?191', '', 20, 0, 0);
	
	menu[183][4] = new Item('Initiatives' , '', '', 20, 0, 182);	
	
		
menu[183][5] = new Item('Feedback', 'http://www.kstc.com?266', '', 20, 0, 0);
	
	
menu[187] = new Array();

	menu[187][0] = new Menu(true, '<img src=../../../../../arrow3.gif hspace=4 vspace=4 width=5  Height=9>', 0, 24,  200, 4, defOver, defBack, 'itemBorder', 'itemText');
	
	menu[187][1] = new Item('Strategy' , '', '', 20, 0, 267);	
	
	menu[187][2] = new Item('Kentucky Clusters' , '', '', 20, 0, 459);	
	
	menu[187][3] = new Item('Kentucky Survey of Critical Technologies' , '', '', 32, 0, 474);	
	
	menu[187][4] = new Item('PCI Report' , 'http://www.kstc.com?621', '', 20, 0, 621);	
	
	menu[187][5] = new Item('Kentucky Entrepreneurial Policy Audit' , 'http://www.kstc.com?556', '', 20, 0, 556);	
	
	menu[187][6] = new Item('Directions to KSTC' , '', '', 20, 0, 736);	
	
	
menu[267] = new Array();

	menu[267][0] = new Menu(true, '<img src=../../../../../arrow3.gif hspace=4 vspace=4 width=5  Height=9>', 200, 0, 200, 0, defOver, defBack, 'itemBorder', 'itemText');
	
		
menu[267][1] = new Item('Strategy', 'http://www.kstc.com?472', '', 20, 0, 0);
	
	
menu[332] = new Array();

	menu[332][0] = new Menu(true, '<img src=../../../../../arrow3.gif hspace=4 vspace=4 width=5  Height=9>', 200, 0, 200, 0, defOver, defBack, 'itemBorder', 'itemText');
	
	menu[332][1] = new Item('Program Links' , '', '', 20, 0, 485);	
	
	
menu[353] = new Array();

	menu[353][0] = new Menu(true, '<img src=../../../../../arrow3.gif hspace=4 vspace=4 width=5  Height=9>', 200, 0, 200, 0, defOver, defBack, 'itemBorder', 'itemText');
	
		
menu[353][1] = new Item('Past KSTC Initiatives', 'http://www.kstc.com?290', '', 20, 0, 0);
	
		
menu[353][2] = new Item('Education', 'http://www.kstc.com?261', '', 20, 0, 0);
	
		
menu[353][3] = new Item('Innovation & Economic Competitiveness', 'http://www.kstc.com?262', '', 32, 0, 0);
	
		
menu[353][4] = new Item('Research & Development', 'http://www.kstc.com?263', '', 20, 0, 0);
	
		
menu[353][5] = new Item('KY-NMSI', 'http://www.kstc.com?664', '', 20, 0, 0);
	
	
menu[371] = new Array();

	menu[371][0] = new Menu(true, '<img src=../../../../../arrow3.gif hspace=4 vspace=4 width=5  Height=9>', 0, 24,  200, 4, defOver, defBack, 'itemBorder', 'itemText');
	
		
menu[371][1] = new Item('Portfolio Main Page', 'http://www.kstc.com?406', '', 20, 0, 0);
	
	
menu[386] = new Array();

	menu[386][0] = new Menu(true, '<img src=../../../../../arrow3.gif hspace=4 vspace=4 width=5  Height=9>', 200, 0, 200, 0, defOver, defBack, 'itemBorder', 'itemText');
	
		
menu[386][1] = new Item('Commercialization Investment Funds (CIF)', 'http://www.kstc.com?356', '', 32, 0, 0);
	
		
menu[386][2] = new Item('Innovation and Commercialization Centers (ICC)', 'http://www.kstc.com?411', '', 32, 0, 0);
	
		
menu[386][3] = new Item('Kentucky Science and Engineering Foundation (KSEF) Phase 0', 'http://www.kstc.com?409', '', 44, 0, 0);
	
	
menu[387] = new Array();

	menu[387][0] = new Menu(true, '<img src=../../../../../arrow3.gif hspace=4 vspace=4 width=5  Height=9>', 200, 0, 200, 0, defOver, defBack, 'itemBorder', 'itemText');
	
		
menu[387][1] = new Item('Kentucky Science and Engineering Foundation  (KSEF)', 'http://www.kstc.com?354', '', 44, 0, 0);
	
		
menu[387][2] = new Item('Experimental Program to Stimulate Competitive Research (EPSCoR)', 'http://www.kstc.com?357', '', 44, 0, 0);
	
	
menu[388] = new Array();

	menu[388][0] = new Menu(true, '<img src=../../../../../arrow3.gif hspace=4 vspace=4 width=5  Height=9>', 200, 0, 200, 0, defOver, defBack, 'itemBorder', 'itemText');
	
		
menu[388][1] = new Item('Appalachian Rural System Intiative (ARSI)', 'http://www.kstc.com?358', '', 32, 0, 0);
	
		
menu[388][2] = new Item('entreSchools Initiative', 'http://www.kstc.com?408', '', 20, 0, 0);
	
		
menu[388][3] = new Item('Partnership for Initiatives in Science and Math (PRISM)', 'http://www.kstc.com?407', '', 44, 0, 0);
	
	
menu[389] = new Array();

	menu[389][0] = new Menu(true, '<img src=../../../../../arrow3.gif hspace=4 vspace=4 width=5  Height=9>', 200, 0, 200, 0, defOver, defBack, 'itemBorder', 'itemText');
	
		
menu[389][1] = new Item('ideaFestival', 'http://www.kstc.com?410', '', 20, 0, 0);
	
	
menu[459] = new Array();

	menu[459][0] = new Menu(true, '<img src=../../../../../arrow3.gif hspace=4 vspace=4 width=5  Height=9>', 200, 0, 200, 0, defOver, defBack, 'itemBorder', 'itemText');
	
		
menu[459][1] = new Item('Kentucky Clusters', 'http://www.kstc.com?258', '', 20, 0, 0);
	
	
menu[474] = new Array();

	menu[474][0] = new Menu(true, '<img src=../../../../../arrow3.gif hspace=4 vspace=4 width=5  Height=9>', 200, 0, 200, 0, defOver, defBack, 'itemBorder', 'itemText');
	
		
menu[474][1] = new Item('One-Page Summary', 'http://www.kstc.com?523', '', 20, 0, 0);
	
		
menu[474][2] = new Item('Teacher Survey Summary Report', 'http://www.kstc.com?524', '', 32, 0, 0);
	
	
menu[485] = new Array();

	menu[485][0] = new Menu(true, '<img src=../../../../../arrow3.gif hspace=4 vspace=4 width=5  Height=9>', 200, 0, 200, 0, defOver, defBack, 'itemBorder', 'itemText');
	
		
menu[485][1] = new Item('KSTC Program Links', 'http://www.kstc.com?486', '', 20, 0, 0);
	
	
menu[556] = new Array();

	menu[556][0] = new Menu(true, '<img src=../../../../../arrow3.gif hspace=4 vspace=4 width=5  Height=9>', 200, 0, 200, 0, defOver, defBack, 'itemBorder', 'itemText');
	
		
menu[556][1] = new Item('Kentucky Entrepreneurial Policy Audit', 'http://www.kstc.com?557', '', 32, 0, 0);
	
	
menu[621] = new Array();

	menu[621][0] = new Menu(true, '<img src=../../../../../arrow3.gif hspace=4 vspace=4 width=5  Height=9>', 200, 0, 200, 0, defOver, defBack, 'itemBorder', 'itemText');
	
		
menu[621][1] = new Item('PCI Report', 'http://www.kstc.com?627', '', 20, 0, 0);
	
	
menu[736] = new Array();

	menu[736][0] = new Menu(true, '<img src=../../../../../arrow3.gif hspace=4 vspace=4 width=5  Height=9>', 200, 0, 200, 0, defOver, defBack, 'itemBorder', 'itemText');
	
		
menu[736][1] = new Item('Directions to KSTC', 'http://www.kstc.com?256', '', 20, 0, 0);
	


window.onload = createMenus;
window.onresize = resizeHandler;




var popOldWidth = window.innerWidth;
function resizeHandler()
{
 
 if (!menu[0][0].ref) return;
 
 if (isNS4 && popOldWidth != window.innerWidth) location.reload()

 

var winWidth = (document.all ? document.body.clientWidth : window.innerWidth)
if (winWidth > 700) {menu[0][0].ref.left = (winWidth / 2) - 135}; //108
 

}




function colItem(text, href, type, length, spacing, overCol, backCol, target)
{
 this.text = text;
 this.href = href;
 this.type = type;
 this.length = length;
 this.spacing = spacing;
 this.overCol = overCol;
 this.backCol = backCol;
 
 this.target = target;
 this.ref = null;
}



moveRoot = new Function('with(menu[0][0].ref) left = ((parseInt(left) < 100) ? 100 : 5);');
