Работает в IE и небольшой рефакторинг