/////////////////////////////////////////////////////////////////////////////
// Function : NavNode (constructor)
// Comments :
/////////////////////////////////////////////////////////////////////////////
function NavNode(id, label, href, parent)
{
	this.m_parent = null;
	this.m_level = 0;

	if (parent)
	{
		this.m_parent = parent;
		this.m_level = parent.m_level+1;
	}

	this.m_id = id;

	// assume that m_label will most often be used directly as HTML
	this.m_rawlabel = label;

	label = label.replace(/&/g, '&amp;');
	label = label.replace(/</g, '&lt;');
	label = label.replace(/>/g, '&gt;');
	label = label.replace(/"/g, '&quot;');

	this.m_label = label;

	this.m_href = href;
	this.m_subNodes = new Array();

	var argValues = NavNode.arguments;
	var argCount = NavNode.arguments.length;

	for (i = 4 ; i < argCount ; i++)
	{
		var attrName = argValues[i].split("==")[0];
		var attrValue = argValues[i].split("==")[1];

		eval("this.cp_" + attrName + " = '" + attrValue + "';");
	}

	NavNode.prototype.addNode = addNode;
	NavNode.prototype.isSelected = isSelected;
}

/////////////////////////////////////////////////////////////////////////////
// Function : addNode
// Comments :
/////////////////////////////////////////////////////////////////////////////
function addNode(id, label, href)
{
	var newIndex = this.m_subNodes.length;
	var newNode = new NavNode(id, label, href, this);

	var argValues = addNode.arguments;
	var argCount = addNode.arguments.length;

	for (i = 3 ; i < argCount ; i++)
	{
		var attrName = argValues[i].split("==")[0];
		var attrValue = argValues[i].split("==")[1];

		eval("newNode.cp_" + attrName + " = '" + attrValue + "';");
	}

	this.m_subNodes[newIndex] = newNode;
	return newNode;
}

/////////////////////////////////////////////////////////////////////////////
// Function : isSelected
// Comments :
/////////////////////////////////////////////////////////////////////////////
function isSelected()
{
    var pos = window.location.href.lastIndexOf("/");
    var docname = window.location.href.substring(pos+1, window.location.href.length);

    pos = this.m_href.lastIndexOf("/");
    var myname = this.m_href.substring(pos+1, this.m_href.length);

    if (docname == myname)
		return true;
	else
		return false;
}

/////////////////////////////////////////////////////////////////////////////
// Function : customSectionPropertyExists
// Comments :
/////////////////////////////////////////////////////////////////////////////
function customSectionPropertyExists(csp)
{
	return (typeof csp != _U && csp != null);
}

/////////////////////////////////////////////////////////////////////////////
// Function : getCustomSectionProperty
// Comments :
/////////////////////////////////////////////////////////////////////////////
function getCustomSectionProperty(csp)
{
	if (customSectionPropertyExists(csp))
	{
		return csp;
	}
	else
	{
		return "";
	}
}

/////////////////////////////////////////////////////////////////////////////

var g_navNode_Root = new NavNode('142','Home',ssUrlPrefix + 'index.htm',null,'secondaryUrlVariableField==region2');
g_navNode_0=g_navNode_Root.addNode('168','Marinas e Portos de Recreio',ssUrlPrefix + 'MarinasePortosdeRecreio/index.htm');
g_navNode_0_1=g_navNode_0.addNode('13','Rio Douro',ssUrlPrefix + 'MarinasePortosdeRecreio/RioDouro/index.htm');
g_navNode_0_1_0=g_navNode_0_1.addNode('33','Marina Angra do Douro',ssUrlPrefix + 'MarinasePortosdeRecreio/RioDouro/MarinaAngradoDouro/index.htm');
g_navNode_0_1_1=g_navNode_0_1.addNode('14','P\xf3lo Fluvial do Freixo',ssUrlPrefix + 'MarinasePortosdeRecreio/RioDouro/PoloFluvialdoFreixo/index.htm');
g_navNode_0_2=g_navNode_0.addNode('185','Zona Norte',ssUrlPrefix + 'MarinasePortosdeRecreio/ZonaNorte/index.htm');
g_navNode_0_2_0=g_navNode_0_2.addNode('265','Marina da P\xf3voa',ssUrlPrefix + 'MarinasePortosdeRecreio/ZonaNorte/MarinadaPovoa/index.htm');
g_navNode_0_2_1=g_navNode_0_2.addNode('4','Marina Porto Atl\xe2ntico',ssUrlPrefix + 'MarinasePortosdeRecreio/ZonaNorte/MarinaPortoAtlantico/index.htm');
g_navNode_0_2_2=g_navNode_0_2.addNode('32','Viana Marina',ssUrlPrefix + 'MarinasePortosdeRecreio/ZonaNorte/VianaMarina/index.htm');
g_navNode_0_3=g_navNode_0.addNode('187','Zona Centro',ssUrlPrefix + 'MarinasePortosdeRecreio/ZonaCentro/index.htm');
g_navNode_0_3_0=g_navNode_0_3.addNode('44','Doca de Recreio das Fonta\xednhas',ssUrlPrefix + 'MarinasePortosdeRecreio/ZonaCentro/DocadeRecreiodasFontainhas/index.htm');
g_navNode_0_3_1=g_navNode_0_3.addNode('41','Doca de Recreio de Alc\xe2ntara',ssUrlPrefix + 'MarinasePortosdeRecreio/ZonaCentro/DocadeRecreiodeAlcantara/index.htm');
g_navNode_0_3_2=g_navNode_0_3.addNode('39','Doca de Recreio de Bel\xe9m',ssUrlPrefix + 'MarinasePortosdeRecreio/ZonaCentro/DocadeRecreiodeBelem/index.htm');
g_navNode_0_3_3=g_navNode_0_3.addNode('40','Doca de Recreio de Santo Amaro',ssUrlPrefix + 'MarinasePortosdeRecreio/ZonaCentro/DocadeRecreiodeSantoAmaro/index.htm');
g_navNode_0_3_4=g_navNode_0_3.addNode('38','Doca de Recreio do Bom Sucesso',ssUrlPrefix + 'MarinasePortosdeRecreio/ZonaCentro/DocadeRecreiodoBomSucesso/index.htm');
g_navNode_0_3_5=g_navNode_0_3.addNode('34','Marina da Torreira',ssUrlPrefix + 'MarinasePortosdeRecreio/ZonaCentro/MarinadaTorreira/index.htm');
g_navNode_0_3_6=g_navNode_0_3.addNode('37','Marina da Ribeira',ssUrlPrefix + 'MarinasePortosdeRecreio/ZonaCentro/MarinadaRibeira/index.htm');
g_navNode_0_3_7=g_navNode_0_3.addNode('189','Marina de Cascais',ssUrlPrefix + 'MarinasePortosdeRecreio/ZonaCentro/MarinadeCascais/index.htm');
g_navNode_0_3_8=g_navNode_0_3.addNode('59','Marina de Tr\xf3ia',ssUrlPrefix + 'MarinasePortosdeRecreio/ZonaCentro/MarinadeTroia/index.htm');
g_navNode_0_3_9=g_navNode_0_3.addNode('205','Marina Parque das Na\xe7\xf5es',ssUrlPrefix + 'MarinasePortosdeRecreio/ZonaCentro/MarinaParquedasNacoes/index.htm');
g_navNode_0_3_10=g_navNode_0_3.addNode('36','N\xfacleo de Recreio do Porto da Nazar\xe9',ssUrlPrefix + 'MarinasePortosdeRecreio/ZonaCentro/NucleodeRecreiodoPortodaNazare/index.htm');
g_navNode_0_3_11=g_navNode_0_3.addNode('35','Porto de Recreio da Figueira da Foz',ssUrlPrefix + 'MarinasePortosdeRecreio/ZonaCentro/PortodeRecreiodaFigueiradaFoz/index.htm');
g_navNode_0_3_12=g_navNode_0_3.addNode('190','Porto de Recreio de Oeiras',ssUrlPrefix + 'MarinasePortosdeRecreio/ZonaCentro/PortodeRecreiodeOeiras/index.htm');
g_navNode_0_3_13=g_navNode_0_3.addNode('42','Porto de Recreio de Sesimbra',ssUrlPrefix + 'MarinasePortosdeRecreio/ZonaCentro/PortodeRecreiodeSesimbra/index.htm');
g_navNode_0_3_14=g_navNode_0_3.addNode('264','Porto de Recreio do Carregal',ssUrlPrefix + 'MarinasePortosdeRecreio/ZonaCentro/PortodeRecreiodoCarregal/index.htm');
g_navNode_0_4=g_navNode_0.addNode('192','Zona Sul',ssUrlPrefix + 'MarinasePortosdeRecreio/ZonaSul/index.htm');
g_navNode_0_4_0=g_navNode_0_4.addNode('60','Amieira Marina',ssUrlPrefix + 'MarinasePortosdeRecreio/ZonaSul/AmieiraMarina/index.htm');
g_navNode_0_4_1=g_navNode_0_4.addNode('47','Doca de Recreio de Faro',ssUrlPrefix + 'MarinasePortosdeRecreio/ZonaSul/DocadeRecreiodeFaro/index.htm');
g_navNode_0_4_2=g_navNode_0_4.addNode('267','Marina de Albufeira',ssUrlPrefix + 'MarinasePortosdeRecreio/ZonaSul/MarinadeAlbufeira/index.htm');
g_navNode_0_4_3=g_navNode_0_4.addNode('46','Marina de Lagos',ssUrlPrefix + 'MarinasePortosdeRecreio/ZonaSul/MarinadeLagos/index.htm');
g_navNode_0_4_4=g_navNode_0_4.addNode('193','Marina de Portim\xe3o',ssUrlPrefix + 'MarinasePortosdeRecreio/ZonaSul/MarinadePortimao/index.htm');
g_navNode_0_4_5=g_navNode_0_4.addNode('268','Marina de Vilamoura',ssUrlPrefix + 'MarinasePortosdeRecreio/ZonaSul/MarinadeVilamoura/index.htm');
g_navNode_0_4_6=g_navNode_0_4.addNode('217','Porto de Recreio Boca do Rio',ssUrlPrefix + 'MarinasePortosdeRecreio/ZonaSul/PortodeRecreioBocadoRio/index.htm');
g_navNode_0_4_7=g_navNode_0_4.addNode('247','Porto de Recreio de Olh\xe3o',ssUrlPrefix + 'MarinasePortosdeRecreio/ZonaSul/PortodeRecreiodeOlhao/index.htm');
g_navNode_0_4_8=g_navNode_0_4.addNode('45','Porto de Recreio de Sines',ssUrlPrefix + 'MarinasePortosdeRecreio/ZonaSul/PortodeRecreiodeSines/index.htm');
g_navNode_0_4_9=g_navNode_0_4.addNode('215','Porto de Recreio de Tavira',ssUrlPrefix + 'MarinasePortosdeRecreio/ZonaSul/PortodeRecreiodeTavira/index.htm');
g_navNode_0_4_10=g_navNode_0_4.addNode('48','Porto de Recreio do Guadiana',ssUrlPrefix + 'MarinasePortosdeRecreio/ZonaSul/PortodeRecreiodoGuadiana/index.htm');
g_navNode_0_5=g_navNode_0.addNode('194','Madeira',ssUrlPrefix + 'MarinasePortosdeRecreio/Madeira/index.htm');
g_navNode_0_5_0=g_navNode_0_5.addNode('30','Marina de Porto Santo',ssUrlPrefix + 'MarinasePortosdeRecreio/Madeira/MarinadePortoSanto/index.htm');
g_navNode_0_5_1=g_navNode_0_5.addNode('29','Marina do Funchal',ssUrlPrefix + 'MarinasePortosdeRecreio/Madeira/MarinadoFunchal/index.htm');
g_navNode_0_5_2=g_navNode_0_5.addNode('31','Marina Quinta do Lorde',ssUrlPrefix + 'MarinasePortosdeRecreio/Madeira/MarinaQuintadoLorde/index.htm');
g_navNode_0_6=g_navNode_0.addNode('195','A\xe7ores',ssUrlPrefix + 'MarinasePortosdeRecreio/Acores/index.htm');
g_navNode_0_6_0=g_navNode_0_6.addNode('24','Horta Marina',ssUrlPrefix + 'MarinasePortosdeRecreio/Acores/HortaMarina/index.htm');
g_navNode_0_6_1=g_navNode_0_6.addNode('26','Marina D\'Angra',ssUrlPrefix + 'MarinasePortosdeRecreio/Acores/MarinaDAngra/index.htm');
g_navNode_0_6_2=g_navNode_0_6.addNode('27','Marina da Vila',ssUrlPrefix + 'MarinasePortosdeRecreio/Acores/MarinadaVila/index.htm');
g_navNode_0_6_3=g_navNode_0_6.addNode('28','Marina P\xearo de Teive',ssUrlPrefix + 'MarinasePortosdeRecreio/Acores/MarinaPerodeTeive/index.htm');
g_navNode_0_6_4=g_navNode_0_6.addNode('25','Marina Praia da Vit\xf3ria',ssUrlPrefix + 'MarinasePortosdeRecreio/Acores/MarinaPraiadaVitoria/index.htm');
g_navNode_1=g_navNode_Root.addNode('169','Embarca\xe7\xf5es',ssUrlPrefix + 'Embarcacoes/index.htm');
g_navNode_2=g_navNode_Root.addNode('170','Navegador de Recreio',ssUrlPrefix + 'CartasdeNavegador/index.htm');
g_navNode_2_0=g_navNode_2.addNode('99','Tarif\xe1rio',ssUrlPrefix + 'CartasdeNavegador/Tarifario/index.htm');
g_navNode_3=g_navNode_Root.addNode('171','Desportos N\xe1uticos',ssUrlPrefix + 'DesportosNauticos/index.htm','secondaryUrlVariableField==region2');
g_navNode_4=g_navNode_Root.addNode('172','Direct\xf3rio de Entidades',ssUrlPrefix + 'DirectoriodeEntidades/index.htm');
g_navNode_4_0=g_navNode_4.addNode('277','Escolas de Forma\xe7\xe3o de Navegadores de Recreio',ssUrlPrefix + 'DirectoriodeEntidades/Escolas/index.htm');
g_navNode_4_0_0=g_navNode_4_0.addNode('284','Norte',ssUrlPrefix + 'DirectoriodeEntidades/Escolas/ZonaNorte/index.htm');
g_navNode_4_0_1=g_navNode_4_0.addNode('285','Centro',ssUrlPrefix + 'DirectoriodeEntidades/Escolas/ZonaCentro/index.htm');
g_navNode_4_0_2=g_navNode_4_0.addNode('286','Lisboa e Vale do Tejo',ssUrlPrefix + 'DirectoriodeEntidades/Escolas/LisboaeValedoTejo/index.htm');
g_navNode_4_0_3=g_navNode_4_0.addNode('19','Alentejo',ssUrlPrefix + 'DirectoriodeEntidades/Escolas/Alentejo/index.htm');
g_navNode_4_0_4=g_navNode_4_0.addNode('287','Algarve',ssUrlPrefix + 'DirectoriodeEntidades/Escolas/AlentejoeAlgarve/index.htm');
g_navNode_4_0_5=g_navNode_4_0.addNode('288','Madeira',ssUrlPrefix + 'DirectoriodeEntidades/Escolas/MadeiraeAcores/index.htm');
g_navNode_4_0_6=g_navNode_4_0.addNode('1','A\xe7ores',ssUrlPrefix + 'DirectoriodeEntidades/Escolas/Acores/index.htm');
g_navNode_4_1=g_navNode_4.addNode('96','Administra\xe7\xf5es Portu\xe1rias',ssUrlPrefix + 'DirectoriodeEntidades/AdministracoesPortuarias/index.htm');
g_navNode_4_2=g_navNode_4.addNode('95','Capitanias',ssUrlPrefix + 'DirectoriodeEntidades/Capitanias/index.htm');
g_navNode_4_3=g_navNode_4.addNode('49','Federa\xe7\xf5es Portuguesas',ssUrlPrefix + 'DirectoriodeEntidades/FederacoesPortuguesas/index.htm');
g_navNode_4_4=g_navNode_4.addNode('94','Associa\xe7\xf5es',ssUrlPrefix + 'DirectoriodeEntidades/Associacoes/index.htm');
g_navNode_4_5=g_navNode_4.addNode('50','Outras',ssUrlPrefix + 'DirectoriodeEntidades/Outras/index.htm');
g_navNode_5=g_navNode_Root.addNode('173','Seguran\xe7a da Navega\xe7\xe3o',ssUrlPrefix + 'SegurancadaNavegacao/index.htm');
g_navNode_5_0=g_navNode_5.addNode('11','Legisla\xe7\xe3o e Normas',ssUrlPrefix + 'SegurancadaNavegacao/LegislacaoNormas/index.htm');
g_navNode_5_1=g_navNode_5.addNode('12','Apoio \xe0 Navega\xe7\xe3o',ssUrlPrefix + 'SegurancadaNavegacao/ApoioNavegacao/index.htm');
g_navNode_5_2=g_navNode_5.addNode('52','Verifica\xe7\xe3o dos Sistemas N\xe1uticos',ssUrlPrefix + 'SegurancadaNavegacao/VerificacaodosSistemasNauticos/index.htm');
g_navNode_5_3=g_navNode_5.addNode('135','Embarca\xe7\xf5es',ssUrlPrefix + 'SegurancadaNavegacao/Embarcacoes/index.htm');
g_navNode_5_4=g_navNode_5.addNode('136','3.\xba Pacote de Seguran\xe7a Mar\xedtima',ssUrlPrefix + 'SegurancadaNavegacao/3PacotedeSegurancaMaritima/index.htm');
g_navNode_6=g_navNode_Root.addNode('174','Informa\xe7\xf5es',ssUrlPrefix + 'Informacoes/index.htm');
g_navNode_6_3=g_navNode_6.addNode('51','Museus',ssUrlPrefix + 'Informacoes/Museus/index.htm');
g_navNode_7=g_navNode_Root.addNode('175','Estat\xedsticas',ssUrlPrefix + 'Estatisticas/index.htm');
g_navNode_7_0=g_navNode_7.addNode('5','Navegador de Recreio',ssUrlPrefix + 'Estatisticas/NavegadorRecreio/index.htm');
g_navNode_7_0_0=g_navNode_7_0.addNode('22','Total Cartas',ssUrlPrefix + 'Estatisticas/NavegadorRecreio/TotalCartas/index.htm');
g_navNode_7_0_1=g_navNode_7_0.addNode('23','Emiss\xe3o Cartas',ssUrlPrefix + 'Estatisticas/NavegadorRecreio/EmissaoCartas/index.htm');
if (SSContributor)
{
g_navNode_17=g_navNode_Root.addNode('20','ADMIN APP',ssUrlPrefix + 'ADMIN/index.htm','contributorOnly==TRUE');
}
