// Initialisation stuff

function init()
{
  if (arguments.callee.done) return;
  arguments.callee.done = true;
  
  setUpForm();
  
  if (Punct)
  {
    var oSrc = $('frm_source');
    var oAddP = $('frm_addp');
    var oDest = $('frm_correct', 'output');
    
    Punct.init(oSrc,oDest,oAddP);
    
    addEvent(oSrc,'keyup',Punct.event);
    addEvent(oAddP,'change',Punct.event);
  }
  else
  {
    return false;
  }
}

function setUpForm()
{
  var oDel = $('punct');
  var oForm = oDel.parentNode;
  
  oForm.removeChild(oDel);
  
  var code = document.createElement('code');
  var label1 = document.createElement('label');
  var label2 = document.createElement('label');
  var label3 = document.createElement('label');
  var p1 = document.createElement('p');
  var p2 = document.createElement('p');
  var p3 = document.createElement('p');
  var br1 = document.createElement('br');
  var br2 = document.createElement('br');
  var textarea1 = document.createElement('textarea');
  var input = document.createElement('input');
  var textarea2 = document.createElement('textarea');
  var h1 = document.createElement('h1');
  var img = document.createElement('img');
  var h2 = document.createElement('h2');
  var div = document.createElement('div');
  var fieldset = document.createElement('fieldset');
  
  code.appendChild(document.createTextNode('<p>'));
  label1.appendChild(document.createTextNode('Source Text'));
  label1.setAttribute('for', 'frm_source');
  label2.appendChild(document.createTextNode('Add '));
  label2.appendChild(code);
  label2.appendChild(document.createTextNode(' tags'));
  label2.setAttribute('for', 'frm_addp');
  label3.appendChild(document.createTextNode('Corrected'));
  label3.setAttribute('for', 'frm_correct');
  textarea1.setAttribute('id', 'frm_source');
  textarea1.setAttribute('name', 'frm_source');
  textarea1.setAttribute('rows', '10');
  textarea1.setAttribute('cols', '60');
  input.setAttribute('id', 'frm_addp');
  input.setAttribute('name', 'frm_addp');
  input.setAttribute('type', 'checkbox');
  input.setAttribute('value', '1');
  input.setAttribute('checked', 'checked');
  textarea2.setAttribute('id', 'frm_correct');
  textarea2.setAttribute('name', 'frm_correct');
  textarea2.setAttribute('rows', '10');
  textarea2.setAttribute('cols', '60');
  div.setAttribute('id', 'output');
  p1.appendChild(label1);
  p1.appendChild(br1);
  p1.appendChild(textarea1);
  p2.appendChild(input);
  p2.appendChild(document.createTextNode(' '));
  p2.appendChild(label2);
  p3.appendChild(label3);
  p3.appendChild(br2);
  p3.appendChild(textarea2);
  img.setAttribute('src', 'i/punct.gif');
  img.setAttribute('alt', 'Punct!');
  h1.appendChild(img);
  h2.appendChild(document.createTextNode('Output'));
  fieldset.appendChild(h1);
  fieldset.appendChild(p1);
  fieldset.appendChild(p2);
  fieldset.appendChild(p3);
  fieldset.appendChild(h2);
  fieldset.appendChild(div);
  oForm.appendChild(fieldset);
}

if (addEvent && $)
{  
  if (window.domContentLoaded)
  {
    addEvent(window,'domContentLoaded',init);
  }
  else
  {
    /* for Internet Explorer */
    /*@cc_on @*/
    /*@if (@_win32)
       document.write("<script defer src='j/ie_onload.js'><"+"/script>");
    /*@end @*/
    
    window.onload = init;
  }
}