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

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

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

	function navList4URL(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+'&lang='+sLang+'&item='+z.sItem+z.sExtra;
			    } else if (z.iPageMode == 0) {		// other template pages
				    return sURLPrefix+'/VSP?id='+z.sSite+'&lang='+sLang+'&item='+z.sItem+z.sExtra;
			    }
		    } else if (z.iView == 2) {			// ordinary link
			    if (z.iLinkMode == 0) 			// link servlet
				    return sURLPrefix+'/VSP?id='+z.sSite+'&lang='+sLang+'&'+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+'&lang='+sLang+'&page=extern.vsp&$dialog.LINK='+z.sLink;
			    }
		    }

		}
		return "javascript:Void();"; // 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 navList4_addSiteItem(subRecs,sCode)
	{
		aMenu[iCount++] = new recordMenuItem(subRecs,sCode);
	}

	function navList4_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++;
				sMenu += '<li';
                                if (z.sImage.length > 0)
                                    sMenu += ' itemIcon="' + sImagePath+z.sImage +'"';
                                sMenu += ' title="' + z.sText +'"';
				sMenu += '>';
				sMenu += '<a href="' + navList4URL(x,sFlags,sMId1,sMId2) + '" target="'+ z.sTarget +'" class="menunode_'+(iLevel+1)+'">'+z.sText+'</a>';

				if (aMenu[x].sGroup > "") {
        				sMenu += '<ul>';
					navList4_buildList2((iSeq*10+n),iLevel+1,z.subRecs,z.sGroup,sFlags,sMId1,sMId2);
                        		sMenu += "</ul>";
                                }

				sMenu += "</li>";
			}
		}
	}

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

			if (z.sId == sId) {

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

				if (aMenu[x].sGroup > "") {
                                        iMenuCount++;
        				sMenu += '<ul>';
					navList4_buildList2(iSeq*10,iLevel+1,z.subRecs,z.sGroup,sFlags,sMId1,sMId2,sMIdC);
                        		sMenu += "</ul>";
                                }
                                sMenu += "</li>";
                                iSeq++;
			}
		}
	}

	function navList4_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)) {
       				sMenu += '<ul class="sf-menu">';

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

	function navList4_begin()
	{
            // nothing
	}

	function navList4_end()
	{
            // nothing
	}

// eof
