
function setQueryStringFormData(frmId) {
  var queryString = "";
  
  var frm = document.getElementById(frmId);
  var numberElements = frm.elements.length;

  for (var i = 0; i < numberElements; i++) {
    if (i < numberElements - 1) {
      queryString += frm.elements[i].name + "=" +
	encodeURIComponent(frm.elements[i].value) + "&";
    } else {
      queryString += frm.elements[i].name + "=" +
	encodeURIComponent(frm.elements[i].value);
    }
  }
  
  return queryString;
}

function sendFormData(frmId, reqType, url, respHandle) {
  var queryString = setQueryStringFormData(frmId);
  httpRequest(reqType, url, true, respHandle, queryString);
}

function sendData(reqType, url, respHandle, queryString) {
  httpRequest(reqType, url, true, respHandle, queryString);
}

function updateResults() {
  var div = document.getElementById("results");

  if (request.readyState == 1) {
    div.innerHTML = "Loading...";
  } else if (request.readyState >= 2 &&
	     request.readyState <= 3) {
    div.innerHTML = "Waiting for response...";
  } else if (request.readyState == 4) {
    if (request.status == 200) {
      div.innerHTML = request.responseText;
    } else {
      alert("A problem occurred while communicating between " +
	    "the XMLHttpRequest object and the server program." +
	    "Status: " + request.status);
    }
  }
}

/* General function to update the contents of a certain Iframe and
   the title bar of the browser
*/
function updateIFrame(name, content, title) {
  var iframe = top.document.getElementById(name);
  iframe.src = content;

  var div = top.document.getElementById("subtitle");
  div.innerHTML = "<b>" + title + "</b><hr />";

  top.document.title = title;
}


/* function to change the visibility of a number of div tags
   based on a given select input field (the selected option
   will be visualized)
*/
function swapDivVis( divList ) {
    
    for ( i=0; i<divList.options.length; i++ ) {
	divId = divList.options[i].value;
	divSel = divList.options[i].selected;

	if ( document.layers ) { // NN4+
	    document.layers[divId].visibility = divSel ? "show" : "hide";
	} else if ( document.getElementById ) { // Gecko(NN6) + IE5+
	    var obj = document.getElementById( divId );
	    obj.style.display = divSel ? "block" : "none";
	} else if ( document.all ) { // IE4
	    document.all[divId].style.visibility = divSel ? "visible" : "hidden";
	}
    }
}
