Проблема состоит в том, что код предполагает, что все значения идентификатора элемента в массиве будут соответствовать фактическим элементам на странице. Может быть изменено:
expandsubcontent:function(subcontentid){
for (var i=0; i<this.subcontentids.length; i++){
var subcontent=document.getElementById(this.subcontentids[i]) //cache current subcontent obj (in for loop)
if (subcontent)
subcontent.style.display=(subcontent.id==subcontentid)? "block" : "none" //"show" or hide sub content based on matching id attr value
}
},