
//Menu object creation
oCMenu=new makeCM("oCMenu") //Making the menu object. Argument: menuname

oCMenu.frames=0

//Menu properties   
oCMenu.pxBetween=10
oCMenu.fromLeft=20 
oCMenu.fromTop=36   
oCMenu.rows=1 
oCMenu.menuPlacement="center"
                                                             
oCMenu.offlineRoot="file:///C|/temp/stb/scripts/coolmenus/" 
//oCMenu.onlineRoot="../scripts/coolmenus/" 
oCMenu.onlineRoot=""
oCMenu.resizeCheck=1 
oCMenu.wait=1000 
oCMenu.fillImg="cm_fill.gif"
oCMenu.zIndex=0

//Background bar properties
oCMenu.useBar=0
oCMenu.barWidth="100%"
oCMenu.barHeight="menu" 
oCMenu.barClass="clBar"
oCMenu.barX=0 
oCMenu.barY=0
oCMenu.barBorderX=0
oCMenu.barBorderY=0
oCMenu.barBorderClass=""

//Level properties - ALL properties have to be specified in level 0
oCMenu.level[0]=new cm_makeLevel() //Add this for each new level
oCMenu.level[0].width=88
oCMenu.level[0].height=18 
oCMenu.level[0].regClass="clLevel0"
oCMenu.level[0].overClass="clLevel0over"
oCMenu.level[0].borderX=0
oCMenu.level[0].borderY=0
oCMenu.level[0].borderClass="clLevel0border"
oCMenu.level[0].offsetX=0
oCMenu.level[0].offsetY=3
oCMenu.level[0].rows=0
oCMenu.level[0].arrow=0
oCMenu.level[0].arrowWidth=0
oCMenu.level[0].arrowHeight=0
oCMenu.level[0].align="bottom"

//dynamic effect (controllable for each level)
oCMenu.level[0].clippx=2
oCMenu.level[0].cliptim=2
//special animation filters (IE5.5+ only, controllable for each level)
oCMenu.level[0].filter="progid:DXImageTransform.Microsoft.Fade(duration=0.5)" 

//Other special animation filters (IE5.5+ only, controllable for each level)
//oCMenu.level[0].filter="progid:DXImageTransform.Microsoft.Wheel(duration=0.5,spokes=5)"
//oCMenu.level[0].filter="progid:DXImageTransform.Microsoft.Barn(duration=0.5,orientation=horizontal)"
//oCMenu.level[0].filter="progid:DXImageTransform.Microsoft.Blinds(duration=0.5,bands=5)"
//oCMenu.level[0].filter="progid:DXImageTransform.Microsoft.CheckerBoard(duration=0.5)"
//oCMenu.level[0].filter="progid:DXImageTransform.Microsoft.Fade(duration=0.5)"
//oCMenu.level[0].filter="progid:DXImageTransform.Microsoft.GradientWipe(duration=0.5,wipeStyle=0)"
//oCMenu.level[0].filter="progid:DXImageTransform.Microsoft.Iris(duration=0.5,irisStyle=STAR)"
//oCMenu.level[0].filter="progid:DXImageTransform.Microsoft.Iris(duration=0.5,irisStyle=CIRCLE)"
//oCMenu.level[0].filter="progid:DXImageTransform.Microsoft.Pixelate(duration=0.5,maxSquare=40)"
//oCMenu.level[0].filter="progid:DXImageTransform.Microsoft.Wheel(duration=0.5,spokes=5)"
//oCMenu.level[0].filter="progid:DXImageTransform.Microsoft.RandomDissolve(duration=0.5)"
//oCMenu.level[0].filter="progid:DXImageTransform.Microsoft.Spiral(duration=0.5)"
//oCMenu.level[0].filter="progid:DXImageTransform.Microsoft.Stretch(duration=0.5,stretchStyle=push)"
//oCMenu.level[0].filter="progid:DXImageTransform.Microsoft.Strips(duration=0.5,motion=rightdown)"


//EXAMPLE SUB LEVEL[1] PROPERTIES - You have to specify the properties you want different from LEVEL[0] - If you want all items to look the same just remove this
oCMenu.level[1]=new cm_makeLevel() //Add this for each new level (adding one to the number)
oCMenu.level[1].width=oCMenu.level[0].width
oCMenu.level[1].height=18
oCMenu.level[1].regClass="clLevel1"
oCMenu.level[1].overClass="clLevel1over"
oCMenu.level[1].borderX=0
oCMenu.level[1].borderY=0
oCMenu.level[1].align="right" 
oCMenu.level[1].offsetX=0
oCMenu.level[1].offsetY=0
oCMenu.level[1].borderClass="clLevel1border"
//dynamic effect
oCMenu.level[1].clippx=2
oCMenu.level[1].cliptim=2
//special animation filters
oCMenu.level[1].filter="progid:DXImageTransform.Microsoft.Fade(duration=0.5)" 


//EXAMPLE SUB LEVEL[2] PROPERTIES - You have to specify the properties you want different from LEVEL[1] OR LEVEL[0] - If you want all items to look the same just remove this
oCMenu.level[2]=new cm_makeLevel() //Add this for each new level (adding one to the number)
oCMenu.level[2].width=150
oCMenu.level[2].height=18
oCMenu.level[2].borderX=3
oCMenu.level[2].borderY=0
oCMenu.level[2].offsetX=0
oCMenu.level[2].offsetY=0
oCMenu.level[2].regClass="clLevel2"
oCMenu.level[2].overClass="clLevel2over"
oCMenu.level[2].borderClass="clLevel2border"


/******************************************
Menu item creation:
myCoolMenu.makeMenu(name, parent_name, text, link, target, width, height, regImage, overImage, regClass, overClass , align, rows, nolink, onclick, onmouseover, onmouseout) 
*************************************/

<?php

#header("Content-type: text/plain");

function create_categorynav_recursive ($tree, $curdepth)
{
  global $nodesToHighlight;
        if (empty($tree['CHILDREN'])) 
        { 
                return false; 
        } 
        foreach ($tree['CHILDREN'] as $kid) {
                /** generate a style for the css styles.
                the css style is based on the level of depth, and are assumed to be in the stylesheet */
                $THINGTOPRINT = $kid["NAME"];
                $id = "id" . $kid['CATEGORYID'];
                $linktoprint = htmlentities($kid["LINK"]);

		if ($linktoprint != "") {
                  # make the link be a absolute path wether the / leads the url or not.
		  if (substr($linktoprint,0,1) != '/' && substr($linktoprint,0,4) != 'http') {
		    $linktoprint = '/' . $linktoprint;
		  }
# add http://www.waysystems.com for live site since it's required on the search results page
if (substr($linktoprint,0,1) == "/" && $_SERVER["HTTP_HOST"] != "waysystems.edit.neptuneweb.com") {
  $linktoprint = "http://www.waysystems.com" . $linktoprint;
}
$linktoprint .= "?catid=" . $kid['CATEGORYID'];

		}
$nodename = "node" . $kid['CATEGORYID'];
if ($curdepth > 1) {
  $parentname = "node" . $kid["PARENT"];
} else {
  $parentname = "";
}
$str_curnav .= "oCMenu.makeMenu('$nodename','$parentname','" . htmlentities($kid["NAME"]) . "','$linktoprint');\n";
		$str_curnav .= create_categorynav_recursive($kid, $curdepth + 1);
        }

        return $str_curnav;
}




getModules();
$nd = new hierarchydatabase();
#$nd->printEditButton("Navigation");
$section = "Navigation";

# find what to highlight

$sql = "SELECT * FROM module_hierarchydatabase WHERE sectionid = '" . mysql_escape_string($section) . "' AND active = 'true' AND deleted = 'false'";
$result = @mysql_query($sql);

$nodesToHighlight = array();

while ($row = @mysql_fetch_array($result)) {
  # compare catid or page path
  if ($row['CATEGORYID'] == $_GET["catid"] || $row['LINK'] == $_SERVER["PATH_INFO"]) {
    # highlight parent
    $parentid = $row["PARENT"];
    while ($parentid) {
      $nodesToHighlight[] = $parentid;
      $tmpParent = $nd->get_category($parentid);
      $parentid = $tmpParent["PARENT"];
    }
    break;
  }
}

print create_categorynav_recursive($nd->create_categorytree_struct(array('CATEGORYID' => 0), $section), 1, 1);

?>
//Leave this line - it constructs the menu
oCMenu.construct()	


