var EHDI = EHDI || Object.create(null);

EHDI.GAME = EHDI.GAME || Object.create(null);

EHDI.GAME.Managers = EHDI.GAME.Managers || Object.create(null);

EHDI.GAME.Managers.SpriteManager = (function() {
	var instance;

	function create() {
		var public = {};

		//all backgrounds
		public.bgSpriteList = [
			EHDI.Assets.images["escapetoegypt_bg1"],
			EHDI.Assets.images["escapetoegypt_bg2"],
			EHDI.Assets.images["escapetoegypt_bg3"]
		];

		//game objects
		public.objectSpriteList = [
			{default: EHDI.Assets.images["vase1"], lighted: EHDI.Assets.images["vase1_2"]},
			{default: EHDI.Assets.images["vase2"], lighted: EHDI.Assets.images["vase2_2"]},
			{default: EHDI.Assets.images["vase3"], lighted: EHDI.Assets.images["vase3_2"]},
			{default: EHDI.Assets.images["basket1"], lighted: EHDI.Assets.images["basket1_2"]},
			{default: EHDI.Assets.images["basket2"], lighted: EHDI.Assets.images["basket2_2"]}
		]

		public.getRandomSprite = function(list) {
			var n = EHDI.GAME.utils.randomInt(0, list.length);
			return list[n];
		}

		public.getSpriteByName = function(list, bgName) {
			for(var i = 0, len = list.length; i < len; i++) {
				if(bgName == list[i].name)
					return list[i];
			}
		}


		return public;
	}

	return {
		getInstance: function() {
			if(!instance) {
				instance = create();
			}
			return instance;
		}
	};
})();