Element.addMethods({
	addrow: function(element) {
		var options = Object.extend({
			resetform:	true,
			hide:		false
		}, arguments[1] || {});
		var container = $(element);
		if (container.tagName == 'TABLE')
			container = Element.extend(container.tBodies[0]);
		var rows = container.immediateDescendants();
		var newrow = Element.extend(rows[0].cloneNode(true));
		if (options.resetform) {
			var children = newrow.descendants();
			var cnt;
			var child;
			for (cnt = 0; cnt < children.length; cnt++) {
				child = $(children[cnt]);
				switch (child.tagName.toLowerCase()) {
					case 'input' :
						if (!['button', 'reset', 'submit'].include(child.type))
							child.clear();
						break;
					case 'textarea' :
						child.clear();
						break;
					case 'select' :
						child.selectedIndex = -1;
						break;
				}
			}
		}
		if (options.hide) newrow.hide();
		container.appendChild(newrow);
		return(newrow);
	}
});
