﻿//*****************************************************
// PuzzleJax.js
// Copyright 2006 - Deltazon Software Inc.
// Yada yada yada!
//*****************************************************

//-----------------------------------------------------


// Global XMLHttpRequest object
var _xmlHttp = null;

// Global response data
var _response = "";

// Global result handler
var _resultHandler = null;

//-----------------------------------------------------
// Send request for url
//
function getResponse(url, resultHandler)
{
	createRequest();
	
	if (_xmlHttp)
	{
		_resultHandler = resultHandler;
		
		_xmlHttp.open("GET", url, true);
		_xmlHttp.onreadystatechange = handleResponse;
		_xmlHttp.send(null);
	}
}

//-----------------------------------------------------
// Handle async response
//
// Ready states:
//	2. Request sent
//	3. Response in process
//	4. Response complete
//
function handleResponse()
{
	if (_xmlHttp.readyState == 4)
	{
		_response = _xmlHttp.responseText;
		
		if (_resultHandler != null)
		{
			_resultHandler(_response);
		}
	}
}

//-----------------------------------------------------
// Instatiate the XMLHttpRequest object.
//
function createRequest()
{
	try 
	{
		_xmlHttp = new XMLHttpRequest();
	} 
	catch (trymicrosoft) 
	{
		try 
		{
			_xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (othermicrosoft) 
		{
			try 
			{
				_xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
			} 
			catch (failed) 
			{
				_xmlHttp = null;
			}
		}
	}
}



