function fetchData(url, dataToSend, objectID)
{
	var pageRequest = false;
	if (window.XMLHttpRequest) pageRequest = new XMLHttpRequest();
	else if (window.ActiveXObject) pageRequest = new ActiveXObject("Microsoft.XMLHTTP");
	else return false;
	pageRequest.onreadystatechange = function()
	{
		manageResponse(objectID, pageRequest);
	}

	if (dataToSend)
	{
		pageRequest.open('POST', url, true);
		pageRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		pageRequest.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
		pageRequest.send(dataToSend);
	}
	else
	{
		pageRequest.open('GET', url, true);
		pageRequest.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
		pageRequest.send(null);
	}
}

function manageResponse(objectID, pageRequest)
{
	var object = document.getElementById(objectID);
	if (pageRequest.readyState == 4)
	{
		if (pageRequest.status == 200)
			object.innerHTML = pageRequest.responseText;
			
		else if (pageRequest.status == 404)
			object.innerHTML = "Sorry, we are unable to check at the minute.";
		else
			object.innerHTML = "Sorry, but there is some Unknown Problem";
	}
}

function displayBox(partial, id, url)
{
	if (!url)
		url = '/vision2020/ajax';
	
	var dataToSend = 'ajax='+partial;
	if (id)
		dataToSend += '&id='+id;
	
	fetchData(url, dataToSend, 'AJAX_BOX');
	var object = document.getElementById('AJAX_BOX');
	object.className = 'on';
}

function closeBox()
{
	var object = document.getElementById('AJAX_BOX');
	object.innerHTML = '';
	object.className = 'off';
}

function joinmailinglist()
{
	var objName = document.getElementById('fullname');
	var objEmail = document.getElementById('email');
	displayBox('mailinglist', objName.value + '&email=' + objEmail.value, '/accounts/subscribe');
}