function selectListDictionary(){
	this.dictionary = new Array();

	this.addGroup = private_addGroup;
	this.addGroupItem = private_addGroupItem;
	this.emptySelectList = private_emptySelectList;
	this.fillSelectList = private_fillSelectList;

	this.setSelectListValue = private_setSelectListValue;

	return this;
}  // selectListDictionary

function private_addGroup(groupName){
	this.dictionary[groupName]=new Array();
}  // private_addGroup

function private_addGroupItem(groupName, itemName, itemValue){
	var item = new Array(0)
	item[0]=itemName;
	item[1]=itemValue;
	this.dictionary[groupName].push(item);
}  // private_addGroupItem

function private_fillSelectList(groupName, objRef, selectedName, selectedValue){
	if (!objRef) {
		return;
	}

	this.emptySelectList(objRef)
	var items=this.dictionary[groupName];

	if ( items ) {
		for ( i=0; i<items.length; i++ ) {
			objRef.options[i]=new Option(items[i][0],items[i][1]);
			if ( selectedName!='' && items[i][0]==selectedName && items[i][1]==selectedValue ) {
				objRef.options[i].selected=true;
			}
		}
	}
}  // private_fillSelectList

function private_emptySelectList(objRef){
	if (!objRef) {
		return;
	}

	if ( objRef.options ) {
		while ( objRef.options.length>0 ) {
			objRef.options[0]=null;
		}
	}
}  // private_emptySelectList

function private_setSelectListValue(objRef, theValue ){
	if (!objRef) {
		return;
	}

	if ( objRef.options ) {
		for ( i=0; i<objRef.options.length; i++ ) {
			if ( objRef.options[i].value==theValue ) {
				objRef.options[i].selected=true;
				return;
			}
		}
	}
}  // private_setSelectListValue

//The push() method of instances of Array() appends the arguments provided 
//in the method to the end of the array. For Netscape 4.00-4.05, 
//this method returns the last new element of the array. 
//For Netscape 4.06+ and Internet Explorer 5.5, 
//it returns the new length property of the array.
//earlier browsers may emulate this using the script below
function Array_push() {
  var A_p = 0
  for (A_p = 0; A_p < arguments.length; A_p++) {
   this[this.length] = arguments[A_p]
   }
  return this.length
  }

if (typeof Array.prototype.push == "undefined") {
  Array.prototype.push = Array_push
  }
