text: jQuery.ajax = (function(_ajax){
      var protocol = location.protocol,
          hostname = location.hostname,
          exRegex = RegExp(protocol + '//' + hostname),
          YQL = 'http' + (/^https/.test(protocol)?'s':'') + '://query.yahooapis.com/v1/public/yql?callback=?',
          query = 'select * from htmlstring where url="{URL}" and xpath="*"';
  
      function isExternal(url) {
          return !exRegex.test(url) && /:\/\//.test(url);
      }
  
      return function(o) {
  
          var url = o.url;
  
          if ( /get/i.test(o.type) && !/json/i.test(o.dataType) && isExternal(url) ) {
       		
       		//If the data type is XML the query is modified(ADD)
              query = (o.dataType=="xml")?'select * from xml where url="{URL}"':query; //by default html;
  
  
              // Manipulate options so that JSONP-x request is made to YQL
  
              o.url = YQL;
              o.dataType = 'json';
  
              o.data = {
                  q: query.replace(
                      '{URL}',
                      url + (o.data ?
                          (/\?/.test(url) ? '&' : '?') + jQuery.param(o.data)
                      : '')
                  ),
                  diagnostics: true,
                  env: 'store://datatables.org/alltableswithkeys',
                  format: 'xml'
              };
  
              // Since it's a JSONP request
              // complete === success
              if (!o.success && o.complete) {
                  o.success = o.complete;
                  delete o.complete;
              }
  
              o.success = (function(_success){
                  return function(data) {
  
                      if (_success) {
                          // Fake XHR callback.
                          _success.call(this, {
                              responseText: (data.results[0] || '')
                                  // YQL screws with <script>s
                                  // Get rid of them
                                  .replace(/<script[^>]+?\/>|<script(.|\s)*?\/script>/gi, '')
                          }, 'success');
                      }
  
                  };
              })(o.success);
  
          }
  
          return _ajax.apply(this, arguments);
  
      };
  
  })(jQuery.ajax);
  
  