Javascript setTimeout does not work
===

I understand this question has been asked many times, however I cannot find the solution to my problem despite searching google and stackoverflow and applying various attempts.

Here's my JS:

		function Redirect(id)
		{
			window.open("go.php?id=" + id, "_blank");
		}
		
		function LinkPop(id)
		{			
			xmlObj = new XMLHttpRequest();
			xmlObj.open("GET", "pop.php?id=" + id, false);
			xmlObj.send();
			
			document.getElementById(id).style.fontSize = xmlObj.responseText + "px";
			document.getElementById(id).title = "Clicked " + (xmlObj.responseText - 18) + " times";
			
			window.setTimeout(function(){Redirect(id);}, 2000);
		}

Everything works apart from the 2 second delay and opening of a new page. As you can see I've tried a closure which has not helped. I expect I've missed something very basic...

Thanks for any help.