// Copyright Reliable Networks 2006
// Unauthorised reproduction by any means whatsoever is prohibited

function getFieldValue( oField ) {
	if( oField == null ) { return null; }
	var sType = oField.type;
	if( sType == null ) {
		if( oField.length == null ) {
			return null;
		}
		var sValues = "";
		for( var i = 0; i < oField.length; i++ ) {
			if( oField[i].checked ) {
				if( sValues != "" ) {
					sValues += ";";
				}
				sValues += oField[i].value;
			}
		}
		return sValues;
	} else if( sType == "select-one" ) {
		if( oField.options.length == 0 ) {
			return null;
		} else {
			var selectedIndex = oField.selectedIndex;
			if( selectedIndex < 0 ) { selectedIndex = 0; }
			var sValue = oField.options[selectedIndex].value;
			var sText = oField.options[selectedIndex].text;
			if( sValue == "" ) {
				return sText;
			} else {
				return sValue;
			}
		}
	} else if( sType == "checkbox" || sType == "radio" ) {
		if( oField.checked ) {
			return oField.value;
		}
	} else {
		var sValue = oField.value;
		sValue = sValue.replace( new RegExp( "^\\s+", "i" ), "" ).replace( new RegExp( "\\s+$", "i" ), "" );
		return sValue;
	}
	return null;
}

function isCriteriaValid( mValue, aCriteria ) {
	var bValid = true;
	if( aCriteria != null ) {
		var sValue = "" + mValue;
		for( i = aCriteria.length - 2; bValid && i >= 0; i -= 2 ) {
			if( aCriteria[i] == "length" ) {
				bValid = ( sValue.length ==