var ScriptQuery = function(scriptPath) {
  this.scriptPath = scriptPath;
}
ScriptQuery.prototype = {
  get: function() {
    var srcRegex = new RegExp(this.scriptPath.replace('.', '\\.') + '(\\?.*)?$');
    var scripts = document.getElementsByTagName("script");
    for (var i = 0; i < scripts.length; i++) {
      var script = scripts[i];
      if (script.src && script.src.match(srcRegex)) {
        var query = script.src.match(/\?([^#]*)(#.*)?/);
        return !query ? '' : query[1];
      }
    }
    return '';
  },
  parse: function() {
    var result = {};
    var query = this.get();
    var components = query.split('&');
 
    for (var i = 0; i < components.length; i++) {
      var pair = components[i].split('=');
      var name = pair[0], value = pair[1];
 
      if (!result[name]) result[name] = [];
      // decode
      if (!value) {
        value = 'true';
      } else {
        try {
          value = decodeURIComponent(value);
        } catch (e) {
          value = unescape(value);
        }
      }
 
      // MacIE way
      var values = result[name];
      values[values.length] = value;
    }
    return result;
  }
}

function loadAPIS() {
  var query = new ScriptQuery('api_loader.js').parse();
  var apis = query['apis'].toString().split(',');
  var versions = query['ver'] ? query['ver'].toString().split(',') : {};
  var uncompressed = query['uncompressed'];

  if(google){
    for (var i = 0; i < apis.length; i++) {
      google.load(apis[i],versions[i] ? versions[i] : '1');
    }
  }
}

loadAPIS();