Я не так часто, но сталкивался раньше с этой проблемой. Предложенное решение и его описание лично меня вполне устраивают.