var url = "http://www.middletownxc.com/";
function $(id) { if(typeOf(id) == 'string') { return document.getElementById(id); } else { return id; } }
// typeOf function from http://javascript.crockford.com/remedial.html
function typeOf(value) { var s = typeof value; if (s === 'object') { if (value) { if (typeof value.length === 'number' && !(value.propertyIsEnumerable('length')) && typeof value.splice === 'function') { s = 'array'; } } else { s = 'null'; } } return s; }
function Core() {}
Core.getKey = function(e) { var key = null; if(!e || !e.which) { key = window.event.keyCode; } else { key = e.which; } return key; }
Core.forceNumeric = function(e) { var key = Core.getKey(e); if(key > 31 && (key < 48 || key > 57)) { return false; } else { return true; } }
function Display() {}
Display.hide = function(id) { id = $(id); if(id == null) { return; } id.style.display = "none"; }
Display.remove = function(id) { id = $(id); if(id == null) { return; } id.parentNode.removeChild(id); }
Display.add = function(node, parent) { parent = $(parent); if(node == null) { return; } parent.appendChild(node); }
Display.removeAll = function(element) { if(element == null) return; for(var i = element.childNodes.length - 1; i >= 0; --i) { element.removeChild(element.childNodes[i]); } }
Display.createForm = function(method, action, classes) {
  var newForm = document.createElement('form');
  newForm.method = method;
  newForm.action = action;
  newForm.acceptCharset = "UTF-8";
  var insert  = document.createElement('div');
  insert.className = "formBox" + (classes != null ? " " + classes : "");
  newForm.appendChild(insert);
  return newForm;
}
Display.createFormRow = function(content, className) {
  var formRow = document.createElement('div');
  formRow.className = "formRow" + (className ? " " + className : "");
  Display.appendContent(formRow, content);
  return formRow;
}
Display.createLabel = function(content, forID, className) {
  var formLabel = document.createElement('label');
  if(forID != null) {
    formLabel["for"] = forID;
    formLabel.htmlFor = forID;
  }
  formLabel.className = className;
  Display.appendContent(formLabel, content);
  return formLabel;
}
Display.createElement = function(element, classes, id) {
  var domElement = document.createElement(element);
  if(classes != null) {
    domElement.className = classes;
  }
  if(id != null) {
    domElement.id = id;
  }
  return domElement;
}
Display.appendContent = function(parent, content) {
  if(content) {
    if(typeOf(content) == "array") {
      for(var i = 0; i < content.length; ++i) {
        parent.appendChild(Display.stringToNode(content[i]));
      }
    } else {
      parent.appendChild(Display.stringToNode(content));
    }
  }
  return parent;
}
Display.stringToNode = function(nodeString) {
  if(typeof(nodeString) == "string")
    nodeString = document.createTextNode(nodeString);
  return nodeString;
}
Display.createTextArea = function(name, cols, rows) {
  var formText = document.createElement('textarea');
  formText.cols = cols;
  formText.rows = rows;
  formText.id = name;
  formText.name = name;
  return formText;
}
Display.createInput = function(name, type, value, size, maxlength, onkeypress) {
  var formInput = document.createElement('input');
  formInput.type = type;
  if(type == "submit")
    formInput.className = "button";
  formInput.value = value;
  if(typeof(size) == "number")
    formInput.size = size;
  if(typeof(maxlength) == "number")
    formInput.maxLength = maxlength;
  formInput.name = name;
  formInput.id = name;
  if(onkeypress != null)
    formInput.onkeypress = onkeypress;
  return formInput;
}
Display.createSelect = function(name, optionList, labels) {
  var formSelect = document.createElement('select');
  formSelect.name = name;
  formSelect.id   = name;
  if(labels == null)
    labels = optionList;
  for(var i = 0; i < optionList.length; ++i) {
    formSelect.options[i] = new Option(optionList[i], labels[i]);
  }
  return formSelect;
}