function numFilter(obj, e, max)
{
	var keynum;
	var keychar;
	if(window.event) keynum = e.keyCode;
	else if(e.which) keynum = e.which;
	if(keynum >= 48 && keynum <= 57)
	{
		keychar = String.fromCharCode(keynum);
		if(Number(obj.value + keychar) > max)
		{
			obj.value = String(max);
			return false;
		}
		else return true;
	} else if(keynum == 8  || keynum == 46) return true;
	else return false;
}

function getXmlHttp()
{
	var xmlHttp = null;
	try
	{	// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	} catch (e)
	{	// Internet Explorer
		try
		{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e)
		{
			try
			{
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e)
			{
			}
		}
	}
	return xmlHttp;
}

function ajaxQuery(method, target, handler)
{
	var xmlHttp = getXmlHttp();
	if(xmlHttp)
	{
		xmlHttp.onreadystatechange = function()
		{
			handler(xmlHttp);
		}
		xmlHttp.open(method, target, true);
		xmlHttp.send(null);
		return true;
	} else
	{
		return false;
	}
}