﻿/*
Generic AJAX Library v1.0

This is just generic XMLHttpRequest code, cross browser. It will execute an XMLHttpRequest, nothing more. Browsers sans AJAX
capabilities will fall back on the calling url with NA (No AJAX) passed as a paramater and equal to 1. All pages should have
the ability to function without AJAX.

The function executed upon successful return is dataReader(http_request)


Code taken in part from : 
	http://www.sitepoint.com/article/remote-scripting-ajax 
							&
	http://developer.mozilla.org/en/docs/AJAX:Getting_Started 
	
*/


function makeRequest(url) {

  var http_request = false;

  if (window.XMLHttpRequest) { // Mozilla, Safari, Opera 8.0+
    http_request = new XMLHttpRequest();     
    if (http_request.overrideMimeType) { 
      http_request.overrideMimeType('text/xml');
      //We override the Mime Type because Mozilla might get crabby if you don't
    }
  } else if (window.ActiveXObject) { // IE 5.0+      
      IE = true;
      try {
         http_request = new ActiveXObject("Msxml2.XMLHTTP"); 
         http_request.overrideMimeType('text/xml'); }          
      catch (e) {
        try {
          http_request = new ActiveXObject("Microsoft.XMLHTTP"); 
          http_request.overrideMimeType('text/xml'); } 
        catch (e) {}
      }
    }

    if (!http_request) {             
      window.location.href=window.location.href + "&NA=1";
    } else {
      http_request.onreadystatechange = function() { processResponse(http_request) };
      http_request.open('GET', url, true);
      http_request.send(null);
      return true;
    }
}

function processResponse(http_request) { if (http_request.readyState == 4) { if (http_request.status == 200) { return dataReader(http_request); } else { return false; } }}

function getNodeValue(xml,node) { var value; value = ""; if (xml.getElementsByTagName(node)[0].firstChild) { value = xml.getElementsByTagName(node)[0].firstChild.nodeValue; } return value; }
