function Navi() {}

Navi.selected = null;
Navi.shadowed = null;
Navi.map = {};

Navi.setOver = function(obj) {
	obj = $(obj);
	if (Navi.selected == obj.up())
		return;
	var base = Navi.parseBase(obj.down().src);
	obj.down().src = base + '_over.png';
}

Navi.setOut = function(obj) {
	obj = $(obj);
	if (Navi.selected == obj.up())
		return;
	var base = Navi.parseBase(obj.down().src);
	if (Navi.shadowed == obj.up())
		obj.down().src = base + '_shadow.png';
	else
		obj.down().src = base + '.png';
}

Navi.setSelected = function(obj) {
	Navi.selected = $(obj);
	var img = $(obj).down('img');
	var base = Navi.parseBase(img.src);
	img.src = base + '_sel.png';
}

Navi.setShadow = function(obj) {
	Navi.shadowed = $(obj);
	var img = $(obj).down('img');
	var base = Navi.parseBase(img.src);
	img.src = base + '_shadow.png';
}

Navi.parseBase = function(str) {
	str = str.substr(0, str.lastIndexOf('.png'));
	if (str.indexOf('_') > 0)
		return str.substr(0, str.lastIndexOf('_'));
	return str;
}

Navi.initialize = function() {
	var url = window.location.href;
	//url = 'http://www.zonta.fi/raportit.html';

	if (url.indexOf('/')>-1)
		url = url.substr(url.lastIndexOf('/'));

	var navi = $('navi').select('div');
	var sel = null;
	for (var x=0; x<navi.length; x++) {
		var tmp = navi[x];
		var obj = {};
		obj.div = tmp;
		obj.image = tmp.down('img');
		obj.link = tmp.down('a');
		var href = obj.link.href;
		if (href.indexOf('http://www.zonta.fi/')==0 || href.indexOf('http://zonta.fi/')==0) {
			href = href.substr(href.lastIndexOf('/'));
		}
		obj.href = href;
		if (tmp.hasClassName('l1')) {
			obj.children = [];
			Navi.map[tmp.id] = obj;
		} else {
			var key = tmp.id.split('_');
			obj.parent = Navi.map[key[0]];
			Navi.map[tmp.id] = obj;
			obj.parent.children.push(Navi.map[tmp.id]);
			//console.log(obj.div);
			//console.log(obj.parent.children.length);
		}
		if (obj.href == url)
			sel = obj;
	}
	if (sel) {
		if (sel.parent == undefined)
			Navi.level1(sel);
		else
			Navi.level2(sel);
	}
}

Navi.level1 = function(obj) {
	if (obj && obj.div) {
		Navi.setSelected(obj.div);
		for (var x=0; x<obj.children.length; x++) {
			obj.children[x].div.show();
		}
	}
}

Navi.level2 = function(obj) {
	if (obj.parent.children.length>0)
		Navi.setShadow(obj.parent.children[0].div);
	for (var x=0; x<obj.parent.children.length; x++) {
		obj.parent.children[x].div.show();
	}
	Navi.setSelected(obj.div);
}

Event.observe(window, 'load', Navi.initialize);


