var cp = document.Captivate;
Что это и почему это должно работать?
Предполагаю, что если сделать так, то заработает: var cp = document.getElementById('Captivate');
UPD: ExternalInterface флеша не будет работать локально. Разместите с нормальным доменным именем и всё заработает. Ссылка для проверки