Index: /SPARQLBuilderWWW/web/newsparqlbuilder.js
===================================================================
--- /SPARQLBuilderWWW/web/newsparqlbuilder.js (revision 243)
+++ /SPARQLBuilderWWW/web/newsparqlbuilder.js (revision 244)
@@ -65,13 +65,4 @@
 		endClass = $(".SBEndClassSelect").val();
 		loadPathList();
-	});
-
-	d3.select('.SBModalView').on("mousewheel", function(){
-		event.preventDefault();
-		event.stopPropagation();
-	});
-
-	d3.select('body').on("mousewheel", function(){
-		console.log("WTF");
 	});
 
@@ -413,4 +404,29 @@
 		var scoreleftmargin = NODEHEIGHT * 1.5;
 
+		var scrollsvg = function(delta){
+			// 迴ｾ蝨ｨ縺ｮ繝薙Η繝ｼ繝懊ャ繧ｯ繧ｹ縺ｮ迥ｶ諷九ｒ蜿門ｾ�
+			var vb = svg.attr("viewBox");
+			// 繧ｹ繝壹�繧ｹ縺ｧ蛹ｺ蛻�ｊ蜷�､縺ｫ蛻�ｧ｣
+			var spvb = vb.split(" ");
+
+			// 繝薙Η繝ｼ繝懊ャ繧ｯ繧ｹ縺ｮy縺ｮ蛟､縺九ｉ莉雁屓縺ｮ繝帙う繝ｼ繝ｫ繧､繝吶Φ繝医�蟾ｮ蛻�ｒ蠑輔￥
+			var vby = (parseInt(spvb[1]) - parseInt(delta));
+
+			// 0繧貞牡縺｣縺ｦ縺�◆繧�縺ｫ
+			if(vby < 0){
+				vby = 0;
+			// 繧ｹ繧ｯ繝ｭ繝ｼ繝ｫ荳企剞�医げ繝ｩ繝輔し繧､繧ｺ蠑輔￥陦ｨ遉ｺ鬆伜沺繧ｵ繧､繧ｺ�峨ｒ雜�∴縺ｦ縺�◆繧芽｣懈ｭ｣
+			}else if(vby > (graphheight - height)){
+				vby = (graphheight - height);
+				// 陬懈ｭ｣縺励◆邨先棡0繧貞牡縺｣縺ｦ縺�◆繧�縺ｫ
+				if(vby < 0){
+					vby = 0;
+				}
+			}
+
+			// 縺薙％縺ｾ縺ｧ縺ｧ縺ｧ縺阪◆y繧偵そ繝�ヨ縺励ン繝･繝ｼ繝懊ャ繧ｯ繧ｹ繧呈峩譁ｰ
+			svg.attr("viewBox", "0 " + vby + " " + width + " " + height);
+		}
+
 		// SVG縺ｮ蜑企勁
 		d3.select(".SBGraph svg").remove();
@@ -420,30 +436,24 @@
 			.attr("height", height)
 			// 繝薙Η繝ｼ繝懊ャ繧ｯ繧ｹ縺ｮ繧ｻ繝�ヨ
-			.attr("viewBox", "0 0 " + width + " " + height)
-			// 繧ｹ繧ｯ繝ｭ繝ｼ繝ｫ縺輔ｌ縺溘ｉ
-			.on("mousewheel", function(){
-				// 迴ｾ蝨ｨ縺ｮ繝薙Η繝ｼ繝懊ャ繧ｯ繧ｹ縺ｮ迥ｶ諷九ｒ蜿門ｾ�
-				var vb = svg.attr("viewBox");
-				// 繧ｹ繝壹�繧ｹ縺ｧ蛹ｺ蛻�ｊ蜷�､縺ｫ蛻�ｧ｣
-				var spvb = vb.split(" ");
-
-				// 繝薙Η繝ｼ繝懊ャ繧ｯ繧ｹ縺ｮy縺ｮ蛟､縺九ｉ莉雁屓縺ｮ繝帙う繝ｼ繝ｫ繧､繝吶Φ繝医�蟾ｮ蛻�ｒ蠑輔￥
-				var vby = (parseInt(spvb[1]) - event.wheelDelta);
-
-				// 0繧貞牡縺｣縺ｦ縺�◆繧�縺ｫ
-				if(vby < 0){
-					vby = 0;
-				// 繧ｹ繧ｯ繝ｭ繝ｼ繝ｫ荳企剞�医げ繝ｩ繝輔し繧､繧ｺ蠑輔￥陦ｨ遉ｺ鬆伜沺繧ｵ繧､繧ｺ�峨ｒ雜�∴縺ｦ縺�◆繧芽｣懈ｭ｣
-				}else if(vby > (graphheight - height)){
-					vby = (graphheight - height);
-					// 陬懈ｭ｣縺励◆邨先棡0繧貞牡縺｣縺ｦ縺�◆繧�縺ｫ
-					if(vby < 0){
-						vby = 0;
-					}
-				}
-
-				// 縺薙％縺ｾ縺ｧ縺ｧ縺ｧ縺阪◆y繧偵そ繝�ヨ縺励ン繝･繝ｼ繝懊ャ繧ｯ繧ｹ繧呈峩譁ｰ
-				svg.attr("viewBox", "0 " + vby + " " + width + " " + height);
-		    });
+			.attr("viewBox", "0 0 " + width + " " + height);
+
+		// SVG縺後せ繧ｯ繝ｭ繝ｼ繝ｫ縺輔ｌ縺滓凾縺ｮ繧､繝吶Φ繝医ｒ繝悶Λ繧ｦ繧ｶ縺ｫ蠢懊§縺ｦ繧ｻ繝�ヨ
+		var mousewheelevent = 'onwheel' in document ? 'wheel' : 'onmousewheel' in document ? 'mousewheel' : 'DOMMouseScroll';
+		$(".SBGraph svg").on(mousewheelevent,function(e){
+			// 繝悶Λ繧ｦ繧ｶ縺ｫ蠢懊§縺ｦ繧ｹ繧ｯ繝ｭ繝ｼ繝ｫ縺ｮ蛟､繧貞叙蠕�
+			var delta = e.originalEvent.deltaY ? -(e.originalEvent.deltaY) : e.originalEvent.wheelDelta ? e.originalEvent.wheelDelta : -(e.originalEvent.detail);
+			// FireFox縺縺ｨ繧ｹ繧ｯ繝ｭ繝ｼ繝ｫ騾溷ｺｦ縺碁撼蟶ｸ縺ｫ驕�＞蝣ｴ蜷医′縺ゅｋ縺ｮ縺ｧ陬懈ｭ｣
+			if(delta < 0 && delta > -100){
+				delta = -100;
+			}else if(0 < delta && delta < 100){
+				delta = 100;
+			}
+
+			// 繧ｹ繧ｯ繝ｭ繝ｼ繝ｫ縺ｮ繝�ヵ繧ｩ繝ｫ繝医�蜍穂ｽ懊→繝舌ヶ繝ｪ繝ｳ繧ｰ繧偵く繝｣繝ｳ繧ｻ繝ｫ
+			e.preventDefault();
+			e.stopPropagation();
+			// 蛟､繧呈ｸ｡縺励※繧ｹ繧ｯ繝ｭ繝ｼ繝ｫ
+			scrollsvg(delta);
+		});
 
 		// 閭梧勹縺ｮ霑ｽ蜉�磯ｫ倥＆莉･螟悶�謠冗判鬆伜沺縺昴�縺ｾ縺ｾ��
@@ -795,5 +805,5 @@
 		$('.SBResult').css('margin-top', '20px');
 		// 蜈ｨ陦ｨ遉ｺ繝懊ち繝ｳ繧帝國縺�
-		$('.SBViewall').hide();
+		$('.SBViewAll').hide();
 	// 繝ｪ繝溘ャ繝医′10縺ｪ繧峨�
 	}else if(pathlimit == 10){
@@ -801,5 +811,5 @@
 		viewnum = 10;
 		// 蜈ｨ陦ｨ遉ｺ繝懊ち繝ｳ繧貞�縺�
-		$('.SBViewall').show();
+		$('.SBViewAll').show();
 	// 繝ｪ繝溘ャ繝医′縺ｪ縺代ｌ縺ｰ
 	}else{
@@ -809,5 +819,5 @@
 		$('.SBResult').css('margin-top', '20px');
 		// 蜈ｨ陦ｨ遉ｺ繝懊ち繝ｳ繧帝國縺�
-		$('.SBViewall').hide();
+		$('.SBViewAll').hide();
 	}
 
