private void generatePlaylist()
	{
		for(Song song: songs)
		{
			song.resetSelect();
		}
		Random rand = new Random();
		int i=1;
		int position;
		int min=(i-1)*10;
		int max=i*10;
		position= rand.nextInt((max - min)) + min;
		playlist[0]=songs.get(position);
		songs.get(position).selected();
		while(i<6){
			min=(i-1)*10;
			max=i*10;
			position= rand.nextInt((max - min)) + min;
			if(!(songs.get(position).getSelected()))
			{
				playlist[i]=songs.get(position);
				songs.get(position).selected();
				i++;
			}
		}
		ArrayList<Song> top40 =LastFMClient.getTop20(user); // think about month being a short enough time for a user
		if(top40.size()>4)
		{
			int increment = (int) top40.size()/4;
			for(i=0;i<4;i++)
			{
				min=i*increment;
				max=(i+1)*increment;
				position= rand.nextInt((max - min)) + min;
				playlist[i+6]=top40.get(position);
			}
			
			recent=true;
		}
		
		else
		{
			i=1;
			while(i<5)
			{
				min=(i-1)*10;
				max=i*10;
				position= rand.nextInt((max - min)) + min;
				if(!(songs.get(position).getSelected()))
				{
					playlist[i+5]=songs.get(position);
					songs.get(position).selected();
					i++;
				}
			}
			
			recent=false;
		}
		
	}