function expandExpPart(p, type) {
	var doc = window.top.frames['bottomframe'].document;
	var expid = doc.getElementById(p);
	setExpPart(p, type, expid.style.display != 'none');
}
// sets the expandable part
// 
// p - the name of the part
// type - the type (0 - major, 1 - minor)
// expansion - indicates if the part should be expanded
function setExpPart(p, type, expansion) {
  if(!window.top.frames['bottomframe'])
    return;
    
	var doc = window.top.frames['bottomframe'].document;
	var expid = doc.getElementById(p);
	if(expid == null)
		return;
	var expimg = doc.getElementById(p + 'img');
	if(expansion) {
		expid.style.display = 'none';
		expimg.src = 'images/notexp-wh.gif';
	} else {
		expid.style.display = '';
		expimg.src = 'images/exp-wh.gif';
	}
	
	var supportsColor = navigator.appName.indexOf("Microsoft") != -1 ||
		(navigator.appName.indexOf("Netscape") != -1 &&
			navigator.appVersion.indexOf("5.") != -1) ||
		navigator.appName.indexOf("Opera") != -1;
	if(supportsColor) {
		if(type == 0)
			changeColor(expid.parentNode.parentNode.parentNode.parentNode, type, expansion);
		else {
			var node = expid.parentNode.parentNode.previousSibling;
			if(node.nodeName != "TR")
				node = node.previousSibling;
			changeColor(node, type, expansion);
		}
	} else {
		var greattable;
		if(type == 0)
			greattable = expid.parentNode.parentNode.parentNode.parentNode;
		else if(type == 1)
			greattable = expid.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode;
		greattable.style.height = 1;
		greattable.style.height = 0;
	}
//	processLinks(document, p, expansion);
//	if(window.location.protocol != "https:")
//		processLinks(parent.frames['topframe'].document, p, expansion);
}
function changeColor(item, type, expanded) {
	if(item.nodeName == "TD") {
		if(expanded) {
			if(item.className == 'db') {
				if(type == 0)
					item.className = 'dg';
				else if(type == 1)
					item.className = 'mn';
			}
			if(item.className == 'db-wh') {
				if(type == 0)
					item.className = 'dg-db';
				else if(type == 1)
					item.className = 'mn-db';
			}
			if(item.className == 'db-wh-sm') 
				item.className = 'dg-db-sm';
			if(item.className == 'db2')
				item.className = 'lg';
			if(item.className == 'db2-wh')
				item.className = 'lg-db';
			if(item.className == 'db2-wh-sm')
				item.className = 'lg-db-sm';
		} else {
			if(item.className == 'dg')
				item.className = 'db';
			if(item.className == 'mn')
				item.className = 'db';
			if(item.className == 'dg-db')
				item.className = 'db-wh';
			if(item.className == 'mn-db')
				item.className = 'db-wh';
			if(item.className == 'dg-db-sm')
				item.className = 'db-wh-sm';
			if(item.className == 'lg')
				item.className = 'db2';
			if(item.className == 'lg-db')
				item.className = 'db2-wh';
			if(item.className == 'lg-db-sm')
				item.className = 'db2-wh-sm';
		}
	} else if(item.nodeName == "IMG") {
		if(expanded) {
			var src = item.src;
			var k = src.lastIndexOf('/');
			var a = src.substring(src, k + 1);
			var b = src.substr(k + 1);
			if(b.substr(b.length - 7) == "-wh.gif")
				b = b.substring(0, b.length - 7) + "-db.gif";
			if(b.substring(0, 8) == "crnr-db-")
				b = "crnr-dg-" + b.substr(8);
			if(b.substring(0, 9) == "crnr-db2-")
				b = "crnr-lg-" + b.substr(9);
			item.src = a + b;
		} else {
			var src = item.src;
			var k = src.lastIndexOf('/');
			var a = src.substring(src, k + 1);
			var b = src.substr(k + 1);
			if(b.substr(b.length - 7) == "-db.gif")
				b = b.substring(0, b.length - 7) + "-wh.gif";
			if(b.substring(0, 8) == "crnr-dg-")
				b = "crnr-db-" + b.substr(8);
			if(b.substring(0, 8) == "crnr-lg-")
				b = "crnr-db2-" + b.substr(8);
			item.src = a + b;
		}
	} else if(item.nodeName == "A") {
		if(expanded) {
			if(item.className == "link-wh")
				item.className = "link-db";
		} else {
			if(item.className == "link-db")
				item.className = "link-wh";
		}
	}
	if(item.nodeName != "DIV" && item.childNodes) {
		for(var i = 0; i < item.childNodes.length; i++)
			changeColor(item.childNodes.item(i), type, expanded);
	}
}
function processLinkOnClick(e) {
	if(e == null)
		e = event;
	var link;
	if(isNetscape()) {
		link = e.target;
		while(link.tagName != "a" && link.tagName != "A")
			link = link.parentNode;
	} else {
		link = e.srcElement;
		while(link.tagName != "a" && link.tagName != "A")
			link = link.parentElement;
	}
	var s = link.href;
	
	var confirm = s.indexOf("document.location.href") != -1;
	if(!confirm && s.indexOf("javascript") != -1)
		return;
	var confirmLink = s;
	if(confirm) {
		var confirmLinkStart = confirmLink.indexOf("'", confirmLink.indexOf("document.location.href"));
		var confirmLinkEnd = confirmLink.indexOf("'", confirmLinkStart + 1);
		s = s.substring(confirmLinkStart + 1, confirmLinkEnd);
	}
	
	var modules = document.getElementsByTagName("DIV");
	for(var i = 0; i < modules.length; i++) {
		var expid = modules[i];
		var expimg = document.getElementById(expid.id + 'img');
		if(expimg && expid.style.display != 'none') {
			if(s.indexOf('?') == -1)
				s = s + "?expPart" + expid.id + "=1";
			else
				s = s + "&expPart" + expid.id + "=1";
		}
	}
	if(!confirm)
		link.href = s;
	else {
		var confirmLinkStart = confirmLink.indexOf("'", confirmLink.indexOf("document.location.href"));
		var confirmLinkEnd = confirmLink.indexOf("'", confirmLinkStart + 1);
		link.href = confirmLink.substring(0, confirmLinkStart + 1) + s +
				confirmLink.substring(confirmLinkEnd, confirmLink.length);
	}
}
function supportsExpansion() {
	return navigator.appName.indexOf("Microsoft") != -1 ||
		(navigator.appName.indexOf("Netscape") != -1 &&
			navigator.appVersion.indexOf("5.") != -1) ||
		navigator.appName.indexOf("Opera") != -1;
}
function isIE() {
	return navigator.appName.indexOf("Microsoft") != -1;
}
function isNetscape() {
	return navigator.appName.indexOf("Netscape") != -1;
}
function isOpera() {
	return navigator.appName.indexOf("Opera") != -1;
}
function onLoad() {
	// process links
	if(!supportsExpansion())
		return;
	for(var i = 0; i < document.links.length; i++)
		document.links[i].onclick = processLinkOnClick;
}

