| 
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -1910,6 +1910,8 @@ Graph3d.prototype._onMouseDown = function(event) { | 
															
														
														
													
														
															
																 | 
																 | 
																  // get mouse position (different code for IE and all other browsers)
 | 
																 | 
																 | 
																  // get mouse position (different code for IE and all other browsers)
 | 
															
														
														
													
														
															
																 | 
																 | 
																  this.startMouseX = getMouseX(event); | 
																 | 
																 | 
																  this.startMouseX = getMouseX(event); | 
															
														
														
													
														
															
																 | 
																 | 
																  this.startMouseY = getMouseY(event); | 
																 | 
																 | 
																  this.startMouseY = getMouseY(event); | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																   | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																  this._startCameraOffset = this.camera.getOffset(); | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																  this.startStart = new Date(this.start); | 
																 | 
																 | 
																  this.startStart = new Date(this.start); | 
															
														
														
													
														
															
																 | 
																 | 
																  this.startEnd = new Date(this.end); | 
																 | 
																 | 
																  this.startEnd = new Date(this.end); | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -1936,21 +1938,28 @@ Graph3d.prototype._onMouseDown = function(event) { | 
															
														
														
													
														
															
																 | 
																 | 
																 */ | 
																 | 
																 | 
																 */ | 
															
														
														
													
														
															
																 | 
																 | 
																Graph3d.prototype._onMouseMove = function (event) { | 
																 | 
																 | 
																Graph3d.prototype._onMouseMove = function (event) { | 
															
														
														
													
														
															
																 | 
																 | 
																  event = event || window.event; | 
																 | 
																 | 
																  event = event || window.event; | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																   | 
															
														
														
													
														
															
																 | 
																 | 
																    // move with ctrl or rotate by other
 | 
																 | 
																 | 
																    // move with ctrl or rotate by other
 | 
															
														
														
													
														
															
																 | 
																 | 
																  if (event && event.ctrlKey === true) { | 
																 | 
																 | 
																  if (event && event.ctrlKey === true) { | 
															
														
														
													
														
															
																 | 
																 | 
																      // calculate change in mouse position
 | 
																 | 
																 | 
																      // calculate change in mouse position
 | 
															
														
														
													
														
															
																 | 
																 | 
																      var camera = this.camera, | 
																 | 
																 | 
																      var camera = this.camera, | 
															
														
														
													
														
															
																 | 
																 | 
																          offset = camera.getOffset(); | 
																 | 
																 | 
																          offset = camera.getOffset(); | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	   | 
															
														
														
													
														
															
																 | 
																 | 
																      var diffX = parseFloat(getMouseX(event)) - this.startMouseX; | 
																 | 
																 | 
																      var diffX = parseFloat(getMouseX(event)) - this.startMouseX; | 
															
														
														
													
														
															
																 | 
																 | 
																      var diffY = parseFloat(getMouseY(event)) - this.startMouseY; | 
																 | 
																 | 
																      var diffY = parseFloat(getMouseY(event)) - this.startMouseY; | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																      var scale = this.frame.clientWidth * 0.6; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																      var offXNew = offset.x - ((diffX / scale) * this.camera.armLength) * 0.1; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																      var offYNew = offset.y + ((diffY / scale) * this.camera.armLength) * 0.1; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																      var scaleX = this.frame.clientWidth * 0.5; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	  var scaleY = this.frame.clientHeight * 0.5; | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																      var offXNew = (this._startCameraOffset.x || 0) - ((diffX / scaleX) * this.camera.armLength) * 0.8; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																      var offYNew = (this._startCameraOffset.y || 0) + ((diffY / scaleY) * this.camera.armLength) * 0.8; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	   | 
															
														
														
													
														
															
																 | 
																 | 
																      this.camera.setOffset(offXNew, offYNew); | 
																 | 
																 | 
																      this.camera.setOffset(offXNew, offYNew); | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	  // меняем startX, startY и startOffset
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	  this._startCameraOffset = this.camera.getOffset(); | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	  this.startMouseX = getMouseX(event); | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	  this.startMouseY = getMouseY(event); | 
															
														
														
													
														
															
																 | 
																 | 
																    } else { | 
																 | 
																 | 
																    } else { | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																      // calculate change in mouse position
 | 
																 | 
																 | 
																      // calculate change in mouse position
 | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																	
																 | 
																
 |