
//----------------------------------------------------------------------------------------------------------------------

function NewgameScreen() {
	var self = this;

	var resetButton = document.getElementById( "reset_set_game_button" );
	resetButton.onclick = function() {
		 self.onResetClicked();
	};

	var createButton = document.getElementById( "create_set_game_button" );
	createButton.onclick = function() {
		 self.onCreateClicked();
	};

	// Get all the UI elements that we can interact with.
	this.game_subject		= document.getElementById( "game_subject" );
	this.game_chip_value	= document.getElementById( "game_chip_value" );
}

//----------------------------------------------------------------------------------------------------------------------

NewgameScreen.prototype.draft_id;

//----------------------------------------------------------------------------------------------------------------------

NewgameScreen.prototype.onActivated = function() {
	var self = this;

	//initialize wizard
	self.draft_id = -1; 
	self.game_subject.value = "";
	self.game_chip_value.value = "";
}

//----------------------------------------------------------------------------------------------------------------------

NewgameScreen.prototype.onResetClicked = function() {
	var self = this;

	self.onActivated();
}

//----------------------------------------------------------------------------------------------------------------------

NewgameScreen.prototype.onCreateClicked = function() {
	var self = this;
	
	if( Helper.trim(self.game_subject.value) != "" && Helper.trim(self.game_chip_value.value) != "")
	{
		// Add event listeners.
		fbService.onSuccess = function( response ) { self.onFatBookieSetGameResponse( response ) }
		fbService.onError = function( status ) { self.onFBServiceError( status ) }

		// Start the request.
		fbService.setGame(self.game_subject.value, self.game_chip_value.value);
	}
	else
		alert( StringTable.Code.setGameIncompleteValuesWarning );

}

//----------------------------------------------------------------------------------------------------------------------

NewgameScreen.prototype.onFatBookieSetGameResponse = function( response ) {
	var self = this;

	if(response.retcode != undefined) {
		if(parseInt(response.retcode) == 1)
			self.onFBServiceError(response.body);
		else
		{
			if(response.game != undefined) {
				self.draft_id = parseInt(response.game);

				//jump to next wizard step
				widgetMenu.activate( Menu.GAME_OPTIONS_SCREEN );
			}
			else
				alert( StringTable.Code.emptyServerResponseWarning );
		}
	}
	else
		alert( StringTable.Code.fatalAPIError );
}

//----------------------------------------------------------------------------------------------------------------------

NewgameScreen.prototype.onFBServiceError = function( status ) {
	// Alert the user that something has gone wrong.
	if(status == "Invalid session")
	{
		alert( StringTable.Code.setGameScreenInvalidSessionError );

		// Load the login screen to allow user to get a new session
		widgetMenu.activate( Menu.LOGIN_SCREEN );
	}
	else
		alert( StringTable.Code.setGameScreenDataError + " (" + status + ")" );
}

//----------------------------------------------------------------------------------------------------------------------

