// JavaScript Document
var ajaxObj;

function postCodeLookup(url)
{
	//Address needs to include any querystring that is required
	ajaxObj = createAjaxObject();
	if (ajaxObj == null)
		return false;

	ajaxObj.onreadystatechange = postCodeResponse();
	ajaxObj.open("GET", url, true);
	ajaxObj.send(null);
}

function runAjax(func_ref, sql)
{
	ajaxObj = createAjaxObject();
	if (ajaxObj == null)
		return false;

	ajaxObj.onreadystatechange = function() { ajaxObjStateChanged(func_ref); }

	loc = window.location.toString();

	if (loc.indexOf('manage/') != -1)
		ajaxObj.open("GET", "../functions/runAjax.asp?sql=" + sql, true);
	else
		ajaxObj.open("GET", "functions/runAjax.asp?sql=" + sql, true);

	ajaxObj.send(null);

	return true;
}

function createAjaxObject()
{
	ajaxObj = null;
	try
	{
		// Firefox, Opera 8.0+, Safari
		ajaxObj = new XMLHttpRequest();
	}
	catch (e)
	{
		// Internet Explorer
		try
		{
			ajaxObj = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			ajaxObj = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}

	return ajaxObj;
}

function getResults()
{
	var temp = ajaxObj.responseText.substr(0, ajaxObj.responseText.length - 3);
	var temp2;

	temp = temp.split('|||');

	var results = new Array();
	results['name'] = new Array();
	results['value'] = new Array();

	for (x = 0; x < temp.length; x++)
	{
		temp2 = temp[x].split('^^^');
		results['name'][x] = temp2[0];
		results['value'][x] = temp2[1];
	}

	return results;
}

function ajaxObjStateChanged(func_ref)
{
	if (ajaxObj.readyState == 4)
	{
		if (ajaxObj.status != 200)
		{
			alert('Ajax error - Status: ' + ajaxObj.status + '\nSome features of this website may not work with your browser.\nPlease reload the site using Internet Explorer 6 or later, Firefox, Safari or Opera.');
			return false;
		}

		results = getResults();

		switch (func_ref)
		{
			case 'updateDocs':
				if (ajaxObj.responseText != '')
				{
					var docID = null;
					var docName = null;
					var docEl;

					docEl = document.getElementById('selDoctor');
					docEl.options.length = 0;

					for (x = 0; x < results['name'].length; x++)
					{
						switch (results['name'][x])
						{
							case 'doctorID':
								docID = results['value'][x];
								docName = null;
								break;
							case 'docName':
								docName = results['value'][x];
								break;
						}

						if (docName != null)
							docEl.options[docEl.options.length] = new Option(docName, docID);
					}
				}

				break;
		}
	}
	else
	{
		//Ajax object not in "ready state";
	}
}