public static void startBattle(Pokemon u[], int userInt, Pokemon e[], int enemyInt, String battleType, BattleWindow b2)
	{
		TERMINATE=false;
		caughtPokemon=null;

		for(int i=0; i<revert.length; i++)
		{
			revert[i]=null;
		}

		System.out.println();
		System.out.println("Starting Pokemon Battle...");
		BATTLE_TYPE=battleType;
		BATTLE_OVER=false;

		if(!IMPORTED)
    	setSoundEffects();

		b1=b2;
		
		if(BATTLE_TYPE.equals("SUPER"))
		{
			if(b1.trainer.type==Trainer.TrainerType.ELITE)
			{
				eliteURL=Battle.class.getResource("Music/PowerTrainers/" + b1.trainer.name + ".mid");
				eliteMusic=JApplet.newAudioClip(eliteURL);
				System.out.println(eliteMusic.toString());
			}
			else
			{
				eliteURL=Battle.class.getResource("Music/PowerTrainers/Babb.mid");
				eliteMusic=JApplet.newAudioClip(eliteURL);
			}
		}
		b1.cursorLock=true;
		turn=0;
		user=u;
		userNumOfPokemon=userInt;
		enemy=e;
		enemyNumOfPokemon=enemyInt;

		for(int i=0; i<6; i++)
		{
			if(user[i]!=null)
			{
				revertSpecies[i]=user[i].species;
				user[i].atkStage=0;
				user[i].defStage=0;
				user[i].speedStage=0;
				user[i].spclStage=0;
				user[i].evaStage=0;
				user[i].accuracyStage=0;
			}
		}

		loopMusic();

		Mechanics.canAttack[0]=true;
		Mechanics.canAttack[1]=true;
		userLockedMove=-1;
		enemyLockedMove=-1;

		enemyIndex=0;

		userCmd=0;
		enemyCmd=0;

		for(int i=0; i<userNumOfPokemon; i++)
		{
			if(user[i].health>0)
			{
				userIndex=i;
				if(user[i].health<user[i].healthMax/5)
				{
			    	stopMusic();
				}
				break;
			}

		}

		Mechanics.initialize();
		runBattle();
	}