public ArrayList<Photo> getPhotosByTag(ArrayList<String> tags){
		
		ArrayList<Photo> photos = new ArrayList<Photo>();
		String splitted[];
		
		for(int i=0; i<tags.size(); i++){
			splitted = tags.get(i).split(":");
			
			if(splitted.length==2){ //Complete Tag Information
				String tagType = splitted[0].toUpperCase(); 
				String tagValue= splitted[1].replaceAll("\"", "");
				tagValue = tagValue.toLowerCase(); 
				for(Photo photo: user.getPhotos().values()){					
					if(photo.getTags().get(tagType+tagValue)!=null)
						photos.add(photo);					
				}
			}
			
			else if(splitted.length==1){ //Partial information (Only tag value)
				String tagValue = splitted[0].toLowerCase();
				for(Photo photo: user.getPhotos().values()){					
					if(photo.getTagValues().get(tagValue)!=null)
						photos.add(photo);					
				}				
			}
			
		}
		
		Collections.sort(photos);
		
		return photos;
	}