the first part of this was already solved in another reply. as for the second part... it depends on how you want to implement it. you COULD start at another place at random. you COULD start working backwards. but i think for a truly random selection, you should probably start over at the very beginning of the file.
if this needs to be explained, let me know.