Hafner hits long homer, Indians sweep Royals