rem: to.appendChild(h.addHidden(elem.name, elem.options[elem.selectedIndex].value)); 
add: if (elem.options.length > 0) to.appendChild(h.addHidden(elem.name, elem.options[elem.selectedIndex].value)); 
context: function copyForm(form, to, extras) {	// Grab all of the elements in the form, and copy them	// to the main form.  Do not copy hidden fields.	var h = new HTMLex;	for (var i = 0; i < form.elements.length; i++) {		var elem = form.elements[i];		if (elem.type == 'hidden') {			// If we have anything in the extras array we check to see if we			// need to copy it across			if (!extras)				continue;			var found = false;			for (var j = 0; j < extras.length; j++) {				if (extras[j] == elem.name) {				  found = true;					break;				}			}			if (! found)				continue;		}		// Determine the node type, and determine the current value		switch (elem.type) {			case 'text':			case 'textarea':			case 'hidden':				to.appendChild(h.addHidden(elem.name, elem.value));				break;			case 'select-one':				to.appendChild(h.addHidden(elem.name, elem.options[elem.selectedIndex].value));				break;			case 'select-multiple':				var sel = to.appendChild(h.addSelect(elem.name, false, true));				for (var x = 0; x < elem.options.length; x++) {					if (elem.options[x].selected) {						sel.appendChild(h.addOption(elem.options[x].value, '', true));					}				}				break;			case 'radio':			case 'checkbox':				if (elem.checked) {					to.appendChild(h.addHidden(elem.name, elem.value));				}				break;		}	}	return true;}
meta: 6222	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/6222/89f766ee047c33a22a4c21f6c34c29196f6c6540/addedit.js/clean/dotproject/modules/tasks/addedit.js