function expansionString(treeLength, value) {
	var expansion = '';
	for (var i = 0; i < treeLength; i++) {
		expansion += value;
	}
	return expansion;
}

function setInitialState(treeLength, URL, pageID) {
	var re1 = /expansion=([01]*)/;
	var initialState = URL.match(re1);

	if (initialState) {
		var expansion = initialState[1];
		if ((expansion == "null") || (expansion == '')) {
			expansion = cookie.Get(pageID + 'expansion');
			if ((expansion == "null") || (expansion == '')) {
				expansion = expansionString(treeLength, '0');
			}
		} else {
			cookie.Set(pageID + "expansion", expansion, null, "/", "");
		}
	} else {
		expansion = cookie.Get(pageID + 'expansion');
		if ((expansion == "null") || (expansion == '')) {
			expansion = expansionString(treeLength, '0');
		}
	}
	return expansion;
}

function replaceChar(str, index, chr) {
	var tmp = str.slice(0, index);
	var tmp2 = tmp.concat(chr, str.slice(index + 1));
	return tmp2;
}

function flip(element, pageID)
{
	var closed = document.getElementById("t" + element + "a");
	var expanded = document.getElementById("t" + element + "b");
	if (expansion.charAt(element-1) == '1') {
		closed.style.display = "block";
		expanded.style.display = "none";
		expansion = replaceChar(expansion, element-1, '0');
	} else { 
		expanded.style.display = "block";
		closed.style.display = "none";
		expansion = replaceChar(expansion, element-1, '1');
	}
	cookie.Set(pageID + "expansion", expansion, null, "/", "");
}

function initializeExpander(treeLength, expansion) {
	for (i=1; (i<=treeLength) && (i<=expansion.length); i++) {
		var t1a = document.getElementById("t" + i + "a");
		var t1b = document.getElementById("t" + i + "b");
		if (expansion.charAt(i-1) == '0') {
			t1b.style.display = "none";
			t1a.style.display = "block";
		} else { 
			t1b.style.display = "block";
			t1a.style.display = "none";
		}
	}
}

function changeDisplay()
{
	var closed = document.getElementById("closedbox");
	var expanded = document.getElementById("box");
	if (closed!=null && expanded !=null){
		expanded.style.display = "none";
		closed.style.display = "inline";
	}
}
function unewWindow(url) {
	if (arguments.length > 1) {
		var width = String(arguments[1]);
		var height = String(arguments[2]);
		if ((loc = width.indexOf("%")) != -1) {
			width = width.slice(0, loc);
			width = Number(width);
			width = screen.width * (width / 100);
		}
		if ((loc = height.indexOf("%")) != -1) {
			height = height.slice(0, loc);
			height = Number(height);
			height = screen.height * (height / 100);
		}
	} else {
		var width = 300;
		var height = 300;
	}
	var attributeString = 'height=' + height + ',width=' + width + ',menubar=no,scrollbars=yes,resizable=yes,screenX=10,screenY=10,top=10,left=10';
	//alert(attributeString);
	var winpop=window.open(url, 'NewWin', attributeString);
	winpop.focus();
}

