<html>
<head>
    <title>Test of AFB Echo</title>
    <script type="text/javascript" src="AFB.js"></script>
    <script type="text/javascript">
	var afb = new AFB("api", "hello");
	var ws;

	function onopen() {
		document.getElementById("main").style.visibility = "visible";
		document.getElementById("connected").innerHTML = "Connected to WebSocket server";
		ws.onevent("*", gotevent);
	}
	function onabort() {
		document.getElementById("main").style.visibility = "hidden";
		document.getElementById("connected").innerHTML = "Connected Closed";
	}
	function init() {
		ws = new afb.ws(onopen, onabort);
	}
	function replyok(obj) {
		document.getElementById("output").innerHTML = "OK: "+JSON.stringify(obj);
	}
	function replyerr(obj) {
		document.getElementById("output").innerHTML = "ERROR: "+JSON.stringify(obj);
	}
	function gotevent(obj) {
		document.getElementById("outevt").innerHTML = JSON.stringify(obj);
	}
	function sendform() {
		var api = document.getElementById("api").value;
		var verb = document.getElementById("verb").value;
		var message = document.getElementById("message").value;
		try {
			var data = JSON.parse(message);
			ws.call(api+"/"+verb, data).then(replyok, replyerr);
		} catch(e) {
			document.getElementById("output").innerHTML = "INVALID JSON ("+e+"): "+message;
		}
	}
    </script>

<body onload="init();">
    <h1>WebSocket Echo</h1>
    <div id="connected">Not Connected</div>
    <div id="main" style="visibility:hidden">
    <a href="monitoring/monitor.html" target="_blank">Monitoring</a><br/>
    <form>
      API: <input type="text" id="api" value="hello" size="80"/><br/>
      VERB: <input type="text" id="verb" value="ping" size="80"/><br/>
      DATA: <input type="text" id="message" value="" size="80" /><br/>
      <input type="button" value="send" onclick="sendform()"/><br/>
      Server says... <div id="output"></div>
      Events: <div id="outevt"></div>
    </form>
    </div>