function updateBlockError( status, msg, block_id ) {
	
	if ( status == 1 ) {
		$( block_id ).style.display = 'block';
	} else {
		$( block_id ).style.display = 'none';
	}
	
	$( block_id ).innerHTML = msg;
}

function changeBlocks( block_1, block_2 ) {
	showHideObject( block_1 );
	showHideObject( block_2 );
}

function registerToNewsletter( failure_text ) {
	
	var email = $( 'newsletter_registration_input' ).value;
	var register_url = root_url + 'index.php?act=js/newsletter/registration&email=' + email;
	var params = '';
	
	var ajaxRequest = new Ajax.Request(
		register_url, {
			method: 'get',
			parameters: params,
			onSuccess: function (req) {
				var response = req.responseText;
				
				// if successfully registered
				if ( response.length == 1 ) {
					updateBlockError( 0, '', 'newsletter_error' );
					changeBlocks( 'newsletter_register', 'newsletter_registered' );
				} else {
					updateBlockError( 1, response, 'newsletter_error' );
				}
			},
			onFailure: function (req) {
				updateBlockError( 1, failure_text, 'newsletter_error' );
			}
		}
	);
}