function setFocus() {
  window.focus();
  elementNo=0
  thisForm = document.forms[0];
  if (thisForm != null) {
    thisElement = thisForm.elements[0]
    if (thisElement!=null) {
      while (thisElement!=null & thisElement.type=="hidden") {
        elementNo++;
        thisElement = thisForm.elements[elementNo];
      }
      if (thisElement!=null) {
        thisElement.focus();
      }
    }
  }
}

function cleanNumber(infield) {
  if (isNaN(infield.value)) {
    //alert("Please use only numeric numbers");
    // Replace all non-numeric characters (leave .'s)
    res="";
    for(i=0;i<infield.value.length;i++) {
      if (isNaN(infield.value.charAt(i))){
      } else {
        res=res+infield.value.charAt(i);
      }
    }
    infield.value = res;
    return false;
  } else {
    return true;
  }
}

function formatNumber(infield, inminvalue, inmaxvalue, inenforceminmax) {
  cleanNumber(infield);
  val = new Number(infield.value);
  if (val >= 2147483647 | val <= -2147483648) {
    alert("That number is too big");
    val=0
  }
  if (inminvalue != 0 & inenforceminmax == 'Y' & val < inminvalue) {
    val = inminvalue;
    alert("The minimum value for this is " + inminvalue);
  }
  if (inmaxvalue != 0 & inenforceminmax == 'Y' & val > inmaxvalue) {
    val = inmaxvalue;
    alert("The maximum value for this is " + inmaxvalue);
  }
  dpos = infield.value.indexOf('.');
  if (dpos == -1) {
    dpos=infield.value.length;
  }

  res="";
  pos=-3;
  for (i=dpos-1; i>=0; i--) {
    pos++;
    if (pos%3 == 1) res = "," + res;
    res = infield.value.charAt(i) + res;
  }
  infield.value = res + infield.value.slice(dpos,infield.value.length);
}

function openWindow(inURL,inWinName,inOptions) {
  thisWin=window.open(inURL,inWinName,inOptions);
  thisWin.focus();
}

function pleaseWait() {
  openWindow('pleasewait.html','pleasewait','resizable=no,width=200,height=50');
}

function doSubmit(inElement) {
  pleaseWait();
  inElement.form.submit();
}

function submitAndMove(inElement, dest) {
  alert("submitAndMove is no longer valid!");
  // if a tab is clicked, dest is passed in and we can overwrite where to route to next
  if (dest!="") {
    inElement.value=dest;
  }
  inElement.form.submit();
}

function tick(inElement,inValue) {
  for (subelementno=0; subelementno<inElement.length; subelementno++) {
    if (inElement[subelementno].value == inValue) {
      inElement[subelementno].checked = true;
    } else {
      if (inElement.type=="radio") {
        inElement[subelementno].checked = false;
      }
    }
  }
}
