function Subscribe()
{
	var call = new WS.Call('/cgi-bin/subscribe.cgi');
	var nsuri = 'http://yogaclass.ca/Subscribe';
	var qn_op = new WS.QName('SubscribeToList', nsuri);
	var qn_op_resp = new WS.QName('GetSubscribeResponse', nsuri);

	var myDiv = document.getElementById("responseDiv");
	var formDiv = document.getElementById("subscribeForm");
	myDiv.innerHTML = '&nbsp;';

	var emailAddress = document.getElementById('emailAddress').value;
	var listAddress = document.getElementById('listAddress').value;

	call.invoke_rpc(
		qn_op,
		new Array(
			{name:'EmailAddress', value:emailAddress},
			{name:'MailingList', value:listAddress}
		),
		null,
		function(call,envel) {
			try {
				var response = envel.get_body().get_all_children()[0].
				          get_all_children()[0].get_value();
			}
			catch(err) { }
			if (response)
			{
				if (response == '0')
				{
					myDiv.innerHTML = "Invalid email address";
				}
				else if (response == '1')
				{
					myDiv.innerHTML = "";
					formDiv.innerHTML = "Thank you, you will receive a confirmation email shortly";
				}
				else
				{
					myDiv.innerHTML = "Unknown error";
				}
			}
			else
			{
				myDiv.innerHTML = "Error";
			}
			myDiv.style.display='block';
		}
	)
}
function showNewsletterDiv(event)
{
	var newsletterDiv = document.getElementById("subscribeDiv");
	var coords = getPageEventCoords(event);
	newsletterDiv.style.top = (coords.top - 20);
	newsletterDiv.style.left = (coords.left - 220);
	newsletterDiv.style.display='block';

	document.getElementById("emailAddress").focus();
}
function hideDiv()
{
	var newsletterDiv = document.getElementById("subscribeDiv");
	newsletterDiv.style.display='none';
	document.getElementById("responseDiv").innerHTML = "";
	document.getElementById("responseDiv").style.display = 'none';
}
	
function getPageEventCoords(evt) {
	var coords = {left:0, top:0};
	if (evt.pageX) {
		coords.left = evt.pageX;
		coords.top = evt.pageY;
	} else if (evt.clientX) {
		coords.left = evt.clientX + document.body.scrollLeft - document.body.clientLeft;
		coords.top = evt.clientY + document.body.scrollTop - document.body.clientTop;
		// include html element space, if applicable
		if (document.body.parentElement && document.body.parentElement.clientLeft) {
			var bodParent = document.body.parentElement;
			coords.left += bodParent.scrollLeft - bodParent.clientLeft;
			coords.top += bodParent.scrollTop - bodParent.clientTop;
		}
	}
	return coords;
}
