+ * Load a remote page using an HTTP request. This function is the primary
+ * means of making AJAX requests using jQuery.
+ *
+ * $.ajax() returns the XMLHttpRequest that it creates. In most cases you won't
+ * need that object to manipulate directly, but it is available if you need to
+ * abort the request manually.
+ *
+ * Please note: Make sure the server sends the right mimetype (eg. xml as
+ * "text/xml"). Sending the wrong mimetype will get you into serious
+ * trouble that jQuery can't solve.
+ *
+ * Supported datatypes (see dataType option) are:
+ *
+ * "xml": Returns a XML document that can be processed via jQuery.
+ *
+ * "html": Returns HTML as plain text, included script tags are evaluated.
+ *
+ * "script": Evaluates the response as Javascript and returns it as plain text.
+ *
+ * "json": Evaluates the response as JSON and returns a Javascript Object
+ *
+ * $.ajax() takes one property, an object of key/value pairs, that are
+ * used to initalize the request. These are all the key/values that can
+ * be passed in to 'prop':
+ *
+ * (String) url - The URL of the page to request.
+ *
+ * (String) type - The type of request to make (e.g. "POST" or "GET"), default is "GET".
+ *
+ * (String) dataType - The type of data that you're expecting back from
+ * the server. No default: If the server sends xml, the responseXML, otherwise
+ * the responseText is is passed to the success callback.
+ *
+ * (Boolean) ifModified - Allow the request to be successful only if the
+ * response has changed since the last request, default is false, ignoring
+ * the Last-Modified header
+ *
+ * (Number) timeout - Local timeout to override global timeout, eg. to give a
+ * single request a longer timeout while all others timeout after 1 seconds,
+ * see $.ajaxTimeout()
+ *
+ * (Boolean) global - Wheather to trigger global AJAX event handlers for
+ * this request, default is true. Set to false to prevent that global handlers
+ * like ajaxStart or ajaxStop are triggered.
+ *
+ * (Function) error - A function to be called if the request fails. The
+ * function gets passed two arguments: The XMLHttpRequest object and a
+ * string describing the type of error that occurred.
+ *
+ * (Function) success - A function to be called if the request succeeds. The
+ * function gets passed one argument: The data returned from the server,
+ * formatted according to the 'dataType' parameter.
+ *
+ * (Function) complete - A function to be called when the request finishes. The
+ * function gets passed two arguments: The XMLHttpRequest object and a
+ * string describing the type the success of the request.
+ *
+ * (Object|String) data - Data to be sent to the server. Converted to a query
+ * string, if not already a string. Is appended to the url for GET-requests.
+ * Override processData option to prevent processing.
+ *
+ * (String) contentType - When sending data to the server, use this content-type,
+ * default is "application/x-www-form-urlencoded", which is fine for most cases.
+ *
+ * (Boolean) processData - By default, data passed in as an object other as string
+ * will be processed and transformed into a query string, fitting to the default
+ * content-type "application/x-www-form-urlencoded". If you want to send DOMDocuments,
+ * set this option to false.
+ *
+ * (Boolean) async - By default, all requests are send asynchronous (set to true).
+ * If you need synchronous requests, set this option to false.
+ *
+ * @example $.ajax({
+ * type: "GET",
+ * url: "test.js",
+ * dataType: "script"
+ * })
+ * @desc Load and execute a JavaScript file.
+ *
+ * @example $.ajax({
+ * type: "POST",
+ * url: "some.php",
+ * data: "name=John&location=Boston",
+ * success: function(msg){
+ * alert( "Data Saved: " + msg );
+ * }
+ * });
+ * @desc Save some data to the server and notify the user once its complete.
+ *
+ * @name $.ajax
+ * @type XMLHttpRequest
+ * @param Hash prop A set of properties to initialize the request with.
+ * @cat AJAX