<!DOCTYPE html>
<html>
<head>
  <title>Upload Form</title>
  <script>
    var intervalId;
    function onTick() {
      var label = document.getElementById('upload_label');
      label.innerHTML += '.';
    }

    function onUploadSubmit() {
      document.getElementById('upload_target').contentWindow.document.body.
          innerHTML = '';
      var label = document.getElementById('upload_label');
      label.innerHTML = 'Uploading "' + document.forms[0].upload.value + '"';
      label.style.display = '';
      intervalId = window.setInterval(onTick, 500);
      return true;
    }

    function onUploadDone() {
      var label = document.getElementById('upload_label');
      label.style.display = 'none';
      window.clearInterval(intervalId);
      return true;
    }
  </script>
</head>
<body>
<form action="/common/upload" method="post" name="upload_form"
      target="upload_target" enctype="multipart/form-data"
      onsubmit="onUploadSubmit();">
  <div style='height: 0; width: 0; overflow: hidden;'>
    <div><input id="upload" name="upload" type="file"/></div>
  </div>
  <label id="visible_label" for="upload">Upload</label>
  <div><input id="go" type="submit" value="Go!"/></div>
  <div id="upload_label" style="display:none"></div>
  <iframe src="" id="upload_target" name="upload_target"
          style="width:300px;height:200px">
  </iframe>
</form>
</body>
</html>
