McCain slams Adelson's 'foreign money'