var req;
var which;

function retrieveURL(url) {
    if (window.XMLHttpRequest) { // Non-IE browsers
      req = new XMLHttpRequest();
      req.onreadystatechange = processStateChange;
      try {
        req.open("POST", url, true);
      } catch (e) {
        alert(e);
      }
      req.send(null);
    } else if (window.ActiveXObject) { // IE
      req = new ActiveXObject("Microsoft.XMLHTTP");
      if (req) {
        req.onreadystatechange = processStateChange;
        req.open("POST", url, true);
        req.send();
      }
    }
}

function validateAndOrder (fieldId, maxValue, url){
  if (validateItemCount(fieldId, maxValue)){
      document.location = url;
  } else {

  }
}

function validateItemCount (fieldId, maxValue){
  field = document.getElementById(fieldId);
  if (field.value.match(/^\d+$/) && field.value > 0){
      if (field.value <= maxValue){
         return true;
      } else {
         alert("Please input number less or equal to \"Avaiable Quantity\" of this item ("+maxValue+")");
         field.value=maxValue;
         field.focus();
      }
  } else {
      alert("Please input positive real number");
      field.value="0";
      field.focus();
  }

  return false;
}

function checkAndRetrieveURL (field, maxValue, url){
  if (validateItemCount(field.id, maxValue)){
      retrieveURL(url+field.value);
  }
}

function processStateChange() {
    if (req.readyState == 4) { // Complete
      if (req.status == 200) { // OK response
        //alert('OK');
      } else {
        alert("Problem: " + req.statusText);
      }
    }
}