function GetE(name) {
	return document.getElementById(name);
}


/********************************
 AJAX CODE - START (TD)
 ********************************/


// The var docForm should be a reference to a <form>
function formData2QueryString(docForm) {

  var submitContent = '';
  var formElem;
  var lastElemName = '';

  for (i = 0; i < docForm.elements.length; i++) {

    formElem = docForm.elements[i];
    switch (formElem.type) {
      // Text fields, hidden form elements
      case 'text':
      case 'hidden':
      case 'password':
      case 'textarea':
	    submitContent += formElem.name + '=' + encodeURIComponent(formElem.value) + '&'
        break;
      case 'select-one':
        submitContent += formElem.name + '=' + encodeURI(formElem.value) + '&'
        break;

      // Radio buttons
      case 'radio':
        if (formElem.checked) {
          submitContent += formElem.name + '=' + encodeURI(formElem.value) + '&'
        }
        break;

      // Checkboxes
      case 'checkbox':
        if (formElem.checked) {
          // Continuing multiple, same-name checkboxes
          if (formElem.name == lastElemName) {
            // Strip of end ampersand if there is one
            if (submitContent.lastIndexOf('&') == submitContent.length-1) {
              submitContent = submitContent.substr(0, submitContent.length - 1);
            }
            // Append value as comma-delimited string
            submitContent += ',' + escape(formElem.value);
          }
          else {
            submitContent += formElem.name + '=' + escape(formElem.value);
          }
          submitContent += '&';
          lastElemName = formElem.name;
        }
        break;

    }
  }
  // Remove trailing separator
  submitContent = submitContent.substr(0, submitContent.length - 1);
  return submitContent;
}



/**
 * Wenn 'strSubmit' nicht gefuellt ist, wird die Anfrage per
 * GET uebermittelt, sonst per POST
 */
function xmlReq(strURL, strSubmit, strResultFunc, strResultId) {
	var xmlHttpReq = false;

	// Mozilla/Safari
	if (window.XMLHttpRequest) {
	        xmlHttpReq = new XMLHttpRequest();
	        //xmlHttpReq.overrideMimeType('text/xml');
	}
	// IE
	else if (window.ActiveXObject) {
	        xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
	}

	if(strSubmit) {
		xmlHttpReq.open('POST', strURL, true);
		xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	} else {
		xmlHttpReq.open('GET', strURL, true);
		strSubmit = null;
	}

	xmlHttpReq.onreadystatechange = function() {
	    if (xmlHttpReq.readyState == 4) {
	       strResponse = xmlHttpReq.responseText;
	       switch (xmlHttpReq.status) {
	           // Page-not-found error
	           case 404:
	               alert('Error: Not Found. The requested URL ' +
	                       strURL + ' could not be found.');
	               break;
	           // Display results in a full window for server-side errors
	           case 500:
	               handleErrFullPage(strResponse);
	               break;
	           default:
	               // Call JS alert for custom error or debug messages
	               if (strResponse.indexOf('Error:') > -1 ||
	                   strResponse.indexOf('Debug:') > -1) {
	                   alert(strResponse);
	               }
	               // Call the desired result function
	               else {
	               		if(strResultId) {
	               			eval("GetE('"+strResultId + "').innerHTML = strResponse;");
	               		} else {
	                   		eval(strResultFunc + '(strResponse);');
	               		}
	               }
	               break;
	       }
		}
	}
	xmlHttpReq.send(strSubmit);
}



function handleErrFullPage(strIn) {

        var errorWin;

        // Create new window and display error
        try {
                errorWin = window.open('', 'errorWin');
                errorWin.document.body.innerHTML = strIn;
        }
        // If pop-up gets blocked, inform user
        catch(e) {
                alert('An error occurred, but the error message cannot be' +
                        ' displayed because of your browser\'s pop-up blocker.\n' +
                        'Please allow pop-ups from this Web site.');
        }
}
/********************************
 AJAX CODE - ENDE (TD)
 ********************************/
