var Ajax = new Object();
Ajax.isUpdating = true;

Ajax.Request = function(method, url, formname, callback)
{
	var allElementList = eval('document.' + formname + '.elements');
	var l = allElementList.length;
	var qs = 'junk=';
	for (var i = 0; i < l; i++)
	{
		var element = allElementList[i]; //element is taken
		qs += '&' + element.name + '=' + escape(element.value)
	}

	this.isUpdating = true;
	this.callbackMethod = callback;
	this.request = (window.XMLHttpRequest)? new XMLHttpRequest(): new ActiveXObject("MSXML2.XMLHTTP"); 
	this.request.onreadystatechange = function() { Ajax.checkReadyState(); };
	if (method == 'GET') 
	{
		this.request.open(method, url + '?' + qs, true);
		this.request.send(null);
	}
	if (method == 'POST')
	{
		this.request.open(method, url, true);
		//Send the proper header information along with the request
		this.request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		this.request.setRequestHeader("Content-length", qs.length);
		this.request.setRequestHeader("Connection", "close");
		this.request.send(qs);
	}
}
	
Ajax.checkReadyState = function(_id)
{
	switch(this.request.readyState)
	{
		case 1: break;
		case 2: break;
		case 3: break;
		case 4:
			this.isUpdating = false;
			this.callbackMethod(this.request.responseText);
	}
}

function SubscribeEmail() {
	Ajax.Request('POST', 'vresp.php', 'subscribeform', SubscribeResponse);
	document.getElementById('fields').style.display = 'none';
	document.getElementById('fields').innerHTML = '<img src="images/wait.gif">';
	document.getElementById('fields').style.padding = '4px 0';
	document.getElementById('fields').style.display = 'block';
}

function SubscribeResponse(result) {
	document.getElementById('fields').innerHTML = '<h5>Thank you!</h5>';
}
