  var checkTimer = new Array();
  var FormCheck = new Array();

  FormCheck['name'] = 0;
  FormCheck['topic'] = 0;
  FormCheck['message'] = 0;

  FormCheck['email'] = 0;
  FormCheck['captcha'] = 0;
  
  function ContactInit()
    {
    dojo.connect(dojo.byId('checkname'),'onblur','checkFormData');    
    dojo.connect(dojo.byId('checktopic'),'onchange','checkFormData');    
    dojo.connect(dojo.byId('checkmessage'),'onblur','checkFormData');    
    dojo.connect(dojo.byId('checkmessage'),'onkeyup','checkFormData');    

    dojo.connect(dojo.byId('checkemail'),'onkeyup','checkFormData');    
    dojo.connect(dojo.byId('checkemail'),'onblur','checkFormData');    
    dojo.connect(dojo.byId('checkcaptcha'),'onkeyup','checkFormData');    
    dojo.connect(dojo.byId('checkcaptcha'),'onblur','checkFormData');    
    }
    
  
  function checkFormFields()
    {
    var name = dojo.byId('checkname').value;
    var topic = dojo.byId('checktopic').value;
    var message = dojo.byId('checkmessage').value;
    var loggedin = dojo.byId('loggedin').value;

    if (loggedin > 0)
      {
      FormCheck['email'] = 1;
      FormCheck['captcha'] = 1;
      }

    if (name.length > 2)
      FormCheck['name'] = 1;
    else
      FormCheck['name'] = 0;

    if (topic > 0)
      FormCheck['topic'] = 1;
    else
      FormCheck['topic'] = 0;

    if (message.length > 0)
      FormCheck['message'] = 1;
    else
      FormCheck['message'] = 0;

    showButton();
    }
  
  function showButton()
    {
    if (FormCheck['name'] && FormCheck['topic'] && FormCheck['message'] && FormCheck['email'] && FormCheck['captcha'])
      {
      dojo.byId('regButton').style.display = 'block';
      dojo.byId('regNotice').style.display = 'none';
      }
    else
      {
      dojo.byId('regButton').style.display = 'none';
      dojo.byId('regNotice').style.display = 'block';      
      }
    }
  
  function checkFormData(e)
    {
    checkFormFields();
    
    var element = e.target.id.match(/check(.*)/);
    //console.log(element[1]);

    if (checkTimer[element[1]])
      {
      window.clearTimeout(checkTimer[element[1]]);
      checkTimer[element[1]] = 0;
      }

    var ccode = dojo.byId('regccode').value;
    
    if (e.target.id == 'checkemail')
      {
      email1 = dojo.byId('regemail1').value;
      checkTimer['email'] = window.setTimeout("dojo.xhrGet({url: '/ajax/formcheck.php?mode=email&email1=" + email1 + "&email2=" + e.target.value + "&nousedchk=1&ccode=" + ccode + "', load: CheckCallback, error: AjaxError})", 1000);
      }

    if (e.target.id == 'checkcaptcha')
      {
      checkTimer['captcha'] = window.setTimeout("dojo.xhrGet({url: '/ajax/formcheck.php?mode=captcha&captcha=" + e.target.value + "&ccode=" + ccode + "', load: CheckCallback, error: AjaxError})", 1000);
      }
    }

  function AjaxError() {}

  function CheckCallback(data, ioArgs)
    {
    var results  = data.split(';');

    if (checkTimer[results[0]])
      {
      window.clearTimeout(checkTimer[results[0]]);
      checkTimer[results[0]] = 0;
      }
    
    dijit.byId('check' + results[0] + '_tooltip').style.display = 'block';
    dijit.byId('check' + results[0] + '_tooltip').attr('label', results[1]);
    dijit.byId('check' + results[0] + '_tooltip').close();
    dijit.byId('check' + results[0] + '_tooltip').open();

    if (results[2] == 1)    
      dojo.query(".form" + results[0]).style({"color": "#009900"});
    else if (results[2] == 2)    
      dojo.query(".form" + results[0]).style({"color": "#999900"});
    else
      dojo.query(".form" + results[0]).style({"color": "#990000"});
    
    if (results[2] == 1)
      FormCheck[results[0]] = 1;
    else
      FormCheck[results[0]] = 0;
    
    showButton();
    }

  dojo.addOnLoad(ContactInit);
