var bDebug = false;
var aMenuList = new Array();
var iFailSafe = 0;

function buildMenuList(sText,iMaxCount) {
	for (var i=1; i<=iMaxCount;i++) {
		aMenuList[aMenuList.length] = eval(sText + i);
		aMenuList[aMenuList.length-1][11] = sText + i;
		if (aMenuList[aMenuList.length-1][3] != 0) {
			var sParam = sText + i + "_";
			buildMenuList(sParam,aMenuList[aMenuList.length-1][3]);
		}
	}
}

buildMenuList("Menu",NoOffFirstLineMenus)

//alert("Menu Length is - " + aMenuList.length);

var sOutput = "";
if (bDebug) {
	sOutput = "<textarea cols='120' rows='36'>";
}
var aDivsToPosition = new Array();

function writeDivs() {
var aOutput = new Array();
var iDepth = "";
var aTemp = new Array();
var sTemp
var sTemp2
var sTemp3
var sParent
var sParentMouseOver
var sParentMouseOut
var sLevelDir				// -1 if this level is higher than previous
							// 0 is same level
							// 1 if a level deeper
var sTableStartHTML = "<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr>";
var sTableEndHTML = "</td></tr></table>\n\n";
var sArrowStartHTML = "<td valign=\"top\" align=\"right\"><img id=\"";
var sArrowEndHTML = "-arrow\" src=\"" + Arrws[0] + "\">";
var sSubArrowEndHTML = "-arrow\" src=\"" + Arrws[3] + "\">";
aOutput[0] = "";

	for (var j=0;j<aMenuList.length;j++) {
		if (aMenuList[j][11].indexOf("_") == -1 ) {
			// If it is a root
			if (aMenuList[j][11] != "Menu1") {	// HACK to not show "Home"
			aOutput[0] += "<div class=\"" + CssItemClassName + "\" id=\"" + aMenuList[j][11] + "\">" + sTableStartHTML
			aOutput[0] += "<td "
			if (aMenuList[j][3] != 0) {
				aOutput[0] += "onMouseOver=\"changeClass('" + aMenuList[j][11] + "','" + CssHiClassName + "');MM_showLayer('" + aMenuList[j][11] + "-sub')\" onMouseOut=\"changeClass('" + aMenuList[j][11] + "','" + CssItemClassName + "');MM_hideLayer('" + aMenuList[j][11] + "-sub')\""
			}
			aOutput[0] += "><a class=\"menuLink\" href=\"" + aMenuList[j][1] + "\" >" + aMenuList[j][0] + "</a>"
			if (aMenuList[j][3] != 0) {
				aOutput[0] += sArrowStartHTML + aMenuList[j][11] + sArrowEndHTML;
			}
			aOutput[0] += sTableEndHTML + "</div>\n\n";
			iDepth = 0;
			sParent = aMenuList[j][11];
			}
		} else {
			// All submenu items
			aTemp = aMenuList[j][11].split("_");	// Using aTemp to determine depth
			sLevelDir = eval((aTemp.length - iDepth) -1);
			iDepth = aTemp.length - 1;
			if (!aOutput[iDepth]) {
				if (sLevelDir == 1) {
					sParentMouseOver = "MM_timelineStop('" + aTemp[0] + "-sub');";
					sParentMouseOut = "MM_timelineGoto('" + aTemp[0] + "-sub','10');MM_timelinePlay('" + aTemp[0] + "-sub');";
					sTemp = "MM_timelineStop('" + aTemp[0];
					sTemp2 = "MM_timelineGoto('" + aTemp[0];
					sTemp3 = "MM_timelinePlay('" + aTemp[0];
					for (var m=1;m<aTemp.length-1;m++) {
						sTemp += "_" + aTemp[m];
						sTemp2 += "_" + aTemp[m];
						sTemp3 += "_" + aTemp[m];
						sParentMouseOver += sTemp + "-sub');";
						sParentMouseOut += sTemp2 + "-sub','10');" + sTemp3 + "-sub');";
					}
					aOutput[iDepth] = "<div id=\"" + sParent + "-sub\" \nonMouseOver=\"" + sParentMouseOver + "\" \nonMouseOut=\"" + sParentMouseOut + "\" \nstyle=\"position:absolute; top: 0px; left: " + eval(iDepth*158) + "px; visibility: hidden; border-top: solid 1px #336633\">\n";
					aDivsToPosition[aDivsToPosition.length] = sParent + "-sub";
				}
			} else {
				if (sLevelDir == 1) {
					sParentMouseOver = "MM_timelineStop('" + aTemp[0] + "-sub');";
					sParentMouseOut = "MM_timelineGoto('" + aTemp[0] + "-sub','10');MM_timelinePlay('" + aTemp[0] + "-sub');";
					sTemp = "MM_timelineStop('" + aTemp[0];
					sTemp2 = "MM_timelineGoto('" + aTemp[0];
					sTemp3 = "MM_timelinePlay('" + aTemp[0];
					for (var m=1;m<aTemp.length-1;m++) {
						sTemp += "_" + aTemp[m];
						sTemp2 += "_" + aTemp[m];
						sTemp3 += "_" + aTemp[m];
						sParentMouseOver += sTemp + "-sub');";
						sParentMouseOut += sTemp2 + "-sub','10');" + sTemp3 + "-sub');";
					}
					aOutput[iDepth] += "</div>\n\n<div id=\"" + sParent + "-sub\" \nonMouseOver=\"" + sParentMouseOver + "\" \nonMouseOut=\"" + sParentMouseOut + "\" \nstyle=\"position:absolute; top: 0px; left: " + eval(iDepth*158) + "px; visibility: hidden; border-top: solid 1px #336633\">\n";
					aDivsToPosition[aDivsToPosition.length] = sParent + "-sub";
				}
			}
			
			aOutput[iDepth] += "<div class=\"" + CssSubClassName + "\" id=\"" + aMenuList[j][11] + "\">";
			aOutput[iDepth] += sTableStartHTML + "<td";
			if (aMenuList[j][3] != 0) {
				aOutput[iDepth] += " onMouseOver=\"changeClass('" + aMenuList[j][11] + "','" + CssHiSubClassName + "');MM_showLayer('" + aMenuList[j][11] + "-sub')\" onMouseOut=\"changeClass('" + aMenuList[j][11] + "','" + CssSubClassName + "');MM_hideLayer('" + aMenuList[j][11] + "-sub')\"";
			} else {
				aOutput[iDepth] += " onMouseOver=\"changeClass('" + aMenuList[j][11] + "','" + CssHiSubClassName + "');\" onMouseOut=\"changeClass('" + aMenuList[j][11] + "','" + CssSubClassName + "');\"";
			}
			aOutput[iDepth] += "><a class=\"subMenuLink\" href=\"" + aMenuList[j][1] + "\">" + aMenuList[j][0] + "</a>";
			if (aMenuList[j][3] != 0) {
				aOutput[iDepth] += sArrowStartHTML + aMenuList[j][11] + sSubArrowEndHTML;
			}
			aOutput[iDepth] +=  sTableEndHTML + "</div>\n\n";
			sParent = aMenuList[j][11];
		}
	}
	sOutput += aOutput[0];
	for (var k=1;k<aOutput.length;k++) {
		sOutput += aOutput[k] + "</div>\n\n";
	}
	//for (var l=1;l<aDivsToPosition.length;l++) {
	//	sOutput += aDivsToPosition[l] + "<br>\n";
	//}
}

function changeClass(sLayerName,sClass) {
	document.getElementById(sLayerName).className = sClass;
}

function getElemPosY(elemID) {
    var offsetTrail = document.getElementById(elemID);
    var offsetTop = 0;
    while (offsetTrail) {
        offsetTop += offsetTrail.offsetTop;
        offsetTrail = offsetTrail.offsetParent;
    }
    return offsetTop;
}
function getElemPosX(elemID) {
    var offsetTrail = document.getElementById(elemID);
    var offsetLeft = 0;
    while (offsetTrail) {
        offsetLeft += offsetTrail.offsetLeft;
        offsetTrail = offsetTrail.offsetParent;
    }
    return offsetLeft;
}

function alignToImg(img,layer,offsetX,offsetY) {
  if (!offsetX)
    offsetX = 0
  if (!offsetY)
    offsetY = 0
  if (document.layers) {
	document.layers[layer].left = getElemPosX(img) + offsetX
	document.layers[layer].top = getElemPosY(img)  + offsetY
  }
  if (document.all) {
	document.all[layer].style.pixelLeft = getElemPosX(img) + offsetX
	document.all[layer].style.pixelTop = getElemPosY(img) + offsetY
  }
  else {
	  if (document.getElementById) {
		document.getElementById(layer).style.left = getElemPosX(img) + offsetX
		document.getElementById(layer).style.top = getElemPosY(img) + offsetY
	  }
  }
}
var howManySeconds = 1;
function pause() {
	myTimer=setTimeout("positionDivs()",howManySeconds*1000)
}

function positionDivs() {
	pause();
	for (var l=1;l<aDivsToPosition.length;l++) {
		var aTemp
		var sArrowID
		var sLayerName
		aTemp = aDivsToPosition[l].split("-");
		sArrowID = aTemp[0] + "-arrow";
		sLayerName = aTemp[0] + "-sub";
		alignToImg(sArrowID,sLayerName,7,0)
		//alert(aTemp[0] + " top is " + getLayerTop(aTemp[0]));
	}
}

writeDivs()

document.open;
document.getElementById("containerDiv").innerHTML = sOutput;
document.close;

if (!bDebug) {
	pause();
}

function MM_setTiming(num,layername) {
    document.MM_Time[num] = new Array(4);
    document.MM_Time[layername] = document.MM_Time[num];
    document.MM_Time[num].MM_Name = layername;
    document.MM_Time[num].fps = 8;
    document.MM_Time[num][0] = new String("behavior");
    document.MM_Time[num][0].frame = 3;
    document.MM_Time[num][0].value = "MM_showHideLayers('document.layers[\\\'" + layername + "\\\']','document.all[\\\'" + layername + "\\\']','show')";
    document.MM_Time[num][1] = new String("behavior");
    document.MM_Time[num][1].frame = 4;
    document.MM_Time[num][1].value = "MM_timelineStop('" + layername + "')";
    document.MM_Time[num][2] = new String("behavior");
    document.MM_Time[num][2].frame = 13;
    document.MM_Time[num][2].value = "MM_showHideLayers('document.layers[\\\'" + layername + "\\\']','document.all[\\\'" + layername + "\\\']','hide')";
    document.MM_Time[num][3] = new String("behavior");
    document.MM_Time[num][3].frame = 14;
    document.MM_Time[num][3].value = "MM_timelineStop('" + layername + "')";
    document.MM_Time[num].lastFrame = 14;
}

function MM_initTimelines() {
    //MM_initTimelines() Copyright 1997 Macromedia, Inc. All rights reserved. Modified by Strategic Interactive
    var ns = navigator.appName == "Netscape";
    document.MM_Time = new Array();

	for (var i=0;i<aMenuList.length;i++) {
    	MM_setTiming(i,aDivsToPosition[i])
	}

    for (i=0; i<document.MM_Time.length; i++) {
        document.MM_Time[i].ID = null;
        document.MM_Time[i].curFrame = 0;
        document.MM_Time[i].delay = 1000/document.MM_Time[i].fps;
    }
}

function MM_showHideLayers() { //v1.2
  var i, visStr, args, theObj;
  args = MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) { //with arg triples (objNS,objIE,visStr)
    visStr   = args[i+2];
    if (navigator.appName == 'Netscape' && document.layers != null) {
      theObj = eval(args[i]);
      if (theObj) theObj.visibility = visStr;
    } else if (document.all != null) { //IE
      if (visStr == 'show') visStr = 'visible'; //convert vals
      if (visStr == 'hide') visStr = 'hidden';
      theObj = eval(args[i+1]);
      if (theObj) theObj.style.visibility = visStr;
  } }
}

function MM_timelineStop(tmLnName) { //v1.2
  //Copyright 1997 Macromedia, Inc. All rights reserved.
  if (document.MM_Time == null) MM_initTimelines(); //if *very* 1st time
  if (tmLnName == null)  //stop all
    for (var i=0; i<document.MM_Time.length; i++) document.MM_Time[i].ID = null;
  else document.MM_Time[tmLnName].ID = null; //stop one
}

function MM_timelineGoto(tmLnName, fNew, numGotos) { //v1.2
  //Copyright 1997 Macromedia, Inc. All rights reserved.
  var i,j,tmLn,props,keyFrm,sprite,numKeyFr,firstKeyFr,lastKeyFr,propNum,theObj;
  if (document.MM_Time == null) MM_initTimelines(); //if *very* 1st time
  tmLn = document.MM_Time[tmLnName];
  if (numGotos != null)
    if (tmLn.gotoCount == null) tmLn.gotoCount = 1;
    else if (tmLn.gotoCount++ >= numGotos) {tmLn.gotoCount=0; return}
  jmpFwd = (fNew > tmLn.curFrame);
  for (i = 0; i < tmLn.length; i++) {
    sprite = (jmpFwd)? tmLn[i] : tmLn[(tmLn.length-1)-i]; //count bkwds if jumping back
    if (sprite.charAt(0) == "s") {
      numKeyFr = sprite.keyFrames.length;
      firstKeyFr = sprite.keyFrames[0];
      lastKeyFr = sprite.keyFrames[numKeyFr - 1];
      if ((jmpFwd && fNew<firstKeyFr) || (!jmpFwd && lastKeyFr<fNew)) continue; //skip if untouchd
      for (keyFrm=1; keyFrm<numKeyFr && fNew>=sprite.keyFrames[keyFrm]; keyFrm++);
      for (j=0; j<sprite.values.length; j++) {
        props = sprite.values[j];
        if (numKeyFr == props.length) propNum = keyFrm-1 //keyframes only
        else propNum = Math.min(Math.max(0,fNew-firstKeyFr),props.length-1); //or keep in legal range
        if (sprite.obj != null) {
          if (props.prop2 == null) sprite.obj[props.prop] = props[propNum];
          else        sprite.obj[props.prop2][props.prop] = props[propNum];
  } } } }
  tmLn.curFrame = fNew;
  if (tmLn.ID == 0) eval('MM_timelinePlay(tmLnName)');
}

function MM_timelinePlay(tmLnName, myID) { //v1.2
  //Copyright 1997 Macromedia, Inc. All rights reserved.
  var i,j,tmLn,props,keyFrm,sprite,numKeyFr,firstKeyFr,propNum,theObj,firstTime=false;
  if (document.MM_Time == null) MM_initTimelines(); //if *very* 1st time
  tmLn = document.MM_Time[tmLnName];
  if (myID == null) { myID = ++tmLn.ID; firstTime=true;}//if new call, incr ID
  if (myID == tmLn.ID) { //if Im newest
    setTimeout('MM_timelinePlay("'+tmLnName+'",'+myID+')',tmLn.delay);
    fNew = ++tmLn.curFrame;
    for (i=0; i<tmLn.length; i++) {
      sprite = tmLn[i];
      if (sprite.charAt(0) == 's') {
        if (sprite.obj) {
          numKeyFr = sprite.keyFrames.length; firstKeyFr = sprite.keyFrames[0];
          if (fNew >= firstKeyFr && fNew <= sprite.keyFrames[numKeyFr-1]) {//in range
            keyFrm=1;
            for (j=0; j<sprite.values.length; j++) {
              props = sprite.values[j]; 
              if (numKeyFr != props.length) {
                if (props.prop2 == null) sprite.obj[props.prop] = props[fNew-firstKeyFr];
                else        sprite.obj[props.prop2][props.prop] = props[fNew-firstKeyFr];
              } else {
                while (keyFrm<numKeyFr && fNew>=sprite.keyFrames[keyFrm]) keyFrm++;
                if (firstTime || fNew==sprite.keyFrames[keyFrm-1]) {
                  if (props.prop2 == null) sprite.obj[props.prop] = props[keyFrm-1];
                  else        sprite.obj[props.prop2][props.prop] = props[keyFrm-1];
        } } } } }
      } else if (sprite.charAt(0)=='b' && fNew == sprite.frame) eval(sprite.value);
      if (fNew > tmLn.lastFrame) tmLn.ID = 0;
  } }
}

function MM_showLayer(layername) {
	MM_timelineGoto(layername,'1');MM_timelinePlay(layername)
	}
function MM_hideLayer(layername) {
	MM_timelineGoto(layername,'10');MM_timelinePlay(layername);
	}

function MM_link() {
}

if (bDebug) {
	document.writeln("</textarea>");
}
