//version 1.0.1 var catalogs = new Array(); var enableSubCatalogEvent = true; var COL_SELECT_ID = 0; var COL_CATALOG = 1; var COL_VALUE = 2; var COL_DESCRIPTION = 3; var COL_PARENT_SELECT_NAME = 4; var COL_ON_LOAD = 5; var COL_FILL_WITH_PARENT_NO_SELECTION = 6; var COL_CRITERIA_ATTRIBUTE = 7; var COL_NON_SELECTION_TEXT = 8; function Child(parentSelect, parentCatalog, childSelect, childCatalog, valueField, descField, key, raiseChildLoadEvent, criteriaAttribute, nonSelectionText){ this.parentSelect = parentSelect; this.parentCatalog = parentCatalog; this.childSelect = childSelect; this.childCatalog = childCatalog; this.valueField = valueField; this.descField = descField; this.key = key; this.raiseChildLoadEvent = raiseChildLoadEvent; this.criteriaAttribute = criteriaAttribute; this.nonSelectionText = nonSelectionText; var self = this; this.fillSubCatalog = function(request) { var arrayResp = request.split('~|~'); var subCatalogText = arrayResp[1]; var subCatalog = eval('(' + subCatalogText + ')'); var selectId = arrayResp[0]; var raiseChildLoadEvent = arrayResp[2]; var child = document.getElementById(selectId); if (child!=null && child.options!=null) { clearSubcatalog(child); for(var i = 0; i0; i--) { subCatalog.options[i] = null; } subCatalog.selectedIndex = 0; } function clearSubcatalogValidateNonSelection(subCatalog, nonSelectionText) { clearSubcatalog(subCatalog); if(nonSelectionText=="") subCatalog.options[0] = null; } function hasOptions(obj) { if (obj!=null && obj.options!=null) { return true; } return false; } //finds a composite key for a catalog function clearChildCatalogs(selectName){ for(var i = 0; i