public class ChromeNewGameMenu extends ChromeMenuWindow
{
    {
/*
	nMovieIn = 12;
	nMovieLoop = 13;
	nMovieOut = 14;
*/
        nMovieIn = -1;
        nMovieLoop = -1;
        nMovieOut = -1;
	}
	
    void Init(MenuBackground cBack)
    {
        MenuModule=(ChromeMenuModule)GetModule();
    }
    
    void OnUICommand(UIWindow cSender, int nCommand)
	{
		super.OnUICommand(cSender,nCommand);
		int nID = GetButtonId(cSender.m_sId);
            
		if(nCommand == EUIConst.CM_CLICK || nCommand == EUIConst.CM_DBCLICK)
        {
            switch(nID)
            {
			case EChromeNewGameUI.ID_BTN_VERY_EASY:
                ChromeGame.SetDiffLevel(ChromeGame.DIFF_VERY_EASY);
                break;
            case EChromeNewGameUI.ID_BTN_EASY:
                ChromeGame.SetDiffLevel(ChromeGame.DIFF_EASY);
                break;
            case EChromeNewGameUI.ID_BTN_MEDIUM:
                ChromeGame.SetDiffLevel(ChromeGame.DIFF_NORMAL);
                break;
            case EChromeNewGameUI.ID_BTN_HARD:
                ChromeGame.SetDiffLevel(ChromeGame.DIFF_HARD);
                break;
			case EChromeNewGameUI.ID_BTN_VERY_HARD:
                ChromeGame.SetDiffLevel(ChromeGame.DIFF_VERY_HARD);
                break;
            case EChromeNewGameUI.ID_BTN_BACK:
                Discard();
                return;
            }
			
			//jesli odpalone okno z parametrem
			if(vParams != null && vParams.size() > 0)
			{
				//czy customlevel
				if(vParams.size()>1)
				{
					if(((String)vParams.elementAt(1)).equals(ChromMenuCustomLevels.sm_sCustomMap))
						StartCustomLevel((String)vParams.elementAt(0));
				}else
					StartFromLevel((String)vParams.elementAt(0));
			}else
				StartGame();
			
        }
    }
    
    void StartGame()
    {
        if(ChromeGameRunInfo.s_bShowLevelsMenu)
        {
            ChromeMenuLevelSelection.s_bCheatLevelsMenu = true;
            MenuModule.SetMenu("ChromeMenuLevelSelection");
        }else
        {
            Hide();
            ForceRender();
            GameInitInfoSingle game = new GameInitInfoSingle("Data/LevelsSingleMissions.scr");
            MenuModule.NewGame(game);
            MenuModule.StartGame();
        }
    }
    
	void StartCustomLevel(String sLevelScript)
	{
		GameInitInfoSingle game=new GameInitInfoSingle( sLevelScript );
		
		MenuModule.NewGame(game);
        MenuModule.StartGame();
		
        LogR("LoadCustomLevel " + sLevelScript + "\n");
	}
	
	void StartFromLevel(String sLevelScript)
    {
        GameInitInfoSingle game=new GameInitInfoSingle( sLevelScript);
		//ma sie zaladowac cala lista leveli, a nie pojedynczy, zeby mozna bylo kontynuowac
		String sMap = game.cLevels.GetCurrent().sLevelName;
		game = new GameInitInfoSingle("data/LevelsSingleMissions.scr");
		while (game.cLevels.GetCurrent() != null)
		{
			LevelContent cLevel = game.cLevels.GetCurrent();
			if (cLevel.sLevelName.equals(sMap))
				break;
			else
				game.cLevels.NextLevel();
		}
		
		MenuModule.NewGame(game);
        MenuModule.StartGame();
        LogR("LoadLevel " + sLevelScript + "\n");
    }
	
     void Discard()
    {
		if(!CanDiscard())
			return;
		MenuModule.SetMenu("ChromeMainMenu");
    }
}
