Q:

Ajax loading panel works on FF but doesn't work on Chrome. Any idea why?

I'm using this ajax loading panel http://thisiscontext.com/tools/jQuery-showLoading
And I have the following code :
jQuery('#map').showLoading(); 
var request = OpenLayers.Request.POST({
    url: "service.asmx/DeleteStopPoint",
    data: "{'TripId':'" + currentTrip + "','PointId':'" + feature.attributes.PointId + "'}",
    async: false,
    headers: { "Content-Type": "application/json; charset=utf-8" },
    callback: refreshMap
}); 
jQuery('#map').hideLoading();

what happens is that in FF I do see the loading panel appearing before the request is made and hidden once its over... but in chrome it doesn't happen. it looks like the panel appears and immiedtly disappear (because if I comment out the hideLoading function , it appears AFTER the POST)
any idea why ?

A:

Rather than using a synchronous request do a normal (asynchronous) request and hide the map in the ajax callback. Also do't build JSON by hand, what you have there isn't actually valid JSON, you should use JSON.stringify instead.
jQuery('#map').showLoading(); 
var request = OpenLayers.Request.POST({
    url: "service.asmx/DeleteStopPoint",
    data: JSON.stringify({ TripId: currentTrip, PointId: feature.attributes.PointId }),
/*    async: false, <-- don't do that*/
    headers: { "Content-Type": "application/json; charset=utf-8" },
    callback: refreshMap
}); 
function refreshMap(some, arguments0{
    ...
    jQuery('#map').hideLoading();
}

