Вот так работает. Что у тебя там не так, разбираться лень.
for (var i = 0; i < medals.length; i++) { (function(){
medals[i].onclick= (function(){
alert(this);
});
};
А в первой части, не могу понять зачем тебе обработчик событий именно внутри этой большой функции. Вынеси их наружу.
Да и rotateSportsmenList() тоже можно вынести.