
JSHeader()<--
WriteString("
<HTML>
<HEAD>
<TITLE>menufactory.com</TITLE>
<SCRIPT>

var isNav4, isIE4;

if (navigator.userAgent.indexOf('Opera') > -1) 
  redirectToHtml();
  
if (parseInt(navigator.appVersion.charAt(0)) >= 4) {
 isNav4 = (navigator.appName == \"Netscape\") ? true : false;
 isIE4 = (navigator.appName.indexOf(\"Microsoft\") != -1) ? true : false;
} else 
 redirectToHtml();

function redirectToHtml(){
 location.href=\"html-index.html\";
}
  
function Item(Url, target, presentation, name, imgFileName, height, width, altImgFileName){
 this.presentation=presentation;
 this.target=target;
 this.url=Url;
 this.type='link';
 this.height=height;
 this.width=width;
 this.name=name;
 if(imgFileName){
 	this.imgFileName =  imgFileName;
 	this.altImgFileName = altImgFileName;
 }
}

function Folder(presentation, openOrClosed, name, imgFileName, height, width, subImageArray){
 this.name = name;
 this.presentation=presentation;
 this.openOrClosed=openOrClosed;
 this.type='folder';
 this.contents=new Object();
 this.numberOfItems=0;
 this.imgFileName = imgFileName;
 this.height=height;
 this.width=width;
 this.imagesPreLoaded = 0;
 this.subImageArray=subImageArray;
 this.Add=Add;
}
  
function Add(thingie){
 this.contents[this.numberOfItems++] = thingie;
}

function makeFolder(item, picPath, level){
 var rt='';
 var presentation;
 
 if ( item.imgFileName){
 	presentation = '<IMG ALIGN=\"MIDDLE\" HEIGHT='+item.height+' WIDTH='+item.width+' SRC=\"foo' + '\">';
 } else {
  	presentation = '<NOBR>'+preHeader  +'<font color=\"'+textColor+'\">'+ item.presentation + '</font>'+postHeader+'</NOBR>';
 }
  
 if(level> 0){
 
 	if ( item.imgFileName){
 		rt += createLayer(item, '<A HREF=\"javascript:parent.toggle(' + '\\''+item.name+'\\'' + ')\"><IMG ALIGN=\"MIDDLE\" NAME=\"img'+ item.name + '\" BORDER=0 WIDTH=\"' + imageWidth + '\" HEIGHT=\"' + imageHeight + '\" SRC=\"' + '\">'+picPath + presentation + '</A>', false);
 	
 	} else {
 	  rt += createLayer(item, '<A HREF=\"javascript:parent.toggle(' + '\\''+item.name+'\\'' + ')\"><IMG NAME=\"img'+ item.name + '\" BORDER=0 WIDTH=\"' + imageWidth + '\" HEIGHT=\"' + imageHeight + '\" SRC=\"' + picPath + '\">'+presentation+ '</A>', false);
 	}
 	rt += '\\n';
 }
 
 return rt;
}

function Make(item, level){
 var returnHtml='';
 if(item.type=='folder'){
 	returnHtml+= makeFolder(item, headerClosedImage, level);
 	for (var n=0; n<item.numberOfItems; n++)
 	returnHtml+= Make(item.contents[n], level + 1);
        return returnHtml;
 } else { // link
         var bulletString = '';
        if(wantsBullet == 1){
		bulletString = '<IMG ALIGN=\"TOP\" HEIGHT='+imageHeight+' WIDTH='+imageWidth+' BORDER=\"0\" NAME=\"'+item.name+'lastspace\" SRC=\"'+spacer+'\">';
	}

 	if(!item.imgFileName){ // No images supplied
 		return createLayer(item, '<nobr>'+bulletString + '<A HREF=\"' + item.url + '\" TARGET=\"' + item.target + '\" >' + preLink +'<font color=\"'+textColor+'\">'+ item.presentation +'</font>'+ postLink +'</A>'+'</nobr>', true);
 	} else { // We've got images 
 		return createLayer(item, '<nobr>'+bulletString + '<A HREF=\"' + item.url + '\" TARGET=\"' + item.target + '\" >' + '<IMG ALIGN=\"ABSMIDDLE\" HEIGHT='+item.height+' WIDTH='+item.width+' BORDER=\"0\" NAME=\"linktext\" SRC=\"'+item.imgFileName +  '\">' +'</A>'+'</nobr>', true); // \"\" -> 
 	}
 }
}
  
function makeMenu(){
  
  if (self != top) top.location = self.location;
  var subDoc=frames[menuFrameName].document;
  subDoc.open();

  subDoc.writeln( prelim() + Make(parent.traceitem, 0) + postlim());
   
  if(isNav4)
    subDoc.close();

  showMenu(); 
}
  
  
function createLayer (item, content, hiliteOn) {
 
 if(item.name == 'linkBack'){ content = '<BR>'+ content;}

 if(isNav4)
 	return createNSLayer(item, content, hiliteOn);
 else
 	return createIELayer(item, content, hiliteOn);
}

function createNSLayer (item, content, hiliteOn) {
 var returnString = '<LAYER ID=\"' + item.name + '\"' +  'VISIBILITY=\"hide\" ';

 if(hiliteOn) 
 	returnString = returnString + 'onMouseOver=\"parent.hilite(\\'' + item.name + '\\',\\'' + item.altImgFileName + '\\');\"' + 'onMouseOut=\"parent.unHilite(\\'' + item.name + '\\',\\'' + item.imgFileName + '\\');\"';

  returnString = returnString + '>' + content + '</LAYER>';
  return returnString;
}

function createIELayer (item, content, hiliteOn) {

  var returnString = '\\n<DIV id=\"' +item.name +'\"'; 
  if(hiliteOn)
    returnString = returnString+ 'onMouseOver=\"parent.hilite(\\''+item.name+'\\');return(false);\"' + 'onMouseOut=\"parent.unHilite(\\''+item.name+'\\'); return(false);\"';

  returnString +=  ' style=\"position:absolute;  top:0;';
  returnString += ' visibility: hidden;\">'+content+'</DIV>';


  return returnString;
}

function toggle(layerName){

  var subDoc=frames[menuFrameName].document;
   
  var myLayer = getLayer(subDoc, layerName);
  var item = eval(layerName);

  if(item.openOrClosed=='closed'){
    item.openOrClosed='open';
  } else {
    item.openOrClosed='closed';
  }
  parent.showMenu();
}
   
function hilite(layerName, altImgFileName){
  
  var subDoc=frames[menuFrameName].document;
  var myLayer = getLayer(subDoc, layerName);

  if(isNav4){
     if(wantsBullet == 1){
     	myLayer.document.images[layerName +\"lastspace\"].src = hotSpotImage;
     }
    if(altImgFileName != 'undefined'){
     if(myLayer.document){
     	myLayer.document.images[\"linktext\"].src  = altImgFileName;
     }
    }
  } else { // isIe
//    myLayer.style.backgroundColor=hiliteColor;
      myLayer.document.all[layerName+'lastspace'].src=hotSpotImage;
  }
      
}

function unHilite(layerName, imgFileName){
  
  var subDoc=frames[menuFrameName].document;
  var myLayer = getLayer(subDoc, layerName);

  if(isNav4){
    if(wantsBullet == 1){
     	myLayer.document.images[layerName+\"lastspace\"].src = spacer;
    }

    if(imgFileName != 'undefined'){
        myLayer.document.images[\"linktext\"].src=imgFileName;
    } else {
    myLayer.bgColor=bgColor;
    }
  } else { // isIE
//    myLayer.style.backgroundColor=bgColor;
    myLayer.document.all[layerName+'lastspace'].src=spacer;
  }
}  
function prelim(){
  return '<BODY BGCOLOR=\"' + bgColor + 
    '\" TEXT=\"' + textColor +  
    '\" LINK=\"' + textColor + 
    '\" VLINK=' + textColor + 
    '\" ALINK=' + textColor + 
    '\" onLoad=\"parent.showMenu();\"' + 
    ' >';
}
  
function postlim(){
  return '</BODY>';
}
  
if(!window.saveInnerWidth) {
  window.onresize = parent.showMenu;
} 
  
function show(item, level, y, showOrHide){
  var subDoc=frames[menuFrameName].document;
  var dy=0;
   
  if(item.type=='folder' && item.openOrClosed == 'open' && item.imgFileName){
    if(item.imagesPreLoaded == 0){
      batchPreLoad(item.subImageArray);
      item.imagesPreLoaded = 1;
    }
  }

  if(level>0){

    var myLayer = getLayer(subDoc, item.name);

    if(showOrHide == 'show'  && myLayer.document.images[1] ){
      if(item.type == 'folder'){ 
       myLayer.document.images[1].src = item.imgFileName; 
      } else if (myLayer.document.images[\"linktext\"]){
       myLayer.document.images[\"linktext\"].src = item.imgFileName;
      }
    }      // CMH if(showorhide == 'visible')...

    if(item.type=='link' && (!wantsBullet)) level=level+1;

    if(isNav4) {
      myLayer.pageY = y;
      myLayer.pageX = imageWidth*level + origX ;
    }
    else {
      myLayer.style.top  = y;
      myLayer.style.left = imageWidth*level+origX; 
    }

    setVisibility(myLayer, showOrHide);
    
    if(isNav4) 
      dy += myLayer.clip.height;
    else
      dy += myLayer.offsetHeight;
  }
   
  if(item.type=='folder'){
    if (item.openOrClosed == 'open'){

      for (var n=0; n<item.numberOfItems; n++){
  dy = dy + show(item.contents[n], level + 1, y + dy, showOrHide);
      }

      if(level>0){
	 if(isNav4){
	   var myLayer= getLayer(subDoc, item.name);
	   myLayer.document.images[0].src=headerOpenImage;
	 } else { //CMH
          subDoc.images['img'+item.name].src=hoi.src; 
	 }
      }
    } else { // closed
 
      for (var n=0; n<item.numberOfItems; n++){
	 var hideString='hidden';

	 if(isNav4)
	   hideString='hide'; 

	 show(item.contents[n], level + 1, y , hideString);
      }

      if(level>0){
	 if(isNav4){
	   var myLayer= getLayer(subDoc, item.name);
	   myLayer.document.images[0].src=headerClosedImage;
	 } else
	   { //CMH
            subDoc.images['img'+item.name].src=hci.src;
	   }
      }
    }
  } else { // link
    // Not much to do here!
  }
  return dy ;
}
  
function showMenu(){

  var showString='visible';
  if(isNav4)showString='show'; 

  frames[menuFrameName].document.bgColor=bgColor;

  var scrollHeight =  30 + parent.show(traceitem, 0, 10, showString);

  var subDoc=frames[menuFrameName].document;

  if(isNav4)
    subDoc.height = scrollHeight;
  else
    subDoc.scrollHeight = scrollHeight;

}

function getLayer(doc, name){
  if(isNav4) 
    return doc.layers[name];
  else
    return doc.all[name];
}


function setVisibility(layer, showOrHide){
  if(isNav4) 
    layer.visibility= showOrHide;
  else
    layer.style.visibility= showOrHide;
}

function preLoad(imgObj,imgSrc) {
  if (document.images) {
    eval(imgObj+' = new Image()')
      eval(imgObj+'.src = \"'+imgSrc+'\"')
      }

}

function batchPreLoad(fileNames){

 for(n=0; n<fileNames.length; n++){
   var imgObj = new Image();
   imgObj.src = fileNames[n];
 }
}

</SCRIPT>
<SCRIPT>
var onsiteFrameName='ONSITE';
var offsiteFrameName='_blank';

var headerOpenImage='mf-images/true.gif';
var headerClosedImage='mf-images/false.gif';
var hotSpotImage='mf-images/hot.gif';
var spacer='mf-images/spacer.gif';
var hoi, hci, hs;
preLoad('hoi', headerOpenImage);
preLoad('hci', headerClosedImage);
preLoad('hs', hotSpotImage);
var imageWidth='12';
var imageHeight='12';
var menuFrameName='navbar';
var textColor='#ffff00';
var bgColor='#0000cc';
var hiliteColor='#FFFF00';
var origY=0;
var origX=0;
var preLink='<FONT FACE=\"Tahoma,Verdana,Arial,Helvetica\" SIZE=\"4\">';
var postLink='</FONT>';
var preHeader='<B><FONT FACE=\"Tahoma,Verdana,Arial,Helvetica\" SIZE=\"4\">';
var postHeader='</FONT></B>';
var array0 = new Array(\"mf-images/\", \"mf-images/\", \"mf-images/\", \"mf-images/\", \"mf-images/\", \"mf-images/\", \"mf-images/\", \"mf-images/\", \"mf-images/\", \"mf-images/\", \"mf-images/\", \"mf-images/\", \"mf-images/\");
var traceitem = new Folder(\"traceitem\", 'open', 'traceitem', 'no file', 0 ,0 , array0);



");










JSFooter()<--
WriteString("
var linkBack = new Item('http://www.menufactory.com', '_blank', 'www.menufactory.com', 'linkBack', 'mf-images/knapp.gif',31,88);
traceitem.Add(linkBack);var wantsBullet = 1;
 
</SCRIPT>
</HEAD>
<NOSCRIPT>
<META HTTP-EQUIV=\"Refresh\" CONTENT=\"1;URL=html-index.html\">
</BODY>
</NOSCRIPT>


<FRAMESET COLS=\"100%,*\" BORDER=0 FRAMEBORDER=0>
<FRAME SRC=\"menu-hook.html\" 
NAME=\"navbar\" 
NORESIZE SCROLLING=yes
MARGINWIDTH=0 
MARGINHEIGHT=0 
FRAMEBORDER=0>
</FRAMESET>
</HTML>
");
