﻿var XMLHttpRequestObject = createXMLHttpRequestObject();

function createXMLHttpRequestObject()
{
    var XMLHttpRequestObject = false;

    try
    {
	XMLHttpRequestObject = new XMLHttpRequest();
    }
    catch(e)
    {
	var aryXmlHttp = new Array(
	    "MSXML2.XMLHTTP",
	    "Microsoft.XMLHTTP",
	    "MSXML2.XMLHTTP.6.0",
	    "MSXML2.XMLHTTP.5.0",
	    "MSXML2.XMLHTTP.4.0",
	    "MSXML2.XMLHTTP.3.0"
	);
	for (var i=0; i<aryXmlHttp.length && !XMLHttpRequestObject; i++)
	{
	    try
	    {
		XMLHttpRequestObject = new ActiveXObject(aryXmlHttp[i]);
	    } 
	    catch (e) {}
	}
    }

    if (!XMLHttpRequestObject)
    {
	alert("Error: failed to create the XMLHttpRequest object.");
    }
    else 
    {
	return XMLHttpRequestObject;
    }
}

function getData_old(dataSource, divID)
{
    if(XMLHttpRequestObject)
    {
	dataSource += "&parm="+new Date().getTime();
	XMLHttpRequestObject.open("GET", dataSource);
	XMLHttpRequestObject.onreadystatechange = function()
	{
	    try
	    {
		if (XMLHttpRequestObject.readyState == 4 &&
		    XMLHttpRequestObject.status == 200)
		{
		    var objDiv = document.getElementById(divID);
		    objDiv.innerHTML = XMLHttpRequestObject.responseText;
		}
	    }
	    catch(e){}
	}
	try
	{
	    XMLHttpRequestObject.send(null);
	}
	catch(e){}
    }
}

function getData(dataSource, divID)
{
    if(XMLHttpRequestObject)
    {
	dataSource += "&parm="+new Date().getTime();

	XMLHttpRequestObject.open("GET", dataSource);
	XMLHttpRequestObject.onreadystatechange = function()
	{
	    try
	    {
		if (XMLHttpRequestObject.readyState == 4 &&
		    XMLHttpRequestObject.status == 200)
		{
		    var objDiv = document.getElementById(divID);
		    objDiv.innerHTML = XMLHttpRequestObject.responseText;
		}
	    }
	    catch(e){}
	}
	try
	{
	    XMLHttpRequestObject.send(null);
	}
	catch(e){}
    }
}

function postData(dataSource, divID)
{
    if(XMLHttpRequestObject)
    {
	XMLHttpRequestObject.open("POST", dataSource);
	XMLHttpRequestObject.setRequestHeader("Method", "POST " + dataSource + " HTTP/1.1");
	XMLHttpRequestObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

	XMLHttpRequestObject.onreadystatechange = function()
	{
	    try
	    {
		if (XMLHttpRequestObject.readyState == 4 &&
		    XMLHttpRequestObject.status == 200)
		{
		    var objDiv = document.getElementById(divID);
		    objDiv.innerHTML = XMLHttpRequestObject.responseText;
		}
	    }
	    catch(e){}
	}

	dataSource += "&parm="+new Date().getTime();
	try
	{
	    XMLHttpRequestObject.send(dataSource);
	}
	catch(e){}
    }
}

function checkFunction(keyEvent, divID, dataSource)
{
    keyEvent = (keyEvent) ? keyEvent: window.event;
    input = (keyEvent.target) ? keyEvent.target : keyEvent.srcElement;
    if (keyEvent.type == "keyup")
    {
	try
	{
	    var objDiv = document.getElementById(divID);
	    objDiv.innerHTML = "<div></div>";
	    if (input.value)
	    {
		dataSource += "?strInput="+input.value;
		getData(dataSource, divID);
	    }
	}
	catch(e){}
    }
}

