Random r = new Random(); // can be done centrally for the entire application
        //
        // GET: /Question/
        public ActionResult Index(String id)
        {
            String word = id;

            String[] titles = new String[] {
                "Can you guess what “" + word + "” means?",
                "Do you know what “" + word + "” means?",
                "What do you think “" + word + "” means?",
                "Do you really know what “" + word + "” is?",
                "What is “" + word + "”?"
            };
            String[] descriptions = new String[] {
                "Write your definition of the word “" + word + "” in a comment below. If you want to read more about it, or if you want to check your answer, click on the link to see the detailed description of the word.",
                "Write your interpretation of “" + word + "” in a comment if you want to test yourself. Open this link to see the answer."
            };

            ViewBag.Word        = word;
            ViewBag.Description = descriptions[r.Next(descriptions.Length)];
            ViewBag.Title       = titles[r.Next(titles.Length)];

            // todo: make sure name comes from dictionary (so doesn't contain funny characters
            WebPageBitmap.LoadBitmapSTA(word, Config.WebRoot);
            ViewBag.Image = Config.GetImagePath(word, ShareMode.Question);
            ViewBag.Url   = Request.Url.AbsoluteUri;                 // needs to be set same as actual URL, probably helps FB to know how to cache, can test at https://developers.facebook.com/tools/debug/

            ViewBag.Audio = "http://mapto.ko64eto.com/po-zodia.mp3"; // just a placeholder
            return(View());
        }
        Random r = new Random(); // can be done centrally for the entire application

        //
        // GET: /Definition/
        //[Route("def/{id}")]
        public ActionResult Index(String id = null)
        {
            String word = id;

            if (word == null)
            {
                word = "syzygy";
            }
            LookupResult result = DictLookup.Get(word);

            String def = result.Definition.First().Text;

            String[] titles = new String[] {
                "Definition of the word “" + word + "”",
                "This is what we mean by “" + word + "”",
                "“" + word + "” means...",
                "“" + word + "” has the meaning...",
                "When we use “" + word + "” we mean...",
                "What is “" + word + "”?",
                "What does “" + word + "” mean?"
            };
            String[] descriptions = new String[] {
                "“" + word + "” is " + def,
                word + " - " + def,
                "Definition: " + def
            };

            ViewBag.Word        = word;
            ViewBag.Description = descriptions[r.Next(descriptions.Length)];
            ViewBag.Title       = titles[r.Next(titles.Length)];

            // todo: make sure name comes from dictionary (so doesn't contain funny characters
            WebPageBitmap.LoadBitmapSTA(word, Config.WebRoot);

            ViewBag.Image = Config.GetImagePath(word, ShareMode.Definition);
            ViewBag.Url   = Request.Url.AbsoluteUri; // needs to be set same as actual URL, probably helps FB to know how to cache, can test at https://developers.facebook.com/tools/debug/

            //ViewBag.Audio = "http://mapto.ko64eto.com/po-zodia.mp3"; // just a placeholder
            return(View());
        }