
var sXML, oXMLHttp, sResult, msg;


function doNewsletter(action)
{
	document.getElementById('ba').innerHTML = '<br /><br />Sending data...';
	
	var emailField = new Object(document.getElementsByName('email')[0]);
	var urlBase = new String('/list/index.php?');

	if(isEmail(emailField.value) == true && emailField.value.toLowerCase() != 'youremail@gmail.com')
	{
		switch(action)
		{
			case 'subscribe':
			url = urlBase + 'p=subscribe&id=1';
			data = 'email=' + emailField.value + '&emailconfirm=' + emailField.value + '&makeconfirmed=0&htmlemail=0&list[2]=signup&listname[2]=ClarkeCycles&subscribe=1';
			msg= '<br />Thank you for subscribing to our newsletter.';
			break;
			
			case 'unsubscribe':
			url = urlBase + 'p=unsubscribe&id=1';
			data = 'unsubscribeemail=' + emailField.value + '&unsubscribereason=none&unsubscribe=1';
			msg= '<br />You have been unsubscribed from our newsletter. You will receive an email confirmation soon.';
			break;
		}
	
		xmlHttpSendXMLData(url, 'POST', data);

	}else{
		document.getElementById('ba').innerHTML = ''; 
		alert('Please provide a valid Email address');
	}
}

function xmlHttpSendXMLData(url, method, data)
{
	if(window.XMLHttpRequest) oXMLHttp = new XMLHttpRequest()
	else if(window.ActiveXObject) oXMLHttp = new ActiveXObject("Microsoft.XMLHTTP")
	else alert("The current browser doesn't have supports to XMLHttpRequest method");

	if(oXMLHttp)
	{
		oXMLHttp.onreadystatechange = xmlHttpGetStatus;
		oXMLHttp.open(method, url, true);
		oXMLHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		oXMLHttp.send(data);
	}
}

function xmlHttpGetStatus()
{
	if(oXMLHttp.readyState == 4) 
	{
		if(oXMLHttp.status == 200) 
			sResult = oXMLHttp.responseText, document.getElementById('ba').innerHTML = msg;//, document.getElementById('ba').innerHTML = sResult;//alert(sResult);
		else alert("There was a problem retrieving the XML data:\n" + oXMLHttp.status);
	}
}

function isEmail(string) 
{
	if(string.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
		return true;
	else return false;
}

