if( s.global ) 
if ( s.global ) 
	ajax: function( s ) {		// TODO introduce global settings, allowing the client to modify them for all requests, not only timeout		s = jQuery.extend({}, jQuery.ajaxSettings, s);		// if data available		if ( s.data ) {			// convert data if not already a string			if (s.processData && typeof s.data != "string")    			s.data = jQuery.param(s.data);			// append data to url for get requests			if( s.type.toLowerCase() == "get" ) {				// "?" + data or "&" + data (in case there are already params)				s.url += ((s.url.indexOf("?") > -1) ? "&" : "?") + s.data;				// IE likes to send both get and post data, prevent this				s.data = null;			}		}		// Watch for a new set of requests		if ( s.global && ! jQuery.active++ )			jQuery.event.trigger( "ajaxStart" );		var requestDone = false;		// Create the request object; Microsoft failed to properly		// implement the XMLHttpRequest in IE7, so we use the ActiveXObject when it is available		var xml = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();		// Open the socket		xml.open(s.type, s.url, s.async);		// Set the correct header, if data is being sent		if ( s.data )			xml.setRequestHeader("Content-Type", s.contentType);		// Set the If-Modified-Since header, if ifModified mode.		if ( s.ifModified )			xml.setRequestHeader("If-Modified-Since",				jQuery.lastModified[s.url] || "Thu, 01 Jan 1970 00:00:00 GMT" );		// Set header so the called script knows that it's an XMLHttpRequest		xml.setRequestHeader("X-Requested-With", "XMLHttpRequest");		// Allow custom headers/mimetypes		if( s.beforeSend )			s.beforeSend(xml);					if ( s.global )		    jQuery.event.trigger("ajaxSend", [xml, s]);		// Wait for a response to come back		var onreadystatechange = function(isTimeout){			// The transfer is complete and the data is available, or the request timed out			if ( !requestDone && xml && (xml.readyState == 4 || isTimeout == "timeout") ) {				requestDone = true;								// clear poll interval				if (ival) {					clearInterval(ival);					ival = null;				}								var status = isTimeout == "timeout" && "timeout" ||					!jQuery.httpSuccess( xml ) && "error" ||					s.ifModified && jQuery.httpNotModified( xml, s.url ) && "notmodified" ||					"success";				if ( status == "success" ) {					// Watch for, and catch, XML document parse errors					try {						// process the data (runs the xml through httpData regardless of callback)						var data = jQuery.httpData( xml, s.dataType );					} catch(e) {						status = "parsererror";					}				}				// Make sure that the request was successful or notmodified				if ( status == "success" ) {					// 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;						// 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);				// 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;			}		};				// don't attach the handler to the request, just poll it instead		var ival = setInterval(onreadystatechange, 13); 		// Timeout checker		if ( s.timeout > 0 )			setTimeout(function(){				// Check to see if the request is still happening				if ( xml ) {					// Cancel the request					xml.abort();					if( !requestDone )						onreadystatechange( "timeout" );				}			}, s.timeout);					// Send the data		try {			xml.send(s.data);		} catch(e) {			jQuery.handleError(s, xml, null, e);		}				// firefox 1.5 doesn't fire statechange for sync requests		if ( !s.async )			onreadystatechange();				// return XMLHttpRequest to allow aborting the request etc.		return xml;	},
6056	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/6056/2ef4093cf7f52383dd43bd361864edcda27e5c3c/ajax.js/clean/src/ajax/ajax.js