rem: if ( status != "error" ) { 
add: if ( status != "error" && status != "timeout" ) { 
context: 		var onreadystatechange = function(isTimeout){			// The transfer is complete and the data is available, or the request timed out			if ( xml && (xml.readyState == 4 || isTimeout == "timeout") ) {				requestDone = true;								// clear poll interval				if (ival) {					clearInterval(ival);					ival = null;				}								var status;				try {					status = jQuery.httpSuccess( xml ) && isTimeout != "timeout" ?						s.ifModified && jQuery.httpNotModified( xml, s.url ) ? "notmodified" : "success" : "error";					// Make sure that the request was successful or notmodified					if ( status != "error" ) {						// Cache Last-Modified header, if ifModified mode.						var modRes;						try {							modRes = xml.getResponseHeader("Last-Modified");						} catch(e) {} // swallow exception thrown by FF if header is not available							if ( s.ifModified && modRes )							jQuery.lastModified[s.url] = modRes;							// process the data (runs the xml through httpData regardless of callback)						var data = jQuery.httpData( xml, s.dataType );							// If a local callback was specified, fire it and pass it the data						if ( s.success )							s.success( data, status );							// Fire the global callback						if( s.global )							jQuery.event.trigger( "ajaxSuccess", [xml, s] );					} else						jQuery.handleError(s, xml, status);				} catch(e) {					status = "error";					jQuery.handleError(s, xml, status, e);				}				// The request was completed				if( s.global )					jQuery.event.trigger( "ajaxComplete", [xml, s] );				// Handle the global AJAX counter				if ( s.global && ! --jQuery.active )					jQuery.event.trigger( "ajaxStop" );				// Process result				if ( s.complete )					s.complete(xml, status);				// Stop memory leaks				if(s.async)					xml = null;			}		};
meta: 3217	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/3217/a40f141f23a3e3addcfae71676ff187f139eb8cb/ajax.js/buggy/src/ajax/ajax.js