: 20090823 // Add way to slide the entire menu off the page // The sidemenu-container is necessary to define the // bounds as the parent of the sidemenu div, which will // be heavily manipulated by the accordion module. If // we don't have good control over the parent, the // accordion will get confused and behave poorly. echo('
' . "\n"); echo('
' . "\n"); $section = 0; $active_section = null; foreach ($menu['areas'] AS $area_name => $area) { if (empty($area['subareas'])) continue; foreach ($area['subareas'] AS $subarea_name => $subarea) { if (empty($subarea['priorities'])) continue; if (!isset($active_section) && !empty($menu['active']['area']) && $area_name == $menu['active']['area'] && (empty($menu['active']['subarea']) || $subarea_name == $menu['active']['subarea'])) $active_section = $section; ++$section; echo('' . $subarea['name'] . "\n"); echo('
' . "\n"); foreach ($subarea['priorities'] AS $priority) { foreach ($priority AS $item) { if (isset($item['url'])) { echo('
' . $html->link($item['name'], $item['url'], isset($item['htmlAttributes']) ? $item['htmlAttributes'] : null, isset($item['confirmMessage']) ? $item['confirmMessage'] : null, isset($item['escapeTitle']) ? $item['escapeTitle'] : null) . '
' . "\n"); } } } echo('
' . "\n"); } } echo('
' . "\n"); // End #sidemenu echo('
' . "\n"); // End #sidemenu-container // Uses both hoverintent, which is a more user friendly mechanism // than mouseover, as well as click. This provides 1) a workable // solution for those browsers that don't use pointers, such as // a touchscreen, and 2) a means to open the menu if the animation // was running while the user moved the pointer to a new menu area. $javascript->codeBlock( << false));