require "Wherigo"
ZonePoint = Wherigo.ZonePoint
Distance = Wherigo.Distance
Player = Wherigo.Player

-- #Author Directives Go Here# --
-- #End Author Directives# --

cartGeocacheotopia = Wherigo.ZCartridge()

-- MessageBox Callback Functions Table used by the Builder --
cartGeocacheotopia.MsgBoxCBFuncs = {}

zmediaturtle = Wherigo.ZMedia(cartGeocacheotopia)
zmediaturtle.Name="turtle"
zmediaturtle.Description=""
zmediaturtle.AltText=""
zmediaturtle.Id="371491ca-a00c-4276-bbc6-e84e1b6f5313"
zmediaturtle.Resources = {
{ Type = "jpg", Filename = "oldturtle.JPG", Directives = {},},
}
zmediaGeocoinImage = Wherigo.ZMedia(cartGeocacheotopia)
zmediaGeocoinImage.Name="GeocoinImage"
zmediaGeocoinImage.Description=""
zmediaGeocoinImage.AltText=""
zmediaGeocoinImage.Id="58bebc7f-faf9-4af7-a23c-353f8a06231b"
zmediaGeocoinImage.Resources = {
{ Type = "jpg", Filename = "wherigocoin.jpg", Directives = {},},
}
zmediaCatFace = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCatFace.Name="CatFace"
zmediaCatFace.Description=""
zmediaCatFace.AltText=""
zmediaCatFace.Id="12752903-887d-4a01-8d7a-ebb4e79bea07"
zmediaCatFace.Resources = {
{ Type = "jpg", Filename = "cat-face.JPG", Directives = {},},
}
zmediaCatEyesOnly = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCatEyesOnly.Name="CatEyesOnly"
zmediaCatEyesOnly.Description=""
zmediaCatEyesOnly.AltText=""
zmediaCatEyesOnly.Id="c6737b21-f072-42a1-8bce-5657b79bb000"
zmediaCatEyesOnly.Resources = {
{ Type = "jpg", Filename = "cat-eyes-only.JPG", Directives = {},},
}
zmediaCIRCLE01a = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE01a.Name="CIRCLE01a"
zmediaCIRCLE01a.Description=""
zmediaCIRCLE01a.AltText=""
zmediaCIRCLE01a.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9201a"
zmediaCIRCLE01a.Resources = {
{ Type = "jpg", Filename = "CIRCLE01a.jpg", Directives = {},},
}
zmediaCIRCLE01b = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE01b.Name="CIRCLE01b"
zmediaCIRCLE01b.Description=""
zmediaCIRCLE01b.AltText=""
zmediaCIRCLE01b.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9201b"
zmediaCIRCLE01b.Resources = {
{ Type = "jpg", Filename = "CIRCLE01b.jpg", Directives = {},},
}
zmediaCIRCLE01c = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE01c.Name="CIRCLE01c"
zmediaCIRCLE01c.Description=""
zmediaCIRCLE01c.AltText=""
zmediaCIRCLE01c.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9201c"
zmediaCIRCLE01c.Resources = {
{ Type = "jpg", Filename = "CIRCLE01c.jpg", Directives = {},},
}
zmediaCIRCLE01d = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE01d.Name="CIRCLE01d"
zmediaCIRCLE01d.Description=""
zmediaCIRCLE01d.AltText=""
zmediaCIRCLE01d.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9201d"
zmediaCIRCLE01d.Resources = {
{ Type = "jpg", Filename = "CIRCLE01d.jpg", Directives = {},},
}
zmediaCIRCLE01e = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE01e.Name="CIRCLE01e"
zmediaCIRCLE01e.Description=""
zmediaCIRCLE01e.AltText=""
zmediaCIRCLE01e.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9201e"
zmediaCIRCLE01e.Resources = {
{ Type = "jpg", Filename = "CIRCLE01e.jpg", Directives = {},},
}
zmediaCIRCLE01f = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE01f.Name="CIRCLE01f"
zmediaCIRCLE01f.Description=""
zmediaCIRCLE01f.AltText=""
zmediaCIRCLE01f.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9201f"
zmediaCIRCLE01f.Resources = {
{ Type = "jpg", Filename = "CIRCLE01f.jpg", Directives = {},},
}
zmediaCIRCLE01g = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE01g.Name="CIRCLE01g"
zmediaCIRCLE01g.Description=""
zmediaCIRCLE01g.AltText=""
zmediaCIRCLE01g.Id="227f3f10-69d7-4e4e-b50d-1161162b2f83"
zmediaCIRCLE01g.Resources = {
{ Type = "jpg", Filename = "CIRCLE01g.jpg", Directives = {},},
}
zmediaCIRCLE02a = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE02a.Name="CIRCLE02a"
zmediaCIRCLE02a.Description=""
zmediaCIRCLE02a.AltText=""
zmediaCIRCLE02a.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9202a"
zmediaCIRCLE02a.Resources = {
{ Type = "jpg", Filename = "CIRCLE02a.jpg", Directives = {},},
}
zmediaCIRCLE02b = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE02b.Name="CIRCLE02b"
zmediaCIRCLE02b.Description=""
zmediaCIRCLE02b.AltText=""
zmediaCIRCLE02b.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9202b"
zmediaCIRCLE02b.Resources = {
{ Type = "jpg", Filename = "CIRCLE02b.jpg", Directives = {},},
}
zmediaCIRCLE02c = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE02c.Name="CIRCLE02c"
zmediaCIRCLE02c.Description=""
zmediaCIRCLE02c.AltText=""
zmediaCIRCLE02c.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9202c"
zmediaCIRCLE02c.Resources = {
{ Type = "jpg", Filename = "CIRCLE02c.jpg", Directives = {},},
}
zmediaCIRCLE02d = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE02d.Name="CIRCLE02d"
zmediaCIRCLE02d.Description=""
zmediaCIRCLE02d.AltText=""
zmediaCIRCLE02d.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9202d"
zmediaCIRCLE02d.Resources = {
{ Type = "jpg", Filename = "CIRCLE02d.jpg", Directives = {},},
}
zmediaCIRCLE02e = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE02e.Name="CIRCLE02e"
zmediaCIRCLE02e.Description=""
zmediaCIRCLE02e.AltText=""
zmediaCIRCLE02e.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9202e"
zmediaCIRCLE02e.Resources = {
{ Type = "jpg", Filename = "CIRCLE02e.jpg", Directives = {},},
}
zmediaCIRCLE02f = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE02f.Name="CIRCLE02f"
zmediaCIRCLE02f.Description=""
zmediaCIRCLE02f.AltText=""
zmediaCIRCLE02f.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9202f"
zmediaCIRCLE02f.Resources = {
{ Type = "jpg", Filename = "CIRCLE02f.jpg", Directives = {},},
}
zmediaCIRCLE02g = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE02g.Name="CIRCLE02g"
zmediaCIRCLE02g.Description=""
zmediaCIRCLE02g.AltText=""
zmediaCIRCLE02g.Id="74a86f61-ed15-40d8-81e8-f0e3457a8918"
zmediaCIRCLE02g.Resources = {
{ Type = "jpg", Filename = "CIRCLE02g.jpg", Directives = {},},
}
zmediaCIRCLE03a = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE03a.Name="CIRCLE03a"
zmediaCIRCLE03a.Description=""
zmediaCIRCLE03a.AltText=""
zmediaCIRCLE03a.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9203a"
zmediaCIRCLE03a.Resources = {
{ Type = "jpg", Filename = "CIRCLE03a.jpg", Directives = {},},
}
zmediaCIRCLE03b = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE03b.Name="CIRCLE03b"
zmediaCIRCLE03b.Description=""
zmediaCIRCLE03b.AltText=""
zmediaCIRCLE03b.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9203b"
zmediaCIRCLE03b.Resources = {
{ Type = "jpg", Filename = "CIRCLE03b.jpg", Directives = {},},
}
zmediaCIRCLE03c = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE03c.Name="CIRCLE03c"
zmediaCIRCLE03c.Description=""
zmediaCIRCLE03c.AltText=""
zmediaCIRCLE03c.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9203c"
zmediaCIRCLE03c.Resources = {
{ Type = "jpg", Filename = "CIRCLE03c.jpg", Directives = {},},
}
zmediaCIRCLE03d = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE03d.Name="CIRCLE03d"
zmediaCIRCLE03d.Description=""
zmediaCIRCLE03d.AltText=""
zmediaCIRCLE03d.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9203d"
zmediaCIRCLE03d.Resources = {
{ Type = "jpg", Filename = "CIRCLE03d.jpg", Directives = {},},
}
zmediaCIRCLE03e = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE03e.Name="CIRCLE03e"
zmediaCIRCLE03e.Description=""
zmediaCIRCLE03e.AltText=""
zmediaCIRCLE03e.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9203e"
zmediaCIRCLE03e.Resources = {
{ Type = "jpg", Filename = "CIRCLE03e.jpg", Directives = {},},
}
zmediaCIRCLE03f = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE03f.Name="CIRCLE03f"
zmediaCIRCLE03f.Description=""
zmediaCIRCLE03f.AltText=""
zmediaCIRCLE03f.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9203f"
zmediaCIRCLE03f.Resources = {
{ Type = "jpg", Filename = "CIRCLE03f.jpg", Directives = {},},
}
zmediaCIRCLE03g = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE03g.Name="CIRCLE03g"
zmediaCIRCLE03g.Description=""
zmediaCIRCLE03g.AltText=""
zmediaCIRCLE03g.Id="688e057e-7b18-4f3e-81a8-059a610aea72"
zmediaCIRCLE03g.Resources = {
{ Type = "jpg", Filename = "CIRCLE03g.jpg", Directives = {},},
}
zmediaCIRCLE04a = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE04a.Name="CIRCLE04a"
zmediaCIRCLE04a.Description=""
zmediaCIRCLE04a.AltText=""
zmediaCIRCLE04a.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9204a"
zmediaCIRCLE04a.Resources = {
{ Type = "jpg", Filename = "CIRCLE04a.jpg", Directives = {},},
}
zmediaCIRCLE04b = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE04b.Name="CIRCLE04b"
zmediaCIRCLE04b.Description=""
zmediaCIRCLE04b.AltText=""
zmediaCIRCLE04b.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9204b"
zmediaCIRCLE04b.Resources = {
{ Type = "jpg", Filename = "CIRCLE04b.jpg", Directives = {},},
}
zmediaCIRCLE04c = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE04c.Name="CIRCLE04c"
zmediaCIRCLE04c.Description=""
zmediaCIRCLE04c.AltText=""
zmediaCIRCLE04c.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9204c"
zmediaCIRCLE04c.Resources = {
{ Type = "jpg", Filename = "CIRCLE04c.jpg", Directives = {},},
}
zmediaCIRCLE04d = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE04d.Name="CIRCLE04d"
zmediaCIRCLE04d.Description=""
zmediaCIRCLE04d.AltText=""
zmediaCIRCLE04d.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9204d"
zmediaCIRCLE04d.Resources = {
{ Type = "jpg", Filename = "CIRCLE04d.jpg", Directives = {},},
}
zmediaCIRCLE04e = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE04e.Name="CIRCLE04e"
zmediaCIRCLE04e.Description=""
zmediaCIRCLE04e.AltText=""
zmediaCIRCLE04e.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9204e"
zmediaCIRCLE04e.Resources = {
{ Type = "jpg", Filename = "CIRCLE04e.jpg", Directives = {},},
}
zmediaCIRCLE04f = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE04f.Name="CIRCLE04f"
zmediaCIRCLE04f.Description=""
zmediaCIRCLE04f.AltText=""
zmediaCIRCLE04f.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9204f"
zmediaCIRCLE04f.Resources = {
{ Type = "jpg", Filename = "CIRCLE04f.jpg", Directives = {},},
}
zmediaCIRCLE04g = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE04g.Name="CIRCLE04g"
zmediaCIRCLE04g.Description=""
zmediaCIRCLE04g.AltText=""
zmediaCIRCLE04g.Id="e7e5abb6-2fdb-48da-a229-200cdebb003f"
zmediaCIRCLE04g.Resources = {
{ Type = "jpg", Filename = "CIRCLE04g.jpg", Directives = {},},
}
zmediaCIRCLE05a = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE05a.Name="CIRCLE05a"
zmediaCIRCLE05a.Description=""
zmediaCIRCLE05a.AltText=""
zmediaCIRCLE05a.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9205a"
zmediaCIRCLE05a.Resources = {
{ Type = "jpg", Filename = "CIRCLE05a.jpg", Directives = {},},
}
zmediaCIRCLE05b = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE05b.Name="CIRCLE05b"
zmediaCIRCLE05b.Description=""
zmediaCIRCLE05b.AltText=""
zmediaCIRCLE05b.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9205b"
zmediaCIRCLE05b.Resources = {
{ Type = "jpg", Filename = "CIRCLE05b.jpg", Directives = {},},
}
zmediaCIRCLE05c = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE05c.Name="CIRCLE05c"
zmediaCIRCLE05c.Description=""
zmediaCIRCLE05c.AltText=""
zmediaCIRCLE05c.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9205c"
zmediaCIRCLE05c.Resources = {
{ Type = "jpg", Filename = "CIRCLE05c.jpg", Directives = {},},
}
zmediaCIRCLE05d = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE05d.Name="CIRCLE05d"
zmediaCIRCLE05d.Description=""
zmediaCIRCLE05d.AltText=""
zmediaCIRCLE05d.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9205d"
zmediaCIRCLE05d.Resources = {
{ Type = "jpg", Filename = "CIRCLE05d.jpg", Directives = {},},
}
zmediaCIRCLE05e = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE05e.Name="CIRCLE05e"
zmediaCIRCLE05e.Description=""
zmediaCIRCLE05e.AltText=""
zmediaCIRCLE05e.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9205e"
zmediaCIRCLE05e.Resources = {
{ Type = "jpg", Filename = "CIRCLE05e.jpg", Directives = {},},
}
zmediaCIRCLE05f = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE05f.Name="CIRCLE05f"
zmediaCIRCLE05f.Description=""
zmediaCIRCLE05f.AltText=""
zmediaCIRCLE05f.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9205f"
zmediaCIRCLE05f.Resources = {
{ Type = "jpg", Filename = "CIRCLE05f.jpg", Directives = {},},
}
zmediaCIRCLE05g = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE05g.Name="CIRCLE05g"
zmediaCIRCLE05g.Description=""
zmediaCIRCLE05g.AltText=""
zmediaCIRCLE05g.Id="542d136c-0ec9-45f2-b29c-8585c490d085"
zmediaCIRCLE05g.Resources = {
{ Type = "jpg", Filename = "CIRCLE05g.jpg", Directives = {},},
}
zmediaCIRCLE06a = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE06a.Name="CIRCLE06a"
zmediaCIRCLE06a.Description=""
zmediaCIRCLE06a.AltText=""
zmediaCIRCLE06a.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9206a"
zmediaCIRCLE06a.Resources = {
{ Type = "jpg", Filename = "CIRCLE06a.jpg", Directives = {},},
}
zmediaCIRCLE06b = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE06b.Name="CIRCLE06b"
zmediaCIRCLE06b.Description=""
zmediaCIRCLE06b.AltText=""
zmediaCIRCLE06b.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9206b"
zmediaCIRCLE06b.Resources = {
{ Type = "jpg", Filename = "CIRCLE06b.jpg", Directives = {},},
}
zmediaCIRCLE06c = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE06c.Name="CIRCLE06c"
zmediaCIRCLE06c.Description=""
zmediaCIRCLE06c.AltText=""
zmediaCIRCLE06c.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9206c"
zmediaCIRCLE06c.Resources = {
{ Type = "jpg", Filename = "CIRCLE06c.jpg", Directives = {},},
}
zmediaCIRCLE06d = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE06d.Name="CIRCLE06d"
zmediaCIRCLE06d.Description=""
zmediaCIRCLE06d.AltText=""
zmediaCIRCLE06d.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9206d"
zmediaCIRCLE06d.Resources = {
{ Type = "jpg", Filename = "CIRCLE06d.jpg", Directives = {},},
}
zmediaCIRCLE06e = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE06e.Name="CIRCLE06e"
zmediaCIRCLE06e.Description=""
zmediaCIRCLE06e.AltText=""
zmediaCIRCLE06e.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9206e"
zmediaCIRCLE06e.Resources = {
{ Type = "jpg", Filename = "CIRCLE06e.jpg", Directives = {},},
}
zmediaCIRCLE06f = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE06f.Name="CIRCLE06f"
zmediaCIRCLE06f.Description=""
zmediaCIRCLE06f.AltText=""
zmediaCIRCLE06f.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9206f"
zmediaCIRCLE06f.Resources = {
{ Type = "jpg", Filename = "CIRCLE06f.jpg", Directives = {},},
}
zmediaCIRCLE06g = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE06g.Name="CIRCLE06g"
zmediaCIRCLE06g.Description=""
zmediaCIRCLE06g.AltText=""
zmediaCIRCLE06g.Id="de52230b-a470-4ba9-a08e-3254259d9b12"
zmediaCIRCLE06g.Resources = {
{ Type = "jpg", Filename = "CIRCLE06g.jpg", Directives = {},},
}
zmediaCIRCLE07a = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE07a.Name="CIRCLE07a"
zmediaCIRCLE07a.Description=""
zmediaCIRCLE07a.AltText=""
zmediaCIRCLE07a.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9207a"
zmediaCIRCLE07a.Resources = {
{ Type = "jpg", Filename = "CIRCLE07a.jpg", Directives = {},},
}
zmediaCIRCLE07b = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE07b.Name="CIRCLE07b"
zmediaCIRCLE07b.Description=""
zmediaCIRCLE07b.AltText=""
zmediaCIRCLE07b.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9207b"
zmediaCIRCLE07b.Resources = {
{ Type = "jpg", Filename = "CIRCLE07b.jpg", Directives = {},},
}
zmediaCIRCLE07c = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE07c.Name="CIRCLE07c"
zmediaCIRCLE07c.Description=""
zmediaCIRCLE07c.AltText=""
zmediaCIRCLE07c.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9207c"
zmediaCIRCLE07c.Resources = {
{ Type = "jpg", Filename = "CIRCLE07c.jpg", Directives = {},},
}
zmediaCIRCLE07d = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE07d.Name="CIRCLE07d"
zmediaCIRCLE07d.Description=""
zmediaCIRCLE07d.AltText=""
zmediaCIRCLE07d.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9207d"
zmediaCIRCLE07d.Resources = {
{ Type = "jpg", Filename = "CIRCLE07d.jpg", Directives = {},},
}
zmediaCIRCLE07e = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE07e.Name="CIRCLE07e"
zmediaCIRCLE07e.Description=""
zmediaCIRCLE07e.AltText=""
zmediaCIRCLE07e.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9207e"
zmediaCIRCLE07e.Resources = {
{ Type = "jpg", Filename = "CIRCLE07e.jpg", Directives = {},},
}
zmediaCIRCLE07f = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE07f.Name="CIRCLE07f"
zmediaCIRCLE07f.Description=""
zmediaCIRCLE07f.AltText=""
zmediaCIRCLE07f.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9207f"
zmediaCIRCLE07f.Resources = {
{ Type = "jpg", Filename = "CIRCLE07f.jpg", Directives = {},},
}
zmediaCIRCLE07g = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE07g.Name="CIRCLE07g"
zmediaCIRCLE07g.Description=""
zmediaCIRCLE07g.AltText=""
zmediaCIRCLE07g.Id="fc2eddf2-f609-47bd-a7a8-f383a0839ce1"
zmediaCIRCLE07g.Resources = {
{ Type = "jpg", Filename = "CIRCLE07g.jpg", Directives = {},},
}
zmediaCIRCLE08a = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE08a.Name="CIRCLE08a"
zmediaCIRCLE08a.Description=""
zmediaCIRCLE08a.AltText=""
zmediaCIRCLE08a.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9208a"
zmediaCIRCLE08a.Resources = {
{ Type = "jpg", Filename = "CIRCLE08a.jpg", Directives = {},},
}
zmediaHoloPic1 = Wherigo.ZMedia(cartGeocacheotopia)
zmediaHoloPic1.Name="HoloPic1"
zmediaHoloPic1.Description=""
zmediaHoloPic1.AltText=""
zmediaHoloPic1.Id="e8391bbc-0651-4755-a240-ed4dd15253b2"
zmediaHoloPic1.Resources = {
{ Type = "jpg", Filename = "holopic1.jpg", Directives = {},},
}
zmediaCIRCLE09b = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE09b.Name="CIRCLE09b"
zmediaCIRCLE09b.Description=""
zmediaCIRCLE09b.AltText=""
zmediaCIRCLE09b.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9209b"
zmediaCIRCLE09b.Resources = {
{ Type = "jpg", Filename = "CIRCLE09b.jpg", Directives = {},},
}
zmediaCIRCLE09c = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE09c.Name="CIRCLE09c"
zmediaCIRCLE09c.Description=""
zmediaCIRCLE09c.AltText=""
zmediaCIRCLE09c.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9209c"
zmediaCIRCLE09c.Resources = {
{ Type = "jpg", Filename = "CIRCLE09c.jpg", Directives = {},},
}
zmediaCIRCLE08g = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE08g.Name="CIRCLE08g"
zmediaCIRCLE08g.Description=""
zmediaCIRCLE08g.AltText=""
zmediaCIRCLE08g.Id="df332f5e-476e-4905-8ef6-295be6deca64"
zmediaCIRCLE08g.Resources = {
{ Type = "jpg", Filename = "CIRCLE08g.jpg", Directives = {},},
}
zmediaCIRCLE09a = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE09a.Name="CIRCLE09a"
zmediaCIRCLE09a.Description=""
zmediaCIRCLE09a.AltText=""
zmediaCIRCLE09a.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9209a"
zmediaCIRCLE09a.Resources = {
{ Type = "jpg", Filename = "CIRCLE09a.jpg", Directives = {},},
}
zmediaCIRCLE08e = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE08e.Name="CIRCLE08e"
zmediaCIRCLE08e.Description=""
zmediaCIRCLE08e.AltText=""
zmediaCIRCLE08e.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9208e"
zmediaCIRCLE08e.Resources = {
{ Type = "jpg", Filename = "CIRCLE08e.jpg", Directives = {},},
}
zmediaCIRCLE09g = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE09g.Name="CIRCLE09g"
zmediaCIRCLE09g.Description=""
zmediaCIRCLE09g.AltText=""
zmediaCIRCLE09g.Id="d8b1953d-cf8c-4560-94f1-72d82ed5c038"
zmediaCIRCLE09g.Resources = {
{ Type = "jpg", Filename = "CIRCLE09g.jpg", Directives = {},},
}
zmediaCIRCLE09f = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE09f.Name="CIRCLE09f"
zmediaCIRCLE09f.Description=""
zmediaCIRCLE09f.AltText=""
zmediaCIRCLE09f.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9209f"
zmediaCIRCLE09f.Resources = {
{ Type = "jpg", Filename = "CIRCLE09f.jpg", Directives = {},},
}
zmediaCIRCLE08f = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE08f.Name="CIRCLE08f"
zmediaCIRCLE08f.Description=""
zmediaCIRCLE08f.AltText=""
zmediaCIRCLE08f.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9208f"
zmediaCIRCLE08f.Resources = {
{ Type = "jpg", Filename = "CIRCLE08f.jpg", Directives = {},},
}
zmediaGlowStone = Wherigo.ZMedia(cartGeocacheotopia)
zmediaGlowStone.Name="GlowStone"
zmediaGlowStone.Description=""
zmediaGlowStone.AltText=""
zmediaGlowStone.Id="0f598b9d-ed1b-4d76-beeb-80f01e134fc7"
zmediaGlowStone.Resources = {
{ Type = "jpg", Filename = "circle-square.jpg", Directives = {},},
}
zmediaCIRCLE08c = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE08c.Name="CIRCLE08c"
zmediaCIRCLE08c.Description=""
zmediaCIRCLE08c.AltText=""
zmediaCIRCLE08c.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9208c"
zmediaCIRCLE08c.Resources = {
{ Type = "jpg", Filename = "CIRCLE08c.jpg", Directives = {},},
}
zmediaHoloPic2 = Wherigo.ZMedia(cartGeocacheotopia)
zmediaHoloPic2.Name="HoloPic2"
zmediaHoloPic2.Description=""
zmediaHoloPic2.AltText=""
zmediaHoloPic2.Id="d649f05c-762f-4816-9b10-e5b237b01b86"
zmediaHoloPic2.Resources = {
{ Type = "jpg", Filename = "holopic2.jpg", Directives = {},},
}
zmediaCIRCLE09e = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE09e.Name="CIRCLE09e"
zmediaCIRCLE09e.Description=""
zmediaCIRCLE09e.AltText=""
zmediaCIRCLE09e.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9209e"
zmediaCIRCLE09e.Resources = {
{ Type = "jpg", Filename = "CIRCLE09e.jpg", Directives = {},},
}
zmediaHoloPic5 = Wherigo.ZMedia(cartGeocacheotopia)
zmediaHoloPic5.Name="HoloPic5"
zmediaHoloPic5.Description=""
zmediaHoloPic5.AltText=""
zmediaHoloPic5.Id="850d13c2-79af-449b-ae4b-1c580a51087a"
zmediaHoloPic5.Resources = {
{ Type = "jpg", Filename = "holopic5.jpg", Directives = {},},
}
zmediaCIRCLE09d = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE09d.Name="CIRCLE09d"
zmediaCIRCLE09d.Description=""
zmediaCIRCLE09d.AltText=""
zmediaCIRCLE09d.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9209d"
zmediaCIRCLE09d.Resources = {
{ Type = "jpg", Filename = "CIRCLE09d.jpg", Directives = {},},
}
zmediaHoloPic7 = Wherigo.ZMedia(cartGeocacheotopia)
zmediaHoloPic7.Name="HoloPic7"
zmediaHoloPic7.Description=""
zmediaHoloPic7.AltText=""
zmediaHoloPic7.Id="7cc6a135-3b2c-4bb9-a75a-fe2b13a4fcd2"
zmediaHoloPic7.Resources = {
{ Type = "jpg", Filename = "holopic7.jpg", Directives = {},},
}
zmediaHoloPic4 = Wherigo.ZMedia(cartGeocacheotopia)
zmediaHoloPic4.Name="HoloPic4"
zmediaHoloPic4.Description=""
zmediaHoloPic4.AltText=""
zmediaHoloPic4.Id="1be890fe-64fe-4cb4-98c8-af5a4ad45228"
zmediaHoloPic4.Resources = {
{ Type = "jpg", Filename = "holopic4.jpg", Directives = {},},
}
zmediaHoloPic6 = Wherigo.ZMedia(cartGeocacheotopia)
zmediaHoloPic6.Name="HoloPic6"
zmediaHoloPic6.Description=""
zmediaHoloPic6.AltText=""
zmediaHoloPic6.Id="b6e7a803-5f35-4214-8e21-5798b755f963"
zmediaHoloPic6.Resources = {
{ Type = "jpg", Filename = "holopic6.jpg", Directives = {},},
}
zmediaCIRCLE08d = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE08d.Name="CIRCLE08d"
zmediaCIRCLE08d.Description=""
zmediaCIRCLE08d.AltText=""
zmediaCIRCLE08d.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9208d"
zmediaCIRCLE08d.Resources = {
{ Type = "jpg", Filename = "CIRCLE08d.jpg", Directives = {},},
}
zmediaHoloPic3 = Wherigo.ZMedia(cartGeocacheotopia)
zmediaHoloPic3.Name="HoloPic3"
zmediaHoloPic3.Description=""
zmediaHoloPic3.AltText=""
zmediaHoloPic3.Id="099f4db6-851f-402e-ba99-71a0af60ab81"
zmediaHoloPic3.Resources = {
{ Type = "jpg", Filename = "holopic3.jpg", Directives = {},},
}
zmediaCIRCLE08b = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE08b.Name="CIRCLE08b"
zmediaCIRCLE08b.Description=""
zmediaCIRCLE08b.AltText=""
zmediaCIRCLE08b.Id="2d9b2d0c-a0d0-49c5-b84a-b81deba9208b"
zmediaCIRCLE08b.Resources = {
{ Type = "jpg", Filename = "CIRCLE08b.jpg", Directives = {},},
}
zmediaCIRCLE01h = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE01h.Name="CIRCLE01h"
zmediaCIRCLE01h.Description=""
zmediaCIRCLE01h.AltText=""
zmediaCIRCLE01h.Id="65d8b928-cf66-4107-bf93-3a0c6440797d"
zmediaCIRCLE01h.Resources = {
{ Type = "jpg", Filename = "CIRCLE01h.jpg", Directives = {},},
}
zmediaCIRCLE01i = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE01i.Name="CIRCLE01i"
zmediaCIRCLE01i.Description=""
zmediaCIRCLE01i.AltText=""
zmediaCIRCLE01i.Id="f97d730a-7244-40fc-9779-e5b62a90633f"
zmediaCIRCLE01i.Resources = {
{ Type = "jpg", Filename = "CIRCLE01i.jpg", Directives = {},},
}
zmediaCIRCLE01j = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE01j.Name="CIRCLE01j"
zmediaCIRCLE01j.Description=""
zmediaCIRCLE01j.AltText=""
zmediaCIRCLE01j.Id="0928cc23-7c5a-435a-aab4-a295a991e240"
zmediaCIRCLE01j.Resources = {
{ Type = "jpg", Filename = "CIRCLE01j.jpg", Directives = {},},
}
zmediaCIRCLE02h = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE02h.Name="CIRCLE02h"
zmediaCIRCLE02h.Description=""
zmediaCIRCLE02h.AltText=""
zmediaCIRCLE02h.Id="4c77c7af-e53c-414f-9bbc-e36e523ae9c6"
zmediaCIRCLE02h.Resources = {
{ Type = "jpg", Filename = "CIRCLE02h.jpg", Directives = {},},
}
zmediaCIRCLE02i = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE02i.Name="CIRCLE02i"
zmediaCIRCLE02i.Description=""
zmediaCIRCLE02i.AltText=""
zmediaCIRCLE02i.Id="2822d1f6-c19a-4b02-83cc-16c00f5fa40f"
zmediaCIRCLE02i.Resources = {
{ Type = "jpg", Filename = "CIRCLE02i.jpg", Directives = {},},
}
zmediaCIRCLE02j = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE02j.Name="CIRCLE02j"
zmediaCIRCLE02j.Description=""
zmediaCIRCLE02j.AltText=""
zmediaCIRCLE02j.Id="5306379a-4429-4bdb-9dd5-513a3ad3b44f"
zmediaCIRCLE02j.Resources = {
{ Type = "jpg", Filename = "CIRCLE02j.jpg", Directives = {},},
}
zmediaCIRCLE03h = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE03h.Name="CIRCLE03h"
zmediaCIRCLE03h.Description=""
zmediaCIRCLE03h.AltText=""
zmediaCIRCLE03h.Id="8057e507-1d13-4789-bd07-1b0dba2591dd"
zmediaCIRCLE03h.Resources = {
{ Type = "jpg", Filename = "CIRCLE03h.jpg", Directives = {},},
}
zmediaCIRCLE03i = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE03i.Name="CIRCLE03i"
zmediaCIRCLE03i.Description=""
zmediaCIRCLE03i.AltText=""
zmediaCIRCLE03i.Id="67800956-e268-427a-b333-abeebb971323"
zmediaCIRCLE03i.Resources = {
{ Type = "jpg", Filename = "CIRCLE03i.jpg", Directives = {},},
}
zmediaCIRCLE03j = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE03j.Name="CIRCLE03j"
zmediaCIRCLE03j.Description=""
zmediaCIRCLE03j.AltText=""
zmediaCIRCLE03j.Id="3ff21dfa-2ff7-4e51-9083-feb80abefea4"
zmediaCIRCLE03j.Resources = {
{ Type = "jpg", Filename = "CIRCLE03j.jpg", Directives = {},},
}
zmediaCIRCLE04h = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE04h.Name="CIRCLE04h"
zmediaCIRCLE04h.Description=""
zmediaCIRCLE04h.AltText=""
zmediaCIRCLE04h.Id="3b09eec5-49c0-4446-8681-47b8911b2c85"
zmediaCIRCLE04h.Resources = {
{ Type = "jpg", Filename = "CIRCLE04h.jpg", Directives = {},},
}
zmediaCIRCLE04i = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE04i.Name="CIRCLE04i"
zmediaCIRCLE04i.Description=""
zmediaCIRCLE04i.AltText=""
zmediaCIRCLE04i.Id="0642eaed-9a20-4ca2-aa04-88e77f269543"
zmediaCIRCLE04i.Resources = {
{ Type = "jpg", Filename = "CIRCLE04i.jpg", Directives = {},},
}
zmediaCIRCLE04j = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE04j.Name="CIRCLE04j"
zmediaCIRCLE04j.Description=""
zmediaCIRCLE04j.AltText=""
zmediaCIRCLE04j.Id="c89114c1-d9d5-4cb4-a906-7295d5d3fcbf"
zmediaCIRCLE04j.Resources = {
{ Type = "jpg", Filename = "CIRCLE04j.jpg", Directives = {},},
}
zmediaCIRCLE05h = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE05h.Name="CIRCLE05h"
zmediaCIRCLE05h.Description=""
zmediaCIRCLE05h.AltText=""
zmediaCIRCLE05h.Id="dd24003e-038a-4185-9017-d4ed799ba6f0"
zmediaCIRCLE05h.Resources = {
{ Type = "jpg", Filename = "CIRCLE05h.jpg", Directives = {},},
}
zmediaCIRCLE05i = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE05i.Name="CIRCLE05i"
zmediaCIRCLE05i.Description=""
zmediaCIRCLE05i.AltText=""
zmediaCIRCLE05i.Id="81c449fa-3599-4efc-9786-77de66aa5628"
zmediaCIRCLE05i.Resources = {
{ Type = "jpg", Filename = "CIRCLE05i.jpg", Directives = {},},
}
zmediaCIRCLE05j = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE05j.Name="CIRCLE05j"
zmediaCIRCLE05j.Description=""
zmediaCIRCLE05j.AltText=""
zmediaCIRCLE05j.Id="f18bc7d2-a47f-41f8-8ff5-1a35479ecdbf"
zmediaCIRCLE05j.Resources = {
{ Type = "jpg", Filename = "CIRCLE05j.jpg", Directives = {},},
}
zmediaCIRCLE06h = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE06h.Name="CIRCLE06h"
zmediaCIRCLE06h.Description=""
zmediaCIRCLE06h.AltText=""
zmediaCIRCLE06h.Id="5f53301f-fcf0-4944-8f6e-b8aee217bf4c"
zmediaCIRCLE06h.Resources = {
{ Type = "jpg", Filename = "CIRCLE06h.jpg", Directives = {},},
}
zmediaCIRCLE06i = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE06i.Name="CIRCLE06i"
zmediaCIRCLE06i.Description=""
zmediaCIRCLE06i.AltText=""
zmediaCIRCLE06i.Id="55269423-dc71-48aa-b561-1c88b75b464b"
zmediaCIRCLE06i.Resources = {
{ Type = "jpg", Filename = "CIRCLE06i.jpg", Directives = {},},
}
zmediaCIRCLE06j = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE06j.Name="CIRCLE06j"
zmediaCIRCLE06j.Description=""
zmediaCIRCLE06j.AltText=""
zmediaCIRCLE06j.Id="a8f59176-ad97-4bd8-b259-27916c780287"
zmediaCIRCLE06j.Resources = {
{ Type = "jpg", Filename = "CIRCLE06j.jpg", Directives = {},},
}
zmediaCIRCLE07h = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE07h.Name="CIRCLE07h"
zmediaCIRCLE07h.Description=""
zmediaCIRCLE07h.AltText=""
zmediaCIRCLE07h.Id="c9452d35-0ec9-46ac-b4ac-3f79573200b3"
zmediaCIRCLE07h.Resources = {
{ Type = "jpg", Filename = "CIRCLE07h.jpg", Directives = {},},
}
zmediaCIRCLE07i = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE07i.Name="CIRCLE07i"
zmediaCIRCLE07i.Description=""
zmediaCIRCLE07i.AltText=""
zmediaCIRCLE07i.Id="78d65320-6a91-4923-b297-da639158e1a5"
zmediaCIRCLE07i.Resources = {
{ Type = "jpg", Filename = "CIRCLE07i.jpg", Directives = {},},
}
zmediaCIRCLE07j = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE07j.Name="CIRCLE07j"
zmediaCIRCLE07j.Description=""
zmediaCIRCLE07j.AltText=""
zmediaCIRCLE07j.Id="14ce24b1-cbb4-4ee0-91d9-f4da6bcd5671"
zmediaCIRCLE07j.Resources = {
{ Type = "jpg", Filename = "CIRCLE07j.jpg", Directives = {},},
}
zmediaCIRCLE08h = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE08h.Name="CIRCLE08h"
zmediaCIRCLE08h.Description=""
zmediaCIRCLE08h.AltText=""
zmediaCIRCLE08h.Id="9aba7c3a-0f76-44de-a6c5-550e1b152f25"
zmediaCIRCLE08h.Resources = {
{ Type = "jpg", Filename = "CIRCLE08h.jpg", Directives = {},},
}
zmediaCIRCLE08i = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE08i.Name="CIRCLE08i"
zmediaCIRCLE08i.Description=""
zmediaCIRCLE08i.AltText=""
zmediaCIRCLE08i.Id="1ea59cbf-9c10-4dd5-b2a2-c2d36a5088e0"
zmediaCIRCLE08i.Resources = {
{ Type = "jpg", Filename = "CIRCLE08i.jpg", Directives = {},},
}
zmediaCIRCLE08j = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE08j.Name="CIRCLE08j"
zmediaCIRCLE08j.Description=""
zmediaCIRCLE08j.AltText=""
zmediaCIRCLE08j.Id="2a1991dd-94c3-409c-b656-47cecba37994"
zmediaCIRCLE08j.Resources = {
{ Type = "jpg", Filename = "CIRCLE08j.jpg", Directives = {},},
}
zmediaCIRCLE09h = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE09h.Name="CIRCLE09h"
zmediaCIRCLE09h.Description=""
zmediaCIRCLE09h.AltText=""
zmediaCIRCLE09h.Id="6ec125f8-a39c-4528-954b-ee3b72be5408"
zmediaCIRCLE09h.Resources = {
{ Type = "jpg", Filename = "CIRCLE09h.jpg", Directives = {},},
}
zmediaCIRCLE09i = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE09i.Name="CIRCLE09i"
zmediaCIRCLE09i.Description=""
zmediaCIRCLE09i.AltText=""
zmediaCIRCLE09i.Id="ce1e5607-5237-4a72-bd9e-88d79ca3fda2"
zmediaCIRCLE09i.Resources = {
{ Type = "jpg", Filename = "CIRCLE09i.jpg", Directives = {},},
}
zmediaCIRCLE09j = Wherigo.ZMedia(cartGeocacheotopia)
zmediaCIRCLE09j.Name="CIRCLE09j"
zmediaCIRCLE09j.Description=""
zmediaCIRCLE09j.AltText=""
zmediaCIRCLE09j.Id="65b14148-6522-489b-9fc2-eee1cdf46998"
zmediaCIRCLE09j.Resources = {
{ Type = "jpg", Filename = "CIRCLE09j.jpg", Directives = {},},
}
zmediatitlepic = Wherigo.ZMedia(cartGeocacheotopia)
zmediatitlepic.Name="title-pic"
zmediatitlepic.Description=""
zmediatitlepic.AltText=""
zmediatitlepic.Id="6ddbbb9b-2a0b-43a4-8328-4db01b7751e8"
zmediatitlepic.Resources = {
{ Type = "jpg", Filename = "title-pic.JPG", Directives = {},},
}
zmediaPosterImage = Wherigo.ZMedia(cartGeocacheotopia)
zmediaPosterImage.Name="PosterImage"
zmediaPosterImage.Description=""
zmediaPosterImage.AltText=""
zmediaPosterImage.Id="d07faf19-06cc-4f49-ad06-be459a33daa1"
zmediaPosterImage.Resources = {
{ Type = "jpg", Filename = "poster-image.jpg", Directives = {},},
}
-- Cartridge Info --
cartGeocacheotopia.Id="c3118ee2-c5a0-45ed-b3cd-2ed301de325a"
cartGeocacheotopia.Name="Geocacheotopia"
cartGeocacheotopia.Description=[[This is a PlayAnywhere cartridge for Geocache GCQYXW in Wichita, Kansas, United States.  You are on the hunt for Geocacheotopia.  Find the mysterious Nine Geocoins and together they will reveal to you where you can find a geocache.]]
cartGeocacheotopia.Visible=true
cartGeocacheotopia.Activity="Geocache"
cartGeocacheotopia.StartingLocationDescription=[[ANYWHERE, but the geocache is in Wichita, Kansas, United States.]]
cartGeocacheotopia.StartingLocation = Wherigo.INVALID_ZONEPOINT
cartGeocacheotopia.Version="1.0"
cartGeocacheotopia.Company="cantuland"
cartGeocacheotopia.Author="cantuland"
cartGeocacheotopia.BuilderVersion="2.0.5129.5086"
cartGeocacheotopia.CreateDate="5/16/2009 6:38:07 PM"
cartGeocacheotopia.PublishDate="1/1/0001 12:00:00 AM"
cartGeocacheotopia.UpdateDate="12/30/2011 2:20:53 PM"
cartGeocacheotopia.LastPlayedDate="1/1/0001 12:00:00 AM"
cartGeocacheotopia.TargetDevice="PocketPC"
cartGeocacheotopia.TargetDeviceVersion="0"
cartGeocacheotopia.StateId="1"
cartGeocacheotopia.CountryId="2"
cartGeocacheotopia.Complete=false
cartGeocacheotopia.UseLogging=true

-- Zones --
zoneGeocoin1 = Wherigo.Zone(cartGeocacheotopia)
zoneGeocoin1.Id="67ef2649-645b-4435-b528-4f53a532260e"
zoneGeocoin1.Name="Geocoin1"
zoneGeocoin1.Description=[[This is a lost gold coin, one of the set of Nine Geocoins.]]
zoneGeocoin1.Visible=false
zoneGeocoin1.DistanceRange = Distance(-1, "feet")
zoneGeocoin1.ShowObjects="OnProximity"
zoneGeocoin1.ProximityRange = Distance(20, "feet")
zoneGeocoin1.AllowSetPositionTo=false
zoneGeocoin1.Active=false
zoneGeocoin1.Points = {
  ZonePoint(37.66669,-97.33336,0),
  ZonePoint(37.66669,-97.33331,0),
  ZonePoint(37.66665,-97.33331,0),
  ZonePoint(37.66665,-97.33336,0)
}
zoneGeocoin1.OriginalPoint = ZonePoint(37.6666666666667,-97.3333333333333,0)
zoneGeocoin1.DistanceRangeUOM = "Feet"
zoneGeocoin1.ProximityRangeUOM = "Feet"
zoneGeocoin1.OutOfRangeName = ""
zoneGeocoin1.InRangeName = ""
zoneGeocoin1.Media=zmediaGeocoinImage

zoneGeocoin2 = Wherigo.Zone(cartGeocacheotopia)
zoneGeocoin2.Id="014e7f05-dd4f-4043-b330-6481ea4bac74"
zoneGeocoin2.Name="Geocoin2"
zoneGeocoin2.Description=[[This is a lost gold coin, one of the set of Nine Geocoins.]]
zoneGeocoin2.Visible=false
zoneGeocoin2.DistanceRange = Distance(-1, "feet")
zoneGeocoin2.ShowObjects="OnProximity"
zoneGeocoin2.ProximityRange = Distance(20, "feet")
zoneGeocoin2.AllowSetPositionTo=false
zoneGeocoin2.Active=false
zoneGeocoin2.Points = {
  ZonePoint(37.66669,-97.33336,0),
  ZonePoint(37.66669,-97.33331,0),
  ZonePoint(37.66665,-97.33331,0),
  ZonePoint(37.66665,-97.33336,0)
}
zoneGeocoin2.OriginalPoint = ZonePoint(37.6666666666667,-97.3333333333333,0)
zoneGeocoin2.DistanceRangeUOM = "Feet"
zoneGeocoin2.ProximityRangeUOM = "Feet"
zoneGeocoin2.OutOfRangeName = ""
zoneGeocoin2.InRangeName = ""
zoneGeocoin2.Media=zmediaGeocoinImage

zoneGeocoin3 = Wherigo.Zone(cartGeocacheotopia)
zoneGeocoin3.Id="12409c03-d0ce-4fad-b7a6-5d5d30740031"
zoneGeocoin3.Name="Geocoin3"
zoneGeocoin3.Description=[[This is a lost gold coin, one of the set of Nine Geocoins.]]
zoneGeocoin3.Visible=false
zoneGeocoin3.DistanceRange = Distance(-1, "feet")
zoneGeocoin3.ShowObjects="OnProximity"
zoneGeocoin3.ProximityRange = Distance(20, "feet")
zoneGeocoin3.AllowSetPositionTo=false
zoneGeocoin3.Active=false
zoneGeocoin3.Points = {
  ZonePoint(37.66669,-97.33336,0),
  ZonePoint(37.66669,-97.33331,0),
  ZonePoint(37.66665,-97.33331,0),
  ZonePoint(37.66665,-97.33336,0)
}
zoneGeocoin3.OriginalPoint = ZonePoint(37.6666666666667,-97.3333333333333,0)
zoneGeocoin3.DistanceRangeUOM = "Feet"
zoneGeocoin3.ProximityRangeUOM = "Feet"
zoneGeocoin3.OutOfRangeName = ""
zoneGeocoin3.InRangeName = ""
zoneGeocoin3.Media=zmediaGeocoinImage

zoneGeocoin4 = Wherigo.Zone(cartGeocacheotopia)
zoneGeocoin4.Id="56ee914b-7058-401e-a65c-c6485cfd4688"
zoneGeocoin4.Name="Geocoin4"
zoneGeocoin4.Description=[[This is a lost gold coin, one of the set of Nine Geocoins.]]
zoneGeocoin4.Visible=false
zoneGeocoin4.DistanceRange = Distance(-1, "feet")
zoneGeocoin4.ShowObjects="OnProximity"
zoneGeocoin4.ProximityRange = Distance(20, "feet")
zoneGeocoin4.AllowSetPositionTo=false
zoneGeocoin4.Active=false
zoneGeocoin4.Points = {
  ZonePoint(37.66669,-97.33336,0),
  ZonePoint(37.66669,-97.33331,0),
  ZonePoint(37.66665,-97.33331,0),
  ZonePoint(37.66665,-97.33336,0)
}
zoneGeocoin4.OriginalPoint = ZonePoint(37.6666666666667,-97.3333333333333,0)
zoneGeocoin4.DistanceRangeUOM = "Feet"
zoneGeocoin4.ProximityRangeUOM = "Feet"
zoneGeocoin4.OutOfRangeName = ""
zoneGeocoin4.InRangeName = ""
zoneGeocoin4.Media=zmediaGeocoinImage

zoneGeocoin5 = Wherigo.Zone(cartGeocacheotopia)
zoneGeocoin5.Id="a4425ef4-05a8-4759-9a45-4369c869d652"
zoneGeocoin5.Name="Geocoin5"
zoneGeocoin5.Description=[[This is a lost gold coin, one of the set of Nine Geocoins.]]
zoneGeocoin5.Visible=false
zoneGeocoin5.DistanceRange = Distance(-1, "feet")
zoneGeocoin5.ShowObjects="OnProximity"
zoneGeocoin5.ProximityRange = Distance(20, "feet")
zoneGeocoin5.AllowSetPositionTo=false
zoneGeocoin5.Active=false
zoneGeocoin5.Points = {
  ZonePoint(37.66669,-97.33336,0),
  ZonePoint(37.66669,-97.33331,0),
  ZonePoint(37.66665,-97.33331,0),
  ZonePoint(37.66665,-97.33336,0)
}
zoneGeocoin5.OriginalPoint = ZonePoint(37.6666666666667,-97.3333333333333,0)
zoneGeocoin5.DistanceRangeUOM = "Feet"
zoneGeocoin5.ProximityRangeUOM = "Feet"
zoneGeocoin5.OutOfRangeName = ""
zoneGeocoin5.InRangeName = ""
zoneGeocoin5.Media=zmediaGeocoinImage

zoneGeocoin6 = Wherigo.Zone(cartGeocacheotopia)
zoneGeocoin6.Id="1b9f8fee-5c8d-4777-a5ea-6a224fb956f6"
zoneGeocoin6.Name="Geocoin6"
zoneGeocoin6.Description=[[This is a lost gold coin, one of the set of Nine Geocoins.]]
zoneGeocoin6.Visible=false
zoneGeocoin6.DistanceRange = Distance(-1, "feet")
zoneGeocoin6.ShowObjects="OnProximity"
zoneGeocoin6.ProximityRange = Distance(20, "feet")
zoneGeocoin6.AllowSetPositionTo=false
zoneGeocoin6.Active=false
zoneGeocoin6.Points = {
  ZonePoint(37.66669,-97.33336,0),
  ZonePoint(37.66669,-97.33331,0),
  ZonePoint(37.66665,-97.33331,0),
  ZonePoint(37.66665,-97.33336,0)
}
zoneGeocoin6.OriginalPoint = ZonePoint(37.6666666666667,-97.3333333333333,0)
zoneGeocoin6.DistanceRangeUOM = "Feet"
zoneGeocoin6.ProximityRangeUOM = "Feet"
zoneGeocoin6.OutOfRangeName = ""
zoneGeocoin6.InRangeName = ""
zoneGeocoin6.Media=zmediaGeocoinImage

zoneGeocoin7 = Wherigo.Zone(cartGeocacheotopia)
zoneGeocoin7.Id="2732718e-21d0-4eff-b944-2e76e6e5d146"
zoneGeocoin7.Name="Geocoin7"
zoneGeocoin7.Description=[[This is a lost gold coin, one of the set of Nine Geocoins.]]
zoneGeocoin7.Visible=false
zoneGeocoin7.DistanceRange = Distance(-1, "feet")
zoneGeocoin7.ShowObjects="OnProximity"
zoneGeocoin7.ProximityRange = Distance(20, "feet")
zoneGeocoin7.AllowSetPositionTo=false
zoneGeocoin7.Active=false
zoneGeocoin7.Points = {
  ZonePoint(37.66669,-97.33336,0),
  ZonePoint(37.66669,-97.33331,0),
  ZonePoint(37.66665,-97.33331,0),
  ZonePoint(37.66665,-97.33336,0)
}
zoneGeocoin7.OriginalPoint = ZonePoint(37.6666666666667,-97.3333333333333,0)
zoneGeocoin7.DistanceRangeUOM = "Feet"
zoneGeocoin7.ProximityRangeUOM = "Feet"
zoneGeocoin7.OutOfRangeName = ""
zoneGeocoin7.InRangeName = ""
zoneGeocoin7.Media=zmediaGeocoinImage

zoneGeocoin8 = Wherigo.Zone(cartGeocacheotopia)
zoneGeocoin8.Id="fd119165-d50f-4f4d-bfe0-3bf100c088fd"
zoneGeocoin8.Name="Geocoin8"
zoneGeocoin8.Description=[[This is a lost gold coin, one of the set of Nine Geocoins.]]
zoneGeocoin8.Visible=false
zoneGeocoin8.DistanceRange = Distance(-1, "feet")
zoneGeocoin8.ShowObjects="OnProximity"
zoneGeocoin8.ProximityRange = Distance(20, "feet")
zoneGeocoin8.AllowSetPositionTo=false
zoneGeocoin8.Active=false
zoneGeocoin8.Points = {
  ZonePoint(37.66669,-97.33336,0),
  ZonePoint(37.66669,-97.33331,0),
  ZonePoint(37.66665,-97.33331,0),
  ZonePoint(37.66665,-97.33336,0)
}
zoneGeocoin8.OriginalPoint = ZonePoint(37.6666666666667,-97.3333333333333,0)
zoneGeocoin8.DistanceRangeUOM = "Feet"
zoneGeocoin8.ProximityRangeUOM = "Feet"
zoneGeocoin8.OutOfRangeName = ""
zoneGeocoin8.InRangeName = ""
zoneGeocoin8.Media=zmediaGeocoinImage

zoneTheGlowStone = Wherigo.Zone(cartGeocacheotopia)
zoneTheGlowStone.Id="8f3700bc-80b8-4e18-9b89-1f3eea2d4d4f"
zoneTheGlowStone.Name="The Glow Stone"
zoneTheGlowStone.Description=[[]]
zoneTheGlowStone.Visible=false
zoneTheGlowStone.DistanceRange = Distance(-1, "feet")
zoneTheGlowStone.ShowObjects="Always"
zoneTheGlowStone.ProximityRange = Distance(20, "feet")
zoneTheGlowStone.AllowSetPositionTo=false
zoneTheGlowStone.Active=false
zoneTheGlowStone.Points = {
  ZonePoint(37.66671,-97.33338,0),
  ZonePoint(37.66671,-97.33328,0),
  ZonePoint(37.66663,-97.33328,0),
  ZonePoint(37.66663,-97.33338,0)
}
zoneTheGlowStone.OriginalPoint = ZonePoint(37.6666666666667,-97.3333333333333,0)
zoneTheGlowStone.DistanceRangeUOM = "Feet"
zoneTheGlowStone.ProximityRangeUOM = "Feet"
zoneTheGlowStone.OutOfRangeName = ""
zoneTheGlowStone.InRangeName = ""
zoneTheGlowStone.Media=zmediaHoloPic4

zoneGeocoin9 = Wherigo.Zone(cartGeocacheotopia)
zoneGeocoin9.Id="56aca0a7-8e3d-493c-97a6-9b2f233a4987"
zoneGeocoin9.Name="Geocoin9"
zoneGeocoin9.Description=[[This is a lost gold coin, one of the set of Nine Geocoins.]]
zoneGeocoin9.Visible=false
zoneGeocoin9.DistanceRange = Distance(-1, "feet")
zoneGeocoin9.ShowObjects="OnProximity"
zoneGeocoin9.ProximityRange = Distance(20, "feet")
zoneGeocoin9.AllowSetPositionTo=false
zoneGeocoin9.Active=false
zoneGeocoin9.Points = {
  ZonePoint(37.66669,-97.33336,0),
  ZonePoint(37.66669,-97.33331,0),
  ZonePoint(37.66665,-97.33331,0),
  ZonePoint(37.66665,-97.33336,0)
}
zoneGeocoin9.OriginalPoint = ZonePoint(37.6666666666667,-97.3333333333333,0)
zoneGeocoin9.DistanceRangeUOM = "Feet"
zoneGeocoin9.ProximityRangeUOM = "Feet"
zoneGeocoin9.OutOfRangeName = ""
zoneGeocoin9.InRangeName = ""
zoneGeocoin9.Media=zmediaGeocoinImage

-- Characters --
zcharacterTurtle = Wherigo.ZCharacter(cartGeocacheotopia)
zcharacterTurtle.Id="b2b97e4c-25f6-4e15-9524-6f41270424fe"
zcharacterTurtle.Name="Turtle"
zcharacterTurtle.Description=[[This is Turtle.  He is very old.]]
zcharacterTurtle.Visible=false
zcharacterTurtle.Media=zmediaturtle
zcharacterTurtle.Gender="Male"
zcharacterTurtle.Type="NPC"
zcharacterTurtle.ObjectLocation = Wherigo.INVALID_ZONEPOINT
zcharacterTurtle.Commands = {
  TalkToHim = Wherigo.ZCommand{Text="Talk To Him", CmdWith=false, Enabled=true, EmptyTargetListText="Nothing available"},
}
zcharacterTurtle.Commands.TalkToHim.Custom = true
zcharacterTurtle.Commands.TalkToHim.Id="88b0fb7d-3f36-49f2-99b9-8d7104d749f8"
zcharacterTurtle.Commands.TalkToHim.WorksWithAll = true

zcharacterCat = Wherigo.ZCharacter(cartGeocacheotopia)
zcharacterCat.Id="d1c27512-1bdc-40dc-bd0c-02cc9a0add63"
zcharacterCat.Name="Cat"
zcharacterCat.Description=[[This is Cat.  You summoned him by finding all of the Nine Geocoins.  When you are finished looking at the gold coins, you should go speak to Cat.]]
zcharacterCat.Visible=false
zcharacterCat.Media=zmediaCatFace
zcharacterCat.Gender="Male"
zcharacterCat.Type="NPC"
zcharacterCat.ObjectLocation = Wherigo.INVALID_ZONEPOINT
zcharacterCat.Commands = {
  TalktoCat = Wherigo.ZCommand{Text="Talk to Cat", CmdWith=false, Enabled=false, EmptyTargetListText="Nothing available"},
}
zcharacterCat.Commands.TalktoCat.Custom = true
zcharacterCat.Commands.TalktoCat.Id="13c37535-7985-4c44-a4f7-b01faa37d534"
zcharacterCat.Commands.TalktoCat.WorksWithAll = true

-- Items --
zitemDreamlikeVisions = Wherigo.ZItem(cartGeocacheotopia)
zitemDreamlikeVisions.Id="27442654-fc6e-4952-b010-a4f2abedaef6"
zitemDreamlikeVisions.Name="Dream-like Visions"
zitemDreamlikeVisions.Description=[[You see holographic shapes and dancing lights, forming into shimmering words all around you. To see the visions, CONCENTRATE on them so that you can read them.  When you are done, GO-BACK, or look at them again.]]
zitemDreamlikeVisions.Visible=true
zitemDreamlikeVisions.ObjectLocation = Wherigo.INVALID_ZONEPOINT
zitemDreamlikeVisions.Media=zmediaHoloPic1
zitemDreamlikeVisions.Locked = false
zitemDreamlikeVisions.Opened = false
zitemDreamlikeVisions.Commands = {
  ConcentrateonVisions = Wherigo.ZCommand{Text="Concentrate on Visions", CmdWith=false, Enabled=true, EmptyTargetListText="Nothing available"},
}
zitemDreamlikeVisions.Commands.ConcentrateonVisions.Custom = true
zitemDreamlikeVisions.Commands.ConcentrateonVisions.Id="ebc99b24-340d-455e-bddb-f978df23aec8"
zitemDreamlikeVisions.Commands.ConcentrateonVisions.WorksWithAll = true

zitemHandfulOfGeocoins = Wherigo.ZItem(cartGeocacheotopia)
zitemHandfulOfGeocoins.Id="c1884717-0b67-4eb4-ba19-8d8b2e5f71ea"
zitemHandfulOfGeocoins.Name="Handful Of Geocoins"
zitemHandfulOfGeocoins.Description=[[Geocoins in your hand]]
zitemHandfulOfGeocoins.Visible=false
zitemHandfulOfGeocoins.ObjectLocation = Wherigo.INVALID_ZONEPOINT
zitemHandfulOfGeocoins.Media=zmediaGeocoinImage
zitemHandfulOfGeocoins.Locked = false
zitemHandfulOfGeocoins.Opened = false
zitemHandfulOfGeocoins.Commands = {
  TransformCoins = Wherigo.ZCommand{Text="Transform Coins", CmdWith=false, Enabled=false, EmptyTargetListText="Nothing available"},
  Transformagain = Wherigo.ZCommand{Text="Transform again", CmdWith=false, Enabled=false, EmptyTargetListText="Nothing available"},
  ExamineCoins = Wherigo.ZCommand{Text="Examine Coins", CmdWith=false, Enabled=true, EmptyTargetListText="Nothing available"},
}
zitemHandfulOfGeocoins.Commands.TransformCoins.Custom = true
zitemHandfulOfGeocoins.Commands.TransformCoins.Id="7ade203e-3e8e-4912-925f-d79f2af2a547"
zitemHandfulOfGeocoins.Commands.TransformCoins.WorksWithAll = true
zitemHandfulOfGeocoins.Commands.Transformagain.Custom = true
zitemHandfulOfGeocoins.Commands.Transformagain.Id="06e2e8c0-83f6-4cb8-bda0-f49d3cb5d4ae"
zitemHandfulOfGeocoins.Commands.Transformagain.WorksWithAll = true
zitemHandfulOfGeocoins.Commands.ExamineCoins.Custom = true
zitemHandfulOfGeocoins.Commands.ExamineCoins.Id="abc0000a-6c27-44f3-9ed0-525773ad1ccc"
zitemHandfulOfGeocoins.Commands.ExamineCoins.WorksWithAll = true

zitemTheGlowStone = Wherigo.ZItem(cartGeocacheotopia)
zitemTheGlowStone.Id="d5fd9df2-77e9-4068-beb2-e3d421c00a27"
zitemTheGlowStone.Name="The Glow Stone"
zitemTheGlowStone.Description=[[This is the magical Glow Stone. Have a LOOK at it.]]
zitemTheGlowStone.Visible=false
zitemTheGlowStone.ObjectLocation = Wherigo.INVALID_ZONEPOINT
zitemTheGlowStone.Media=zmediaGlowStone
zitemTheGlowStone.Locked = false
zitemTheGlowStone.Opened = false
zitemTheGlowStone.Commands = {
  Takeitwithyou = Wherigo.ZCommand{Text="Take it with you", CmdWith=false, Enabled=false, EmptyTargetListText="Nothing available"},
  Lookatit = Wherigo.ZCommand{Text="Look at it.", CmdWith=false, Enabled=true, EmptyTargetListText="Nothing available"},
  Standonit = Wherigo.ZCommand{Text="Stand on it.", CmdWith=false, Enabled=false, EmptyTargetListText="Nothing available"},
}
zitemTheGlowStone.Commands.Takeitwithyou.Custom = true
zitemTheGlowStone.Commands.Takeitwithyou.Id="f46c4a0b-d3d6-47e0-9dea-050994c7757e"
zitemTheGlowStone.Commands.Takeitwithyou.WorksWithAll = true
zitemTheGlowStone.Commands.Lookatit.Custom = true
zitemTheGlowStone.Commands.Lookatit.Id="49a07e87-275a-4ae7-b2dc-553ea06539b0"
zitemTheGlowStone.Commands.Lookatit.WorksWithAll = true
zitemTheGlowStone.Commands.Standonit.Custom = true
zitemTheGlowStone.Commands.Standonit.Id="82475091-9dfd-4a14-a878-8d2aa7fe1c3b"
zitemTheGlowStone.Commands.Standonit.WorksWithAll = true

zitemAGlowingPebble = Wherigo.ZItem(cartGeocacheotopia)
zitemAGlowingPebble.Id="ec3e866c-927c-460c-bc0e-ff56c01c617c"
zitemAGlowingPebble.Name="A Glowing Pebble"
zitemAGlowingPebble.Description=[[This is a miniature version of the great Glow Stone.  This one fits in the palm of your hand.]]
zitemAGlowingPebble.Visible=false
zitemAGlowingPebble.ObjectLocation = Wherigo.INVALID_ZONEPOINT
zitemAGlowingPebble.Media=zmediaGlowStone
zitemAGlowingPebble.Locked = false
zitemAGlowingPebble.Opened = false
zitemAGlowingPebble.Commands = {
  VisittheGlowStone = Wherigo.ZCommand{Text="Visit the Glow Stone", CmdWith=false, Enabled=true, EmptyTargetListText="Nothing available"},
}
zitemAGlowingPebble.Commands.VisittheGlowStone.Custom = true
zitemAGlowingPebble.Commands.VisittheGlowStone.Id="18535875-8d33-4979-8783-9e2e39032b2c"
zitemAGlowingPebble.Commands.VisittheGlowStone.WorksWithAll = true

zitemBonusBook2 = Wherigo.ZItem(cartGeocacheotopia)
zitemBonusBook2.Id="c1bc230f-a1a7-492e-a71b-8e8ee455b3c0"
zitemBonusBook2.Name="Bonus Book 2"
zitemBonusBook2.Description=[[Bonus Book #2, Behind-the-scenes History of the Creation of Geocacheotopia.  This book describes the origins of the concept of the Geocacheotopia cartridges.]]
zitemBonusBook2.Visible=false
zitemBonusBook2.ObjectLocation = Wherigo.INVALID_ZONEPOINT
zitemBonusBook2.Locked = false
zitemBonusBook2.Opened = false
zitemBonusBook2.Commands = {
  Openbook = Wherigo.ZCommand{Text="Open book", CmdWith=false, Enabled=true, EmptyTargetListText="Nothing available"},
}
zitemBonusBook2.Commands.Openbook.Custom = true
zitemBonusBook2.Commands.Openbook.Id="a9d423c0-b67e-4198-89e7-9ae691a5b5bd"
zitemBonusBook2.Commands.Openbook.WorksWithAll = true

zitemBonusBook1 = Wherigo.ZItem(cartGeocacheotopia)
zitemBonusBook1.Id="18093cd0-b639-43be-80d4-95c142c6f547"
zitemBonusBook1.Name="Bonus Book 1"
zitemBonusBook1.Description=[[Bonus Book #1, Characters and Items.  This is a compilation of character images and item images used in this Wherigo cartridge.  Flipping through the pages will show you one image at a time.]]
zitemBonusBook1.Visible=false
zitemBonusBook1.ObjectLocation = Wherigo.INVALID_ZONEPOINT
zitemBonusBook1.Locked = false
zitemBonusBook1.Opened = false
zitemBonusBook1.Commands = {
  Openbook = Wherigo.ZCommand{Text="Open book", CmdWith=false, Enabled=true, EmptyTargetListText="Nothing available"},
}
zitemBonusBook1.Commands.Openbook.Custom = true
zitemBonusBook1.Commands.Openbook.Id="c7c9255f-0559-44d4-a235-c782b005aac2"
zitemBonusBook1.Commands.Openbook.WorksWithAll = true

zitemReplayVideo1 = Wherigo.ZItem(cartGeocacheotopia)
zitemReplayVideo1.Id="e03615b8-d473-4789-9161-9760bd9d4c53"
zitemReplayVideo1.Name="Replay Video 1"
zitemReplayVideo1.Description=[[BONUS MATERIAL: Select REPLAY if you would like to watch the FIRST transformation of the coins from gold to color-with-cantuland.]]
zitemReplayVideo1.Visible=false
zitemReplayVideo1.ObjectLocation = Wherigo.INVALID_ZONEPOINT
zitemReplayVideo1.Locked = false
zitemReplayVideo1.Opened = false
zitemReplayVideo1.Commands = {
  REPLAY = Wherigo.ZCommand{Text="REPLAY", CmdWith=false, Enabled=true, EmptyTargetListText="Nothing available"},
}
zitemReplayVideo1.Commands.REPLAY.Custom = true
zitemReplayVideo1.Commands.REPLAY.Id="7943d220-394e-4bb9-80cc-238b6f6b25b9"
zitemReplayVideo1.Commands.REPLAY.WorksWithAll = true

zitemReplayVideo2 = Wherigo.ZItem(cartGeocacheotopia)
zitemReplayVideo2.Id="54dacbb9-6a06-4f4c-8dc6-3c29d4231cec"
zitemReplayVideo2.Name="Replay Video 2"
zitemReplayVideo2.Description=[[BONUS MATERIAL: Select REPLAY if you would like to watch the SECOND transformation of the coins from color-with-cantuland to color-with-coordinates.]]
zitemReplayVideo2.Visible=false
zitemReplayVideo2.ObjectLocation = Wherigo.INVALID_ZONEPOINT
zitemReplayVideo2.Locked = false
zitemReplayVideo2.Opened = false
zitemReplayVideo2.Commands = {
  REPLAY = Wherigo.ZCommand{Text="REPLAY", CmdWith=false, Enabled=true, EmptyTargetListText="Nothing available"},
}
zitemReplayVideo2.Commands.REPLAY.Custom = true
zitemReplayVideo2.Commands.REPLAY.Id="22df43be-091d-465c-a64c-49d875cbb4b6"
zitemReplayVideo2.Commands.REPLAY.WorksWithAll = true

-- Tasks --
ztaskGotalktoTurtle = Wherigo.ZTask(cartGeocacheotopia)
ztaskGotalktoTurtle.Id="7ada8db3-2ca4-4bf0-9d52-75598f9ff900"
ztaskGotalktoTurtle.Name="Go talk to Turtle"
ztaskGotalktoTurtle.Description=[[Go talk to Turtle when you think you are ready.]]
ztaskGotalktoTurtle.Visible=false
ztaskGotalktoTurtle.Active=false
ztaskGotalktoTurtle.Complete=false
ztaskGotalktoTurtle.CorrectState = "None"

ztaskFIXYOURGPSSIGNAL = Wherigo.ZTask(cartGeocacheotopia)
ztaskFIXYOURGPSSIGNAL.Id="add6a968-cc31-4ad9-aa61-3162e14b3499"
ztaskFIXYOURGPSSIGNAL.Name="FIX YOUR GPS SIGNAL"
ztaskFIXYOURGPSSIGNAL.Description=[[Your GPS signal was not adequate.  Go get a good signal and RESTART this Wherigo cartridge.  We will continue then.]]
ztaskFIXYOURGPSSIGNAL.Visible=false
ztaskFIXYOURGPSSIGNAL.Media=zmediaturtle
ztaskFIXYOURGPSSIGNAL.Active=false
ztaskFIXYOURGPSSIGNAL.Complete=false
ztaskFIXYOURGPSSIGNAL.CorrectState = "None"

ztaskCollectCoins = Wherigo.ZTask(cartGeocacheotopia)
ztaskCollectCoins.Id="89f1a5c4-078c-4c4e-adf8-b30c5e544f5a"
ztaskCollectCoins.Name="Collect Coins"
ztaskCollectCoins.Description=[[Walk around and collect all the lost coins.]]
ztaskCollectCoins.Visible=false
ztaskCollectCoins.Media=zmediaGeocoinImage
ztaskCollectCoins.Active=false
ztaskCollectCoins.Complete=false
ztaskCollectCoins.CorrectState = "None"

ztaskGotalktoCat = Wherigo.ZTask(cartGeocacheotopia)
ztaskGotalktoCat.Id="c1370c5c-677c-4167-85f2-0c8dcb71ee95"
ztaskGotalktoCat.Name="Go talk to Cat."
ztaskGotalktoCat.Description=[[Go talk to Cat when you think you are ready.]]
ztaskGotalktoCat.Visible=false
ztaskGotalktoCat.Active=false
ztaskGotalktoCat.Complete=false
ztaskGotalktoCat.CorrectState = "None"

ztaskFindGeocacheotopia = Wherigo.ZTask(cartGeocacheotopia)
ztaskFindGeocacheotopia.Id="f7f9326b-f08e-4d5f-8561-961fa3538576"
ztaskFindGeocacheotopia.Name="Find Geocacheotopia"
ztaskFindGeocacheotopia.Description=[[Find Geocacheotopia.  Perhaps looking at the visions will help you.]]
ztaskFindGeocacheotopia.Visible=false
ztaskFindGeocacheotopia.Active=false
ztaskFindGeocacheotopia.Complete=false
ztaskFindGeocacheotopia.CorrectState = "None"

ztaskTransformCoins = Wherigo.ZTask(cartGeocacheotopia)
ztaskTransformCoins.Id="2142e11a-2b2e-43ca-ada0-a2d864ddf61e"
ztaskTransformCoins.Name="Transform Coins"
ztaskTransformCoins.Description=[[Look at the gold coins in your hand and TRANSFORM them.]]
ztaskTransformCoins.Visible=false
ztaskTransformCoins.Media=zmediaGeocoinImage
ztaskTransformCoins.Active=false
ztaskTransformCoins.Complete=false
ztaskTransformCoins.CorrectState = "None"

ztaskGototheGlowStone = Wherigo.ZTask(cartGeocacheotopia)
ztaskGototheGlowStone.Id="66ec589f-0d6a-46e8-ba6c-af6bf01ac3a1"
ztaskGototheGlowStone.Name="Go to the Glow Stone"
ztaskGototheGlowStone.Description=[[You have released the Glow Stone.  The Glow Stone calls to you.  Go to it.]]
ztaskGototheGlowStone.Visible=false
ztaskGototheGlowStone.Media=zmediaCatEyesOnly
ztaskGototheGlowStone.Active=false
ztaskGototheGlowStone.Complete=false
ztaskGototheGlowStone.CorrectState = "None"

ztaskTransformagain = Wherigo.ZTask(cartGeocacheotopia)
ztaskTransformagain.Id="a16ac101-a28b-47af-b2e9-613b2e0c1c25"
ztaskTransformagain.Name="Transform again"
ztaskTransformagain.Description=[[Do the next transformation of the geocoins.]]
ztaskTransformagain.Visible=false
ztaskTransformagain.Media=zmediaGeocoinImage
ztaskTransformagain.Active=false
ztaskTransformagain.Complete=false
ztaskTransformagain.CorrectState = "None"

ztaskLookattheVisions = Wherigo.ZTask(cartGeocacheotopia)
ztaskLookattheVisions.Id="34fdf12b-b203-43e1-8eb8-b20484c73312"
ztaskLookattheVisions.Name="Look at the Visions"
ztaskLookattheVisions.Description=[[Look at the Dream-like Visions by CONCENTRATING on them.  They will tell you what to do next.]]
ztaskLookattheVisions.Visible=false
ztaskLookattheVisions.Active=false
ztaskLookattheVisions.Complete=false
ztaskLookattheVisions.CorrectState = "None"

-- Cartridge Variables --
VisionPageNumber = 1
TransMode = 1
CastOfCharactersFlipBookPageNumber = 0
HereByRestore = false
HistoryBookPageNumber = 0
NumberOfCoinsFound = 0
GeocoinShowNumber = 1
AllVisionsViewed = false
MaxCoinNumber = 0
TransCount = 1
cartGeocacheotopia.ZVariables = {VisionPageNumber = 1, TransMode = 1, CastOfCharactersFlipBookPageNumber = 0, HereByRestore = false, HistoryBookPageNumber = 0, NumberOfCoinsFound = 0, GeocoinShowNumber = 1, AllVisionsViewed = false, MaxCoinNumber = 0, TransCount = 1}

-- Builder Variables (to be read by the builder only) --
buildervar = {}
buildervar.VisionPageNumber = {}
buildervar.VisionPageNumber.Id ="6e06a07c-d1f7-43fe-a408-acc5feb38dc1"
buildervar.VisionPageNumber.Name = "VisionPageNumber"
buildervar.VisionPageNumber.Type = "Number"
buildervar.VisionPageNumber.Data=[[1]]
buildervar.VisionPageNumber.Description=[[]]

buildervar.TransMode = {}
buildervar.TransMode.Id ="d56573fc-647a-439b-9d24-538c8e0538e3"
buildervar.TransMode.Name = "TransMode"
buildervar.TransMode.Type = "Number"
buildervar.TransMode.Data=[[1]]
buildervar.TransMode.Description=[[]]

buildervar.CastOfCharactersFlipBookPageNumber = {}
buildervar.CastOfCharactersFlipBookPageNumber.Id ="fc4ddfb7-4284-4af6-a6f7-ff922848ad77"
buildervar.CastOfCharactersFlipBookPageNumber.Name = "CastOfCharactersFlipBookPageNumber"
buildervar.CastOfCharactersFlipBookPageNumber.Type = "Number"
buildervar.CastOfCharactersFlipBookPageNumber.Data=[[0]]
buildervar.CastOfCharactersFlipBookPageNumber.Description=[[]]

buildervar.HereByRestore = {}
buildervar.HereByRestore.Id ="8eadbc5c-51c7-4ffd-b695-8425cb3bab8a"
buildervar.HereByRestore.Name = "HereByRestore"
buildervar.HereByRestore.Type = "Flag"
buildervar.HereByRestore.Data=[[False]]
buildervar.HereByRestore.Description=[[]]

buildervar.HistoryBookPageNumber = {}
buildervar.HistoryBookPageNumber.Id ="c1f3725c-35e1-4a68-aa29-5f111e45a3a7"
buildervar.HistoryBookPageNumber.Name = "HistoryBookPageNumber"
buildervar.HistoryBookPageNumber.Type = "Number"
buildervar.HistoryBookPageNumber.Data=[[0]]
buildervar.HistoryBookPageNumber.Description=[[]]

buildervar.NumberOfCoinsFound = {}
buildervar.NumberOfCoinsFound.Id ="a6d8354f-e495-441f-b3aa-c8b5c84a51f8"
buildervar.NumberOfCoinsFound.Name = "NumberOfCoinsFound"
buildervar.NumberOfCoinsFound.Type = "Number"
buildervar.NumberOfCoinsFound.Data=[[0]]
buildervar.NumberOfCoinsFound.Description=[[]]

buildervar.GeocoinShowNumber = {}
buildervar.GeocoinShowNumber.Id ="8625d50c-1d1b-49f8-b0ea-fbc1c3617632"
buildervar.GeocoinShowNumber.Name = "GeocoinShowNumber"
buildervar.GeocoinShowNumber.Type = "Number"
buildervar.GeocoinShowNumber.Data=[[1]]
buildervar.GeocoinShowNumber.Description=[[]]

buildervar.AllVisionsViewed = {}
buildervar.AllVisionsViewed.Id ="1bc61abb-cb11-4b6f-a308-33aec5c0dcc5"
buildervar.AllVisionsViewed.Name = "AllVisionsViewed"
buildervar.AllVisionsViewed.Type = "Flag"
buildervar.AllVisionsViewed.Data=[[False]]
buildervar.AllVisionsViewed.Description=[[]]

buildervar.MaxCoinNumber = {}
buildervar.MaxCoinNumber.Id ="a6977ae1-f39f-4fc1-b8cb-4aaf945413c4"
buildervar.MaxCoinNumber.Name = "MaxCoinNumber"
buildervar.MaxCoinNumber.Type = "Number"
buildervar.MaxCoinNumber.Data=[[0]]
buildervar.MaxCoinNumber.Description=[[]]

buildervar.TransCount = {}
buildervar.TransCount.Id ="ddc4d40b-607e-4070-8e85-8a34f829374c"
buildervar.TransCount.Name = "TransCount"
buildervar.TransCount.Type = "Number"
buildervar.TransCount.Data=[[1]]
buildervar.TransCount.Description=[[]]


-- ZTimers --
ztimerTransforming = Wherigo.ZTimer(cartGeocacheotopia)
ztimerTransforming.Id="cd3e644d-9d87-459c-8fb9-d2f8744ce084"
ztimerTransforming.Name="Transforming"
ztimerTransforming.Description=[[]]
ztimerTransforming.Visible=true
ztimerTransforming.Duration=1
ztimerTransforming.Type="Countdown"

ztimerTransformingAgain = Wherigo.ZTimer(cartGeocacheotopia)
ztimerTransformingAgain.Id="31b6e541-4178-4729-9644-1d3c75882d12"
ztimerTransformingAgain.Name="TransformingAgain"
ztimerTransformingAgain.Description=[[]]
ztimerTransformingAgain.Visible=true
ztimerTransformingAgain.Duration=1
ztimerTransformingAgain.Type="Countdown"

-- Inputs --
zinputTheGeocoins = Wherigo.ZInput(cartGeocacheotopia)
zinputTheGeocoins.Id="c2a4b150-db78-4d33-83e4-ab07c71fdc88"
zinputTheGeocoins.Name="The Geocoins"
zinputTheGeocoins.Description=[[]]
zinputTheGeocoins.Visible=true
zinputTheGeocoins.Choices = {"Next Geocoin", "Move Along"}
zinputTheGeocoins.InputType="MultipleChoice"
zinputTheGeocoins.InputVariableId="00000000-0000-0000-0000-000000000000"
zinputTheGeocoins.Text=[[The Geocoins]]
zinputTheGeocoins.Media=zmediaCIRCLE01a

zinputConcentrateonVisions = Wherigo.ZInput(cartGeocacheotopia)
zinputConcentrateonVisions.Id="c2a4b150-db78-4d33-83e4-ab07c71fdc89"
zinputConcentrateonVisions.Name="Concentrate on Visions"
zinputConcentrateonVisions.Description=[[]]
zinputConcentrateonVisions.Visible=true
zinputConcentrateonVisions.Choices = {"Concentrate", "Look Away"}
zinputConcentrateonVisions.InputType="MultipleChoice"
zinputConcentrateonVisions.InputVariableId="00000000-0000-0000-0000-000000000000"
zinputConcentrateonVisions.Text=[[*
Geocacheotopia, a timeless place magically lost from humankind. FIND AND COLLECT THE NINE GEOCOINS AND BIND THEM ALL TOGETHER IN ONE HAND TO DISCOVER THE LOCATION OF GEOCACHEOTOPIA.]]
zinputConcentrateonVisions.Media=zmediaHoloPic1

zinputBookofCharacters = Wherigo.ZInput(cartGeocacheotopia)
zinputBookofCharacters.Id="cf04d545-96bc-4ac6-a2d3-13bde4592463"
zinputBookofCharacters.Name="Book of Characters"
zinputBookofCharacters.Description=[[Book of Characters in Geocacheotopia]]
zinputBookofCharacters.Visible=true
zinputBookofCharacters.Choices = {"Next page", "Close book"}
zinputBookofCharacters.InputType="MultipleChoice"
zinputBookofCharacters.InputVariableId="00000000-0000-0000-0000-000000000000"
zinputBookofCharacters.Text=[[Turtle]]
zinputBookofCharacters.Media=zmediaturtle

zinputHistoryBook = Wherigo.ZInput(cartGeocacheotopia)
zinputHistoryBook.Id="26f76173-8905-4ca7-b4c9-40a98dcb5703"
zinputHistoryBook.Name="History Book"
zinputHistoryBook.Description=[[The History of and Making of Geocacheotopia]]
zinputHistoryBook.Visible=true
zinputHistoryBook.Choices = {"Next page", "Close book"}
zinputHistoryBook.InputType="MultipleChoice"
zinputHistoryBook.InputVariableId="00000000-0000-0000-0000-000000000000"
zinputHistoryBook.Text=[[The History of and Making of Geocacheotopia]]

--
-- Events/Conditions/Actions --
--

-------------------------------------------------------------------------------
------Builder Generated functions, Do not Edit, this will be overwritten------
-------------------------------------------------------------------------------
------End Builder Generated functions, Do not Edit, this will be overwritten------
-------------------------------------------------------------------------------
------Builder Generated callbacks, Do not Edit, this will be overwritten------
-------------------------------------------------------------------------------
--#LASTCALLBACKKEY=0#--
------End Builder Generated callbacks, Do not Edit, this will be overwritten------
-- #Author Functions Go Here# --


-----------------------------
-- Author global variables --
-----------------------------

testmode = 0
--If testmode=0 then run normally, looking for reasons to block
--If testmode=1 then bypass Builder-check and do all steps

--HereByRestore = false                  --If restoring from a previous save, then Turtle says different things.
zcharacterTurtle.TalkedOnce = false      --Have we spoken to Turtle after the visions?
--VisionPageNumber = 1                   --It will get incremented to 2 after showing image, 
                                         --but the input-object has presets to show stuff for page one.
--AllVisionsViewed = false               --Have we seen all of the visions at least once?
--NumberOfCoinsFound = 0                 --FunctionCountCoins will do the counting so that the quantity is known through a save and restore.
CoinScatterRadius=Wherigo.Distance(150, "ft")
CoinScatterRadiusText=150

---------------------------------
-- End Author global variables --
---------------------------------


function cartGeocacheotopia:OnRestore()
    HereByRestore = true --If restoring from a previous save, then Turtle says different things.
end --OnRestore

--------------------------------
-- SKIP AHEAD TO OTHER STAGES --
--------------------------------
GoToStage = 1  --Set to 1 for normal play. Set to something else for troubleshooting.
function cartGeocacheotopia:OnStart() --This puts a pause before the GPS check, so receiver gets a chance to get going.
    if GoToStage == 1 then
        Wherigo.MessageBox{Text=[[I have been expecting you for a very long time now.]],Media=zmediatitlepic,Buttons={"Oh?",},Callback=cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB1}
    end --GoToStage1
    if (GoToStage>1) then  --Skip talking to Turtle. Visions are ready.

    ztaskFindGeocacheotopia.Active=true
    ztaskFindGeocacheotopia.Visible=true
        local HereIAm = Player.ObjectLocation
        --Shut off zone so we can move it.
        zoneTheGlowStone.Active = false
        --Move the zone to location of player.
        zoneTheGlowStone.OriginalPoint.latitude = HereIAm.latitude
        zoneTheGlowStone.OriginalPoint.longitude = HereIAm.longitude
        --Turn on zone so move is complete.
        zoneTheGlowStone.Active = true
        --Shut off zone so we can update ZonePoints.
        zoneTheGlowStone.Active = false
        --Create the perimeter of the zone.
        zoneTheGlowStone.Points = {
            Wherigo.TranslatePoint(zoneTheGlowStone.OriginalPoint, Wherigo.Distance(40, "ft"), 315),
            Wherigo.TranslatePoint(zoneTheGlowStone.OriginalPoint, Wherigo.Distance(40, "ft"), 45),
            Wherigo.TranslatePoint(zoneTheGlowStone.OriginalPoint, Wherigo.Distance(40, "ft"), 135),
            Wherigo.TranslatePoint(zoneTheGlowStone.OriginalPoint, Wherigo.Distance(40, "ft"), 225),
            }
        --Turn on zone so ZonePoints are updated.
        zoneTheGlowStone.Active = true
        --Make it so that the zone is not visible.
        zoneTheGlowStone.Visible = false
        --Move the VISIONS to the zone that is around the player.
        zitemDreamlikeVisions.ObjectLocation = zoneTheGlowStone.OriginalPoint
        zitemDreamlikeVisions:MoveTo(zoneTheGlowStone)

    end
    if (GoToStage>2) then  --Skip looking at visions. Talk to turtle again.
        ztaskLookattheVisions.Visible=false
        ztaskLookattheVisions.Active=false
        ztaskLookattheVisions.Complete=true
        ztaskGotalktoTurtle.Active = true
        ztaskGotalktoTurtle.Visible = true
        VisionPageNumber = 1
        zinputConcentrateonVisions.Media=zmediaHoloPic1
        zitemDreamlikeVisions.Visible = false
        zitemDreamlikeVisions.Commands["ConcentrateonVisions"].Enabled = false
        zcharacterTurtle.Visible=true
        zcharacterTurtle:MoveTo(zoneTheGlowStone)
        zitemDreamlikeVisions.Visible = true
        zitemDreamlikeVisions.Visible = false
    end
    if (GoToStage>3) then  --Turtle is patiently waiting.
        zcharacterTurtle.TalkedOnce = true
        zcharacterTurtle.Description=[[Turtle is patiently waiting.]]
        zcharacterTurtle.Visible=false --Make it false, then true, to force the view out of
        zcharacterTurtle.Visible=true  --the TalkToTurtle screen, but does not always work.
        zitemDreamlikeVisions.Commands["ConcentrateonVisions"].Enabled = true
        zitemDreamlikeVisions.Locked = false
    end
    if (GoToStage>4) then  --Scatter coins from players current location.
            ztaskGotalktoTurtle.Visible = false
            ztaskGotalktoTurtle.Active = false
            ztaskGotalktoTurtle.Complete = true
            zoneTheGlowStone.Active = false
            zcharacterTurtle.Visible=false
            ztaskCollectCoins.Visible = true
            ztaskCollectCoins.Active = true
            zitemDreamlikeVisions.Visible=false
            zitemDreamlikeVisions.Locked = true
            zitemHandfulOfGeocoins:MoveTo(Player)
            Localize()
    end
    if (GoToStage>5) then  --Find final coin.  All others already found. Prepare to talk to Cat.
        zitemHandfulOfGeocoins.Visible=true
    zoneGeocoin1.AllowSetPositionTo=false
    zoneGeocoin1.Visible=false
    zoneGeocoin1.Active=false
    zoneGeocoin2.AllowSetPositionTo=false
    zoneGeocoin2.Visible=false
    zoneGeocoin2.Active=false
    zoneGeocoin3.AllowSetPositionTo=false
    zoneGeocoin3.Visible=false
    zoneGeocoin3.Active=false
    zoneGeocoin4.AllowSetPositionTo=false
    zoneGeocoin4.Visible=false
    zoneGeocoin4.Active=false
    zoneGeocoin5.AllowSetPositionTo=false
    zoneGeocoin5.Visible=false
    zoneGeocoin5.Active=false
    zoneGeocoin6.AllowSetPositionTo=false
    zoneGeocoin6.Visible=false
    zoneGeocoin6.Active=false
    zoneGeocoin7.AllowSetPositionTo=false
    zoneGeocoin7.Visible=false
    zoneGeocoin7.Active=false
    zoneGeocoin8.AllowSetPositionTo=false
    zoneGeocoin8.Visible=false
    zoneGeocoin8.Active=false
    zoneGeocoin9.AllowSetPositionTo=false
    zoneGeocoin9.Visible=false
    zoneGeocoin9.Active=false
    UpdateHandfulOfCoins()

    end
    if (GoToStage>6) then  --Initiate first transformation.
    zoneTheGlowStone.Active = true
    zoneTheGlowStone.Visible = false
    ztaskGotalktoCat.Active=true
    ztaskGotalktoCat.Visible=true
    zcharacterCat:MoveTo(zoneTheGlowStone)
    zcharacterCat.Visible=true
    zcharacterCat.Commands["TalktoCat"].Enabled = true
    zitemHandfulOfGeocoins.Commands["ExamineCoins"].Enabled = false
    zitemHandfulOfGeocoins.Commands["TransformCoins"].Enabled = true
    zcharacterCat.Description=[[This is Cat.  He wants you to TRANSFORM the Nine Geocoins.]]
    ztaskGotalktoCat.Visible = false
    ztaskGotalktoCat.Active = false
    ztaskGotalktoCat.Complete = true
    ztaskTransformCoins.Visible=true
    ztaskTransformCoins.Active=true
    zcharacterCat.Commands["TalktoCat"].Enabled = false
    ztaskTransformCoins.Visible=false
    ztaskTransformCoins.Active=false
    ztaskTransformCoins.Complete=true
    Wherigo.MessageBox{Text=[[Coin is transforming.]],Media=zmediaCIRCLE01a,Buttons={"WAIT...JUST WATCH.",},}
    TransImage=zmediaCIRCLE01a
    --ztimerTransforming:Start()  -- THIS IS THE PART THAT FAILS WITHIN ANDROID WHEREYOUGO ...due to a timer with decimal time interval
    DoTheVideoTimer()
   end
end --OnStart

cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB1 = function(action)
    --Check for GPS signal.  If good, move on.
    --If not, Turtle will say that they need a better signal from the heavens above, so restart the cartridge.
    uv = Env.DeviceID
    wx = Player.ObjectLocation.altitude:GetValue(ft)
    yz = Player.PositionAccuracy:GetValue(ft)
    if ((Wherigo.NoCaseEquals(uv,"DeskTop")) or (wx < 3) or (yz <= 3) or (yz > 150)) and (testmode < 1) then
        --if Turtle does not allow Player to go on, then CB10
        Wherigo.MessageBox{Text=[[You are looking for GEOCACHEOTOPIA; I know this.]],Media=zmediaturtle,Buttons={"Wow! You're good.",},Callback=cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB10}
    else --else Turtle lets them pass
        Wherigo.MessageBox{Text=[[You are looking for GEOCACHEOTOPIA; I know this. I think you are finally ready.]],Media=zmediaturtle,Buttons={"Wow! You're good.",},Callback=cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB2}
    end --if
end --CB1

cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB10 = function(action)
    --Tell Player to restart and try again.
    Wherigo.MessageBox{Text=[[Unfortunately, your ability to communicate with the GPS heavens above is not quite adequate at the moment.  Go get a good signal and restart this Wherigo cartridge.  We will continue then.]],Media=zmediaturtle,Buttons={"I'll be back.",},Callback=cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB11}
end --CB10

cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB11 = function(action)
    --Create a joke TASK telling the Player to restart and try again.
    ztaskFIXYOURGPSSIGNAL.Active=true
    ztaskFIXYOURGPSSIGNAL.Visible=true
    Wherigo.MessageBox{Text=[[I'll be waiting for you, as always.]],Media=zmediaturtle,Buttons={"Good bye.",},}
end --CB11

cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB12 = function(action)
    Wherigo.MessageBox{Text=[[Final coordinates are at N37* 41.448' W97* 20.917'.]],Media=zmediaturtle,Buttons={"MOST AWESOME!",},}
end --CB12

----------------------------------------------------
-- Done with introductions.  Next is the Visions. --
----------------------------------------------------
--           Start of VISIONS section.            --
----------------------------------------------------

cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB2 = function(action)
    --Intro to visions.
    ztaskFindGeocacheotopia.Active=true
    ztaskFindGeocacheotopia.Visible=true
    ztaskLookattheVisions.Visible=true
    ztaskLookattheVisions.Active=true
    Wherigo.MessageBox{Text=[[You should be seeing some -visions- right about now.  They will explain a lot for you.]],Media=zmediaturtle,Buttons={"I can see them now.",},Callback=cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB3}
end --CB2

cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB3 = function(action)
    --Enable the Visions.  Uses -YOU SEE- rather than -INVENTORY- so creates a zone at player location.
    if action ~= nil then
        --Where is the player?
        local HereIAm = Player.ObjectLocation
        --Shut off zone so we can move it.
        zoneTheGlowStone.Active = false
        --Move the zone to location of player.
        zoneTheGlowStone.OriginalPoint.latitude = HereIAm.latitude
        zoneTheGlowStone.OriginalPoint.longitude = HereIAm.longitude
        --Turn on zone so move is complete.
        zoneTheGlowStone.Active = true
        --Shut off zone so we can update ZonePoints.
        zoneTheGlowStone.Active = false
        --Create the perimeter of the zone.
        zoneTheGlowStone.Points = {
            Wherigo.TranslatePoint(zoneTheGlowStone.OriginalPoint, Wherigo.Distance(40, "ft"), 315),
            Wherigo.TranslatePoint(zoneTheGlowStone.OriginalPoint, Wherigo.Distance(40, "ft"), 45),
            Wherigo.TranslatePoint(zoneTheGlowStone.OriginalPoint, Wherigo.Distance(40, "ft"), 135),
            Wherigo.TranslatePoint(zoneTheGlowStone.OriginalPoint, Wherigo.Distance(40, "ft"), 225),
            }
        --Turn on zone so ZonePoints are updated.
        zoneTheGlowStone.Active = true
        --Make it so that the zone is not visible.
        zoneTheGlowStone.Visible = false
        --Move the VISIONS to the zone that is around the player.
        zitemDreamlikeVisions.ObjectLocation = zoneTheGlowStone.OriginalPoint
        zitemDreamlikeVisions:MoveTo(zoneTheGlowStone)
    end --if
end --CB3

function zcharacterTurtle:OnTalkToHim()
    if (zcharacterTurtle.TalkedOnce ~= true) then
        zcharacterTurtle.TalkedOnce = true
        Wherigo.MessageBox{Text=[[So you have seen the visions; I know this.]],Media=zmediaturtle,Buttons={"How do you know?",},Callback=cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB51}
    else
        Wherigo.MessageBox{Text=[[When you are READY, you will be standing in the middle of an open field of your own choosing...]],Media=zmediaturtle,Buttons={"Continue...",},Callback=cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB53}
    end --if
end --function OnTalkToHim

cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB51 = function(action)
    Wherigo.MessageBox{Text=[[This is a good opportunity to go back and SAVE your progress.]],Media=zmediaturtle,Buttons={"Continue...",},Callback=cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB52}
end --CB51

cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB52 = function(action)
    Wherigo.MessageBox{Text=[[When you are READY, you will be standing in the middle of an open field of your own choosing...]],Media=zmediaturtle,Buttons={"Continue...",},Callback=cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB53}
end --CB52

cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB53 = function(action)
    Wherigo.MessageBox{Text=[[...with no major structures within ]] .. CoinScatterRadiusText .. [[ feet of you.]],Media=zmediaturtle,Buttons={[[]] .. CoinScatterRadiusText .. [[. Got it.]],},Callback=cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB5}
end --CB53

cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB5 = function(action)
    Wherigo.MessageBox{Text=[[Are you READY to begin looking around now? Or would you like to wait a bit, and perhaps see your visions again?]],Media=zmediaturtle,Buttons={"I am ready.","Not ready yet",},Callback=cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB4}
end --CB5

cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB4 = function(action)
    if action ~= nil then
        if action == "Button1" then
            --Player is READY to move on to GEOCOINS.
            ztaskGotalktoTurtle.Visible = false
            ztaskGotalktoTurtle.Active = false
            ztaskGotalktoTurtle.Complete = true
            zoneTheGlowStone.Active = false
            zcharacterTurtle.Visible=false
            ztaskCollectCoins.Visible = true
            ztaskCollectCoins.Active = true
            zitemDreamlikeVisions.Visible=false
            zitemDreamlikeVisions.Locked = true
            zitemHandfulOfGeocoins:MoveTo(Player)
            Wherigo.MessageBox{Text=[[My deed here is done.  It is finally Time for me to move on.  I have added a TASK. You should have a look around.  You will meet CAT soon; I know this.  Good bye.]],Media=zmediaturtle,Buttons={[[Later, Gator.]],},}
            Localize()
        else
            --Player is not yet READY to move on to GEOCOINS.
            zcharacterTurtle.Description=[[Turtle is patiently waiting.]]
            zcharacterTurtle.Visible=false --Make it false, then true, to force the view out of
            zcharacterTurtle.Visible=true  --the TalkToTurtle screen, but does not always work.
            zitemDreamlikeVisions.Commands["ConcentrateonVisions"].Enabled = true
            zitemDreamlikeVisions.Locked = false
            Wherigo.MessageBox{Text=[[I will be waiting.]],Media=zmediaturtle,Buttons={"OK",},}
        end
    end
end


----------------------------------------------------------------
-- The next two functions use an INPUT to manipulate an ITEM  --
-- as if it was a book that can be opened and closed at will. --
----------------------------------------------------------------

function zitemDreamlikeVisions:OnConcentrateonVisions()
    Wherigo.GetInput(zinputConcentrateonVisions)
end

function zinputConcentrateonVisions:OnGetInput(input)
    ztaskLookattheVisions.Visible=false
    ztaskLookattheVisions.Active=false
    ztaskLookattheVisions.Complete=true
    MaxVisionNumber = 21
    if (VisionPageNumber == MaxVisionNumber) and (AllVisionsViewed == true) and (zitemDreamlikeVisions.Locked == true) and (zcharacterTurtle.TalkedOnce == false) then
        ztaskGotalktoTurtle.Active = true
        ztaskGotalktoTurtle.Visible = true
        VisionPageNumber = 1
        zinputConcentrateonVisions.Media=zmediaHoloPic1
        zitemDreamlikeVisions.Visible = false
        zitemDreamlikeVisions.Commands["ConcentrateonVisions"].Enabled = false
        zcharacterTurtle.Visible=true
        zcharacterTurtle:MoveTo(zoneTheGlowStone)
        zitemDreamlikeVisions.Visible = true
        return
    end
    if Wherigo.NoCaseEquals(input,"Concentrate") then
        VisionPageNumber = VisionPageNumber + 1
        if VisionPageNumber == (MaxVisionNumber+1) then
            VisionPageNumber = 1
        end
        if VisionPageNumber == 1 then
            zinputConcentrateonVisions.Text=[[*
Geocacheotopia, a timeless place magically lost from humankind. FIND AND COLLECT THE NINE GEOCOINS AND BIND THEM ALL TOGETHER IN ONE HAND TO DISCOVER THE LOCATION OF GEOCACHEOTOPIA.]]
            zinputConcentrateonVisions.Media=zmediaHoloPic2
        elseif VisionPageNumber == 2 then
            zinputConcentrateonVisions.Text=[[**
Long ago there was a wise old man, chief of the Great Clan (or GC) from the ancient legendary place of Cantuland.]]
            zinputConcentrateonVisions.Media=zmediaHoloPic3
        elseif VisionPageNumber == 3 then
            zinputConcentrateonVisions.Text=[[***
The chief discovered a container that housed magnificent powers that he deemed too powerful for people of his day to possess.]]
            zinputConcentrateonVisions.Media=zmediaHoloPic4
        elseif VisionPageNumber == 4 then
            zinputConcentrateonVisions.Text=[[****
He took this Container of GeoPower and concealed it at a secret location called Geocacheotopia, a place whose location was known only by this chief of the Great Clan.]]
            zinputConcentrateonVisions.Media=zmediaHoloPic5
        elseif VisionPageNumber == 5 then
            zinputConcentrateonVisions.Text=[[*****
The time for people to find Geocacheotopia would come someday, he knew, but not for eons.]]
            zinputConcentrateonVisions.Media=zmediaHoloPic6
        elseif VisionPageNumber == 6 then
            zinputConcentrateonVisions.Text=[[******
He would leave an encrypted message as a time capsule that would remain undiscovered, hidden away from the eyes of anyone, until the proper day, ]]
            zinputConcentrateonVisions.Media=zmediaHoloPic7
        elseif VisionPageNumber == 7 then
            zinputConcentrateonVisions.Text=[[*******
until the arrival of THE ONE, a person so gifted with Geocacheotopianess (or geocaching) so as to have the innate ability to once again find Geocacheotopia and find the chief's Container of GeoPower.]]
            zinputConcentrateonVisions.Media=zmediaHoloPic1
        elseif VisionPageNumber == 8 then
            zinputConcentrateonVisions.Text=[[********
The GC Chief began his great undertaking. The precise location of Geocacheotopia was meticulously described and chiseled on ]]
            zinputConcentrateonVisions.Media=zmediaHoloPic2
        elseif VisionPageNumber == 9 then
            zinputConcentrateonVisions.Text=[[*********
a single flawless slab of magical glow-stone that was found at the bottom of a deep mineral mine in the legendary place called Cantuland.]]
            zinputConcentrateonVisions.Media=zmediaHoloPic3
        elseif VisionPageNumber == 10 then
            zinputConcentrateonVisions.Text=[[* * * * *
After scribing the location of Geocacheotopia on the stone, the stone was crushed into a fine powder that was used in the construction of nine magical objects, each one of the nine a different GEOCOIN. ]]
            zinputConcentrateonVisions.Media=zmediaHoloPic4
        elseif VisionPageNumber == 11 then
            zinputConcentrateonVisions.Text=[[* * * * *
The secret scribed message was then separated into nine parts, and the Nine Geocoins were scattered to the nine corners of the known universe. (At that time, the universe only had nine corners.)]]
            zinputConcentrateonVisions.Media=zmediaHoloPic5
        elseif VisionPageNumber == 12 then
            zinputConcentrateonVisions.Text=[[*********
Through the ages, epic heroes of ancient yore had taken on the quest of hunting down the great Nine Geocoins with hopes ]]
            zinputConcentrateonVisions.Media=zmediaHoloPic6
        elseif VisionPageNumber == 13 then
            zinputConcentrateonVisions.Text=[[********
of retrieving these magnificent artifacts and to return all of them to their place of origin, the legendary place of Cantuland.]]
            zinputConcentrateonVisions.Media=zmediaHoloPic7
        elseif VisionPageNumber == 14 then
            zinputConcentrateonVisions.Text=[[*******
One by one, they attempted to bind the nine parts back together, and obtain the long lost knowledge of the location of Geocacheotopia, ]]
            zinputConcentrateonVisions.Media=zmediaHoloPic1
        elseif VisionPageNumber == 15 then
            zinputConcentrateonVisions.Text=[[******
where the concealed Container of GeoPower would lay waiting through time for that hero who would succeed in the endeavor. Unfortunately, not a single one of them was able to complete such a fantastic feat.]]
            zinputConcentrateonVisions.Media=zmediaHoloPic2
        elseif VisionPageNumber == 16 then
            zinputConcentrateonVisions.Text=[[*****
However...enough of them had ALMOST finished the deed such that YOU may have a chance of continuing where they left off, a -shortcut- of sorts.]]
            zinputConcentrateonVisions.Media=zmediaHoloPic3
        elseif VisionPageNumber == 17 then
            zinputConcentrateonVisions.Text=[[****
Your task, if you choose to take up the remaining part of the quest, is to rediscover the legendary place called Cantuland. ]]
            zinputConcentrateonVisions.Media=zmediaHoloPic4
        elseif VisionPageNumber == 18 then
            zinputConcentrateonVisions.Text=[[***
Meditate, and call for the spirits to grant you guidance as you scour the land in search of a place that still remains open and secluded after all these many years.]]
            zinputConcentrateonVisions.Media=zmediaHoloPic5
        elseif VisionPageNumber == 19 then
            zinputConcentrateonVisions.Text=[[**
You are to search for this large empty field of your choosing and go make your stand in the middle of that field. ]]
            zinputConcentrateonVisions.Media=zmediaHoloPic6
        elseif VisionPageNumber == 20 then
            zinputConcentrateonVisions.Text=[[*
If you choose correctly, you may find that all of the Nine Geocoins had been brought to your field at separate times in history, but are still scattered throughout the field.]]
            zinputConcentrateonVisions.Media=zmediaHoloPic7
        elseif VisionPageNumber == 21 then
            zitemDreamlikeVisions.Locked = true
            AllVisionsViewed = true
            ztaskFindGeocacheotopia.Description=[[Find Geocacheotopia by completing this game.]]
            zinputConcentrateonVisions.Text=[[FIND AND COLLECT THE NINE GEOCOINS AND BIND THEM ALL TOGETHER IN ONE HAND TO DISCOVER THE LOCATION OF GEOCACHEOTOPIA.]]
            zinputConcentrateonVisions.Media=zmediaHoloPic1
        end
        Wherigo.GetInput(zinputConcentrateonVisions)
    end --if Wherigo.NoCaseEquals
end --function zinputConcentrateonVisions:OnGetInput

--------------------------------
-- End of ITEM and INPUT book --
--------------------------------

------------------------------------------------
--          End of VISIONS section            --
------------------------------------------------
-- Start of FINDING THE NINE GEOCOINS section --
------------------------------------------------


-------------------------------------------------
-- Start of LOCALIZE function                  --
-- Establish 9 zones circled around the Player --
-------------------------------------------------

function Localize()
    --local radius = Wherigo.Distance(150, "ft")
    local radius = CoinScatterRadius
    local zpdistance = Wherigo.Distance(25, "ft")

    --Where are you?
    local HereIAm = Player.ObjectLocation

    zoneTheGlowStone.Active = false
    --Move the TheGlowStone to location of player.
    zoneTheGlowStone.OriginalPoint.latitude = HereIAm.latitude
    zoneTheGlowStone.OriginalPoint.longitude = HereIAm.longitude
    --Turn on TheGlowStone so move is complete.
    zoneTheGlowStone.Active = true
    --Shut off TheGlowStone so we can update ZonePoints.
    zoneTheGlowStone.Active = false
    --Create the perimeter of the TheGlowStone.
    zoneTheGlowStone.Points = {
        Wherigo.TranslatePoint(zoneTheGlowStone.OriginalPoint, Wherigo.Distance(40, "ft"), 315),
        Wherigo.TranslatePoint(zoneTheGlowStone.OriginalPoint, Wherigo.Distance(40, "ft"), 45),
        Wherigo.TranslatePoint(zoneTheGlowStone.OriginalPoint, Wherigo.Distance(40, "ft"), 135),
        Wherigo.TranslatePoint(zoneTheGlowStone.OriginalPoint, Wherigo.Distance(40, "ft"), 225),
        }
    --Turn on TheGlowStone so ZonePoints are updated.
    zoneTheGlowStone.Active = true
    --Make it so that the TheGlowStone is not visible.
    zoneTheGlowStone.Visible = false

    zoneGeocoin1.AllowSetPositionTo = false
    zoneGeocoin2.AllowSetPositionTo = false
    zoneGeocoin3.AllowSetPositionTo = false
    zoneGeocoin4.AllowSetPositionTo = false
    zoneGeocoin5.AllowSetPositionTo = false
    zoneGeocoin6.AllowSetPositionTo = false
    zoneGeocoin7.AllowSetPositionTo = false
    zoneGeocoin8.AllowSetPositionTo = false
    zoneGeocoin9.AllowSetPositionTo = false
    zoneGeocoin1.Active=false
    zoneGeocoin2.Active=false
    zoneGeocoin3.Active=false
    zoneGeocoin4.Active=false
    zoneGeocoin5.Active=false
    zoneGeocoin6.Active=false
    zoneGeocoin7.Active=false
    zoneGeocoin8.Active=false
    zoneGeocoin9.Active=false
    zoneGeocoin1.OriginalPoint.latitude = HereIAm.latitude
    zoneGeocoin2.OriginalPoint.latitude = HereIAm.latitude
    zoneGeocoin3.OriginalPoint.latitude = HereIAm.latitude
    zoneGeocoin4.OriginalPoint.latitude = HereIAm.latitude
    zoneGeocoin5.OriginalPoint.latitude = HereIAm.latitude
    zoneGeocoin6.OriginalPoint.latitude = HereIAm.latitude
    zoneGeocoin7.OriginalPoint.latitude = HereIAm.latitude
    zoneGeocoin8.OriginalPoint.latitude = HereIAm.latitude
    zoneGeocoin9.OriginalPoint.latitude = HereIAm.latitude
    zoneGeocoin1.OriginalPoint.longitude = HereIAm.longitude
    zoneGeocoin2.OriginalPoint.longitude = HereIAm.longitude
    zoneGeocoin3.OriginalPoint.longitude = HereIAm.longitude
    zoneGeocoin4.OriginalPoint.longitude = HereIAm.longitude
    zoneGeocoin5.OriginalPoint.longitude = HereIAm.longitude
    zoneGeocoin6.OriginalPoint.longitude = HereIAm.longitude
    zoneGeocoin7.OriginalPoint.longitude = HereIAm.longitude
    zoneGeocoin8.OriginalPoint.longitude = HereIAm.longitude
    zoneGeocoin9.OriginalPoint.longitude = HereIAm.longitude
    zoneGeocoin1.Active=true
    zoneGeocoin1.Active=false
    zoneGeocoin2.Active=true
    zoneGeocoin2.Active=false
    zoneGeocoin3.Active=true
    zoneGeocoin3.Active=false
    zoneGeocoin4.Active=true
    zoneGeocoin4.Active=false
    zoneGeocoin5.Active=true
    zoneGeocoin5.Active=false
    zoneGeocoin6.Active=true
    zoneGeocoin6.Active=false
    zoneGeocoin7.Active=true
    zoneGeocoin7.Active=false
    zoneGeocoin8.Active=true
    zoneGeocoin8.Active=false
    zoneGeocoin9.Active=true
    zoneGeocoin9.Active=false
    zoneGeocoin1.OriginalPoint = Wherigo.TranslatePoint(zoneGeocoin1.OriginalPoint,radius,0)
    zoneGeocoin2.OriginalPoint = Wherigo.TranslatePoint(zoneGeocoin2.OriginalPoint,radius,40)
    zoneGeocoin3.OriginalPoint = Wherigo.TranslatePoint(zoneGeocoin3.OriginalPoint,radius,80)
    zoneGeocoin4.OriginalPoint = Wherigo.TranslatePoint(zoneGeocoin4.OriginalPoint,radius,120)
    zoneGeocoin5.OriginalPoint = Wherigo.TranslatePoint(zoneGeocoin5.OriginalPoint,radius,160)
    zoneGeocoin6.OriginalPoint = Wherigo.TranslatePoint(zoneGeocoin6.OriginalPoint,radius,200)
    zoneGeocoin7.OriginalPoint = Wherigo.TranslatePoint(zoneGeocoin7.OriginalPoint,radius,240)
    zoneGeocoin8.OriginalPoint = Wherigo.TranslatePoint(zoneGeocoin8.OriginalPoint,radius,280)
    zoneGeocoin9.OriginalPoint = Wherigo.TranslatePoint(zoneGeocoin9.OriginalPoint,radius,320)
    zoneGeocoin1.Active=true
    zoneGeocoin1.Active=false
    zoneGeocoin2.Active=true
    zoneGeocoin2.Active=false
    zoneGeocoin3.Active=true
    zoneGeocoin3.Active=false
    zoneGeocoin4.Active=true
    zoneGeocoin4.Active=false
    zoneGeocoin5.Active=true
    zoneGeocoin5.Active=false
    zoneGeocoin6.Active=true
    zoneGeocoin6.Active=false
    zoneGeocoin7.Active=true
    zoneGeocoin7.Active=false
    zoneGeocoin8.Active=true
    zoneGeocoin8.Active=false
    zoneGeocoin9.Active=true
    zoneGeocoin9.Active=false
    zoneGeocoin1.Points = {
        Wherigo.TranslatePoint(zoneGeocoin1.OriginalPoint, zpdistance, 315),
        Wherigo.TranslatePoint(zoneGeocoin1.OriginalPoint, zpdistance, 45),
        Wherigo.TranslatePoint(zoneGeocoin1.OriginalPoint, zpdistance, 135),
        Wherigo.TranslatePoint(zoneGeocoin1.OriginalPoint, zpdistance, 225),
        }
    zoneGeocoin2.Points = {
        Wherigo.TranslatePoint(zoneGeocoin2.OriginalPoint, zpdistance, 315),
        Wherigo.TranslatePoint(zoneGeocoin2.OriginalPoint, zpdistance, 45),
        Wherigo.TranslatePoint(zoneGeocoin2.OriginalPoint, zpdistance, 135),
        Wherigo.TranslatePoint(zoneGeocoin2.OriginalPoint, zpdistance, 225),
        }
    zoneGeocoin3.Points = {
        Wherigo.TranslatePoint(zoneGeocoin3.OriginalPoint, zpdistance, 315),
        Wherigo.TranslatePoint(zoneGeocoin3.OriginalPoint, zpdistance, 45),
        Wherigo.TranslatePoint(zoneGeocoin3.OriginalPoint, zpdistance, 135),
        Wherigo.TranslatePoint(zoneGeocoin3.OriginalPoint, zpdistance, 225),
        }
    zoneGeocoin4.Points = {
        Wherigo.TranslatePoint(zoneGeocoin4.OriginalPoint, zpdistance, 315),
        Wherigo.TranslatePoint(zoneGeocoin4.OriginalPoint, zpdistance, 45),
        Wherigo.TranslatePoint(zoneGeocoin4.OriginalPoint, zpdistance, 135),
        Wherigo.TranslatePoint(zoneGeocoin4.OriginalPoint, zpdistance, 225),
        }
    zoneGeocoin5.Points = {
        Wherigo.TranslatePoint(zoneGeocoin5.OriginalPoint, zpdistance, 315),
        Wherigo.TranslatePoint(zoneGeocoin5.OriginalPoint, zpdistance, 45),
        Wherigo.TranslatePoint(zoneGeocoin5.OriginalPoint, zpdistance, 135),
        Wherigo.TranslatePoint(zoneGeocoin5.OriginalPoint, zpdistance, 225),
        }
    zoneGeocoin6.Points = {
        Wherigo.TranslatePoint(zoneGeocoin6.OriginalPoint, zpdistance, 315),
        Wherigo.TranslatePoint(zoneGeocoin6.OriginalPoint, zpdistance, 45),
        Wherigo.TranslatePoint(zoneGeocoin6.OriginalPoint, zpdistance, 135),
        Wherigo.TranslatePoint(zoneGeocoin6.OriginalPoint, zpdistance, 225),
        }
    zoneGeocoin7.Points = {
        Wherigo.TranslatePoint(zoneGeocoin7.OriginalPoint, zpdistance, 315),
        Wherigo.TranslatePoint(zoneGeocoin7.OriginalPoint, zpdistance, 45),
        Wherigo.TranslatePoint(zoneGeocoin7.OriginalPoint, zpdistance, 135),
        Wherigo.TranslatePoint(zoneGeocoin7.OriginalPoint, zpdistance, 225),
        }
    zoneGeocoin8.Points = {
        Wherigo.TranslatePoint(zoneGeocoin8.OriginalPoint, zpdistance, 315),
        Wherigo.TranslatePoint(zoneGeocoin8.OriginalPoint, zpdistance, 45),
        Wherigo.TranslatePoint(zoneGeocoin8.OriginalPoint, zpdistance, 135),
        Wherigo.TranslatePoint(zoneGeocoin8.OriginalPoint, zpdistance, 225),
        }
    zoneGeocoin9.Points = {
        Wherigo.TranslatePoint(zoneGeocoin9.OriginalPoint, zpdistance, 315),
        Wherigo.TranslatePoint(zoneGeocoin9.OriginalPoint, zpdistance, 45),
        Wherigo.TranslatePoint(zoneGeocoin9.OriginalPoint, zpdistance, 135),
        Wherigo.TranslatePoint(zoneGeocoin9.OriginalPoint, zpdistance, 225),
        }
    zoneGeocoin1.Name="Lost Gold Coin"
    zoneGeocoin2.Name="Lost Gold Coin"
    zoneGeocoin3.Name="Lost Gold Coin"
    zoneGeocoin4.Name="Lost Gold Coin"
    zoneGeocoin5.Name="Lost Gold Coin"
    zoneGeocoin6.Name="Lost Gold Coin"
    zoneGeocoin7.Name="Lost Gold Coin"
    zoneGeocoin8.Name="Lost Gold Coin"
    zoneGeocoin9.Name="Lost Gold Coin"
    zoneGeocoin1.Media=zmediaGeocoinImage
    zoneGeocoin2.Media=zmediaGeocoinImage
    zoneGeocoin3.Media=zmediaGeocoinImage
    zoneGeocoin4.Media=zmediaGeocoinImage
    zoneGeocoin5.Media=zmediaGeocoinImage
    zoneGeocoin6.Media=zmediaGeocoinImage
    zoneGeocoin7.Media=zmediaGeocoinImage
    zoneGeocoin8.Media=zmediaGeocoinImage
    zoneGeocoin9.Media=zmediaGeocoinImage
    zoneGeocoin1.Active=true
    zoneGeocoin1.Visible=true
    zoneGeocoin2.Active=true
    zoneGeocoin2.Visible=true
    zoneGeocoin3.Active=true
    zoneGeocoin3.Visible=true
    zoneGeocoin4.Active=true
    zoneGeocoin4.Visible=true
    zoneGeocoin5.Active=true
    zoneGeocoin5.Visible=true
    zoneGeocoin6.Active=true
    zoneGeocoin6.Visible=true
    zoneGeocoin7.Active=true
    zoneGeocoin7.Visible=true
    zoneGeocoin8.Active=true
    zoneGeocoin8.Visible=true
    zoneGeocoin9.Active=true
    zoneGeocoin9.Visible=true
    -- Turn on the CheckObject so that the OnProximity functions are now allowed to work.
    zoneGeocoin1.AllowSetPositionTo = true
    zoneGeocoin2.AllowSetPositionTo = true
    zoneGeocoin3.AllowSetPositionTo = true
    zoneGeocoin4.AllowSetPositionTo = true
    zoneGeocoin5.AllowSetPositionTo = true
    zoneGeocoin6.AllowSetPositionTo = true
    zoneGeocoin7.AllowSetPositionTo = true
    zoneGeocoin8.AllowSetPositionTo = true
    zoneGeocoin9.AllowSetPositionTo = true

end --function Localize

------------------------------
-- End of LOCALIZE function --
------------------------------


------------------------------------
-- Start of OnProximity functions --
------------------------------------

function zoneGeocoin1:OnProximity()
    zoneGeocoin1.AllowSetPositionTo=false
    zoneGeocoin1.Visible=false
    zoneGeocoin1.Active=false
    UpdateHandfulOfCoins()
end

function zoneGeocoin2:OnProximity()
    zoneGeocoin2.AllowSetPositionTo=false
    zoneGeocoin2.Visible=false
    zoneGeocoin2.Active=false
    UpdateHandfulOfCoins()
end

function zoneGeocoin3:OnProximity()
    zoneGeocoin3.AllowSetPositionTo=false
    zoneGeocoin3.Visible=false
    zoneGeocoin3.Active=false
    UpdateHandfulOfCoins()
end

function zoneGeocoin4:OnProximity()
    zoneGeocoin4.AllowSetPositionTo=false
    zoneGeocoin4.Visible=false
    zoneGeocoin4.Active=false
    UpdateHandfulOfCoins()
end

function zoneGeocoin5:OnProximity()
    zoneGeocoin5.AllowSetPositionTo=false
    zoneGeocoin5.Visible=false
    zoneGeocoin5.Active=false
    UpdateHandfulOfCoins()
end

function zoneGeocoin6:OnProximity()
    zoneGeocoin6.AllowSetPositionTo=false
    zoneGeocoin6.Visible=false
    zoneGeocoin6.Active=false
    UpdateHandfulOfCoins()
end

function zoneGeocoin7:OnProximity()
    zoneGeocoin7.AllowSetPositionTo=false
    zoneGeocoin7.Visible=false
    zoneGeocoin7.Active=false
    UpdateHandfulOfCoins()
end

function zoneGeocoin8:OnProximity()
    zoneGeocoin8.AllowSetPositionTo=false
    zoneGeocoin8.Visible=false
    zoneGeocoin8.Active=false
    UpdateHandfulOfCoins()
end

function zoneGeocoin9:OnProximity()
    zoneGeocoin9.AllowSetPositionTo=false
    zoneGeocoin9.Visible=false
    zoneGeocoin9.Active=false
    UpdateHandfulOfCoins()
end

----------------------------------
-- End of OnProximity functions --
----------------------------------


function UpdateHandfulOfCoins()
    CountCoins()
    MaxCoinNumber = NumberOfCoinsFound
    if NumberOfCoinsFound == 1 then
        zitemHandfulOfGeocoins.Visible=true
        Wherigo.MessageBox{Text=[[Congratulations! You found your first Lost Gold Geocoin.]],Media=zmediaCIRCLE01a,Buttons={"AWESOME!",},Callback=cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB30}
    elseif NumberOfCoinsFound == 2 then
        Wherigo.MessageBox{Text=[[You found a second Lost Gold Geocoin.]],Media=zmediaCIRCLE02a,Buttons={"AWESOME!",},}
    elseif NumberOfCoinsFound == 3 then
        Wherigo.MessageBox{Text=[[You found another Lost Gold Geocoin.]],Media=zmediaCIRCLE03a,Buttons={"AWESOME!",},}
    elseif NumberOfCoinsFound == 4 then
        Wherigo.MessageBox{Text=[[You found another Lost Gold Geocoin. You're doing fine.]],Media=zmediaCIRCLE04a,Buttons={"AWESOME!",},}
    elseif NumberOfCoinsFound == 5 then
        Wherigo.MessageBox{Text=[[You found over half of the Lost Gold Geocoins.]],Media=zmediaCIRCLE05a,Buttons={"YES!",},}
    elseif NumberOfCoinsFound == 6 then
        Wherigo.MessageBox{Text=[[You found another Lost Gold Geocoin.]],Media=zmediaCIRCLE06a,Buttons={"COOL!",},}
    elseif NumberOfCoinsFound == 7 then
        Wherigo.MessageBox{Text=[[You found another Lost Gold Geocoin. Two left!]],Media=zmediaCIRCLE07a,Buttons={"SUPER!",},}
    elseif NumberOfCoinsFound == 8 then
        Wherigo.MessageBox{Text=[[You found another Lost Gold Geocoin. Only one left!]],Media=zmediaCIRCLE08a,Buttons={"AMAZING!",},}
    elseif NumberOfCoinsFound == 9 then
        ztaskCollectCoins.Visible = false
        ztaskCollectCoins.Active = false
        ztaskCollectCoins.Complete = true
        Wherigo.MessageBox{Text=[[Congratulations! You found all of the Nine Geocoins!]],Media=zmediaCIRCLE09a,Buttons={"SPECTACULAR!",},Callback=cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB31} --CB31 is in the next section.
    else
        Wherigo.MessageBox{Text=[[FIX THIS.]],Media=zmediaCIRCLE01d,Buttons={"NOT AWESOME",},}
    end
end

cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB30 = function(action)
    Wherigo.MessageBox{Text=[[This coin and the others that you find are inventoried in your hand.  Find another one.]],Buttons={"AWESOME!",},}
end --CB30

function CountCoins()
    --On a save-and-restore, I have a problem keeping the 
    --coin count in memory, so this is my workaround.
    --If coin is findable
    --then AllowSetPositionTo is true
    --else coin has been found and AllowSetPositionTo is false
    --so count the number of FALSEs to see how many have been found.
    NumberOfCoinsFound=0
    if zoneGeocoin1.AllowSetPositionTo==false then
        NumberOfCoinsFound = NumberOfCoinsFound+1
    end
    if zoneGeocoin2.AllowSetPositionTo==false then
        NumberOfCoinsFound = NumberOfCoinsFound+1
    end
    if zoneGeocoin3.AllowSetPositionTo==false then
        NumberOfCoinsFound = NumberOfCoinsFound+1
    end
    if zoneGeocoin4.AllowSetPositionTo==false then
        NumberOfCoinsFound = NumberOfCoinsFound+1
    end
    if zoneGeocoin5.AllowSetPositionTo==false then
        NumberOfCoinsFound = NumberOfCoinsFound+1
    end
    if zoneGeocoin6.AllowSetPositionTo==false then
        NumberOfCoinsFound = NumberOfCoinsFound+1
    end
    if zoneGeocoin7.AllowSetPositionTo==false then
        NumberOfCoinsFound = NumberOfCoinsFound+1
    end
    if zoneGeocoin8.AllowSetPositionTo==false then
        NumberOfCoinsFound = NumberOfCoinsFound+1
    end
    if zoneGeocoin9.AllowSetPositionTo==false then
        NumberOfCoinsFound = NumberOfCoinsFound+1
    end
    if NumberOfCoinsFound == 1 then
        zitemHandfulOfGeocoins.Name="1 Gold Coin"
    elseif NumberOfCoinsFound == 2 then
        zitemHandfulOfGeocoins.Name="2 Gold Coins"
    elseif NumberOfCoinsFound == 3 then
        zitemHandfulOfGeocoins.Name="3 Gold Coins"
    elseif NumberOfCoinsFound == 4 then
        zitemHandfulOfGeocoins.Name="4 Gold Coins"
    elseif NumberOfCoinsFound == 5 then
        zitemHandfulOfGeocoins.Name="5 Gold Coins"
    elseif NumberOfCoinsFound == 6 then
        zitemHandfulOfGeocoins.Name="6 Gold Coins"
    elseif NumberOfCoinsFound == 7 then
        zitemHandfulOfGeocoins.Name="7 Gold Coins"
    elseif NumberOfCoinsFound == 8 then
        zitemHandfulOfGeocoins.Name="8 Gold Coins"
    elseif NumberOfCoinsFound == 9 then
        zitemHandfulOfGeocoins.Name="9 Gold Coins"
    end
end


----------------------------------------------------------------
-- The next two functions use an INPUT to manipulate an ITEM  --
-- as if it was a book that can be opened and closed at will. --
----------------------------------------------------------------

function zitemHandfulOfGeocoins:OnExamineCoins()
    Wherigo.GetInput(zinputTheGeocoins)
end

--GeocoinShowNumber = 1
--TransMode = 1

function zinputTheGeocoins:OnGetInput(input)
    if Wherigo.NoCaseEquals(input,"Next Geocoin") then
        --MaxCoinNumber: See function UpdateHandfulOfCoins()
        GeocoinShowNumber = GeocoinShowNumber + 1
        if TransMode > 1 then MaxCoinNumber = 9 end
        if GeocoinShowNumber == (MaxCoinNumber+1) then GeocoinShowNumber = 1 end
        if GeocoinShowNumber == 1 and TransMode == 1 then zinputTheGeocoins.Media=zmediaCIRCLE01a end
        if GeocoinShowNumber == 1 and TransMode == 2 then 
            zinputTheGeocoins.Media=zmediaCIRCLE01g
            zinputTheGeocoins.Text="c"
        end
        if GeocoinShowNumber == 1 and TransMode == 3 then zinputTheGeocoins.Media=zmediaCIRCLE01j end
        if GeocoinShowNumber == 2 and TransMode == 1 then zinputTheGeocoins.Media=zmediaCIRCLE02a end
        if GeocoinShowNumber == 2 and TransMode == 2 then 
            zinputTheGeocoins.Media=zmediaCIRCLE02g
            zinputTheGeocoins.Text="ca"
        end
        if GeocoinShowNumber == 2 and TransMode == 3 then zinputTheGeocoins.Media=zmediaCIRCLE02j end
        if GeocoinShowNumber == 3 and TransMode == 1 then zinputTheGeocoins.Media=zmediaCIRCLE03a end
        if GeocoinShowNumber == 3 and TransMode == 2 then 
            zinputTheGeocoins.Media=zmediaCIRCLE03g
            zinputTheGeocoins.Text="can"
        end
        if GeocoinShowNumber == 3 and TransMode == 3 then zinputTheGeocoins.Media=zmediaCIRCLE03j end
        if GeocoinShowNumber == 4 and TransMode == 1 then zinputTheGeocoins.Media=zmediaCIRCLE04a end
        if GeocoinShowNumber == 4 and TransMode == 2 then 
            zinputTheGeocoins.Media=zmediaCIRCLE04g
            zinputTheGeocoins.Text="cant"
        end
        if GeocoinShowNumber == 4 and TransMode == 3 then zinputTheGeocoins.Media=zmediaCIRCLE04j end
        if GeocoinShowNumber == 5 and TransMode == 1 then zinputTheGeocoins.Media=zmediaCIRCLE05a end
        if GeocoinShowNumber == 5 and TransMode == 2 then 
            zinputTheGeocoins.Media=zmediaCIRCLE05g
            zinputTheGeocoins.Text="cantu"
        end
        if GeocoinShowNumber == 5 and TransMode == 3 then zinputTheGeocoins.Media=zmediaCIRCLE05j end
        if GeocoinShowNumber == 6 and TransMode == 1 then zinputTheGeocoins.Media=zmediaCIRCLE06a end
        if GeocoinShowNumber == 6 and TransMode == 2 then 
            zinputTheGeocoins.Media=zmediaCIRCLE06g
            zinputTheGeocoins.Text="cantul"
        end
        if GeocoinShowNumber == 6 and TransMode == 3 then zinputTheGeocoins.Media=zmediaCIRCLE06j end
        if GeocoinShowNumber == 7 and TransMode == 1 then zinputTheGeocoins.Media=zmediaCIRCLE07a end
        if GeocoinShowNumber == 7 and TransMode == 2 then 
            zinputTheGeocoins.Media=zmediaCIRCLE07g
            zinputTheGeocoins.Text="cantula"
        end
        if GeocoinShowNumber == 7 and TransMode == 3 then zinputTheGeocoins.Media=zmediaCIRCLE07j end
        if GeocoinShowNumber == 8 and TransMode == 1 then zinputTheGeocoins.Media=zmediaCIRCLE08a end
        if GeocoinShowNumber == 8 and TransMode == 2 then 
            zinputTheGeocoins.Media=zmediaCIRCLE08g
            zinputTheGeocoins.Text="cantulan"
        end
        if GeocoinShowNumber == 8 and TransMode == 3 then zinputTheGeocoins.Media=zmediaCIRCLE08j end
        if GeocoinShowNumber == 9 and TransMode == 1 then zinputTheGeocoins.Media=zmediaCIRCLE09a end
        if GeocoinShowNumber == 9 and TransMode == 2 then 
            zinputTheGeocoins.Media=zmediaCIRCLE09g
            zinputTheGeocoins.Text="cantuland"
        end
        if GeocoinShowNumber == 9 and TransMode == 3 then zinputTheGeocoins.Media=zmediaCIRCLE09j end
        Wherigo.GetInput(zinputTheGeocoins)
    end --if Wherigo.NoCaseEquals
end --function zinputTheGeocoins:OnGetInput

--------------------------------
-- End of ITEM and INPUT book --
--------------------------------

----------------------------------------------
-- End of FINDING THE NINE GEOCOINS section --
----------------------------------------------
--  Start of FIRST TRANSFORMATION section   --
----------------------------------------------

cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB31 = function(action)
    Wherigo.MessageBox{Text=[[Good day to you...]],Media=zmediaCatFace,Buttons={[[Hello...I guess.]],},Callback=cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB32}
end --CB31

cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB32 = function(action)
    Wherigo.MessageBox{Text=[[You called me...by your act of finding ALL of the gold coins...Turtle said you were coming...]],Media=zmediaCatFace,Buttons={"Oh?",},Callback=cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB33}
end --CB32

cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB33 = function(action)
    Wherigo.MessageBox{Text=[[I have been waiting for this moment...for what would be like centuries to you...but merily like yesterday to me.]],Media=zmediaCatFace,Buttons={"Wow!",},Callback=cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB34}
end --CB33

cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB34 = function(action)
    Wherigo.MessageBox{Text=[[I will give you...a moment to peruse through the set of gold coins, and...to SAVE your progress, if you would like...]],Media=zmediaCatFace,Buttons={"Thanks.",},Callback=cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB35}
end --CB34

cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB35 = function(action)
    zoneTheGlowStone.Active = true
    zoneTheGlowStone.Visible = false
    ztaskGotalktoCat.Active=true
    ztaskGotalktoCat.Visible=true
    zcharacterCat:MoveTo(zoneTheGlowStone)
    zcharacterCat.Visible=true
    zcharacterCat.Commands["TalktoCat"].Enabled = true
    Wherigo.MessageBox{Text=[[...Then...when you are ready...return to me...and together...we will TRANSFORM the coins...into something wonderful.]],Media=zmediaCatFace,Buttons={"OK.",},}
end --CB35

function zcharacterCat:OnTalktoCat()
    Wherigo.MessageBox{Text=[[You have collected...all of the lost Nine Geocoins...and brought them all together.]],Media=zmediaCatFace,Buttons={"I sure did.",},Callback=cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB41}
end --function OnTalktoCat

cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB41 = function(action)
    Wherigo.MessageBox{Text=[[You...are about to release...the information stored within those gold coins.]],Media=zmediaCatFace,Buttons={"Okay.",},Callback=cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB42}
end --CB41

cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB42 = function(action)
    zitemHandfulOfGeocoins.Commands["ExamineCoins"].Enabled = false
    zitemHandfulOfGeocoins.Commands["TransformCoins"].Enabled = true
    zcharacterCat.Description=[[This is Cat.  He wants you to TRANSFORM the Nine Geocoins.]]
    ztaskGotalktoCat.Visible = false
    ztaskGotalktoCat.Active = false
    ztaskGotalktoCat.Complete = true
    ztaskTransformCoins.Visible=true
    ztaskTransformCoins.Active=true
    zcharacterCat.Commands["TalktoCat"].Enabled = false
    Wherigo.MessageBox{Text=[[Look...at the nine gold coins in your hand...You now have the opportunity...to TRANSFORM them...That is your next TASK.]],Media=zmediaCatFace,Buttons={"Cool!",},}
end --CB42

function zitemHandfulOfGeocoins:OnTransformCoins()
    --Do the makeshift video transformation from gold coins to color coins.
    ztaskTransformCoins.Visible=false
    ztaskTransformCoins.Active=false
    ztaskTransformCoins.Complete=true
    Wherigo.MessageBox{Text=[[Coin is transforming.]],Media=zmediaCIRCLE01a,Buttons={"WAIT...JUST WATCH.",},}
    --ztimerTransforming:Start()
    DoTheVideoTimer()
end

TransImage=zmediaCIRCLE01a
--TransCount=1

--function ztimerTransforming:OnStart()
function DoTheVideoTimer()
    TransCount=TransCount+1
    if TransCount == 1 then 
        TransImage = zmediaCIRCLE01a 
        --ztimerTransforming.Duration=2 
    end
    if TransCount == 2 then 
        TransImage = zmediaCIRCLE01b 
        --ztimerTransforming.Duration=0.2 
        end
    if TransCount == 3 then 
        TransImage = zmediaCIRCLE01c 
        end
    if TransCount == 4 then 
        TransImage = zmediaCIRCLE01d 
        end
    if TransCount == 5 then 
        TransImage = zmediaCIRCLE01e 
        end
    if TransCount == 6 then 
        TransImage = zmediaCIRCLE01f 
        end
    if TransCount == 7 then 
        TransImage = zmediaCIRCLE01g 
        end
    if TransCount == 8 then 
        TransImage = zmediaCIRCLE02a 
        --ztimerTransforming.Duration=2 
        end
    if TransCount == 9 then 
        TransImage = zmediaCIRCLE02b 
        --ztimerTransforming.Duration=1 
        end
    if TransCount == 10 then 
        TransImage = zmediaCIRCLE02c 
        --ztimerTransforming.Duration=0.2 
        end
    if TransCount == 11 then 
        TransImage = zmediaCIRCLE02d 
        end
    if TransCount == 12 then 
        TransImage = zmediaCIRCLE02e 
        end
    if TransCount == 13 then 
        TransImage = zmediaCIRCLE02f 
        end
    if TransCount == 14 then 
        TransImage = zmediaCIRCLE02g 
        end
    if TransCount == 15 then 
        TransImage = zmediaCIRCLE03a 
        --ztimerTransforming.Duration=2 
        end
    if TransCount == 16 then 
        TransImage = zmediaCIRCLE03b 
        --ztimerTransforming.Duration=1 
        end
    if TransCount == 17 then 
        TransImage = zmediaCIRCLE03c 
        --ztimerTransforming.Duration=0.2 
        end
    if TransCount == 18 then 
        TransImage = zmediaCIRCLE03d 
        end
    if TransCount == 19 then 
        TransImage = zmediaCIRCLE03e 
        end
    if TransCount == 20 then 
        TransImage = zmediaCIRCLE03f 
        end
    if TransCount == 21 then 
        TransImage = zmediaCIRCLE03g 
        end
    if TransCount == 22 then 
        TransImage = zmediaCIRCLE04a 
        --ztimerTransforming.Duration=2 
        end
    if TransCount == 23 then 
        TransImage = zmediaCIRCLE04b 
        --ztimerTransforming.Duration=1 
        end
    if TransCount == 24 then 
        TransImage = zmediaCIRCLE04c 
        --ztimerTransforming.Duration=0.2 
        end
    if TransCount == 25 then 
        TransImage = zmediaCIRCLE04d 
        end
    if TransCount == 26 then 
        TransImage = zmediaCIRCLE04e 
        end
    if TransCount == 27 then 
        TransImage = zmediaCIRCLE04f 
        end
    if TransCount == 28 then 
        TransImage = zmediaCIRCLE04g 
        end
    if TransCount == 29 then 
        TransImage = zmediaCIRCLE05a 
        --ztimerTransforming.Duration=2 
        end
    if TransCount == 30 then 
        TransImage = zmediaCIRCLE05b 
        --ztimerTransforming.Duration=1 
        end
    if TransCount == 31 then 
        TransImage = zmediaCIRCLE05c 
        --ztimerTransforming.Duration=0.2 
        end
    if TransCount == 32 then 
        TransImage = zmediaCIRCLE05d 
        end
    if TransCount == 33 then 
        TransImage = zmediaCIRCLE05e 
        end
    if TransCount == 34 then 
        TransImage = zmediaCIRCLE05f 
        end
    if TransCount == 35 then 
        TransImage = zmediaCIRCLE05g 
        end
    if TransCount == 36 then 
        TransImage = zmediaCIRCLE06a 
        --ztimerTransforming.Duration=2 
        end
    if TransCount == 37 then 
        TransImage = zmediaCIRCLE06b 
        --ztimerTransforming.Duration=1 
        end
    if TransCount == 38 then 
        TransImage = zmediaCIRCLE06c 
        --ztimerTransforming.Duration=0.2 
        end
    if TransCount == 39 then 
        TransImage = zmediaCIRCLE06d 
        end
    if TransCount == 40 then 
        TransImage = zmediaCIRCLE06e 
        end
    if TransCount == 41 then 
        TransImage = zmediaCIRCLE06f 
        end
    if TransCount == 42 then 
        TransImage = zmediaCIRCLE06g 
        end
    if TransCount == 43 then 
        TransImage = zmediaCIRCLE07a 
        --ztimerTransforming.Duration=2 
        end
    if TransCount == 44 then 
        TransImage = zmediaCIRCLE07b 
        --ztimerTransforming.Duration=1 
        end
    if TransCount == 45 then 
        TransImage = zmediaCIRCLE07c 
        --ztimerTransforming.Duration=0.2 
        end
    if TransCount == 46 then 
        TransImage = zmediaCIRCLE07d 
        end
    if TransCount == 47 then 
        TransImage = zmediaCIRCLE07e 
        end
    if TransCount == 48 then 
        TransImage = zmediaCIRCLE07f 
        end
    if TransCount == 49 then 
        TransImage = zmediaCIRCLE07g 
        end
    if TransCount == 50 then 
        TransImage = zmediaCIRCLE08a 
        --ztimerTransforming.Duration=2 
        end
    if TransCount == 51 then 
        TransImage = zmediaCIRCLE08b 
        --ztimerTransforming.Duration=1 
        end
    if TransCount == 52 then 
        TransImage = zmediaCIRCLE08c 
        --ztimerTransforming.Duration=0.2 
        end
    if TransCount == 53 then 
        TransImage = zmediaCIRCLE08d 
        end
    if TransCount == 54 then 
        TransImage = zmediaCIRCLE08e 
        end
    if TransCount == 55 then 
        TransImage = zmediaCIRCLE08f 
        end
    if TransCount == 56 then 
        TransImage = zmediaCIRCLE08g 
        end
    if TransCount == 57 then 
        TransImage = zmediaCIRCLE09a 
        --ztimerTransforming.Duration=2 
        end
    if TransCount == 58 then 
        TransImage = zmediaCIRCLE09b 
        --ztimerTransforming.Duration=1 
        end
    if TransCount == 59 then 
        TransImage = zmediaCIRCLE09c 
        --ztimerTransforming.Duration=0.2 
        end
    if TransCount == 60 then 
        TransImage = zmediaCIRCLE09d 
        end
    if TransCount == 61 then 
        TransImage = zmediaCIRCLE09e 
        end
    if TransCount == 62 then 
        TransImage = zmediaCIRCLE09f 
        end
    if TransCount == 63 then 
        TransImage = zmediaCIRCLE09g 
        end
    if TransCount == 64 then FinishVideo1() end
    ztimerTransforming:Start()
end

function ztimerTransforming:OnTick()
    if TransCount < 63 then
        Wherigo.MessageBox{Text=[[Coin is transforming.]],Media=TransImage,Buttons={"WAIT...JUST WATCH.",},}
        --ztimerTransforming:Start()
        DoTheVideoTimer()
    elseif TransCount == 63 then
        if cartGeocacheotopia.Complete~=true then FinishVideo1() end
    elseif TransCount == 64 then
    end
end

function FinishVideo1()
    TransMode = 2
    zinputTheGeocoins.Media=zmediaCIRCLE01g
    zinputTheGeocoins.Text="c"
    GeocoinShowNumber = 1
    zcharacterCat.Commands["TalktoCat"].Enabled = false
    zcharacterCat.Media=zmediaCatEyesOnly
    zcharacterCat.Description=[[This is Cat.]]
    zitemHandfulOfGeocoins.Commands["ExamineCoins"].Enabled = true
    zitemHandfulOfGeocoins.Commands["TransformCoins"].Enabled = false
    ztaskGototheGlowStone.Visible=true
    ztaskGototheGlowStone.Active=true
    zoneTheGlowStone.Description=[[This is the magical Glow Stone.  It calls to you.  Go to it.]]
    zoneTheGlowStone.Visible=true
    zoneTheGlowStone.Active=true
    Wherigo.MessageBox{Text=[[All GeoCoins have transformed.]],Media=TransImage,Buttons={"DONE!",},Callback=cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB61}
end

--------------------------------------------
--   End of FIRST TRANSFORMATION section  --
--------------------------------------------
-- Start of SECOND TRANSFORMATION section --
--------------------------------------------
-- This is where we tell them the coordinates to the geocache.
--

cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB61 = function(action)
    Wherigo.MessageBox{Text=[[You did it...]],Media=zmediaCatFace,Buttons={"Yay!",},Callback=cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB62}
end --CB61

cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB62 = function(action)
    Wherigo.MessageBox{Text=[[You have come to the place once known as Cantuland...You have gathered all the coins...You brought all the coins to Cantuland...AND...by transforming the coins...you have restored the magical Glow Stone.]],Media=zmediaCatEyesOnly,Buttons={[[Yes, I'm awesome.]],},Callback=cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB63}
end --CB62

cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB63 = function(action)
    zoneTheGlowStone.AllowSetPositionTo = true
    Wherigo.MessageBox{Text=[[Turtle told me this day would come...YOU SEEK GEOCACHEOTOPIA...The answer resides with the Glow Stone...Go...with coins in hand...to the Glow Stone...and it will reveal to you what you seek.]],Media=zmediaCatEyesOnly,Buttons={"Yay!",},}
end --CB63

function zoneTheGlowStone:OnProximity()
    if zoneTheGlowStone.AllowSetPositionTo == true and TransMode < 3 then
        zoneTheGlowStone.AllowSetPositionTo = false
        zoneTheGlowStone.Visible=false
        ztaskGototheGlowStone.Name="Look at the Glow Stone"
        ztaskGototheGlowStone.Description=[[The Glow Stone calls for you.]]
        zitemTheGlowStone.Visible=true
        zitemTheGlowStone.ObjectLocation=zoneTheGlowStone.OriginalPoint
        zitemTheGlowStone:MoveTo(zoneTheGlowStone)
        Wherigo.MessageBox{Text=[[You are very close to the Glow Stone.  Have a look at it.]],Media=zmediaCatEyesOnly,Buttons={"I see it!",},Callback=cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB64}
    end
    if zoneTheGlowStone.AllowSetPositionTo == true and TransMode == 3 then
    --if the Player finished the cartridge and calls the GlowStone through the denouement, then...
        zoneTheGlowStone.Visible=false --not visible but still active
        zitemTheGlowStone.Visible=true --visible GlowStone swaps from being a zone to being an item
        zitemTheGlowStone.ObjectLocation=zoneTheGlowStone.OriginalPoint
        zitemTheGlowStone:MoveTo(zoneTheGlowStone)
    end
end

cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB64 = function(action)
    zcharacterCat.Visible=false
    ztaskGototheGlowStone.Media=zmediaGlowStone
   Wherigo.MessageBox{Text=[[Now that you have found the Glow Stone...LOOK at it...Now it is time...for me to join Turtle...in another Time...I wish you well in this world.]],Media=zmediaCatEyesOnly,Buttons={"Hasta Good-byo!",},}
end --CB64

function zitemTheGlowStone:OnLookatit()
    ztaskGototheGlowStone.Media=zmediaGlowStone
    ztaskGototheGlowStone.Name="Stand on the Glow Stone"
    ztaskGototheGlowStone.Description=[[The Glow Stone calls for you to climb up on top of it.]]
    zitemTheGlowStone.Commands["Lookatit"].Enabled = false
    zitemTheGlowStone.Commands["Standonit"].Enabled = true
    zitemTheGlowStone.Description=[[This is the magical Glow Stone. Climb up and stand on top of it.]]
    Wherigo.MessageBox{Text=[[You see the Glow Stone.  Horizontally it is a perfect circle, about as wide as you are tall.  Vertically it is oval in shape, like a uniformly squashed sphere.  The surface is extremely smooth.  You see no cracks or scratches on it.]],Media=zmediaGlowStone,Buttons={"Ooooh...",},Callback=cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB65}
end --OnLookatit

cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB65 = function(action)
    Wherigo.MessageBox{Text=[[The Glow Stone gives off a soft humming noise, almost like it was singing, pleasing to the ear.  You reach down to touch it and it feels slightly cool to the touch.]],Media=zmediaGlowStone,Buttons={"Aaaah...",},Callback=cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB66}
end --CB65

cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB66 = function(action)
    Wherigo.MessageBox{Text=[[At the touch you also suddenly smell the sweet fragrance of flowers.  You also begin to see telltale signs of the same visions from before.]],Media=zmediaGlowStone,Buttons={"I remember these.",},Callback=cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB67}
end --CB66

cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB67 = function(action)
    Wherigo.MessageBox{Text=[[The Glow Stone speaks to your inner being.  You have this overwhelming urge to climb on top of the Glow Stone and hold your arms up and out.]],Media=zmediaGlowStone,Buttons={"Amazing!",},}
end --CB67

function zitemTheGlowStone:OnStandonit()
    ztaskGototheGlowStone.Visible=false
    ztaskGototheGlowStone.Active=false
    ztaskGototheGlowStone.Complete=true
    ztaskTransformagain.Visible=true
    ztaskTransformagain.Active=true
    zitemTheGlowStone.Commands["Standonit"].Enabled = false
    zitemTheGlowStone.Description=[[This is the magical Glow Stone.]]
    zitemDreamlikeVisions.Description=[[Once again, you see holographic shapes and dancing lights, forming into shimmering words all around you.]]
    zitemDreamlikeVisions.Commands["ConcentrateonVisions"].Enabled = true
    zitemDreamlikeVisions.Visible=true
    zitemHandfulOfGeocoins.Commands["ExamineCoins"].Enabled = false
    zitemHandfulOfGeocoins.Commands["Transformagain"].Enabled = true
    Wherigo.MessageBox{Text=[[The visions from before are now available again if you would like to view them.  The coins in your hand are warming up, almost too hot; pulsing with energy, vibrating and rattling in your hand.  Look at the coins in your hand; they demand your attention.]],Media=zmediaGlowStone,Buttons={"This is WAY cool!",},}
end

function zitemHandfulOfGeocoins:OnTransformagain()
    --Do the makeshift video transformation from color coins to closing images.
    zitemHandfulOfGeocoins.Commands["Transformagain"].Enabled = false
    TransImage=zmediaCIRCLE01g
    TransCount=1
    Wherigo.MessageBox{Text=[[Coin is transforming.]],Media=zmediaCIRCLE01g,Buttons={"WAIT...JUST WATCH.",},}
    ztimerTransformingAgain:Start()
end

function ztimerTransformingAgain:OnStart()
    TransCount=TransCount+1
    if TransCount == 1 then 
        TransImage = zmediaCIRCLE01g 
        --ztimerTransformingAgain.Duration=2 
        end
    if TransCount == 2 then 
        TransImage = zmediaCIRCLE01f 
        --ztimerTransformingAgain.Duration=0.2 
        end
    if TransCount == 3 then 
        TransImage = zmediaCIRCLE01e 
        end
    if TransCount == 4 then 
        TransImage = zmediaCIRCLE01d 
        end
    if TransCount == 5 then 
        TransImage = zmediaCIRCLE01h 
        end
    if TransCount == 6 then 
        TransImage = zmediaCIRCLE01i 
        end
    if TransCount == 7 then 
        TransImage = zmediaCIRCLE01j 
        end
    if TransCount == 8 then 
        TransImage = zmediaCIRCLE02g 
        --ztimerTransformingAgain.Duration=2 
        end
    if TransCount == 9 then 
        TransImage = zmediaCIRCLE02f 
        --ztimerTransformingAgain.Duration=1 
        end
    if TransCount == 10 then 
        TransImage = zmediaCIRCLE02e 
        --ztimerTransformingAgain.Duration=0.2 
        end
    if TransCount == 11 then 
        TransImage = zmediaCIRCLE02d 
        end
    if TransCount == 12 then 
        TransImage = zmediaCIRCLE02h 
        end
    if TransCount == 13 then 
        TransImage = zmediaCIRCLE02i 
        end
    if TransCount == 14 then 
        TransImage = zmediaCIRCLE02j 
        end
    if TransCount == 15 then 
        TransImage = zmediaCIRCLE03g 
        --ztimerTransformingAgain.Duration=2 
        end
    if TransCount == 16 then 
        TransImage = zmediaCIRCLE03f 
        --ztimerTransformingAgain.Duration=1 
        end
    if TransCount == 17 then 
        TransImage = zmediaCIRCLE03e 
        --ztimerTransformingAgain.Duration=0.2 
        end
    if TransCount == 18 then 
        TransImage = zmediaCIRCLE03d 
        end
    if TransCount == 19 then 
        TransImage = zmediaCIRCLE03h 
        end
    if TransCount == 20 then 
        TransImage = zmediaCIRCLE03i 
        end
    if TransCount == 21 then 
        TransImage = zmediaCIRCLE03j 
        end
    if TransCount == 22 then 
        TransImage = zmediaCIRCLE04g 
        --ztimerTransformingAgain.Duration=2 
        end
    if TransCount == 23 then 
        TransImage = zmediaCIRCLE04f 
        --ztimerTransformingAgain.Duration=1 
        end
    if TransCount == 24 then 
        TransImage = zmediaCIRCLE04e 
        --ztimerTransformingAgain.Duration=0.2 
        end
    if TransCount == 25 then 
        TransImage = zmediaCIRCLE04d 
        end
    if TransCount == 26 then 
        TransImage = zmediaCIRCLE04h 
        end
    if TransCount == 27 then 
        TransImage = zmediaCIRCLE04i 
        end
    if TransCount == 28 then 
        TransImage = zmediaCIRCLE04j 
        end
    if TransCount == 29 then 
        TransImage = zmediaCIRCLE05g 
        --ztimerTransformingAgain.Duration=2 
        end
    if TransCount == 30 then 
        TransImage = zmediaCIRCLE05f 
        --ztimerTransformingAgain.Duration=1 
        end
    if TransCount == 31 then 
        TransImage = zmediaCIRCLE05e 
        --ztimerTransformingAgain.Duration=0.2 
        end
    if TransCount == 32 then 
        TransImage = zmediaCIRCLE05d 
        end
    if TransCount == 33 then 
        TransImage = zmediaCIRCLE05h 
        end
    if TransCount == 34 then 
        TransImage = zmediaCIRCLE05i 
        end
    if TransCount == 35 then 
        TransImage = zmediaCIRCLE05j 
        end
    if TransCount == 36 then 
        TransImage = zmediaCIRCLE06g 
        --ztimerTransformingAgain.Duration=2 
        end
    if TransCount == 37 then 
        TransImage = zmediaCIRCLE06f 
        --ztimerTransformingAgain.Duration=1 
        end
    if TransCount == 38 then 
        TransImage = zmediaCIRCLE06e 
        --ztimerTransformingAgain.Duration=0.2 
        end
    if TransCount == 39 then 
        TransImage = zmediaCIRCLE06d 
        end
    if TransCount == 40 then 
        TransImage = zmediaCIRCLE06h 
        end
    if TransCount == 41 then 
        TransImage = zmediaCIRCLE06i 
        end
    if TransCount == 42 then 
        TransImage = zmediaCIRCLE06j 
        end
    if TransCount == 43 then 
        TransImage = zmediaCIRCLE07g 
        --ztimerTransformingAgain.Duration=2 
        end
    if TransCount == 44 then 
        TransImage = zmediaCIRCLE07f 
        --ztimerTransformingAgain.Duration=1 
        end
    if TransCount == 45 then 
        TransImage = zmediaCIRCLE07e 
        --ztimerTransformingAgain.Duration=0.2 
        end
    if TransCount == 46 then 
        TransImage = zmediaCIRCLE07d 
        end
    if TransCount == 47 then 
        TransImage = zmediaCIRCLE07h 
        end
    if TransCount == 48 then 
        TransImage = zmediaCIRCLE07i 
        end
    if TransCount == 49 then 
        TransImage = zmediaCIRCLE07j 
        end
    if TransCount == 50 then 
        TransImage = zmediaCIRCLE08g 
        --ztimerTransformingAgain.Duration=2 
        end
    if TransCount == 51 then 
        TransImage = zmediaCIRCLE08f 
        --ztimerTransformingAgain.Duration=1 
        end
    if TransCount == 52 then 
        TransImage = zmediaCIRCLE08e 
        --ztimerTransformingAgain.Duration=0.2 
        end
    if TransCount == 53 then 
        TransImage = zmediaCIRCLE08d 
        end
    if TransCount == 54 then 
        TransImage = zmediaCIRCLE08h 
        end
    if TransCount == 55 then 
        TransImage = zmediaCIRCLE08i 
        end
    if TransCount == 56 then 
        TransImage = zmediaCIRCLE08j 
        end
    if TransCount == 57 then TransImage = zmediaCIRCLE09g 
        --ztimerTransformingAgain.Duration=2 
        end
    if TransCount == 58 then 
        TransImage = zmediaCIRCLE09f 
        --ztimerTransformingAgain.Duration=1 
        end
    if TransCount == 59 then 
        TransImage = zmediaCIRCLE09e 
        --ztimerTransformingAgain.Duration=0.2 
        end
    if TransCount == 60 then 
        TransImage = zmediaCIRCLE09d 
        end
    if TransCount == 61 then 
        TransImage = zmediaCIRCLE09h 
        end
    if TransCount == 62 then 
        TransImage = zmediaCIRCLE09i 
        end
    if TransCount == 63 then 
        TransImage = zmediaCIRCLE09j 
        end
    if TransCount == 64 then FinishVideo2() end
end

function ztimerTransformingAgain:OnTick()
    if TransCount < 63 then
        Wherigo.MessageBox{Text=[[Coin is transforming.]],Media=TransImage,Buttons={"WAIT...JUST WATCH.",},}
        ztimerTransformingAgain:Start()
    elseif TransCount == 63 then
        if cartGeocacheotopia.Complete~=true then FinishVideo2() end
    elseif TransCount == 64 then
    end
end

function FinishVideo2()
    TransMode = 3
    ztaskTransformagain.Visible=false
    ztaskTransformagain.Active=false
    GeocoinShowNumber = 1
    zinputTheGeocoins.Media=zmediaCIRCLE01j
    zinputTheGeocoins.Text="The Coins of Geocacheotopia"
    zitemHandfulOfGeocoins.Commands["Transformagain"].Enabled = false
    zitemHandfulOfGeocoins.Commands["ExamineCoins"].Enabled = true
    cartGeocacheotopia.Complete=true
    zitemTheGlowStone.Visible=false
    zitemDreamlikeVisions.Visible=false
    zoneTheGlowStone.Active = false
    zitemAGlowingPebble.ObjectLocation=Wherigo.INVALID_ZONEPOINT
    zitemAGlowingPebble:MoveTo(Player)
    zitemAGlowingPebble.Visible=true
    zitemBonusBook1.ObjectLocation=Wherigo.INVALID_ZONEPOINT
    zitemBonusBook1:MoveTo(Player)
    zitemBonusBook1.Visible=true
    zitemBonusBook2.ObjectLocation=Wherigo.INVALID_ZONEPOINT
    zitemBonusBook2:MoveTo(Player)
    zitemBonusBook2.Visible=true
    zitemReplayVideo1.ObjectLocation=Wherigo.INVALID_ZONEPOINT
    zitemReplayVideo1:MoveTo(Player)
    zitemReplayVideo1.Visible=true
    zitemReplayVideo2.ObjectLocation=Wherigo.INVALID_ZONEPOINT
    zitemReplayVideo2:MoveTo(Player)
    zitemReplayVideo2.Visible=true
    Wherigo.MessageBox{Text=[[You now have the latitude and longitude coordinates for the location of GEOCACHEOTOPIA!!]],Media=TransImage,Buttons={[[Finally!]],},Callback=cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB70}
end

------------------------------------------
-- End of SECOND TRANSFORMATION section --
------------------------------------------
--     Start of DENOUEMENT section      --
------------------------------------------

cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB70 = function(action)
    Wherigo.MessageBox{Text=[[The coins are still available for viewing.  If you are in the vicinity of Wichita, Kansas, you may track down Geocacheotopia at the coordinates from the coins.  The Geocaching.com waypoint number is GCQYXW.]],Media=zmediaHoloPic5,Buttons={[[GCQYXW...Hmmm.]],},Callback=cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB71}
end --CB70

cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB71 = function(action)
    Wherigo.MessageBox{Text=[[This cartridge is now COMPLETE.  You may now log your completion with Wherigo.com.  As a bonus, some EXTRAS have been unlocked for your entertainment.]],Media=zmediaHoloPic2,Buttons={[[Extras? Cool, cool, cool.]],},Callback=cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB72}
end --CB71

cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB72 = function(action)
    Wherigo.MessageBox{Text=[[The Glow Stone slowly gets smaller and smaller until you step off of it and watch it shrink to the size of a pebble.  You pick up the pebble and put it in your pocket.  The Glow Stone is in your inventory.  See the Glowing Pebble.  Whenever you have a good GPS signal, you may take out the pebble and toy with the Glow Stone by "visiting" with it.]],Media=zmediaHoloPic7,Buttons={"Continue...",},Callback=cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB73}
end --CB72

cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB73 = function(action)
    Wherigo.MessageBox{Text=[[While "visiting", you have some options available.  Try calling the Glow Stone and then walk away from it, just to see what happens.]],Media=zmediaHoloPic6,Buttons={"Continue...",},Callback=cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB74}
end --CB73

cartGeocacheotopia.MsgBoxCBFuncs.MsgBoxCB74 = function(action)
    Wherigo.MessageBox{Text=[[Thank you for playing. Share the experience and play again with other companions.]],Media=zmediatitlepic,Buttons={[[TURTLE!! Later, Gator...]],},}
end --CB74

-------------------------------
-- End of DENOUEMENT section --
-------------------------------
--  Start of EXTRAS section  --
-------------------------------

-------------------------------------------
-- Extras: Glowing pebble in your pocket --
-------------------------------------------

function zitemAGlowingPebble:OnVisittheGlowStone()
    --Check for GPS signal.
    uv = Env.DeviceID
    wx = Player.ObjectLocation.altitude:GetValue(ft)
    yz = Player.PositionAccuracy:GetValue(ft)
    if ((Wherigo.NoCaseEquals(uv,"DeskTop")) or (wx < 3) or (yz <= 3) or (yz > 150)) and (testmode < 1) then
        Wherigo.MessageBox{Text=[[The pebble needs a better GPS signal.]],Media=zmediaGlowStone,Buttons={"Oops!",},}
    else
        zitemAGlowingPebble.Visible=false
        --Move position of GlowStone to location of player
        --Where is the player?
        local HereIAm = Player.ObjectLocation
        --Shut off zone so we can move it. Should already be off tho.
        zoneTheGlowStone.Active = false
        --Move the zone to location of player.
        zoneTheGlowStone.OriginalPoint.latitude = HereIAm.latitude
        zoneTheGlowStone.OriginalPoint.longitude = HereIAm.longitude
        --Turn on zone so move is complete.
        zoneTheGlowStone.Active = true
        --Shut off zone so we can update ZonePoints.
        zoneTheGlowStone.Active = false
        --Create the perimeter of the zone.
        zoneTheGlowStone.Points = {
            Wherigo.TranslatePoint(zoneTheGlowStone.OriginalPoint, Wherigo.Distance(40, "ft"), 315),
            Wherigo.TranslatePoint(zoneTheGlowStone.OriginalPoint, Wherigo.Distance(40, "ft"), 45),
            Wherigo.TranslatePoint(zoneTheGlowStone.OriginalPoint, Wherigo.Distance(40, "ft"), 135),
            Wherigo.TranslatePoint(zoneTheGlowStone.OriginalPoint, Wherigo.Distance(40, "ft"), 225),
            }
        --Turn on zone so ZonePoints are updated.
        zoneTheGlowStone.Active = true
        zoneTheGlowStone.Description=[[This is the magical Glow Stone.]]
        zoneTheGlowStone.Media=zmediaGlowStone
        zoneTheGlowStone.DistanceRange = Distance(30, "feet")
        zoneTheGlowStone.ProximityRange = Distance(50, "feet")
        --Make it so that the zone is visible.
        zoneTheGlowStone.Visible = true
        zoneTheGlowStone.AllowSetPositionTo = true
        --Move the VISIONS to the zone that is around the player.
        zitemDreamlikeVisions.ObjectLocation = zoneTheGlowStone.OriginalPoint
        zitemDreamlikeVisions:MoveTo(zoneTheGlowStone)
        --Move the GlowStone item to the GlowStone zone.
        zitemTheGlowStone.ObjectLocation=zoneTheGlowStone.OriginalPoint
        zitemTheGlowStone:MoveTo(zoneTheGlowStone)
        --Make items visible.
        zitemTheGlowStone.Visible=true
        zitemDreamlikeVisions.Visible=true
        Wherigo.MessageBox{Text=[[The Glow Stone is back.]],Media=zmediaGlowStone,Buttons={"MOST Awesome!",},}
    end --if
end

function zoneTheGlowStone:OnNotInRange()
    if zoneTheGlowStone.AllowSetPositionTo == true and TransMode == 3 then
        zoneTheGlowStone.Visible=false
        zoneTheGlowStone.Active = false
        zitemTheGlowStone.Visible=false
        zitemAGlowingPebble.ObjectLocation=Wherigo.INVALID_ZONEPOINT
        zitemAGlowingPebble:MoveTo(Player)
        zitemAGlowingPebble.Visible=true
        Wherigo.MessageBox{Text=[[You are leaving the Glow Stone. It has returned to being a Glowing Pebble in your pocket.]],Media=zmediaGlowStone,Buttons={"Wow!",},}
    end
end


-------------------------------------
-- Extras: Replay Video Number One --
-------------------------------------

function zitemReplayVideo1:OnREPLAY()
    TransImage=zmediaCIRCLE01a
    TransCount=1
    Wherigo.MessageBox{Text=[[Coin is transforming.]],Media=zmediaCIRCLE01a,Buttons={"WAIT...JUST WATCH.",},}
    ztimerTransforming:Start()
end


-------------------------------------
-- Extras: Replay Video Number Two --
-------------------------------------

function zitemReplayVideo2:OnREPLAY()
    TransImage=zmediaCIRCLE01g
    TransCount=1
    Wherigo.MessageBox{Text=[[Coin is transforming.]],Media=zmediaCIRCLE01g,Buttons={"WAIT...JUST WATCH.",},}
    ztimerTransformingAgain:Start()
end


--------------------------------
-- Extras: Book of Characters --
--------------------------------

function zitemBonusBook1:OnOpenbook()
    Wherigo.GetInput(zinputBookofCharacters)
end

function zinputBookofCharacters:OnGetInput(input) --for BonusBook1
    if Wherigo.NoCaseEquals(input,"Next page") then
        CastOfCharactersFlipBookPageNumber = CastOfCharactersFlipBookPageNumber + 1
        if CastOfCharactersFlipBookPageNumber==1 then 
            zinputBookofCharacters.Text=[[Turtle, at the opening and closing screens]]
            zinputBookofCharacters.Media=zmediatitlepic 
        end
        if CastOfCharactersFlipBookPageNumber==2 then 
            zinputBookofCharacters.Text=[[Cat]]
            zinputBookofCharacters.Media=zmediaCatFace 
        end
        if CastOfCharactersFlipBookPageNumber==3 then 
            zinputBookofCharacters.Text=[[Cat, just his eyes]]
            zinputBookofCharacters.Media=zmediaCatEyesOnly 
        end
        if CastOfCharactersFlipBookPageNumber==4 then 
            zinputBookofCharacters.Text=[[The Glow Stone]]
            zinputBookofCharacters.Media=zmediaGlowStone 
        end
        if CastOfCharactersFlipBookPageNumber==5 then 
            zinputBookofCharacters.Text=[[Coin #1, Gold]]
            zinputBookofCharacters.Media=zmediaCIRCLE01a 
        end
        if CastOfCharactersFlipBookPageNumber==6 then 
            zinputBookofCharacters.Text=[[Coin #1, Color]]
            zinputBookofCharacters.Media=zmediaCIRCLE01d 
        end
        if CastOfCharactersFlipBookPageNumber==7 then 
            zinputBookofCharacters.Text=[[Coin #2, Gold]]
            zinputBookofCharacters.Media=zmediaCIRCLE02a 
        end
        if CastOfCharactersFlipBookPageNumber==8 then 
            zinputBookofCharacters.Text=[[Coin #2, Color]]
            zinputBookofCharacters.Media=zmediaCIRCLE02d 
        end
        if CastOfCharactersFlipBookPageNumber==9 then 
            zinputBookofCharacters.Text=[[Coin #3, Gold]]
            zinputBookofCharacters.Media=zmediaCIRCLE03a 
        end
        if CastOfCharactersFlipBookPageNumber==10 then 
            zinputBookofCharacters.Text=[[Coin #3, Color]]
            zinputBookofCharacters.Media=zmediaCIRCLE03d 
        end
        if CastOfCharactersFlipBookPageNumber==11 then 
            zinputBookofCharacters.Text=[[Coin #4, Gold]]
            zinputBookofCharacters.Media=zmediaCIRCLE04a 
        end
        if CastOfCharactersFlipBookPageNumber==12 then 
            zinputBookofCharacters.Text=[[Coin #4, Color]]
            zinputBookofCharacters.Media=zmediaCIRCLE04d 
        end
        if CastOfCharactersFlipBookPageNumber==13 then 
            zinputBookofCharacters.Text=[[Coin #5, Gold]]
            zinputBookofCharacters.Media=zmediaCIRCLE05a 
        end
        if CastOfCharactersFlipBookPageNumber==14 then 
            zinputBookofCharacters.Text=[[Coin #5, Color]]
            zinputBookofCharacters.Media=zmediaCIRCLE05d 
        end
        if CastOfCharactersFlipBookPageNumber==15 then 
            zinputBookofCharacters.Text=[[Coin #6, Gold]]
            zinputBookofCharacters.Media=zmediaCIRCLE06a 
        end
        if CastOfCharactersFlipBookPageNumber==16 then 
            zinputBookofCharacters.Text=[[Coin #6, Color]]
            zinputBookofCharacters.Media=zmediaCIRCLE06d 
        end
        if CastOfCharactersFlipBookPageNumber==17 then 
            zinputBookofCharacters.Text=[[Coin #7, Gold]]
            zinputBookofCharacters.Media=zmediaCIRCLE07a 
        end
        if CastOfCharactersFlipBookPageNumber==18 then 
            zinputBookofCharacters.Text=[[Coin #7, Color]]
            zinputBookofCharacters.Media=zmediaCIRCLE07d 
        end
        if CastOfCharactersFlipBookPageNumber==19 then 
            zinputBookofCharacters.Text=[[Coin #8, Gold]]
            zinputBookofCharacters.Media=zmediaCIRCLE08a 
        end
        if CastOfCharactersFlipBookPageNumber==20 then 
            zinputBookofCharacters.Text=[[Coin #8, Color]]
            zinputBookofCharacters.Media=zmediaCIRCLE08d 
        end
        if CastOfCharactersFlipBookPageNumber==21 then 
            zinputBookofCharacters.Text=[[Coin #9, Gold]]
            zinputBookofCharacters.Media=zmediaCIRCLE09a 
        end
        if CastOfCharactersFlipBookPageNumber==22 then 
            zinputBookofCharacters.Text=[[Coin #9, Gold]]
            zinputBookofCharacters.Media=zmediaCIRCLE09d 
        end
        if CastOfCharactersFlipBookPageNumber==23 then 
            zinputBookofCharacters.Text=[[Wherigo Poster]]
            zinputBookofCharacters.Media=zmediaPosterImage 
        end
        if CastOfCharactersFlipBookPageNumber==24 then 
            CastOfCharactersFlipBookPageNumber=0
            zinputBookofCharacters.Text=[[This is Turtle.]]
            zinputBookofCharacters.Media=zmediaturtle
        end
        Wherigo.GetInput(zinputBookofCharacters)
    end
end


------------------------------------------------
-- Extras: Book, The Making of Geocacheotopia --
------------------------------------------------

function zitemBonusBook2:OnOpenbook()
    Wherigo.GetInput(zinputHistoryBook)
end

function zinputHistoryBook:OnGetInput(input) --for BonusBook2
    if Wherigo.NoCaseEquals(input,"Next page") then
        HistoryBookPageNumber = HistoryBookPageNumber + 1
        if HistoryBookPageNumber==1 then 
            zinputHistoryBook.Text=[[1 of 13. Welcome to the History of Geocacheotopia. My Geocaching.com username  is cantuland.  This is a history of the evolution of Geocacheotopia  from conception to what it is now.  This information is provided as  FYI bonus material unlocked by completing a Geocacheotopia cartridge.]]
        end
        if HistoryBookPageNumber==2 then 
            zinputHistoryBook.Text=[[2 of 13. Geocacheotopia started out as something very different.  I was in the  planning stages for a series of geocaches.  That series is now  published as a group of geocaches hidden in the shape of a heart and  centered around a geocache with Geocaching.com waypoint number GCQAQQ,  the Kansas Heartland Geocaches.]]
        end
        if HistoryBookPageNumber==3 then 
            zinputHistoryBook.Text=[[3 of 13. What ended up as Geocacheotopia started out as a Wherigo geocache that  was supposed to take people on a guided tour of each and every one of  the Kansas Heartland geocaches, helping to place geocache seekers  within a few feet of the different geocaches of the series and  offering hints starting at a general level and progressing in stages  to a detailed description of exactly where to look for hidden  Heartland geocaches.]]
        end
        if HistoryBookPageNumber==4 then 
            zinputHistoryBook.Text=[[4 of 13. Wherigo cartridges use the Lua programming language and I previously  had never done anything with Lua.  I had a goal in mind and toyed with  the Lua programming until I eventually got the program to work  correctly.  Unfortunately, my program simultaneously used at least 25  active zones and worked ONLY on a Garmin Colorado.  Before publishing  my results, I found out that a Garmin Oregon would crash if anything  more than 10 active zones was attempted.  That put a serious dent in  my expectations.  I owned a Colorado, but not an Oregon, so testing  was difficult.]]
        end
        if HistoryBookPageNumber==5 then 
            zinputHistoryBook.Text=[[5 of 13. I -REALLY- wanted to work with all of the zones.  I came up with some  custom programming to solve the issue.  In the Wherigo.com forums I  published my customized solution under the name of ZoneListLimiter.   ZoneListLimiter was a PlayAnywhere test program that built a clock  centered around the GPS location of the Wherigo player.  The player  then wandered to either 12 locations or 24 locations, being each  number on a clock with or without the half-hour locations.   ZoneListLimiter would then only show the nearest set number of  locations, constantly checking the players location and checking all  of the zones and building a list of the unvisited zones from closest  to farthest, then displaying only a few of the closest.  Being a  PlayAnywhere cartridge, it could be tested anywhere on the planet by  anyone who had a Wherigo cartridge player.]]
        end
        if HistoryBookPageNumber==6 then 
            zinputHistoryBook.Text=[[6 of 13. It worked!  However, the Lua programming was taking me many months for  writing, testing and rewriting, getting heavier and heavier.  I lost  patience and changed my plans for the Heartland series.  Instead of  using a Wherigo geocache to guide cachers to all the others, I turned  it around so that geocachers had to go to all the others (most of them  anyway) to solve a puzzle in order to find the last and final geocache  of the series, which is the one that replaced the Wherigo.]]
        end
        if HistoryBookPageNumber==7 then 
            zinputHistoryBook.Text=[[7 of 13. So I removed the Wherigo from the Heartland series, freeing up the  Heartland to get finished and published.  That left the Wherigo ideas  available for more refinement.  Instead of tracking down 25 other  zones, I lowered the number to 9 zones, the 9 gold coins, leaving one  more zone available for behind-the-scenes programming manipulation.   The method for sending the 9 zones out to form a circle came from the  ZoneListLimiter PlayAnywhere clock idea.  The programming was near  finished.]]
        end
        if HistoryBookPageNumber==8 then 
            zinputHistoryBook.Text=[[8 of 13. With the fundamental idea finished, I came up with the story of  Geocacheotopia to go along with the actions of the program.  I wrote  Lua program for perusing through a book.  That programming resulted in  the Visions.  I came up with a way to show the two videos from  flashing different dialog boxes.  The finished product was released as  the original Geocacheotopia for Wichita, Kansas, United States.]]
        end
        if HistoryBookPageNumber==9 then 
            zinputHistoryBook.Text=[[9 of 13. That program seemed to work SOME of the time.  Later, I had an Android  cell phone and tried out the original Geocacheotopia using the  WhereYouGo cell phone application.  It worked up to a point and  crashed my phone.  I tracked down where it hung up and discovered that  it was due to some Lua functions that worked on some hardware devices  but not on others.  I rewrote that part using methods simpler in  concept but longer in programming length.  The work-around was  successful.  I was able to get the Wherigo cartridge to work  successfully on my Android phone.]]
        end
        if HistoryBookPageNumber==10 then 
            zinputHistoryBook.Text=[[10 of 13. Since I was warmed up again with the Lua programming, I decided to add  in all the bonus material that was intended to be in the original  version but was left out.  These were the bonus books and a way to  rewatch the two videos.  It was during this time of rehashing the  original that I came up with the idea of having multiple versions of  Geocacheotopia.  Since the cartridge was originally designed as a  PlayAnywhere game, all I had to do was edit the coordinates for a  geocache that was hidden in another city.  Hence, the additions of  Geocacheotopia geocaches specific to different cities.]]
        end
        if HistoryBookPageNumber==11 then 
            zinputHistoryBook.Text=[[11 of 13. Turtle came from a photo that I took of a box turtle while I was out  geocaching.  Cat came from a photo of my own little cat with  reflection showing up in the eyes.  My cat is a few years old but is  only the size of a kitten; her name is Tempest.]]
        end
        if HistoryBookPageNumber==12 then 
            zinputHistoryBook.Text=[[12 of 13. I hope you enjoyed this cartridge.  I enjoyed the challenge of  creating it.

-cantuland]]
        end
        if HistoryBookPageNumber==13 then 
            HistoryBookPageNumber=0
            zinputHistoryBook.Text=[[13 of 13. Remember: -Make the fair trade. -Log your visit. -Leave the site better than you found it. -Protect the environment - always. -Educate those around you. -Find another cache! -Good luck, and may all your cache dreams come true. -cantuland]]

        end
        Wherigo.GetInput(zinputHistoryBook)
    end


-----------------------------
-- Extras: Jump to Section --
-----------------------------

-- uses the troubleshooting GoToStage feature


end
-- #End Author Functions# --
-- Nothing after this line --
return cartGeocacheotopia
