// --------------------------------------------------------------------------------
// add functions to call onload
// --------------------------------------------------------------------------------

function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

// --------------------------------------------------------------------------------
// popup windows
// --------------------------------------------------------------------------------

function popup(url) {
	url += (url.indexOf('?') > -1) ? '&':'?';
	url += 'popup=1';
	window.open(url, null, 'width=424,height=500,scrollbars,resizable');
	return false;
}


// --------------------------------------------------------------------------------
// disclosure lists (click a list item to show content)
// --------------------------------------------------------------------------------

function initDisclosureLists() {
	lists = document.getElementsByTagName('ol');
	for(i in lists) {
		if(typeof(lists[i]) != 'object') continue;
		if(lists[i].className.indexOf('disclosure') != -1) initDisclosureList(lists[i],i);
	}
	lists = document.getElementsByTagName('ul');
	for(i in lists) {
		if(typeof(lists[i]) != 'object') continue;
		if(lists[i].className.indexOf('disclosure') != -1) initDisclosureList(lists[i],i);
	}
}
addLoadEvent(initDisclosureLists);

function initDisclosureList(list,n) {
	list = list.getElementsByTagName('li');
	for(i in list) {
		if(typeof(list[i]) != 'object') continue;
		divs = list[i].getElementsByTagName('div');
		a = divs[0].getElementsByTagName('a')[0];
		d = divs[1];
		d.style.display = 'none';

		d.id = 'n'+n+'-'+i;
		a.disclosureId = d.id
		a.onclick = function() { showDisclosureItem(this.disclosureId); this.blur(); return false; }
	}
}

function showDisclosureItem(id) {
	list = document.getElementById(id).parentNode.parentNode.getElementsByTagName('li');
	for(i in list) {
		if(typeof(list[i]) != 'object') continue;
		d = list[i].getElementsByTagName('div')[1];
		if(d.id != id) {
			styleDisclosureItem(d, false);
		}
	}
	d = document.getElementById(id);
	styleDisclosureItem(d, d.style.display);
}

function styleDisclosureItem(o,toggle) {
	if(toggle) {
		o.style.display = '';
		o.parentNode.style.padding = '10px';
		o.parentNode.style.backgroundColor = '#f9f9f9';
		o.parentNode.style.border = '1px solid #ededed'; 
		o.parentNode.style.borderWidth = '1px 0';
	} else {
		o.style.display = 'none';
		o.parentNode.style.padding = '0';
		o.parentNode.style.backgroundColor = '#ffffff';
		o.parentNode.style.border = 'none';
	}
}