<!--
 * weinre is available under *either* the terms of the modified BSD license *or* the
 * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
 * 
 * Copyright (c) 2010, 2011 IBM Corporation
-->

<html>
<head>
<meta name="viewport" content="user-scalable=no, width=device-width, height=device-height">
<title>weinre demo</title>
<link rel="stylesheet" href="weinre-demo.css">
<script src="/target/target-script-min.js"></script>

<script type="text/javascript">
    require("weinre/common/Weinre").showNotImplemented()
    require("weinre/target/Target").main()
</script>

<script src="weinre-demo.js"></script>
</head>

<body onload="onLoad()">
<input id="button-start-stuff" type="button" value="start stuff">

<h1>this is a green h1</h1>
<h1 class="blue">this is a blue h1</h1>
<h1 style="color:red">this is a red h1</h1>
<p>Some text, <i>some italic text</i>, and <b>some bold text</b>.

<div id="metrics">a div</div>

<input id="button-clear-output" type="button" value="clear output">
<div id="output"></div>
</body>

</html>
