"option strict" /* Global Navigation */ var GNav = GNav || {}; /* gets a property from an item in the seacrh results */ GNav.getProperty = function (site, propertyName) { for (var propidx = 0; propidx < site.Cells.results.length; propidx++) { if (site.Cells.results[propidx].Key === propertyName) { return site.Cells.results[propidx].Value } } }; /* create update global Nav witgh the search results */ GNav.findSubWebsForWeb = function (sites, parentLink) { var subwebs = []; for (var subwebidx = 0; subwebidx < sites.length; subwebidx++) { var thisParent = GNav.getProperty(sites[subwebidx], "ParentLink"); if (thisParent === parentLink) { subwebs.push(sites[subwebidx]); } } return subwebs; }; /* fill in child ndes for a site */ GNav.fillSubsites = function (sites, site, level) { var siteName = GNav.getProperty(site, "Title"); var siteUrl = GNav.getProperty(site, "Path"); site.subwebs = GNav.findSubWebsForWeb(sites, siteUrl); for (var webidx = 0; webidx < site.subwebs.length; webidx++) { GNav.fillSubsites(sites, site.subwebs[webidx], level + 1) } }; /* cobverts the search results to a tree structure by adding a 'subsites' property to each site*/ GNav.convertsitesToTree = function (sites) { var rootTree = GNav.findSubWebsForWeb(sites, _spPageContextInfo.siteAbsoluteUrl) for (var i = 0; i < rootTree.length; i++) { GNav.fillSubsites(sites, rootTree[i], 1) } return rootTree; }; /* adds the html fopr the 3rd level menu items*/ GNav.addLevel3Nav = function (html, subweb, tree, level) { var templateNoChildren = '
  • {1}
  • '; var templateWithChildren = '{2}' var siteName = GNav.getProperty(subweb, "Title"); var siteUrl = GNav.getProperty(subweb, "Path"); var siteDescription = GNav.getProperty(subweb, "Description"); if (subweb.subwebs && subweb.subwebs.length == 0) { var item = templateNoChildren.replace("{0}", siteUrl).replace("{1}", siteName); html += item; } else { //**** NO MORE LEVELS for now html += '
  • '; var item = templateWithChildren.replace("{0}", siteName).replace("{1}", siteUrl).replace("{2}", siteDescription); html += item; html += '