code:
xmlhttp.open("POST", yass.config.URL, false);
The "false" indicates that you want it to execute synchronously, so that the script will hang while it's executing the MessageBox in the onreadystatechange function. However, this is not needed because when you let it do it asynchronously, the script will continue and thus will stop it from hanging (I suppose).
I suggest you to try and set it to "true" and see if that makes any difference.