function print_members(obj) {
	var str = "";
	var line = "";
	for (member in obj) {
		if (line.length > 50) {
			str += line + "\n";
			line = "";
		}
		line += member + " ";
	}
	alert(str);
}

function FillField(name, value) {
	// This function can actually take the name of the element,
	// or a reference to the actual element.
	//
	var element;
	//if ("substr" in name) {
	if (name.substr) {
		element = document.getElementById(name);
	} else {
		element = name;
	}

	//alert(element);
	//for (member in element) {
	//	document.write(member + "<br/>");
	//}
	//document.write( "<br/>");
	if (element) {
		if ("selectedIndex" in element) {
			for (var i=0; i<element.length; i++) {
				if (element[i].value == value) {
					element.selectedIndex = i
					break;
				}
			}
		} else if (element.type == "checkbox") {
			if (value != 'no'
			   && value != 'false'
			   && value != 'off'
			   && value != '0'
			   && value.length > 0) {
				element.checked = true;
			} else {
				element.checked = false;
			}
		} else {
			element.value = value;
		}
	//} else {
	//	alert("Couldn't locate element '" + name + "'!");
	}
}

// Copied  on 24Mar08 from 
// http://www.robertnyman.com/2005/11/07/the-ultimate-getelementsbyclassname/
function getElementsByClassName(className, tag, elm){
	var testClass = new RegExp("(^|\\\\s)" + className + "(\\\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}
