
//----------------------------------------------------------------------------------------------------------------------

function ReplyScreen() {
	var self = this;

	var cancelButton = document.getElementById( "cancel_message_button" );
	cancelButton.onclick = function() {
		 self.onCancelClicked();
	};

	var sendButton = document.getElementById( "send_message_button" );
	sendButton.onclick = function() {
		 self.onSendClicked();
	};

	// Get all the UI elements that we can interact with.
	this.reply_to		= document.getElementById( "reply_to" );
	this.reply_subject	= document.getElementById( "reply_subject" );
	this.reply_body		= document.getElementById( "reply_body" );
}

//----------------------------------------------------------------------------------------------------------------------

ReplyScreen.prototype.msg_id;
ReplyScreen.prototype.msg_reply_to;
ReplyScreen.prototype.msg_subject;

//----------------------------------------------------------------------------------------------------------------------

ReplyScreen.prototype.onActivated = function() {
	var self = this;

	//fill reply-to and subject
	self.reply_to.innerHTML = self.msg_reply_to;
	var tSubject = "Re: " + self.msg_subject;
	self.reply_subject.value = ( self.msg_subject.substr(0,3).toLowerCase() == "re:" ) ? self.msg_subject : tSubject;
	self.reply_body.value = "";
	//self.reply_body.focus();
}

//----------------------------------------------------------------------------------------------------------------------

ReplyScreen.prototype.onCancelClicked = function() {

	if(confirm( StringTable.Code.replyScreenConfirmCancel )) 
		widgetMenu.activate( Menu.VIEW_MESSAGE_SCREEN );
}

//----------------------------------------------------------------------------------------------------------------------

ReplyScreen.prototype.onSendClicked = function() {
	
	// Add event listeners.
	var self = this;
	fbService.onSuccess = function( response ) { self.onFatBookieReplyMessageResponse( response ) }
	fbService.onError = function( status ) { self.onFBServiceError( status ) }

	// Start the request.
	fbService.messageSend(self.msg_id, self.reply_subject.value, self.reply_body.value);
}

//----------------------------------------------------------------------------------------------------------------------

ReplyScreen.prototype.onFatBookieReplyMessageResponse = function( response ) {

	if(response.retcode != undefined) {
		if(parseInt(response.retcode) == 1)
			this.onFBServiceError(response.body);
		else
		{
			if(response.body != undefined) {
				alert(response.body);

				//return to messages list (can only be inbox, but still does not hurt to test)
				if(messageScreen.show == "outbox")
					widgetMenu.activate( Menu.OUTBOX_SCREEN );
				else
					widgetMenu.activate( Menu.INBOX_SCREEN );
			}
			else
				alert( StringTable.Code.emptyServerResponseWarning );
		}
	}
	else
		alert( StringTable.Code.fatalAPIError );
}

//----------------------------------------------------------------------------------------------------------------------

ReplyScreen.prototype.onFBServiceError = function( status ) {
	// Alert the user that something has gone wrong.
	if(status == "Invalid session")
	{
		alert( StringTable.Code.replyScreenInvalidSessionError );

		// Load the login screen to allow user to get a new session
		widgetMenu.activate( Menu.LOGIN_SCREEN );
	}
	else
		alert( StringTable.Code.replyScreenDataError + " (" + status + ")" );
}

//----------------------------------------------------------------------------------------------------------------------
