rem: var ifModified = type.ifModified || false; 
add: ifModified = type.ifModified || false; 
context: 	ajax: function( type, url, data, ret, ifModified ) {		// If only a single argument was passed in,		// assume that it is a object of key/value pairs		var global = true;		var timeout = jQuery.timeout;		if ( !url ) {			ret = type.complete;			var success = type.success;			var error = type.error;			var dataType = type.dataType;			var global = typeof type.global == "boolean" ? type.global : true;			var timeout = typeof type.timeout == "number" ? type.timeout : jQuery.timeout;			var ifModified = type.ifModified || false;			data = type.data;			url = type.url;			type = type.type;		}				// Watch for a new set of requests		if ( global && ! jQuery.active++ )			jQuery.event.trigger( "ajaxStart" );		var requestDone = false;			// Create the request object		var xml = new XMLHttpRequest();			// Open the socket		xml.open(type || "GET", url, true);				// Set the correct header, if data is being sent		if ( data )			xml.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");				// Set the If-Modified-Since header, if ifModified mode.		if ( ifModified )			xml.setRequestHeader("If-Modified-Since",				jQuery.lastModified[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");			// Make sure the browser sends the right content length		if ( xml.overrideMimeType )			xml.setRequestHeader("Connection", "close");				// 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 ( xml && (xml.readyState == 4 || istimeout == "timeout") ) {				requestDone = true;				var status = jQuery.httpSuccess( xml ) && istimeout != "timeout" ?					ifModified && jQuery.httpNotModified( xml, 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 ( ifModified && modRes )						jQuery.lastModified[url] = modRes;										// If a local callback was specified, fire it					if ( success )						success( jQuery.httpData( xml, dataType ), status );										// Fire the global callback					if( global )						jQuery.event.trigger( "ajaxSuccess" );								// Otherwise, the request was not successful				} else {					// If a local callback was specified, fire it					if ( error ) error( xml, status );										// Fire the global callback					if( global )						jQuery.event.trigger( "ajaxError" );				}								// The request was completed				if( global )					jQuery.event.trigger( "ajaxComplete" );								// Handle the global AJAX counter				if ( global && ! --jQuery.active )					jQuery.event.trigger( "ajaxStop" );					// Process result				if ( ret ) ret(xml, status);								// Stop memory leaks				xml.onreadystatechange = function(){};				xml = null;							}		};		xml.onreadystatechange = onreadystatechange;				// Timeout checker		if(timeout > 0)			setTimeout(function(){				// Check to see if the request is still happening				if (xml) {					// Cancel the request					xml.abort();					if ( !requestDone ) onreadystatechange( "timeout" );					// Clear from memory					xml = null;				}			}, timeout);				// Send the data		xml.send(data);	},
meta: 2411	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/2411/af961d58c244224c14f3bb519214485cb670c64d/ajax.js/buggy/src/ajax/ajax.js