function subscribeNow(langReg, countryReg, countryOrg)
{
	var f = document.getElementById('subscriptionform');
	var userEmailAddress = f.userMail.value;
	if (checkInput(userEmailAddress))
	{
		var responseDiv = document.getElementById("subscription");
		responseDiv.style.display = 'none';

		var responseDiv = document.getElementById("subscribe_responseWait");
		responseDiv.style.display = 'inline';

		SubscriptionHandler.subscribeUser(langReg, countryReg, countryOrg, userEmailAddress, handleResult);
	}
	else {
		SubscriptionHandler.printCheckFailure(countryReg, userEmailAddress, handleCheckFailure);
	}
}

function unSubscribeNow(language)
{
	var f = document.getElementById('unsubscribeform');
	var userEmailAddress = f.unsub_userMail.value;
	if (checkInput(userEmailAddress))
	{
		var responseDiv = document.getElementById("unsubscribe");
		responseDiv.style.display = 'none';

		var responseDiv = document.getElementById("unsubscribe_responseWait");
		responseDiv.style.display = 'inline';

		SubscriptionHandler.unsubscribeUser(language, userEmailAddress, handleResultUnsub);
	}
	else {
		SubscriptionHandler.printCheckFailure(language, userEmailAddress, handleCheckFailureUnsub);
	}
}

function checkInput(str)
{
	var re = new RegExp("^[a-z0-9!#\\$%&'\\*\\+/=\\?\\^_`\\{\\|\\}~-]+(?:\\.[a-z0-9!#\\$%&'\\*\\+/=\\?\\^_`\\{\\|\\}~-]+)*@([_a-z0-9-]+\\.)+([a-z]{2}|aero|arpa|asia|biz|cat|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|nato|net|org|pro|tel|travel)$","i");
	if (str.match(re))
	{
		return true;
	} else {
		return false;
	}
}

function handleCheckFailureUnsub(result)
{
	var responseWaitDiv = document.getElementById("unsubscribe_responseWait");
	responseWaitDiv.style.display = 'none';

	var responseDiv = document.getElementById("unsubscribe");
	responseDiv.style.display = 'inline';
	
	var failedCheckDiv = document.getElementById("unsub_failedCheck");
	failedCheckDiv.style.display = 'inline';
	failedCheckDiv.innerHTML = result;
}

function handleResultUnsub(result)
{
	var responseWaitDiv = document.getElementById("unsubscribe_responseWait");
	responseWaitDiv.style.display = 'none';
	
	var failedCheckDiv = document.getElementById("unsub_failedCheck");
	failedCheckDiv.style.display = 'none';
	failedCheckDiv.innerHTML = '';
	
	var mainDiv = document.getElementById("unsubscribe");
	mainDiv.style.display = 'inline';
	
	var resultDiv = document.getElementById("unsub_response");
	resultDiv.innerHTML = result;
}

function handleCheckFailure(result)
{
	var responseWaitDiv = document.getElementById("subscribe_responseWait");
	responseWaitDiv.style.display = 'none';
	
	var responseDiv = document.getElementById("subscription");
	responseDiv.style.display = 'inline';
	
	var failedCheckDiv = document.getElementById("failedCheck");
	failedCheckDiv.style.display = 'inline';
	failedCheckDiv.innerHTML = result;
}

function handleResult(result)
{
	var responseWaitDiv = document.getElementById("subscribe_responseWait");
	responseWaitDiv.style.display = 'none';
	
	var failedCheckDiv = document.getElementById("failedCheck");
	failedCheckDiv.style.display = 'none';
	failedCheckDiv.innerHTML = '';
	
	var mainDiv = document.getElementById("subscription");
	mainDiv.style.display = 'inline';
	
	var resultDiv = document.getElementById("response");
	resultDiv.innerHTML = result;
}
