function borderize(name){
	var voicesGrid = document.getElementById("voices-grid");
	var gridChildren = strip_non_div(voicesGrid.childNodes);
	var drawBorder = true;
	var hiddenBoxExists = false;
	var oddBase = gridChildren.length%2;
	
	if (name) {
		var hidden = document.getElementById("voice-box-" + name)
		if(hidden){
			hidden.className += ' hidden';
			hiddenBoxExists = true;
		}
	}
	
	for(var i=0; i < gridChildren.length; i++ ) {
		voiceBox = gridChildren[i];
		if(!voiceBox.className.match(/hidden/i)) {
			if (drawBorder) voiceBox.className += " border";
			drawBorder = drawBorder? false : true;
			
			if((hiddenBoxExists && oddBase) || (!hiddenBoxExists && !oddBase)) {
				if(gridChildren.length - i <= 2) voiceBox.className += " last";
			} else if ((!hiddenBoxExists && oddBase) || (hiddenBoxExists && !oddBase)) {
				if(gridChildren.length - i <= 1) voiceBox.className += " last";
			}

		}
	}
}

function strip_non_div(nodeList){
	var retList = new Array();
	for(var i=0; i < nodeList.length; i++ ) {
		var node = nodeList[i];
		if(node.tagName && node.tagName.match(/div/i))
			retList.push(node);
	}
	return retList;
}
