function getXml(fileName, deleteIt) {
  var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
  var docRoot = document.forms[0].webroot.value;
  var url = docRoot + 'getXmlFile.asp?filename=' + fileName + '&deleteFile='+deleteIt;
  var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  xmlHttp.open("POST", url, false);
  xmlHttp.send();
  var goodXml = xmlDoc.load(xmlHttp.responseXML);
  if (goodXml) {
    oTmpXml = xmlDoc;
  } else {
    var myError = xmlDoc.parseError;
    alert("You have error " + myError.reason);
    return (false);
  }
}

function clearDD(o) {
  for (var xi=0; xi<o.options.length; xi++) {
    o.options[0] = null;
  }
}

function isblank(y){

  if ((y != '') && (y != '\n') && (y != '\t')){
    return false;
  }
  return true;
}

function check(f){

  var msg = "";
  var empt = "";
  var errors = "";
  for(var i = 0; i < f.length; i++){
    var e = f.elements[i];
    if (((e.type == "text") || (e.type == "textarea") || (e.type == "password")) && e.required){
      if ((e.value == null) || (e.value == "") || isblank(e.value)){
        empt += "\n  " + e.id;
        continue;
      }
      if (e.numeric || (e.min != null) || (e.max != null)){
        var v = parseFloat(e.value);
        var tst = v.toString();
        if (isNaN(v) || (tst.length != e.value.length) || ((e.min != null) && (v < e.min)) || ((e.max != null) && (v > e.max))){
          errors = "- the field " + e.id + " must be a number";
          if (e.min != null){
            errors += " that is greater than " + e.min;
            if (e.max != null && e.min != null){
              errors += " and less than " + e.max;
            } else if (e.max != null){
              errors += " that is less than " + e.max;
              errors += ".\n";
            }
          }
        }
      }
      if (e.date) {
        var date = Date.parse(e.value);
        if (isNaN(date)) {
          errors += e.id + " is not a valid date.\n";
        }
        if (e.future) {
          var now = new Date();
          var d = new Date();
          d.setTime(date);
          var diff = d - now;
          if ((diff<0)&&(d.getDate()!=now.getDate())) {
            errors += e.id + " is not a date in the future.\n";
          }
        }
      }
    }
  }
  if (!empt && !errors){
    return true;
  }
  if (empt) {
    msg = "The following field(s) are required:\n";
    msg += "_____________________________\n";
    msg +=  empt + "\n";
  }
  msg+= "\n" + errors;
  alert(msg);
  return false;
}

function collect_field_values(f) {

  var msg;
  var empt = "";
  var errors = "";
  var strF;
  var arrF = new Array();
  var ctr = 0;
  for(var i = 0; i < f.length; i++){
	  var e = f.elements[i];
	  if (e.name.indexOf("_") == -1 || e.name.indexOf("_") != 1){
		  switch (e.type){
			  case "checkbox":
				  if (e.checked == true){
				  	arrF[ctr] = [e.name, 1];
          } else {
            arrF[ctr] = [e.name, 0];
				  }
				  break;
  			case "select-one":
  				var t = e.selectedIndex
          t = e.options[t].value
		      arrF[ctr] = [e.name, t];
		  		break;
			  default:
				  arrF[ctr] = [e.name, e.value];
			}
  		ctr += 1;
	  }
  }
  strF = arrF.join("~|~");
  return strF;
}
