var StateDropdowns = {
  init: function(fieldName, formName) {
   var stateField = this._field(fieldName, formName);	
   if (stateField == null) {
	      return;
   }
   this._selectSet(this._field(fieldName + "State", formName), stateField.value);
 },

  changed: function(fieldName, formName) {
    var stateField = this._field(fieldName, formName);
    if (stateField == null) {
      return;
    }
    var stateValue = this._selectGet(this._field(fieldName + "State", formName));
    stateField.value = stateValue;
  },
  
  _field: function(fieldName, formName) {
	    var form = null;
	    if (formName == null) {
	      form = document.forms[0];
	      formName = "forms[0]";
	    }
	    else {
	      form = document.forms[formName];
	    }
	    if (form == null) {
	      alert("Form does not exist: " + formName);
	      return null;
	    }
	    var field = form[fieldName];
	    if (field == null) {
	      alert("Field does not exist: " + formName + "." + fieldName);
	    }
	    return field;
	  },

  _selectGet: function(list) {
		  var i = list.selectedIndex;
		  var result = list.options[i].value;
		  return result;
  },
  
  _selectSet: function(list, value) {
    for (var i = 0; i < list.options.length; i++) {
      if (list.options[i].value == value) {
        list.selectedIndex = i;
        return;
      }
    }
  }
  
};