По-моему каждый когда-либо делал нечто подобное, правда с разной степенью проработки))) Может скинем все свои варианты)))