There are all the functions in GUI you need.
An idea would be to store all Regions into an array, then get a random integer between 0 and the number of rects you stored.
Now that you got your random Region, you use GetRandomPoint in Rect and- voila, random point in random Rect.
Make sure 0 and 1 is different
Your array start from what number and ends from what number ?
If you have 16 regions and the starting number is , your last number would be 
But if you start at , your last number would be 
I don't meant the difference between "quantity", what I meant was difference in "array referencing" where you should do math random number between 0 ~ 16 but instead, you did 1 ~ 16, it's wrong (this situation occurs if your starting array number is , if it's , it should work fine)