var nav;
	
function Navigation() {
	this.sections = new Array();	
	this.base = '/';
	this.id = toId(name);
}	

Navigation.prototype.addSection = navigation_addSection;
Navigation.prototype.addItem = navigation_addItem;	

Navigation.prototype.initPage = navigation_initPage;
Navigation.prototype.toggleCollapse = navigation_toggleCollapse;
Navigation.prototype.openItem = navigation_openItem;
Navigation.prototype.closeItem = navigation_closeItem;

Navigation.prototype.createHTML = navigation_createHTML;	

function Section(name, url) {
	this.name = name;
	this.id = toId(name);
	this.url = url;
	this.items = new Array();
}

function Item(name, url) {
	this.name = name;
	this.id = toId(name);
	this.url = url;
}


/* ---- navigation initialization ---- */

function navigation_addSection(name, url){
	this.sections[this.sections.length] = new Section(name, url);
}

function navigation_addItem(name, url){
	section = this.sections[this.sections.length-1];
	section.items[section.items.length] = new Item(name, url);
}

/* ---- html output ---- */

function navigation_createHTML(){
	str = '';		
	
	// create navigation bar
	str += '<div id="nav' + this.id + '" class="navContainer">\n';	
	for (i=0; i<this.sections.length; i++) {		
		str += '<table border="0" cellpadding="0" cellspacing="0" class="nav">\n';
		str += '<tr><td width="1"><img name="' + this.id + this.sections[i].id + 'Ref" id="' + this.id + this.sections[i].id + 'Ref" src="/media/spacer.gif" width="1" height="1" alt="" border="0" class="positioner" /></td>';				
	
		//str += '<td class="navSection">' + this.sections[i].name + '</td>';	
	
		if (this.sections[i].items.length != 0) {			
			str += '<td class="navSection"><a href="#" onClick="toggleCollapse(\'id' + i + '\')">' + this.sections[i].name + '</a></td>';	
			str += '<td width="21"><a href="#" onClick="toggleCollapse(\'id' + i + '\')">';	
			str += '<img src="/media/nav_openen.gif" width="21" height="23" border="0" alt="Openen" id="id' + i + 'Img" /></a></td>';	
		} else {	
			str += '<td class="navSection"><a>' + this.sections[i].name + '</a></td>';	
			str += '<td width="21">';	
			str += '<img src="/media/nav_empty.gif" width="21" height="23" border="0" alt="" id="id' + i + 'Img"  /></a></td>';	
		}
	
		str += '</tr>\n';
		str += '<tr><td colspan="3" height="2"><img src="/media/nav_lijn_wit.gif" width="157" height="2" alt="" border="0" /></td></tr>\n';
		str += '</table>\n\n';		
	
		// create menus		
		str += '<table cellpadding="0" cellspacing="0" border="0" id="id' + i + '" class="navCloseItem">';	
		for (j=0; j<this.sections[i].items.length; j++) {
			if((this.sections[i].items[j].url).indexOf("http://") > -1){
				this.base = "";
			} else {
				this.base = "/";
			}
			str += '<tr><td class="navItem"><a href="' + this.base + this.sections[i].items[j].url + '">';
			str += this.sections[i].items[j].name + '</a></td></tr>';
			str += '<tr><td height="2"><img src="/media/nav_lijn_wit.gif" width="157" height="2" alt="" border="0" /></td></tr>';								
		}	
		str += '</table>\n\n';				
	}
	str += '</div>\n\n';				
			
	//alert(str);
	document.write(str);
}	

/* ---- collapse ---- */

function navigation_toggleCollapse(id) {
	var itemData = getCookie('cookies');				
	 if (document.getElementById(id).className == 'navOpenItem' || document.getElementById(id).style.visible == '') {	
		closeItem(id);			
		var homePageItems = [];
		if (itemData != null) homePageItems = itemData.split('@');	
		var newList = [];
		for (var i=0; i<homePageItems.length; i++) {
			if (homePageItems[i] != id) newList[newList.length] = homePageItems[i]; 
		}
		homePageItems = newList;		
		var cookieStr = '';
		if (homePageItems.length != 0) cookieStr = homePageItems.join('@');
		setCookie('cookies', cookieStr);				
	} else {	
		openItem(id);				
		if ((itemData != null) && (itemData != '')) {
			itemData += '@' + id;
		} else {	
			itemData = id;
		}
		setCookie('cookies', itemData);
	}			
}

function navigation_initPage() {
	var cookies;	
	if(getCookie('cookies')!= null) {	
		var itemIds = getCookie('cookies').split('@');		
		for (var i=0; i<itemIds.length; i++) {
			if (document.getElementById(itemIds[i])) openItem(itemIds[i]);
		}
	} else { 
		// define default opened items on homepage, i.e. 'links' = 'id2'		
		var defaultOpenedItemsIds = [];		
		if (defaultOpenedItemsIds.length != 0) {			
			setCookie('cookies', defaultOpenedItemsIds.join('@'));						
			for (var i=0; i<defaultOpenedItemsIds.length; i++) {	
				document.getElementById('id1Img').src = "/media/nav_empty.gif";
				openItem(defaultOpenedItemsIds[i]);
			}
		}
	}		
}
	
function navigation_closeItem(id) {
	document.getElementById(id).className = "navCloseItem"
	document.getElementById(id + 'Img').src = "/media/nav_openen.gif";
}

function navigation_openItem(id) {
	document.getElementById(id).className = "navOpenItem"
	document.getElementById(id + 'Img').src = "/media/nav_sluiten.gif";	
}

/* ---- inpage functions ---- */

function initPage() {
	nav.initPage();
}

function toggleCollapse(id) {
	nav.toggleCollapse(id);
}

function openItem(id) {
	nav.openItem(id);
}

function closeItem(id) {
	nav.closeItem(id);
}

function createHTML() {
	nav.createHTML();
}


