Index: SPARQLBuilderWWW/web/classselect.js
===================================================================
--- SPARQLBuilderWWW/web/classselect.js (revision 258)
+++ SPARQLBuilderWWW/web/classselect.js (revision 262)
@@ -26,4 +26,36 @@
 // 繧ｯ繝ｩ繧ｹ驕ｸ謚樒畑div縺ｮ繧ｹ繧ｯ繝ｭ繝ｼ繝ｫ險ｭ螳�
 function scrolldiv(){
+
+	// 繧ｨ繝ｳ繝峨�繧､繝ｳ繝�RI逕ｨ譁�ｭ怜�
+	var epuri = "";
+
+	// 繧ｨ繝ｳ繝峨�繧､繝ｳ繝郁｡後ｒ蜑企勁
+	$('.endpointrow').remove();
+
+	// 繧ｹ繧ｿ繝ｼ繝医け繝ｩ繧ｹ繧ｻ繝ｫ蛻�ｹｰ繧願ｿ斐＠
+	$('.startclasscell').each(function(){
+		// 繝弱�繝偵ャ繝医け繝ｩ繧ｹ縺ｮ蟄舌〒縺ｪ縺代ｌ縺ｰ
+		if(!$(this).parent().hasClass('nohit')){
+			// 縺薙�繧ｯ繝ｩ繧ｹ縺ｮ繧ｨ繝ｳ繝峨�繧､繝ｳ繝医′蜑阪�陦後→驕輔▲縺溘ｉ
+			if(epuri != $(this).find('.endpointuri').attr('title')){
+				// 繧ｨ繝ｳ繝峨�繧､繝ｳ繝�RI繧呈峩譁ｰ
+				epuri = $(this).find('.endpointuri').attr('title');
+				// 繧ｨ繝ｳ繝峨�繧､繝ｳ繝郁｡後ｒ霑ｽ蜉
+				$(this).parent().before($('<tr class="endpointrow"><th>' + epuri + '</th></tr>'));
+			}
+		}
+	});
+
+	// 繧ｨ繝ｳ繝峨け繝ｩ繧ｹ繧ｻ繝ｫ縺ｫ縺､縺�※蜷梧ｧ倥�蜃ｦ逅�
+	epuri = "";
+	$('.endclasscell').each(function(){
+		if(!$(this).parent().hasClass('nohit')){
+			if(epuri != $(this).find('.endpointuri').attr('title')){
+				epuri = $(this).find('.endpointuri').attr('title');
+				$(this).parent().before($('<tr class="endpointrow"><th>' + epuri + '</th></tr>'));
+			}
+		}
+	});
+
 	// 繧ｹ繧ｿ繝ｼ繝医け繝ｩ繧ｹ荳隕ｧ縺ｮ繝��繝悶Ν縺ｨ繧ｹ繧ｿ繝ｼ繝医け繝ｩ繧ｹ縺ｮ讀懃ｴ｢逕ｨ繝�く繧ｹ繝医�繝�け繧ｹ谺��鬮倥＆縺ｮ蜷郁ｨ医′謖�ｮ壽ｸ医∩縺ｮ蟾ｦ繧ｫ繝ｩ繝縺ｮ鬮倥＆繧医ｊ螟ｧ縺阪￠繧後�
 	if(($('div.startclass table').height() + $('div.searchstart').height()) > $('div.left').height()){
@@ -48,6 +80,6 @@
 // 繧ｹ繧ｿ繝ｼ繝医け繝ｩ繧ｹ縺ｮ隱ｭ縺ｿ霎ｼ縺ｿ
 function loadStartClass(){
-	// SPARQL Builder縺ｮ繧ｹ繧ｿ繝ｼ繝医け繝ｩ繧ｹ荳隕ｧ蜿門ｾ礼畑API繧｢繝峨Ξ繧ｹ繧剃ｽ懈��域圻螳壹〒迚ｹ螳壹お繝ｳ繝峨�繧､繝ｳ繝医ｒ繧ｻ繝�ヨ��
-	var url = "http://www.sparqlbuilder.org/api/clist?ep=" + encodeURIComponent("http://www.ebi.ac.uk/rdf/services/reactome/sparql");
+	// SPARQL Builder縺ｮ繧ｹ繧ｿ繝ｼ繝医け繝ｩ繧ｹ荳隕ｧ蜿門ｾ礼畑API繧｢繝峨Ξ繧ｹ繧剃ｽ懈�
+	var url = "http://www.sparqlbuilder.org/api/clist";
 	// AJAX髢句ｧ�
 	$.ajax({
@@ -66,8 +98,13 @@
 			var startclasstable = $('<table>');
 
-			// 蜿門ｾ励＠縺溘け繝ｩ繧ｹ繝ｪ繧ｹ繝医�謨ｰ縺縺醍ｹｰ繧願ｿ斐＠縺ｪ縺後ｉ
-			for (var i = 0; i < list.length; ++i) {
-				// 蛻励ｒ霑ｽ蜉
-				startclasstable.append('<tr><td class="startclasscell"><span class="endpointuri" title="http://www.ebi.ac.uk/rdf/services/reactome/sparql"></span><span class="startclassuri" title="' + list[i]['uri'] + '">' + list[i]['label'] + ' (' + list[i]['number'] + ')' + '</span></td></tr>');
+			// 邨先棡縺ｮ繧ｨ繝ｳ繝峨�繧､繝ｳ繝医�蛻�□縺醍ｹｰ繧願ｿ斐＠
+			for(var epuri in list){
+				// 繧ｨ繝ｳ繝峨�繧､繝ｳ繝亥�縺ｮ繧ｯ繝ｩ繧ｹ繝ｪ繧ｹ繝医ｒ蜿門ｾ�
+				var classes = list[epuri];
+				// 蜿門ｾ励＠縺溘け繝ｩ繧ｹ繝ｪ繧ｹ繝医�謨ｰ縺縺醍ｹｰ繧願ｿ斐＠縺ｪ縺後ｉ
+				for (var i = 0; i < classes.length; ++i) {
+					// 蛻励ｒ霑ｽ蜉
+					startclasstable.append('<tr><td class="startclasscell"><span class="endpointuri" title="' + epuri + '"></span><span class="startclassuri" title="' + classes[i]['uri'] + '">' + classes[i]['label'] + ' (' + classes[i]['number'] + ')' + '</span></td></tr>');
+				}
 			}
 
@@ -181,5 +218,5 @@
 	if($('#searchstarttext').val() == ''){
 		// 繧ｹ繧ｿ繝ｼ繝医け繝ｩ繧ｹ縺ｮ繝弱�繝偵ャ繝医け繝ｩ繧ｹ繧貞炎髯､
-		$('.startclasscell').parent().removeClass('nohit');
+		$('.startclass .nohit').removeClass('nohit');
 	// 遨ｺ縺ｧ縺ｪ縺代ｌ縺ｰ
 	}else{
@@ -202,5 +239,5 @@
 	// 繧ｨ繝ｳ繝峨け繝ｩ繧ｹ縺ｫ縺､縺�※蜷梧ｧ倥�蜃ｦ逅�
 	if($('#searchendtext').val() == ''){
-		$('.endclasscell').parent().removeClass('nohit');
+		$('.endclasscell .nohit').removeClass('nohit');
 	}else{
 		var keyword = $('#searchendtext').val().toLowerCase();
