- var sN = this.name || this.id || this.parentNode.name || this.parentNode.id;
- var sV = this.value;
- if ((!sN) && (sP == 'OPTGROUP'))
- sN = this.parentNode.parentNode.name || this.parentNode.parentNode.id;
+ var sKey = this.name || this.id || oParent.name || oParent.id;
+ var sValue = this.value;
+
+ // If we don't have an ID, and the parent is an OPTGROUP,
+ // get the NAME or ID of the OPTGROUP's parent
+ if ((!sKey) && (sNn == 'OPTGROUP') && (oParent = oParent.parentNode))
+ sKey = oParent.name || oParent.id;