<?php
if ($_REQUEST['SiteID'] == FALSE)
{
	exit;
}

require('../base.inc');

error_reporting(E_ALL & ~(E_ERROR|E_NOTICE));

$site = ORM::Get_Object('Site', $_REQUEST['SiteID']);

Base::SetCustomerID($site->Instance_ID, $site);

$customer = GetCustomer();

Base::SetCitizenID(@$_REQUEST['webgenv2']);

$citizen =& $GLOBALS['Citizen'];

$pages = array();

function PrintNode($page)
{
	global $pages, $customer, $citizen;

	$realPage = Factory::GetPage($page['ID'], FALSE, FALSE);

	$realPage->Citizen = $citizen;

	if ($realPage->IsVisible())
	{
		if (trim($realPage->RedirectURL))
		{
			$urlName = trim($realPage->RedirectURL);

			$target = $realPage->RedirectTarget;
		}
		else
		{
			$urlName = trim($realPage->GetURLName());

			$target = '_top';
		}

		if ($realPage->Parent == $customer->Site->HomePage || $realPage->PageCode == $customer->Site->HomePage)
		{
			$parent = 0;
		}
		else
		{
			$parent = Factory::GetPageIdByCode($realPage->Parent, PAGE_PUBLISHED);
		}

		if ($realPage->PageCode == $customer->Site->HomePage)
		{
			$orderNum = 0;
		}
		else
		{
			$orderNum = $realPage->OrderNum;
		}

		// Tag dummy links

		if($realPage->DummyNavBarItem == TRUE)
		{
			$urlName = '';

			$target = '';
		}

		$pageName = str_replace("'", "\'", $realPage->Name);

		$pageName = str_replace('&', '&amp;', $pageName);

		$urlName = str_replace("'", "\'", $urlName);

		$pages[] = "Menu.AddLink({$parent}, {$realPage->ID}, {$orderNum}, '{$urlName}', '{$pageName}', '{$target}');";

		if (isset($page['ChildNodes']) && is_array($page['ChildNodes']))
		{
			foreach ($page['ChildNodes'] as $childPage)
			{
				PrintNode($childPage);
			}
		}
	}
}

foreach ($customer->Site->MenuSiteMap(PAGES_IN_NAVIGATION | PAGES_WITH_PARENT | PAGES_ONLINE, PAGE_PUBLISHED) as $page)
{
	PrintNode($page);
}

$pagesStr = implode(LF.TAB, $pages);

$str = ";function initMenu(layout, offset) {
	Menu = new AsylumNav('navMenu', layout, offset);

	{$pagesStr}

	Menu.Construct();
}
";

$str .= file_get_contents('TemplaterNav.js');

$age = 7200; // seconds

header('Content-type: text/javascript');

header('Cache-Control: public,max-age='.$age);

header('Expires: '.date('r', time() + $age));

echo $str;
?>
