Think of the following problem: You need to check some data on the server using javascript on the OnSave event of MS CRM. You would instantiate a ActiveX XMLHttp object. Next you would initialize all parameters including the onreadystatechangefunction and then send the request. The data would be returned in your onreadystatechangefunction where you could analyze it. Based on this analysis you would decide whether you would allow saving the CRM form or not. But wait a minute. You are now in your handler ......