Index: trunk/web2/addons/job_monarch/jobstore.php
===================================================================
--- trunk/web2/addons/job_monarch/jobstore.php	(revision 565)
+++ trunk/web2/addons/job_monarch/jobstore.php	(revision 566)
@@ -20,8 +20,18 @@
 //
 $jid			= isset($_POST['jid']) ? $_POST['jid'] : null;
+$jids			= isset($_POST['jids']) ? $_POST['jids'] : null;
 $owner			= isset($_POST['owner']) ? $_POST['owner'] : null;
 $status			= isset($_POST['status']) ? $_POST['status'] : null;
 $queue			= isset($_POST['queue']) ? $_POST['queue'] : null;
 $host			= isset($_POST['host']) ? $_POST['host'] : null;
+
+if( $jids != null )
+{
+	$jobids	= explode( ",", $jids );
+}
+else
+{
+	$jobids	= null;
+}
 
 global $c, $clustername, $cluster;
@@ -76,9 +86,9 @@
 switch($task)
 {
-    case "LISTING":
-        getList();
+    case "GETJOBS":
+        getJobs();
         break;		
-    case "SUMMARY":
-        getSummary();
+    case "GETNODES":
+        getNodes();
         break;		
     default:
@@ -366,5 +376,47 @@
 }
 
-function getList() 
+function getNodes()
+{
+	global $jobs, $jobids, $clustername;
+
+	$display_nodes	= array();
+
+	if( !$jobids )
+	{
+		return 1;
+	}
+	foreach( $jobs as $jobid => $jobattrs )
+	{
+		if( in_array( $jobid, $jobids ) )
+		{
+			foreach( $jobattrs['nodes'] as $jobnode )
+			{
+				if( !in_array( $jobnode, $display_nodes) )
+				{
+					$display_nodes[]	= $jobnode;
+				}
+			}
+		}
+	}
+	//print_r( $display_nodes );
+	$node_results	= array();
+	$result_count	= count( $display_nodes );
+	foreach( $display_nodes as $dnode )
+	{
+
+		$nr		= array();
+		$nr['c']	= $clustername;
+		$nr['h']	= $dnode;
+		$nr['x']	= '5';
+		$nr['v']	= '0';
+
+		$node_results[]	= $nr;
+	}
+	$jsonresults	= JEncode( $node_results );
+
+	echo '{"total":"'. $result_count .'","results":'. $jsonresults .'}';
+}
+
+function getJobs() 
 {
 	global $jobs, $hearbeat, $pstart, $pend;
Index: trunk/web2/addons/job_monarch/js/jobgrid.js
===================================================================
--- trunk/web2/addons/job_monarch/js/jobgrid.js	(revision 565)
+++ trunk/web2/addons/job_monarch/js/jobgrid.js	(revision 566)
@@ -342,5 +342,5 @@
       id: 'JobsDataStore',
       proxy: JobProxy,
-      baseParams: { task: "LISTING" },
+      baseParams: { task: "GETJOBS" },
       reader: new Ext.data.JsonReader({
         root: 'results',
@@ -497,4 +497,81 @@
 		    });
 
+  NodesDataStore = new Ext.data.Store({
+      id: 'NodesDataStore',
+      proxy: JobProxy,
+      autoLoad: false,
+      baseParams: { task: "GETNODES" },
+      reader: new Ext.data.JsonReader({
+        root: 'results',
+        totalProperty: 'total',
+        id: 'id'
+      },[
+        {name: 'c', type: 'string', mapping: 'c'},
+        {name: 'h', type: 'string', mapping: 'h'},
+        {name: 'v', type: 'string', mapping: 'v'},
+        {name: 'x', type: 'string', mapping: 'x'},
+      ]),
+      listeners: {
+		'beforeload': {
+      			scope: this,
+			fn: function() {
+					var jids;
+
+					var row_records = CheckJobs.getSelections();
+
+					for(var i=0; i<row_records.length; i++ )
+					{
+						rsel = row_records[i];
+						if( !jids )
+						{
+							jids = rsel.get('jid');
+						}
+						else
+						{
+							jids = jids + ',' + rsel.get('jid');
+						}
+					}
+					NodesDataStore.baseParams.jids	= jids;
+					NodesDataStore.baseParams.c	= myparams.c;
+			}
+		}
+	}
+    });
+
+function ShowGraphs( Button, Event ) {
+   
+    var GraphView = new Ext.DataView({
+        itemSelector: 'thumb',
+        style:'overflow:auto',
+        multiSelect: true,
+        store: NodesDataStore,
+        tpl: new Ext.XTemplate(
+            '<tpl for=".">',
+            '<div class="thumb"><img src="../../graph.php?z=small&h={h}&x={x}&v={v}&c={c}" border="0"></div>',
+            '</tpl>'
+        )
+    });
+
+    var images = new Ext.Panel({
+        id:'images',
+        title:'My Images',
+        region:'center',
+        margins: '5 5 5 0',
+        layout:'fit',
+        items: GraphView
+    });
+
+	if(!win){
+	    win = new Ext.Window({
+			width       : 500,
+			height      : 300,
+			closeAction :'hide',
+			items:	[ images ]
+		    });
+		}
+	NodesDataStore.load();
+	win.show();
+}
+
   JobListingEditorGrid =  new Ext.grid.EditorGridPanel({
       id: 'JobListingEditorGrid',
@@ -523,15 +600,5 @@
 					'click': {
 						scope: this,
-						fn: function() {
-						        if(!win){
-							            win = new Ext.Window({
-								        width       : 500,
-									height      : 300,
-									closeAction :'hide',
-								    });
-							}
-							win.show( this );
-							alert( CheckJobs.getSelections() );
-						}
+						fn: ShowGraphs
 					}
 				}
