зачем несколько событий, ешкин макорошкин... всеж по русски объясняю..
ты задал вопрос как узнать поддерживает браузер оригинальное событие или нет... тепер пишешь простую функцию инициализации библиотеки:
eventNames = (function(){
var conf ={},
div = document.createElement('div');
conf.animationend = div.onanimationend === null ? 'animationend' : 'webkitanimationend';
conf.какойтотамевент = div.onкакойтотамевент === null ? 'какойтотамевент' : 'webkitкакойтотамевент';
conf.какойтотамевент2 = div.onкакойтотамевент2 === null ? 'какойтотамевент2' : 'webkitкакойтотамевент2';
div = null;
return conf;
}());
а теперь спокойно юзаешь:
elem.addEventListener( eventNames.какойтотамевент, function(){
}, false);
elem.addEventListener( eventNames.animationend, function(){
}, false);
и тд