// navlist2.js
// 2008-05-22 menu no longer necessary to send along

	var sStaticMode;
	var sBasePath;
	var sImagePath;
	var sURLPrefix;
	var iMenuCount = 0;
	var iCount = 0;
        var iSeq = 0;
	var aMain = new Array();
	var aMenu = new Array();

	function navList2Init(StaticMode,BasePath,sPrefix,sImgPath)
	{
		sStaticMode = StaticMode;
		sBasePath = BasePath;
		sURLPrefix = sPrefix;
                sImagePath = sImgPath;
	}

	function navList2URL(x,sFlags,sMId1,sMId2)
	{
		var z = aMenu[x];
                var sMIdC = "";

		if ((z.iStaticPage == 1) && (sStaticMode == '1')) {

			return sBasePath + z.sStaticPath + '/' + z.sStaticLink;

		} else {

		    if (z.sItem.length > 0)
			sMIdC = "," + z.sItem;

		    if (z.sItem.length == 0)
			    z.sItem = z.sGroup;

		    if (z.iView == 1) {					// template
			    if (z.iPageMode == 1) {		// psub
				    if (z.sDir.length == 0) sDir = "psub";
				    return sURLPrefix+'/VSP?id='+z.sSite+'&item='+z.sItem+z.sExtra;
			    } else if (z.iPageMode == 0) {		// other template pages
				    return sURLPrefix+'/VSP?id='+z.sSite+'&item='+z.sItem+z.sExtra;
			    }
		    } else if (z.iView == 2) {			// ordinary link
			    if (z.iLinkMode == 0) 			// link servlet
				    return sURLPrefix+'/VSP?id='+z.sSite+'&'+z.sLink;
			    else if (z.iLinkMode == 1) 		// link relative
				    return z.sLink;
			    else if (z.iLinkMode == 2) 		// fix link
				    return 'http://'+z.sLink;
			    else if (z.iLinkMode == 3) { 		// fix external link
				    return sURLPrefix+'/VSP?id='+z.sSite+'&page=extern.vsp&$dialog.LINK='+z.sLink;
			    }
		    }

		}
		return "#"; // nothing
	}


	function recordMenuItem(subRecs,sCode)
	{
		var sSep = ";";
		var iNext;
		var iPos;

		this.subRecs = subRecs;

		iPos = 0; iNext = sCode.indexOf(sSep);
		this.sId = sCode.substring(iPos,iNext);
		iPos = iNext + 1; iNext = sCode.indexOf(sSep,iPos);
		this.sCssId = sCode.substring(iPos,iNext);
		iPos = iNext + 1; iNext = sCode.indexOf(sSep,iPos);
		this.iMode = sCode.substring(iPos,iNext);
		iPos = iNext + 1; iNext = sCode.indexOf(sSep,iPos);
		this.iView = sCode.substring(iPos,iNext);
		iPos = iNext + 1; iNext = sCode.indexOf(sSep,iPos);
		this.sGroup = sCode.substring(iPos,iNext);
		iPos = iNext + 1; iNext = sCode.indexOf(sSep,iPos);
		this.sSite = sCode.substring(iPos,iNext);
		iPos = iNext + 1; iNext = sCode.indexOf(sSep,iPos);
		this.sItem = sCode.substring(iPos,iNext);
		iPos = iNext + 1; iNext = sCode.indexOf(sSep,iPos);
		this.iPageMode = sCode.substring(iPos,iNext);
		iPos = iNext + 1; iNext = sCode.indexOf(sSep,iPos);
		this.sPageView = sCode.substring(iPos,iNext);
		iPos = iNext + 1; iNext = sCode.indexOf(sSep,iPos);
		this.sRunCode = sCode.substring(iPos,iNext);
		iPos = iNext + 1; iNext = sCode.indexOf(sSep,iPos);
		this.sPage = sCode.substring(iPos,iNext);
		iPos = iNext + 1; iNext = sCode.indexOf(sSep,iPos);
		this.iLinkMode = sCode.substring(iPos,iNext);
		iPos = iNext + 1; iNext = sCode.indexOf(sSep,iPos);
		this.sTarget = sCode.substring(iPos,iNext);
		iPos = iNext + 1; iNext = sCode.indexOf(sSep,iPos);
		this.sLink = sCode.substring(iPos,iNext);
		iPos = iNext + 1; iNext = sCode.indexOf(sSep,iPos);
		this.sDirType = sCode.substring(iPos,iNext);
		iPos = iNext + 1; iNext = sCode.indexOf(sSep,iPos);
		this.sDir = sCode.substring(iPos,iNext);
		iPos = iNext + 1; iNext = sCode.indexOf(sSep,iPos);
		this.sExtra = sCode.substring(iPos,iNext);
		iPos = iNext + 1; iNext = sCode.indexOf(sSep,iPos);
		this.sText = sCode.substring(iPos,iNext);
		iPos = iNext + 1; iNext = sCode.indexOf(sSep,iPos);
		this.iStaticPage = sCode.substring(iPos,iNext);
		iPos = iNext + 1; iNext = sCode.indexOf(sSep,iPos);
		this.sStaticPath = sCode.substring(iPos,iNext);
		iPos = iNext + 1; iNext = sCode.indexOf(sSep,iPos);
		this.sStaticLink = sCode.substring(iPos,iNext);
		iPos = iNext + 1; iNext = sCode.indexOf(sSep,iPos);
		this.sImage = sCode.substring(iPos,iNext);

		if (this.sTarget.length == 0)
			this.sTarget = "_self";

	}

	function navList2_addSiteItem(subRecs,sCode)
	{
		aMenu[iCount++] = new recordMenuItem(subRecs,sCode);
	}

	function navList2_buildList2(iSeq,iLevel,subRecs,sId,sFlags,sMId1,sMId2,sMIdC)
	{
		var x;
		var z;
                var n = 0;
		for (x in aMenu) {
			z = aMenu[x];
			if (z.sId == sId) {
                                n++;
				document.write('<li id="'+ (iSeq+n) +'"');
                                if (z.sImage.length > 0)
                                    document.write(' itemIcon="' + sImagePath+z.sImage +'"');
                                document.write(' title="' + z.sText +'"');
				document.write('>');
				document.write('<a href="' + navList2URL(x,sFlags,sMId1,sMId2) + '" target="'+ z.sTarget +'" class="menunode_'+(iLevel+1)+'">'+z.sText+'</a>');

				if (aMenu[x].sGroup > "") {
        				document.write('<ul id="menugroup_'+z.sGroup+'" width="150">');
					navList2_buildList2((iSeq*10+n),iLevel+1,z.subRecs,z.sGroup,sFlags,sMId1,sMId2);
                        		document.write("</ul>");
                                }

				document.write("</li>");
			}
		}
	}

	function navList2_buildList(iLevel,subRecs,sId,sFlags,sMId1,sMId2,sMIdC)
	{
		var x;
		var z;
		for (x in aMenu) {
			z = aMenu[x];

			if (z.sId == sId) {

                                document.write('<li id="'+ (iSeq) +'"');
                                if (z.sImage.length > 0)
                                    document.write(' itemIcon="' + sImagePath+z.sImage +'"');
                                document.write(' title="' + z.sText +'"');
                                document.write('>');
                                document.write('<a href="' + navList2URL(x,sFlags,sMId1,sMId2) + '" target="'+ z.sTarget +'" class="menunode_'+(iLevel+1)+'">'+z.sText+'</a>');

				if (aMenu[x].sGroup > "") {
                                        iMenuCount++;
        				document.write('<ul id="menugroup_'+z.sGroup+'" width="150">');
					navList2_buildList2(iSeq*10,iLevel+1,z.subRecs,z.sGroup,sFlags,sMId1,sMId2,sMIdC);
                        		document.write("</ul>");
                                }
                                document.write("</li>");
                                iSeq++;
			}
		}
	}

	function navList2_build(sFlags, sId, sGroup, sCurrent)
	{
		var x;
		var z;
                iSeq = 50000;
		for (x in aMenu) {
			z = aMenu[x];
			if ((z.sId == sId) && (z.sGroup == sGroup)) {
       				document.write('<ul id="menuModel" style="display:none">');

                                // Startsidan
                                document.write('<li id="'+ (iSeq) +'"');
                                if (z.sImage.length > 0)
                                    document.write(' itemIcon="' + sImagePath+z.sImage +'"');
                                document.write(' title="' + z.sText +'"');
                                document.write('>');
                                document.write('<a href="' + navList2URL(x,sFlags,sId,sGroup) + '" target="'+ z.sTarget +'" class="menunode_'+(0+1)+'">'+z.sText+'</a>');
                                document.write("</li>");
                                iSeq++;
				
                                navList2_buildList(0,0,z.sGroup,sFlags,sId,sGroup,sCurrent);
                       		document.write("</ul>");
				break;
			}
		}
	}

	function navList2_begin()
	{
            // nothing
	}

	function navList2_end()
	{
            // nothing
	}

// eof
