var input = document.getElementById("input");
var dom = document.getElementById('dom').getElementsByTagName("ul")[0];
var viewer = document.getElementById('viewer'); // iframe
var docTitle = document.getElementById('title'); // h2
var innerhtml = document.getElementById('innerhtml').getElementsByTagName('samp')[0];
var log = new MessageLog(document.getElementById("log"));

var cType = document.getElementById("type");
var state   = null // document.getElementById("state");
var cb = new Clipboard(input, state);

var controller = new LiveDOM(input, viewer, docTitle, innerhtml, dom, log);

var template = {
	img: '<img src="image">',
	embed: '<embed src="flash">',
	scriptsrc: '<script src="script"></script>',
	script: '<script>\nw("internal script")\n</script>',
	link: '<link rel="stylesheet" href=\"style">',
	style: '<style>\np { color: green, }\n</style>',
	iframe: '<iframe src=\"document">FAIL</iframe>',
	table: '<table>\n  <tr>\n    <td></td>\n    <td></td>\n  </tr>\n</table>'
};

function insert(markup) {
	input.value += '\n' + markup + '\n';
	controller.update();
}

var delayedUpdater = 0;
function updateInput(event) {
  if (delayedUpdater) {
    clearTimeout(delayedUpdater);
    delayedUpdater = 0;
  }
  delayedUpdater = setTimeout(controller.update, 100);
}

window.onload = function() {
	controller.update();
}
