// Default Javascript for AbstractForm forms




var formSubmitted = null;

function submitCommand(form, command) {

    if (formSubmitted != null)
        formAlreadySubmitted();
    else {
        form.command.value = command;
        submitForm(form);
    }
}

function submitForm(form) {
    if (formSubmitted != null)
        formAlreadySubmitted();
    else {
        fixBeforeSubmit(form);
        form.submit();
        formSubmitted = "true";
    }
}

function formAlreadySubmitted() {

  var msg = formSubmittedMessage;
  if (msg == null)
      msg = "The form has already submitted.";
  alert(msg);
}

function submitCommandAndYallComeBack(name, form, command) {
    form.activeControl.value = name;
    submitCommand(form,command);
}

function getElement(form, elementName) {
    if (form != null && form.elements != null) {
	return form.elements[elementName];
    }
    return null;
}

function setValue(form, elementName, value) {

  e = getElement(form, elementName);
  if (e != null)
    e.value = value;
}

function disableItem(form, elementName) {
	var item = getElement(form,elementName);
	if (item != null) item.disabled=true;
}

function enableItem(form, elementName) {
	var item = getElement(form,elementName);
	if (item != null) item.disabled=false;
}

function getApplet(doc, appletName) {
    if (doc == null || doc.applets == null) return null;
    return doc.applets[appletName];
}  // getApplet


// This function is normally called from an onload attribute in <body>
// Select and move focus to a designated field, and run various
// initialization logic.
// Subclasses are expected to set these varialbes:
//
//  firstEditField	name of focused input field
//  activeControl       not sure what this does

function selectFirstEditField() {

    if (typeof firstEditField != "undefined" && firstEditField != null) {
        e = getElement(document.forms[0], firstEditField);
        if (e != null && e.focus && e.select) {
            e.focus();
            e.select();
        }
    }

    if (typeof activeControl != "undefined" && activeControl != null &&
        activeControl.length > 0) {

        window.location.hash = "#" + activeControl;
    }
}

// Call this function from a Text Field without
// the 'submitOnEnter' property set.
// Prevents the form from being submitted if a CR is
// pressed in a text field
function dontSubmitOnEnter(event) {
    var CR = 13; // Carriage Return
    var charCode;
    if (navigator.appName == "Netscape") {
        if (event.which == CR) {
          return false;
        }
    } else {
      if (event.keyCode == CR) {
         event.keyCode = '';
         if (window.event.keyCode) {
           window.event.keyCode = '';
         }
         event.returnValue = false;
         return false;
      }
    }
    return true;
}
