function load_drill_image(parameters, pathParts) {
	
	// Load all of the parameters
	var defaultImage	= parameters['default_image'];
	var imageObject		= parameters['image_object'];
	var rootImageURL	= parameters['root_image_url'];
	var imageNamePrefix	= parameters['image_name_prefix']; // The string at the start of every image's name, e.g. 'drill' for 'drill_personal_loans.jpg'
	var imageType		= parameters['image_type']; // e.g. 'jpg', 'gif', 'png'
	var debugEnabled	= parameters['debugEnabled'];
	
	// Quit right away unless we have an image to modify
	if( ! imageObject ) {
		if(debugEnabled) {
			console.log("Missing image object.");
		}
		return;
	}
	
	// Use the default image if the drill-down has failed entirely
	if(pathParts && pathParts.length === 0) {
		if(debugEnabled) { console.log("Remaining parts: [" + pathParts.join(', ') + "]"); }
		if(imageObject.src != defaultImage) {
			imageObject.src = defaultImage;
		}
		imageObject.style.display = "block";
		return;
	}
	
	// Derive the prospective image URL from the page URL
	var newPathParts = pathParts ? pathParts : document.location.pathname.substring(6).split('/'); // Cut out the "/home/" at the beginning
	var imageURL = rootImageURL + imageNamePrefix + '_' + newPathParts.join('_') + '.' + imageType;
	
	// Skip the whole loading step entirely if the prospective image has already been loaded (e.g. when the default is already defined in the HTML)
	if(imageObject.src && imageObject.src == imageURL) {
		imageObject.style.display = "block";
		return;
	}
	
	// Try to load the prospective image off-screen, repeating the process until we reach a valid image
	var newImage = new Image();
	
	newImage.onerror = function() {
		if(debugEnabled) { console.log("Failed to load: " + imageURL); }
		load_drill_image(parameters, newPathParts.slice(0,newPathParts.length-1));
	};
	
	newImage.onload = function() {
		if(debugEnabled) { console.log("Trying to load: " + imageURL); }
		if(newImage.height) { // Make sure that we have a valid image
			if(debugEnabled) { console.log("Loaded: " + imageURL); }
			imageObject.src = newImage.src;
			function displayUponLoadingCompleted(targetImage) {
				if(targetImage.complete) {
					targetImage.style.display = "block";
				} else {
					setTimeout(function() { displayUponLoadingCompleted(imageObject) }, 20);
				}
			}
			setTimeout(function() { displayUponLoadingCompleted(imageObject) }, 20);
		} else {
			this.onerror();
		}
	};
	
	newImage.src = imageURL;
}
