var pcMask = /^[\d]{1,2}$/; //Tests for a digit in the first or second place, max string length var drop = this.getField("NumberOfTerminals").value; //Pulled from main drop-down var ocgOnArray = this.getOCGs(); for (var i = 0; i < ocgOnArray.length; i++) { var fname = ocgOnArray[i].name; if (pcMask.test(fname) && ocgOnArray[i].name <= drop) { //Testing to isolate parents then less or equal to drop-down value ocgOnArray[i].state = true; ocgOnArray[i].initState = true; var gDropName = ("NumberOfTaps" + fname); //Name of smaller drop-down located on each parent layer, this variable does not want to populate and is an issue right now var pcMaskG = /[-]/; //All layers with dashes in name are children var grilleArray = this.getOCGs(); for (var iG = 0; iG < grilleArray.length; iG++) { var Gfname = grilleArray[iG].name; var GfnameSub = Gfname.substring(Gfname.indexOf('-') + 1); var GfnameGroup = Gfname.substring(Gfname.indexOf('-') - 1); //This was the most recent addition, hoping this substring callout is written correctly if (GfnameGroup==fname && pcMaskG.test(Gfname) && GfnameSub <= this.getField(gDropName).value) { //If it starts with the tested parent name, has a dash and substring is less or equal grilleArray[iG].state = true; grilleArray[iG].initState = true; } if (GfnameGroup==fname && pcMaskG.test(Gfname) && GfnameSub > this.getField(gDropName).value) { //More than grilleArray[iG].state = false; grilleArray[iG].initState = false; } } } if (pcMask.test(fname) && ocgOnArray[i].name > drop) { //Wrapping up larger event, greater than ocgOnArray[i].state = false; ocgOnArray[i].initState = false; var grilleArrayOff = this.getOCGs(); for (var iGO = 0; iGO < grilleArray.length; iGO++) { var GfnameOff = grilleArray[iGO].name; var GfnameGroupOff = GfnameOff.substring(GfnameOff.indexOf('-') - 1); if (GfnameGroupOff==fname && pcMaskG.test(GfnameOff)) { grilleArrayOff[iGO].state = false; grilleArrayOff[iGO].initState = false; } } } }