In Obama’s defense, from the link you provided:
“For his part, Mr. McCain was not entirely clear on his position about Jerusalem either, saying that the citys status would be subject to negotiations.
The point is Jerusalem is undivided, he said. Jerusalem is the capital.
And, he added, we should move our embassy to Jerusalem, from Tel Aviv, before anything else happens. The subject of Jerusalem itself will be addressed in negotiations by the Israeli government and people.
This was how McCain lost the election - by seeking to obscure any differences between himself and the democrat nominee...
McCain was never my choice anyway but he had a very clear opening when it came to dealing with Israel and the Palestinians, he should have supported Israel and called Obama the liar he is.