if (!reservation_miscutility_js_included) { var reservation_miscutility_js_included = true;

// String helper functions

function trim(str) {
  if (typeof(str) != 'string') return str;
  return str.replace(/^\s+|\s+$/g, '');
}

function contains(outerString, innerString) {
  return (outerString.indexOf(innerString) != -1);
}

// DOM helpers
function getActiveRadioValue(name) {
  var radios = document.getElementsByName(name);
  for (var i = 0; i < radios.length; ++i) {
    if (radios[i].checked) return radios[i].value;
  }

  return null;
}

// Browser/event support

function execOnLoad(func) {
  var prevOnload = window.onload;
  window.onload = function() {
    if (prevOnload) prevOnload();
    func();
  }
}

function getEventCharCode(ev) {
  if (ev.keyCode) {
    return ev.keyCode;
	} else {
    return ev.which;
  }
}

function getEventChar(ev) {
  return String.fromCharCode(getEventCharCode(ev));
}

function filterNumericInput(ev)
{
  var code = getEventCharCode(ev);

  if ((code == 44) || (code == 46)) return true; // '.'/Delete and ','
  if ((code >= 48) && (code <= 57)) return true; // digits
  if ((code == 9) || (code == 8) // tab and backspace
          || ((code >= 37) && (code <= 40)) || (code == 35) || (code == 36) // arrows and home/end (FF)
          || (code == 0)) { // a non-character key (IE).
    return true;
  }

  if (ev.preventDefault) {
    ev.preventDefault();
  } else {
    ev.returnValue = false;
  }
  return false;
}

}
