function sendMeAReminder ( elementId, email, phone, wirelessProvider, oneDayBefore, oneWeekBefore, EventDateId )
{
	showProcessingMessage ( elementId );
	
	var request = new xmlRPCRequest ( cgiURL + '/Go.cgi?a_application=SiteXMLRPCApp', 'BASIK.sendMeAReminder', onRequestStatus, elementId );
	
	request.addParameter ( email );
	request.addParameter ( phone );
	request.addParameter ( wirelessProvider );
	request.addParameter ( oneDayBefore );
	request.addParameter ( oneWeekBefore );
	request.addParameter ( Number ( EventDateId ) );
	
	request.send ( );
}

function inviteAFriend ( elementId, EventId, email, recipients, message, EventDateId )
{
	showProcessingMessage ( elementId );
	
	var request = new xmlRPCRequest ( cgiURL + '/Go.cgi?a_application=SiteXMLRPCApp', 'BASIK.inviteAFriend', onRequestStatus, elementId );
	
	request.addParameter ( Number ( EventId ) );
	request.addParameter ( email );
	request.addParameter ( recipients );
	request.addParameter ( message );
	request.addParameter ( Number ( EventDateId ) );
	
	request.send ( );
}

function onRequestStatus ( elementId )
{
	if ( this.request.readyState != 4 )
	{
		return;
	}
	
	try
	{
		onRequestErrorCheck ( this );
		
		showCompletedMessage ( elementId );
	}
	catch ( e )
	{
		showErrorMessage ( elementId, e );
	}
	
	this.complete ( );
}

function showProcessingMessage ( elementId )
{
	document.getElementById ( "button_" + elementId ).style.display = "none";
	document.getElementById ( "status_" + elementId ).innerHTML = "Sending...";
	document.getElementById ( "success_" + elementId ).innerHTML = '';
	document.getElementById ( "error_" + elementId ).innerHTML = '';
	resizeElement ( elementId )
}

function showCompletedMessage ( elementId )
{
	document.getElementById ( "button_" + elementId ).style.display = "block";
	document.getElementById ( "status_" + elementId ).innerHTML = '';
	document.getElementById ( "success_" + elementId ).innerHTML = "Thank you!<br /><br />";
	document.getElementById ( "error_" + elementId ).innerHTML = '';
	resizeElement ( elementId )
}

function showErrorMessage ( elementId, message )
{
	document.getElementById ( "button_" + elementId ).style.display = "block";
	document.getElementById ( "status_" + elementId ).innerHTML = '';
	document.getElementById ( "success_" + elementId ).innerHTML = '';
	document.getElementById ( "error_" + elementId ).innerHTML = message + '<br /><br />';
	resizeElement ( elementId )
}

function resizeElement ( elementId )
{
	var element = document.getElementById ( elementId );
	element.style.height = "auto";
	element.basikFullHeight = element.offsetHeight;
	element.style.height = element.offsetHeight + "px";
}
