Если целью скрипта является лишь смена отображения, можно менять класс у обвертки, таким образом убрав все данные об открытых блоках в одно место и делегировав состояния css, вместо того, чтобы их отслеживать руками.
Например, так:
<style type="text/css">
.tpl-togglebox {display: none}
#tpl-togglebox-group.state-1 .tpl-togglebox-1,
#tpl-togglebox-group.state-2 .tpl-togglebox-2 {
display: block;
}
</style>
<script type="text/javascript" src="/misc/pack.2.js"></script>
<script type="text/javascript">
function switchToggleBox(n){
var toggleboxGroup = document.getElementById("tpl-togglebox-group");
toggleboxGroup.className = (toggleboxGroup.className.replace(/(^|\s)+state-[^\s]+/g, '') + " state-" + n);
}
</script>
<div id="tpl-togglebox-group" class="state-1">
<div class="tpl-togglebox tpl-togglebox-1">Блок 1</div>
<div class="tpl-togglebox tpl-togglebox-2">2-й блок</div>
</div>
<button onclick="switchToggleBox(1)">1</button>
<button onclick="switchToggleBox(2)">2</button>