  var checkTimer = new Array();
  var FormCheck = new Array();

  FormCheck['nickname'] = 0;
  FormCheck['email'] = 0;
  FormCheck['pwd'] = 0;
  FormCheck['newsletter'] = 0;
  FormCheck['captcha'] = 0;
  
  function RegisterInit()
    {
    dojo.connect(dojo.byId('checknickname'),'onkeyup','checkFormData');    
    dojo.connect(dojo.byId('checknickname'),'onblur','checkFormData');    
    dojo.connect(dojo.byId('checknickname'),'onfocus','checkFormData');    
    dojo.connect(dojo.byId('checkemail'),'onkeyup','checkFormData');    
    dojo.connect(dojo.byId('checkemail'),'onblur','checkFormData');    
    dojo.connect(dojo.byId('checkemail'),'onfocus','checkFormData');    
    dojo.connect(dojo.byId('checkpwd'),'onkeyup','checkFormData');    
    dojo.connect(dojo.byId('checkpwd'),'onblur','checkFormData');    
    dojo.connect(dojo.byId('checkpwd'),'onfocus','checkFormData');    
    dojo.connect(dojo.byId('checkcaptcha'),'onkeyup','checkFormData');    
    dojo.connect(dojo.byId('checkcaptcha'),'onblur','checkFormData');    
    dojo.connect(dojo.byId('checkcaptcha'),'onfocus','checkFormData');    
    }
    
  
  function checkFormData(e)
    {
    if (e.target.value != '')
      {  
      var element = e.target.id.match(/check(.*)/);
      //console.log(element[1]);
      //console.log('Test');
  
      if (checkTimer[element[1]])
        {
        window.clearTimeout(checkTimer[element[1]]);
        checkTimer[element[1]] = 0;
        }
  
      var ccode = dojo.byId('regccode').value;
      
      if (e.target.id == 'checknickname')
        {
        checkTimer['nickname'] = window.setTimeout("dojo.xhrGet({url: '/ajax/formcheck.php?mode=nickname&nickname=" + e.target.value + "&ccode=" + ccode + "', load: CheckCallback, error: AjaxError})", 1000);
        }
  
      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 + "&ccode=" + ccode + "', load: CheckCallback, error: AjaxError})", 1000);
        }
  
      if (e.target.id == 'checkpwd')
        {
        pwd1 = dojo.byId('regpwd1').value;
        checkTimer['pwd'] = window.setTimeout("dojo.xhrGet({url: '/ajax/formcheck.php?mode=pwd&pwd1=" + pwd1 + "&pwd2=" + e.target.value + "&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;
      }
    
    var input   = dojo.byId('check' + results[0]);
    var tooltip = dijit.byId('check' + results[0] + '_tooltip');
        
    //tooltip.style.display = 'block';
    //tooltip.attr('label', results[1]);
    dijit.hideTooltip(input);
    dijit.showTooltip(results[1], input);
    
    /*
    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;
    
    ButtonStatus();
    }

  function ClickNewsletter()
    {
    var nl = dojo.byId('confirmnl');
    
    if (nl.checked == true)
      FormCheck['newsletter'] = 1;
    else
      FormCheck['newsletter'] = 0;
      
    ButtonStatus();
    }
  
  function ButtonStatus()
    {
    if (FormCheck['nickname'] && FormCheck['email'] && FormCheck['pwd'] && FormCheck['captcha'] && FormCheck['newsletter'])
      {
      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';      
      }    
    }

  dojo.addOnLoad(RegisterInit);
