
  function showMessage(id, message) {
    document.getElementById(id).innerHTML = message;
  }

  function focusOnFirstFormField() {
    for (var i=0; i<document.forms.length; i++) {
      if (document.forms[i].id != 'quicksearch') {    
        for (var j=0; j<document.forms[i].elements.length; j++) {
          var element = document.forms[i].elements[j];
          if (element.type != 'hidden' && element.type != 'checkbox') {
            if (element.type == 'text') {
              element.select();
            }
            element.focus();
            return;
          }
        }
      }
    }
  }
  
  /*
   * search results
   */
  
  function toggleCheckbox(artist_id) {
    var checkbox = document.getElementById('checkbox_'+artist_id)
    if (checkbox) selectRow(checkbox, !checkbox.checked);
  }
  function selectRow(field, checked) {
    row = document.getElementById('row_'+field.value)
    if (checked) {
      row.className = 'selected';
    } else {
      row.className = '';
    }
    field.checked = checked;
  }
  function changeAllCheckboxes(form_id, field_id, checked) {
    var field = document.forms[form_id].elements[field_id]
    if (field.length == null) {
      selectRow(field, checked);
    } else {
	  for (i = 0; i < field.length; i++) {
		selectRow(field[i], checked);
      }
	}
  }
  function rowSelected(checkbox, artist_id) {
    selectRow(checkbox, checkbox.checked);
  }
  function tagDone(request) {
    //alert(request.responseText);
    var tags = new Object();
    eval(request.responseText);
    refreshTags(tags);
  }
  
  /*
   *
   */