Javascript XMLHttpRequest result will not store in a variable for other use
===

I'm submitting a form but need my form to run some checks first so i'm calling in some javascript which needs to run an XMLHttpRequest to see if something is set on another PHP script. I can get the value back but only output the message within the area where i am getting the response, any attempt of putting this into a variable and using elsewhere doesn't work, here's my script: 

	function validateform() {
		
	var complete = "Please fill in the following fields:";
	var temp;
		
	if (window.XMLHttpRequest)
	  {// code for IE7+, Firefox, Chrome, Opera, Safari
	  xmlhttp=new XMLHttpRequest();
	  }
	else
	  {// code for IE6, IE5
	  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	  }
	xmlhttp.onreadystatechange=function()
	  {
	  if (xmlhttp.readyState==4 && xmlhttp.status==200)
		{
		
		temp=xmlhttp.responseText;
		 alert(temp);
		}
	  }
	
		
	xmlhttp.open("GET","hrp/recaptcha/verify.php",true);
	xmlhttp.send();

 	alert(temp);


The first "alert(temp") gets outputted but then the one after at the end of the code always says undefined so I cant use it outside.

Any ideas?
Thanks :D