| 
					
				 | 
			
			
				@@ -33,7 +33,38 @@ function cancelQuery(runningQuery) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var queriesQueue = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var runningQueries = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var maxQueries = 3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function queueQuery(callback) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  queriesQueue.push(callback); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  runNext(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function runNext() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (runningQueries < maxQueries) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var callback = queriesQueue.shift(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (callback) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      runningQueries++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      callback(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      runNext(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function queryComplete() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  runningQueries--; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  runNext(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function runQuery(data, success, error, runningQuery) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  queueQuery( function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return runQueryHelper(data, success, error, runningQuery); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function runQueryHelper(data, success, error, runningQuery) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   var xhr = $.ajax({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     url: window.runQueriesPath, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     method: "POST", 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -45,15 +76,17 @@ function runQuery(data, success, error, runningQuery) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       data.blazer = response; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       setTimeout( function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (!(runningQuery && runningQuery.canceled)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          runQuery(data, success, error, runningQuery); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          runQueryHelper(data, success, error, runningQuery); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }, 1000); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       success(d); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      queryComplete(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }).fail( function(jqXHR, textStatus, errorThrown) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     var message = (typeof errorThrown === "string") ? errorThrown : errorThrown.message; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     error(message); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    queryComplete(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (runningQuery) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     runningQuery.xhr = xhr; 
			 |