code: function downloadArrayBuffers( urls, progressPart, callback ) {
  
  	// Prepare the completion calbacks
  	var pending = urls.length, buffers = Array(pending);
  
  	// Start loading each url in parallel
  	var triggeredError = false;
  	urls.forEach(function(url, index) {
  		// Request binary bundle
  		var req = new XMLHttpRequest(),
  			scope = this;
  
  		// Place request
  		req.open('GET', urls[index]);
  		req.responseType = "arraybuffer";
  		req.send();
  
  		// Listen for progress events & end updates
  		req.addEventListener('progress', function(e) {
  			if (e.lengthComputable) {
  				progressPart.update( req, e.loaded, e.total );
  			}
  		});
  
  		// Wait until the bundle is loaded
  		req.addEventListener('readystatechange', function () {
  			if (req.readyState !== 4) return;
  			if (req.status === 200) {  
  				// Continue loading
  				buffers[index] = req.response;
  				if (--pending === 0) {
  					progressPart.complete();
  					callback( null );
  				}
  			} else {
  				// Trigger callback only once
  				if (triggeredError) return;
  				triggeredError = true;
  				progressPart.complete();
  				callback( "Error loading "+urls[index]+": "+req.statusText );
  			}
  		});
  	});
  
  	// Return pointer to buffers
  	return buffers;
  }
docs: Download helper