require("blg/anim_enums.lua");

--standardFont = "fonts/market_deco.mvec";
standardFont = "fonts/font_template_8.mvec";
--secondaryFont = "fonts/comic_commando.mvec";
secondaryFont = "fonts/font_template_8.mvec";

FPS = 60;
BaseDelay = 16;

--------------------------------------------------------------
-- ENUMS

kGenderNone = 0;
kGenderMale = 1;
kGenderFemale = 2;

kNightClub = 0;
kPoolSide = 1;
kBeach = 2;

kObjectivesButtonOK = 2000;
kComicButtonOK = 2001;

--------------------------------------------------------------
-- SOUNDS

kDefaultButtonSound = "audio/FX/cp_button_press.ogg";

--------------------------------------------------------------
-- UPGRADE IDS

-- club
kUpgradeClubChair1 = 0;
kUpgradeClubChair2 = 1;
kUpgradeClubChair3 = 2;
kUpgradeClubChair4 = 3;
kUpgradeClubChair5 = 4;
kUpgradeClubChair6 = 5;

kUpgradeClubDispDaiquiri = 6;
kUpgradeClubDispCubaLibre = 7;
kUpgradeClubDispMargarita = 8;
kUpgradeClubDispCooking = 9;
kUpgradeClubDispCombination = 10;

kUpgradeClubDanceFloor = 11;

kUpgradeClubWaiter1 = 12;

-- beach
kUpgradeBeachChair1 = 13;
kUpgradeBeachChair2 = 14;
kUpgradeBeachChair3 = 15;
kUpgradeBeachChair4 = 16;
kUpgradeBeachChair5 = 17;
kUpgradeBeachChair6 = 18;

kUpgradeBeachDispIceCream = 19;
kUpgradeBeachDispOrangeJuice = 20;
kUpgradeBeachDispSuntan = 21;
kUpgradeBeachDispCooking = 22;
kUpgradeBeachDispCombination = 23;

kUpgradeBeachSea = 24;

kUpgradeBeachWaiter1 = 25;

-- pool
kUpgradePoolChair1 = 26;
kUpgradePoolChair2 = 27;
kUpgradePoolChair3 = 28;
kUpgradePoolChair4 = 29;
kUpgradePoolChair5 = 30;
kUpgradePoolChair6 = 31;

kUpgradePoolDispIceCream = 32;
kUpgradePoolDispOrangeJuice = 33;
kUpgradePoolDispSuntan = 34;
kUpgradePoolDispCooking = 35;
kUpgradePoolDispCombination = 36;

kUpgradePool = 37;

kUpgradePoolWaiter1 = 38;

kUpgradePoolDeco1 = 39;
kUpgradePoolDeco2 = 40;
kUpgradePoolDeco3 = 41;
kUpgradePoolDeco4 = 42;
kUpgradePoolDeco5 = 43;

kUpgradePoolRadio1 = 44;
kUpgradePoolRadio2 = 45;
kUpgradePoolRadio3 = 46;


kUpgradeBeachDeco1 = 47;
kUpgradeBeachDeco2 = 48;
kUpgradeBeachDeco3 = 49;
kUpgradeBeachDeco4 = 50;
kUpgradeBeachDeco5 = 51;

kUpgradeBeachRadio1 = 52;
kUpgradeBeachRadio2 = 53;
kUpgradeBeachRadio3 = 54;


kUpgradeClubDeco1 = 55;
kUpgradeClubDeco2 = 56;
kUpgradeClubDeco3 = 57;
kUpgradeClubDeco4 = 58;
kUpgradeClubDeco5 = 59;

kUpgradeClubRadio1 = 60;
kUpgradeClubRadio2 = 61;
kUpgradeClubRadio3 = 62;


--------------------------------------------------------------
-- GOALS

kPlaceSquareCustomer = 0;
kPlaceCongaCustomer = 1;
kPlaceTangoCouple = 2;

kDeliverDaiquiri = 3;
kDeliverMargarita = 4;
kDeliverCubaLibre = 5;

kOrganizeEvent = 6;

kHireEmployee = 9;

kUpgradeAllItemStations = 10;
kUpgradeServiceStation = 11;
kUpgradeItemStation = 12;
kUpgradeDropAreaStation = 13;

kUpgradeMargaritaStation = 14;
kUpgradeCubaLibreStation = 15;
kUpgradeDaiquiriStation = 16;

kEarnTotalMoney = 17;
kEarnPartialMoney = 18;

kHaveDancingCustomersEachTypeSameTime = 19;
kHaveDancingCustomersSameTime = 20;
kHaveSquareCustomersSameTime = 21;
kHaveTangoCouplesSameTime = 22;
kHaveCongaCustomersSameTime = 23;

kHaveCustomersOnLevel = 24;

kSurviveTime = 25;
kEndLevelInLessThan = 100;

kServeCustomers = 26;

kMisplaceCustomer = 27;
kLetCustomerGetAngry = 28;




kPlaceVolleyCustomer = 29;
kPlaceBoatCustomer = 30;
kPlaceSwimCustomer = 31;

kDeliverDrink = 32;
kDeliverIceCream = 33;
kDeliverTan = 34;

kHitVolleyBall = 35;

kUpgradeOrangeJuiceStation = 36;
kUpgradeTanStation = 37;
kUpgradeIceCreamStation = 38;

kHavePoolCustomersEachTypeSameTime = 39;
kHavePoolCustomersSameTime = 40;
kHaveBoatCustomersSameTime = 41;
kHaveVolleyCustomersSameTime = 42;
kHaveSwimCustomersSameTime = 43;

kLetCustomerSunBurn = 44;




kPlaceJetBikeCustomer = 45;
kPlaceWindSurfCustomer = 46;
kPlaceFishingCustomer = 47;

kUpgradeRentalKiosStation = 48;
kUpgradeAllRentalKiosStations = 49;

kEarnRentalMoney = 50;

kRentWindSurfBoard = 51;
kRentJetBike = 52;
kRentFishingBoat = 53;

kRentOutAny = 54;
kRentOutWindSurfBoards = 55;
kRentOutJetBikes = 56;
kRentOutFishingBoats = 57;

kHaveSeaCustomersEachTypeSameTime = 58;
kHaveSeaCustomersSameTime = 59;
kHaveFishingCustomersSameTime = 60;
kHaveWindSurfCustomersSameTime = 61;
kHaveJetBikeCustomersSameTime = 62;

kRentAnyItem = 63;
kReturnAnyItem = 64;

kPlaceLevel = 65;
kPlaceMoreThanLevel = 66;
kServeMoreThanLevel = 67;
kOrganizeMoreThanLevel = 68;

kClosingTimeWin = 69;
kClosingTimeLose = 70;

kUpgradeCombinationStation = 71;
kUpgradeCookingStation = 72;

kHaveStars = 73;


-- icon table only values
---------------------------------------
kOrganizeEventClub = 200;
kOrganizeEventPool = 201;
kOrganizeEventBeach = 202;

kUpgradeDropAreaStationClub = 203;
kUpgradeDropAreaStationPool = 204;
kUpgradeDropAreaStationBeach = 205;

kOrganizeMoreThanLevelPool = 206;
kOrganizeMoreThanLevelBeach = 207;
kOrganizeMoreThanLevelClub = 208;

kDeliverDrinkBeach = 209;
kDeliverIceCreamBeach = 210;
kDeliverTanBeach = 211;


-- timed goals table
---------------------------------------
timeGoals = {
	kSurviveTime,
};

-- GOAL GROUPS 2^n (e.g: 1, 2, 4, 8, ...)
kGoalNormal = 1;
kGoalLessThan = 2;

-- TUTORIAL TRIGGERS

kWaitTimeFinished = 1;
kCustomerArrived = 2;
kDragCustomer = 3;

kMoveCustomerInside = 4;
kMoveCustomerOutside = 5;
kMoveCustomerRight = 6;
kMoveCustomerWrong = 7;

kDropCustomerRight = 8;
kDropCustomerWrong = 9;
kDropCustomerOutside = 10;

kDispenserClicked = 11;
kPickUpItem = 12;
kDeliverItem = 13;

kServiceClicked = 14;
kServiceCleaned = 15;

kEmployeeArriveRestPoint = 16;
kEmployeeClicked = 17;

kActivityChoosen = 18;
kAllCustomersArrive = 19;
kMinigameEnds = 20;
kStationUpgrade = 21;

kRentClicked = 22;
kReturnedItem = 23;

kRentDragCustomer = 24;
kRentMoveCustomerRight = 25;
kRentMoveCustomerWrong = 26;
kRentDropCustomerRight = 27;
kRentDropCustomerWrong = 28;

kUpgradeFinished = 29;

kSkippedStep = 30;

kCancelQueue = 31;

-- Other

kIllegalNameChars = "!@#$%^&*()><\\\"\'[]{}|?/+=~`.,;:-";

-- **********************
-- Colors
-- **********************
DefaultColor = Color(182, 40, 154,255);
BlackColor = Color(0,0,0,255);
WhiteColor = Color(255,255,255,255);
GoalCompleteColor = Color(204, 255, 179);
LoosingCompleteColor = Color(255, 200, 0);

-- **********************
-- Styles
-- **********************

BaseScenaryStyle = {
	-- mini-game parameters
	initMinigameTime = 30,
	initMinigameScore = 50,
	chainBonus = 2,

	miniMessageFont = {
		standardFont,
		32,
		Color(242, 234, 12, 255),
	},
	
	miniMessageNegativeColor = Color(255, 48, 48, 255),
	--miniMessageChainColor = Color(120, 140, 242, 255),
	miniMessageChainColor = Color(255, 255, 255, 255),

	miniMessageBorder = 1,
	miniMessageBorderColor = 0x9999DD,

	dropLevels = {
		{
			text = "wrongplace",
			color = Color(225, 0, 0, 255),
		},
		{
			text = "soso",
			color = Color(255, 204, 0, 255),
		},
		{
			text = "good",
			color = Color(255, 228, 12, 255),
		},
		{
			text = "great",
			color = Color(228, 255, 0, 255),
		},
		{
			text = "excellent",
			color = Color(168, 255, 0, 255),
		},
	},

	markerOffset = 20,

	markerColors = {
		Color(128, 128, 128, 255),
		Color(128, 0, 0, 255),
		Color(0, 128, 0, 255),
		Color(0, 0, 128, 255),
	},
};

BaseServiceStyle = {
	background = "level/core/common/textures/balloon",
};

GoalLineStyle = {
	normalBullet = "level/core/common/textures/bullet_normal",
	optionalBullet = "level/core/common/textures/bullet_optional",
	loosingConditionBullet = "level/core/common/textures/bullet_lcondition",
	completeTexture = "level/core/common/textures/complete",
	incompleteTexture = "level/core/common/textures/incomplete",
};

function CreateBaseLevelControls()
	local BaseLevelControls = {
		BlgContainer {
			name = "gameOverlay",
		},
		SetStyle(StandardFontStyle);
		BlgButton {
			name = "skipTutorialButton",
			transformMatrix = {x = 15, y = 625},
			label = "wnd_msg_box_skip_tutorial",
			upState = {
				bitmap = "level/core/common/textures/skip_btn_normal",
			},
			overState = {
				bitmap = "level/core/common/textures/skip_btn_over",
			},
			downState = {
				bitmap = "level/core/common/textures/skip_btn_down",
				sound = kDefaultButtonSound,
			},
			command = function()
				SkipTutorial();
			end
		},

		CPHUD {
			name = "uiLayer",
			transformMatrix = {y = 0},
			goalShowTime = 4000,
			
			BlgBitmap
			{
				image = "level/core/common/textures/hud",
				center = {x = 0, y = 0},
				transformMatrix = {y = 668},
			},
			
			BlgBitmap
			{
				name = "progressBar",
				image = "level/core/common/textures/hud_progressbar",
				center = {x = 0, y = 0},
				transformMatrix = {x = 95, y = 722},
			},
			
			BlgBitmap
			{
				image = "level/core/common/textures/hud_timebox",
				center = {x = 0, y = 0},
				transformMatrix = {y = 683},
			},
			
			GameClock{
				name = "gameClock",
				transformMatrix = {x = 33, y = 722},
				enabled = false,
				flags = kHAlignCenter + kVAlignTop,
				font = {
					standardFont,
					24,
					Color(184, 42, 152),
				},
				incompleteColor = Color(210, 0, 0),
			},
			BlgText{
				name = "txt_targetTime",
				label = "#0:00",
				flags = kHAlignCenter + kVAlignTop,
				transformMatrix = {x = 19, y = 742},
				enabled = false,
				w = 80, h = 28,
				font = {
					standardFont,
					14,
					Color(184, 42, 152),
				},
			},
			
			BlgText{
				name = "txt_money",
				label = "#0.00",
				flags = kHAlignCenter + kVAlignTop,
				transformMatrix = {x = 697, y = 743},
				enabled = false,
				w = 80, h = 28,
				font = {
					standardFont,
					20,
					Color(184, 42, 152),
				},
			},
			BlgText{
				name = "txt_targetMoney",
				label = "#0.00",
				flags = kHAlignCenter + kVAlignTop,
				transformMatrix = {x = 445, y = 703},
				enabled = false,
				w = 72, h = 28,
				font = {
					standardFont,
					16,
					Color(184, 42, 152),
				},
			},
			BlgText{
				name = "txt_stars",
				label = "#0",
				flags = kHAlignCenter + kVAlignTop,
				transformMatrix = {x = 495, y = 737},
				enabled = false,
				w = 80, h = 44,
				font = {
					standardFont,
					24,
					Color(184, 42, 152),
				},
			},
			SetStyle(nil);
			BlgButton {
				transformMatrix = {x = 915, y = 713},
				label = "wnd_menu",
				font = {
					standardFont,
					20,
					Color(184, 42, 152),
				},
				upState = {
					bitmap = "common/buttons/btn_default",
				},
				overState = {
					bitmap = "common/buttons/btn_rollover",
				},
				downState = {
					bitmap = "common/buttons/btn_pushed",
					sound = "audio/FX/cp_level_pause.ogg",
				},
				command = function()
					PushState("scripts/states/statepause.lua");
				end
			},
		},
		
		BlgMovieClip
		{
			name = "lockNotify",
			autoPlay = false,
			visible = true,
			
			transformMatrix = {x = 800, y = 160},
			
			BlgBitmap{
				image="level/core/common/textures/tutorial_back",
				center = {x = 200, y = 128},
				transformMatrix = {x = 0, y = 0, scaleX = 0.8, scaleY = 0.8},
			},
			
			BlgText {
				label = "Lock_Notify",
				flags = kHAlignCenter + kVAlignCenter,
				w = 200,
				h = 200,
				font = {
					secondaryFont,
					18,
					Color(7, 99, 86),
				},

				transformMatrix = {x = -120, y = -100},
			},
			
		},

		BlgMovieClip{
			name = "animEvent",
			enabled = false,
			autoPlay = false,
			visible = false,
			
			commands = {
				[159] = function()
					HideEventAnimation();
				end,
			},
			
			BlgContainer
			{
				BlgText{
					label = "event_ready",
					transformMatrix = {x = 3, y = 283},
					font = {
						secondaryFont,
						65,
						Color(0, 0, 0),
					},
					flags = kHAlignCenter + kVAlignCenter,
					w = 1024,
					h = 80,
					alpha = 0.2,
				},
				BlgText{
					label = "event_ready",
					transformMatrix = {x = 0, y = 280},
					font = {
						secondaryFont,
						65,
						Color(255, 255, 255),
					},
					flags = kHAlignCenter + kVAlignCenter,
					w = 1024,
					h = 80,
				},
				
				animation = {
					transformationPoint = {x = 0.5, y = 0.5},
					keyframes = {
						{
							index = 0,
							scaleX = 0.125,
							scaleY = 0.125,
							y = -100,
							alpha = 0.0,
							tweens = {
								{
									type = "SimpleEase",
									target = TWEEN_ALL,
									ease = 1,
								},
							},
						},
						{
							index = 14,
							scaleX = 1.15,
							scaleY = 1.15,
							y = 0,
							alpha = 1.0,
							tweens = {
								{
									type = "SimpleEase",
									target = TWEEN_ALL,
									ease = -1,
								},
							},
						},
						{
							index = 19,
							scaleX = 1,
							scaleY = 1,
							tweens = {
								{
									type = "SimpleEase",
									target = TWEEN_ALL,
									ease = 1,
								},
							},
						},
						{
							index = 34,
							y = 10,
							tweens = {
								{
									type = "SimpleEase",
									target = TWEEN_ALL,
									ease = -1,
								},
							},
						},
						{
							index = 49,
							y = 0,
							tweens = {
								{
									type = "SimpleEase",
									target = TWEEN_ALL,
									ease = 1,
								},
							},
						},
						{
							index = 64,
							y = -10,
							tweens = {
								{
									type = "SimpleEase",
									target = TWEEN_ALL,
									ease = -1,
								},
							},
						},
						{
							index = 79,
							y = 0,
							tweens = {
								{
									type = "SimpleEase",
									target = TWEEN_ALL,
									ease = 1,
								},
							},
						},
						{
							index = 94,
							y = 10,
							tweens = {
								{
									type = "SimpleEase",
									target = TWEEN_ALL,
									ease = -1,
								},
							},
						},
						{
							index = 109,
							y = 0,
							tweens = {
								{
									type = "SimpleEase",
									target = TWEEN_ALL,
									ease = 1,
								},
							},
						},
						{
							index = 124,
							y = -10,
							tweens = {
								{
									type = "SimpleEase",
									target = TWEEN_ALL,
									ease = -1,
								},
							},
						},
						{
							index = 139,
							y = 0,
							tweens = {
								{
									type = "SimpleEase",
									target = TWEEN_ALL,
									ease = 1,
								},
							},
						},
						{
							index = 144,
							scaleX = 1.15,
							scaleY = 1.15,
							alpha = 1.0,
							tweens = {
								{
									type = "SimpleEase",
									target = TWEEN_ALL,
									ease = -1,
								},
							},
						},
						{
							index = 159,
							scaleX = 0.125,
							scaleY = 0.125,
							y = -100,
							alpha = 0.0,
						},
					},
				},
			},
		},
		
		BlgContainer {
			name = "overlay",
		},
	};

	return Group(BaseLevelControls);
end

UpgradeButtonStyle = {
	recommendImage = "level/core/common/textures/recommend_tag",
	tooltipBackground = "",
	tooltipPos = {x = 0, y = 0},
	tooltipTextPos = {x = 0, y = 0},
	textBox = {x = 8, y = 45, w = 48, h = 16 + 10},
	font = {
		standardFont,
		15,
		Color(192, 79, 3, 255),
		
	},
};

function CreateMinigameControls()
	local BaseMinigameControls = {
		
		BlgContainer{
			name = "controlsContainer",
			BlgBitmap{
				transformMatrix = {x = 0, y = 0},
				center = {x = 0, y = 0},
				image = "common/backgrounds/bg_minigames_l",
			},
			
			BlgBitmap{
				transformMatrix = {x = 784, y = 0},
				center = {x = 0, y = 0},
				image = "common/backgrounds/bg_minigames_r",
			},
			
			BlgBitmap{
				transformMatrix = {x = 16, y = 0},
				center = {x = 0, y = 0},
				image = "common/backgrounds/bg_minigames_t",
			},
			
			BlgBitmap{
				transformMatrix = {x = 16, y = 515},
				center = {x = 0, y = 0},
				image = "common/backgrounds/bg_minigames_b",
			},

			GameCountDownClock {
				name = "gameClock",
				transformMatrix = {x = 32, y = 556},
				enabled = false,
				endTime = 15000,
				font = {
					standardFont,
					26,
					Color(184, 42, 152),
				},
			},

			BlgText {
				name = "scoreText",
				label = "#0",
				transformMatrix = {x = 357, y = 569},
				enabled = false,
				flags = kHAlignCenter,
				font = {
					standardFont,
					26,
					Color(184, 42, 152),
				},
			},

			BlgButton {
				transformMatrix = {x = 700, y = 544},
				label = "wnd_minigame_skip",
				font = {
					standardFont,
					30,
					Color(184, 42, 152),
				},
				upState = {
					bitmap = "common/buttons/btn_default",
				},
				overState = {
					bitmap = "common/buttons/btn_rollover",
				},
				downState = {
					bitmap = "common/buttons/btn_pushed",
					sound = kDefaultButtonSound,
				},
				command = function()
				
					local t = {"scripts/states/okdialog.lua", title = "wnd_minigame_sure", name = "miniGamePaused"};
					DisplayStateDialog(t);

					if t.result then
						EndMinigame(0);
					end
				end
			},
		},
	};

	return Group(BaseMinigameControls);
end

function FixMinigameData()
	if gDialogTable == nil then
		gDialogTable = {};
	end

	if gDialogTable.time == nil then
		gDialogTable.time = 30000;
	end

	if gDialogTable.customers == nil then
		gDialogTable.customers = 0;
	end

	if gDialogTable.score == nil then
		gDialogTable.score = 0;
	end
end

goalIconsTable = {
	[kPlaceSquareCustomer] = "level/core/common/textures/goals/goal_club_square",
	[kPlaceCongaCustomer] = "level/core/common/textures/goals/goal_club_conga",
	[kPlaceTangoCouple] = "level/core/common/textures/goals/goal_club_tango",

	[kDeliverDaiquiri] = "level/core/common/textures/goals/goal_club_daiquiri",
	[kDeliverMargarita] = "level/core/common/textures/goals/goal_club_margarita",
	[kDeliverCubaLibre] = "level/core/common/textures/goals/goal_club_cubalibre",

	[kOrganizeEvent] = "level/core/common/textures/goals/goal_club_organize",
	
	[kOrganizeEventClub] = "level/core/common/textures/goals/goal_club_organize",
	[kOrganizeEventPool] = "level/core/common/textures/goals/goal_pool_organize",
	[kOrganizeEventBeach] = "level/core/common/textures/goals/goal_beach_organize",

	[kHireEmployee] = "level/core/common/textures/goals/goal_waiter",

	[kUpgradeAllItemStations] = "level/core/common/textures/goals/goal_club_upgradedisp",
	[kUpgradeServiceStation] = "level/core/common/textures/goals/goal_club_upgradechair",
	[kUpgradeItemStation] = "level/core/common/textures/goals/goal_club_upgradedisp",
	[kUpgradeDropAreaStation] = "level/core/common/textures/goals/goal_club_upgradedance",
	
	[kUpgradeDropAreaStationClub] = "level/core/common/textures/goals/goal_club_upgradedance",
	[kUpgradeDropAreaStationPool] = "level/core/common/textures/goals/goal_pool_upgradepool",
	[kUpgradeDropAreaStationBeach] = "level/core/common/textures/goals/goal_beach_upgradesea",

	[kUpgradeMargaritaStation] = "level/core/common/textures/goals/goal_club_upgrademargarita",
	[kUpgradeCubaLibreStation] = "level/core/common/textures/goals/goal_club_upgradecubalibre",
	[kUpgradeDaiquiriStation] = "level/core/common/textures/goals/goal_club_upgradedaiquiri",

	[kEarnTotalMoney] = "level/core/common/textures/goals/goal_partialmoney",
	[kEarnPartialMoney] = "level/core/common/textures/goals/goal_partialmoney",

	[kHaveDancingCustomersEachTypeSameTime] = "level/core/common/textures/goals/goal_club_placeeachtype",
	[kHaveDancingCustomersSameTime] = "level/core/common/textures/goals/goal_club_dancers",
	[kHaveSquareCustomersSameTime] = "level/core/common/textures/goals/goal_club_squaresame",
	[kHaveTangoCouplesSameTime] = "level/core/common/textures/goals/goal_club_tangosame",
	[kHaveCongaCustomersSameTime] = "level/core/common/textures/goals/goal_club_congasame",

	[kHaveCustomersOnLevel] = "level/core/common/textures/goals/goal_customersonlevel",

	[kSurviveTime] = "level/core/common/textures/goals/goal_time",
	[kEndLevelInLessThan] = "level/core/common/textures/goals/goal_time",

	[kServeCustomers] = "level/core/common/textures/goals/goal_serve",

	[kMisplaceCustomer] = "level/core/common/textures/goals/goal_misplace",
	[kLetCustomerGetAngry] = "level/core/common/textures/goals/goal_angry",




	[kPlaceVolleyCustomer] = "level/core/common/textures/goals/goal_pool_volley",
	[kPlaceBoatCustomer] = "level/core/common/textures/goals/goal_pool_boat",
	[kPlaceSwimCustomer] = "level/core/common/textures/goals/goal_pool_swim",

	[kDeliverDrink] = "level/core/common/textures/goals/goal_pool_drink",
	[kDeliverIceCream] = "level/core/common/textures/goals/goal_pool_icecream",
	[kDeliverTan] = "level/core/common/textures/goals/goal_pool_suntan",

	[kHitVolleyBall] = "level/core/common/textures/goals/goal_pool_volley",

	[kUpgradeOrangeJuiceStation] = "level/core/common/textures/goals/goal_pool_upgradedrinks",
	[kUpgradeTanStation] = "level/core/common/textures/goals/goal_pool_upgradesuntan",
	[kUpgradeIceCreamStation] = "level/core/common/textures/goals/goal_pool_upgradeicecream",

	[kHavePoolCustomersEachTypeSameTime] = "level/core/common/textures/goals/goal_pool_placeeachtype",
	[kHavePoolCustomersSameTime] = "level/core/common/textures/goals/goal_pool_placeeachtype",
	[kHaveBoatCustomersSameTime] = "level/core/common/textures/goals/goal_pool_boatsame",
	[kHaveVolleyCustomersSameTime] = "level/core/common/textures/goals/goal_pool_volleysame",
	[kHaveSwimCustomersSameTime] = "level/core/common/textures/goals/goal_pool_swimsame",

	[kLetCustomerSunBurn] = "level/core/common/textures/goals/goal_pool_suntan",




	[kPlaceJetBikeCustomer] = "level/core/common/textures/goals/goal_beach_jetbike",
	[kPlaceWindSurfCustomer] = "level/core/common/textures/goals/goal_beach_windsurf",
	[kPlaceFishingCustomer] = "level/core/common/textures/goals/goal_beach_fishing",

	[kUpgradeRentalKiosStation] = "level/core/common/textures/goals/goal_club_upgradedisp",
	[kUpgradeAllRentalKiosStations] = "level/core/common/textures/goals/goal_club_upgradedisp",

	[kEarnRentalMoney] = "level/core/common/textures/goals/goal_totalmoney",

	[kRentWindSurfBoard] = "level/core/common/textures/goals/goal_beach_windsurf",
	[kRentJetBike] = "level/core/common/textures/goals/goal_beach_jetbike",
	[kRentFishingBoat] = "level/core/common/textures/goals/goal_beach_fishing",

	[kRentOutAny] = "level/core/common/textures/goals/goal_beach_anyout",
	[kRentOutWindSurfBoards] = "level/core/common/textures/goals/goal_beach_windsurfout",
	[kRentOutJetBikes] = "level/core/common/textures/goals/goal_beach_jetbikeout",
	[kRentOutFishingBoats] = "level/core/common/textures/goals/goal_beach_fishingout",

	[kHaveSeaCustomersEachTypeSameTime] = "level/core/common/textures/goals/goal_beach_placeeachtype",
	[kHaveSeaCustomersSameTime] = "level/core/common/textures/goals/goal_beach_placeeachtype",
	[kHaveFishingCustomersSameTime] = "level/core/common/textures/goals/goal_beach_fishingsame",
	[kHaveWindSurfCustomersSameTime] = "level/core/common/textures/goals/goal_beach_windsurfsame",
	[kHaveJetBikeCustomersSameTime] = "level/core/common/textures/goals/goal_beach_jetbikesame",

	[kRentAnyItem] = "level/core/common/textures/goals/goal_beach_rent",
	[kReturnAnyItem] = "level/core/common/textures/goals/goal_beach_return",
	
	[kPlaceLevel] = "level/core/common/textures/goals/goal_misplace",
	[kPlaceMoreThanLevel] = "level/core/common/textures/goals/goal_misplace",
	[kServeMoreThanLevel] = "level/core/common/textures/goals/goal_serve",
	
	[kOrganizeMoreThanLevelPool] = "level/core/common/textures/goals/goal_club_organize",
	[kOrganizeMoreThanLevelBeach] = "level/core/common/textures/goals/goal_pool_organize",
	[kOrganizeMoreThanLevelClub] = "level/core/common/textures/goals/goal_beach_organize",
	
	[kDeliverDrinkBeach] = "level/core/common/textures/goals/goal_beach_pineapple",
	[kDeliverIceCreamBeach] = "level/core/common/textures/goals/goal_beach_coconut",
	[kDeliverTanBeach] = "level/core/common/textures/goals/goal_pool_suntan",
	
	[kClosingTimeWin] = "level/core/common/textures/goals/goal_totalmoney",
	[kClosingTimeLose] = "level/core/common/textures/goals/goal_totalmoney",
	
	[kHaveStars] = "level/core/common/textures/goals/goal_totalmoney",
	
};

TutorialArrowAnim = 
{
	keyframes = {
		{
			index = 0,
			y = 0,
			tweens = {
				{
					type = "FunctionEase",
					target = TWEEN_ALL,
					functionName = "Quadratic",
					easingMethod = "easeInOut",
				},
			},
		},
		{
			index = 1,
			y = -20.0,
			tweens = {
				{
					type = "FunctionEase",
					target = TWEEN_ALL,
					functionName = "Quadratic",
					easingMethod = "easeInOut",
				},
			},
		},
		{
			index = 2,
			y = 0,
		},
	},
};

GarbageCanStationStyle =
{
	image = "level/core/common/textures/garbage_can",
	maxCommands = 1,
	reachPoint = {x = 0, y = 32},
	markPoint = {x = -24, y = -64},
	itemPoint = {x = -24, y = -88},
};