function tile(width, height, path, context) {

	var characters = new Array("jessie.png","makoto.png","rowan.png","takepon.png","yuuki.png");
	var characterImages = new Array();
	var charactersLoaded = 0;

	var draw = function() {

		var highest = 0;
		for (var i = 0; i < characterImages.length; i++) {
			if (characterImages[i].height > highest) highest = characterImages[i].height;
		}


		var y = height - highest;
		var character = 0;
		var rowStarter;
		while(y > -highest) {
			var x = 0;
			rowStarter = character;
			while (x < width) {
				context.drawImage(characterImages[character], x, y + Math.round((highest - characterImages[character].height)/2));
				x += characterImages[character].width;
				character = ++character % characters.length;
			}
			//character = --rowStarter;
			//if (character < 0) character = characters.length - 1;
			character = ++rowStarter % characters.length;
			y -= highest;
		}

	}
	
	for (var i = 0; i < characters.length; i++) {
		characterImages[i] = new Image();
		characterImages[i].onload = function() {
			if (++charactersLoaded == characters.length) {
				draw();
			}
		}
		characterImages[i].src = path + characters[i];
	}

}
