coffee

by chris richarde

HTML

<input type="button" onclick="createGraph();" value="coffe coffee coffee" />
<p id="nodes"></p>
<p id="edges"></p>

JavaScript

var Node =function (name){
	this.name=name;
  this.edges=[];
  return this;
}

var Edge=function(cost){
	this.sou=null;
  this.dest=null;
  this.cost=null;
  return this;
}

var Graph = function (){
this.nodes=[];
this.edges=[];

	this.addNode=function(name){
  	var node=new Node(name);
    this.nodes.push(node);
    return node;
  }
  this.addEdge=function(sou,dest,cost){
  	var edge =new Edge(cost);
    edge.sou=sou;
    edge.dest=dest;
    edge.cost=cost;
    this.edges.push(edge);
 		return edge;
 }
 	this.makeNodes=function(){
 	var a = "Nodes<br>";
  for(var i =0;i<this.nodes.length;i++){
  	a=a+"node "+i+ "=>" +this.nodes[i].name+"<br>";
		 }
  return a;
 }
	this.makeEdges=function (){
  	var e = "Edges <br>";
    for(var i =0;i<this.edges.length;i++){
   		e+="edge "+i+ "|| "+this.edges[i].sou.name+ " => "+ this.edges[i].dest.name+ " cost "+ this.edges[i].cost+"<br>";
      }
  return e;
  }
}

var List=document.getElementById("nodes");
var graph=new Graph();
function createGraph(){
	var c1 = graph.addNode('C');
  var c2 = graph.addNode('C');
  var c3 = graph.addNode('C');
  var c4 = graph.addNode('C');
  var c5 = graph.addNode('C');
  var c6 = graph.addNode('C');
  var c7 = graph.addNode('C');
  var c8 = graph.addNode('C');
  var h1 = graph.addNode('H');
  var h2 = graph.addNode('H');
  var h3 = graph.addNode('H');
  var h4 = graph.addNode('H');
  var h5 = graph.addNode('H');
  var h6 = graph.addNode('H');
  var h7 = graph.addNode('H');
  var h8 = graph.addNode('H');
  var h9 = graph.addNode('H');
  var h10 = graph.addNode('H');
  var o1 = graph.addNode('O');
  var o2 = graph.addNode('O');
  var n1 = graph.addNode('N');
  var n2 = graph.addNode('N');
  var n3 = graph.addNode('N');
  var n4 = graph.addNode('N');

	graph.addEdge(c1, h1, 1);
  graph.addEdge(c1, h2, 1);
  graph.addEdge(c1, h3, 1);
  graph.addEdge(c1, n1, 1);
  graph.addEdge(n1, c2, 1);
  graph.addEdge(n1, c5, 1);
  graph.addEdge(c2, o1, 2);
  graph.addEdge(c2, c4, 1);
  graph.addEdge(c4, n2,...