#define rank (stat(2350)+1)
#define plevel (stat(2326))
#include "ui/menudef.h"
#include "ui_mp/common_macro.inc"

#define CHOICE_SIZE_X           150
#define CHOICE_SIZE_Y           22

#define CHOICE_X_START          0
#define CHOICE_Y_START          105

#define CHOICE_GROUP            "class"
#define CHOICE_SEP_1            6

#include "ui_mp/menustyle.inc"
#include "ui_mp/choices_setup_teams.menu"
#include "ui_mp/player_refresh.inc"

#define ORIGIN_DESCRIPTION      (CHOICE_X_START + 15) 190

{
    menuDef
    {
        name            "class"
        rect            0 0 640 480
        focuscolor      COLOR_FOCUSED
        style           WINDOW_STYLE_EMPTY
        blurWorld       7.0
        onOpen
		{
			STAT_UPDATE;
        }
        onEsc
        {
            scriptMenuResponse "back";
        }
		#include "ui_mp/ingamebg.inc"
		#include "ui_mp/player_info.inc"
        #define ORIGIN_BANNER       108 48

        itemDef {
            style           WINDOW_STYLE_SHADER
            rect            ORIGIN_BANNER 400 0.5
            background      "line_horizontal"
            forecolor       1 1 1 0.85
            visible         1   decoration  }
        itemDef {
            style           WINDOW_STYLE_SHADER
            rect            ORIGIN_BANNER 340 10
            origin          30 1
            background      "line_horizontal"
            forecolor       OBJECTIVE_COLOR_MARINES
            visible         1
            decoration  }
        itemDef {
            style           WINDOW_STYLE_SHADER
            rect            ORIGIN_BANNER 400 0.5
            origin          0 12
            background      "line_horizontal"
            forecolor       1 1 1 0.85
            visible         1   decoration  }

        itemDef {
            rect            -400 64 800 0 HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_TOP
            textstyle       ITEM_TEXTSTYLE_SHADOWED
            textscale       TEXTSIZE_TITLE
            textalign       ITEM_ALIGN_CENTER
            forecolor       1 1 1 0.85
            exp text ( gametypename() );
            visible         1   decoration  }
        itemDef {
            rect            -250 84 500 60 HORIZONTAL_ALIGN_CENTER VERTICAL_ALIGN_TOP
            textstyle       ITEM_TEXTSTYLE_SHADOWED
            textscale       TEXTSIZE_SMALL
            textalign       ITEM_ALIGN_CENTER
            forecolor       1 1 1 0.75
            exp text( gametypedescription() );
            autowrapped
            visible         1   decoration  }

        CHOICE_MENU_TITLE( "@MENU_OPTIONS_UPPER_CASE" )

        #define BACK_OPEN   ;
        #include "ui_mp/navcontrols.inc"
        #include "ui_mp/teamicon.inc"

        #undef  CHOICE_X_START
        #define CHOICE_X_START  -310

        #undef  CHOICE_HORIZONTAL_ALIGN
        #define CHOICE_HORIZONTAL_ALIGN HORIZONTAL_ALIGN_CENTER 

        #undef CHOICE_Y_START
        #define CHOICE_Y_START          150

        CHOICE_HIGHLIGHT( 3, 0 )
        CHOICE_BUTTON_VIS_NOHI( 3, "^1Choose Class", scriptMenuResponse "changeclass_marines", when( TEAM_IS_MARINES && MAY_CHOOSE_CLASS ) )
        CHOICE_BUTTON_VIS_NOHI( 3, "^1Choose Class", scriptMenuResponse "changeclass_opfor", when( TEAM_IS_OPFOR && MAY_CHOOSE_CLASS ) )
        CHOICE_HIGHLIGHT( 4, 0 )
        CHOICE_BUTTON_NOHI( 4, "^1Change Team", scriptMenuResponse "changeteam"; )
 
        CHOICE_HIGHLIGHT( 5, 0 )
        CHOICE_BUTTON_NOHI( 5, "^1Controls", close self; open main_controls )

        CHOICE_HIGHLIGHT( 6, 0 )
        CHOICE_BUTTON_NOHI( 6, "^1Options", close self; open main_options; execnow "set ui_allow_graphic_change 0"; )
		
        CHOICE_HIGHLIGHT( 7, 0 )
        CHOICE_BUTTON_VIS_NOHI( 7, "^1Call vote", open callvote; close self;, when( dvarbool( ui_allowvote ) || PRESTIGE_FINISH ); )
        CHOICE_DBUTTON_VIS_NOHI( 7, "^1Call vote", when( !dvarbool( ui_allowvote ) && !PRESTIGE_FINISH ); )

        CHOICE_HIGHLIGHT( 8, 0 )
        CHOICE_BUTTON_NOHI( 8, "^1Mute Players", open muteplayer; close self; )
		
		CHOICE_HIGHLIGHT( 9, 0 )
		CHOICE_BUTTON_VIS( 9, "Prestige Mode", open prestige_reset1; close self;, when(rank >= tableLookup( "mp/rankTable.csv", 0, "maxrank", 1 )) )
		CHOICE_DBUTTON_VIS( 9, "Prestige Mode", when(rank >= tableLookup( "mp/rankTable.csv", 0, "maxrank", 1 )) )

        CHOICE_HIGHLIGHT( 10, 0 )
        CHOICE_BUTTON_VIS_NOHI( 10, "^1Leave Game", open popup_endgame, when( dvarbool( sv_running ) ) )
        CHOICE_BUTTON_VIS_NOHI( 10, "^1Leave Game", open popup_leavegame, when( !dvarbool( sv_running ) ) )
       
    }
	
	#undef CHOICE_HORIZONTAL_ALIGN
	#define CHOICE_HORIZONTAL_ALIGN	HORIZONTAL_ALIGN_CENTER
	#undef CHOICE_VERTICAL_ALIGN
	#define CHOICE_VERTICAL_ALIGN	VERTICAL_ALIGN_CENTER
	
	#define CHOICE_POPUP_TITLE_HEIGHT	24
	#define CHOICE_POPUP_SUBTITLE_HEIGHT 142
	
	#include "ui_mp/popupstyle.inc"
	#include "ui/choices_setup_popmenu.menu"
	
	#undef CHOICE_SIZE_X
	#define CHOICE_SIZE_X			320
	
	menuDef
	{
		CENTER_POPUP_SETUP_ONOPEN( prestige_reset1, 2, ;, setfocus cancel_button, 1 )

		CHOICE_POPMENU_TITLE( "@MENU_PRESTIGE_RESET_TITLE1" )
		CHOICE_POPMENU_SUBTITLE( "@MENU_PRESTIGE_RESET_WARNING1" )
		CHOICE_BUTTON( 1, "@MENU_PRESTIGE_RESET_TITLE2", close prestige_reset1; open prestige_reset2 )
		CHOICE_BUTTON_EX( 2, "@MENU_CANCEL", close prestige_reset1;play yolo, name cancel_button )
	}

	menuDef
	{
		CENTER_POPUP_SETUP_ONOPEN( prestige_reset2, 2, ;, setfocus cancel_button, 1 )

		CHOICE_POPMENU_TITLE( "@MENU_PRESTIGE_RESET_TITLE2" )
		CHOICE_POPMENU_SUBTITLE( "@MENU_PRESTIGE_RESET_WARNING2" )
		CHOICE_BUTTON( 1, "@MENU_CONTINUE", close prestige_reset2; open prestige_reset3 )
		CHOICE_BUTTON_EX( 2, "@MENU_CANCEL", close prestige_reset2;play yolo, name cancel_button )
	}

	#define PRESTIGE_RESET \
        exec "exec playerstats_prestige_reset.cfg"; \
		scriptMenuResponse "prestige"; \
		STAT_UPDATE; \
		play "enter_prestige";


	menuDef
	{
		CENTER_POPUP_SETUP_ONOPEN( prestige_reset3, 2, ;, setfocus cancel_button, 1 )

		CHOICE_POPMENU_TITLE( "@MENU_PRESTIGE_RESET_TITLE3" )
		CHOICE_POPMENU_SUBTITLE( "@MENU_PRESTIGE_RESET_WARNING3" )
		CHOICE_BUTTON( 1, "@MENU_PRESTIGE_ENTER", PRESTIGE_RESET; close prestige_reset3; )
		CHOICE_BUTTON_EX( 2, "@MENU_CANCEL", close prestige_reset3;play yolo, name cancel_button )
	}
}