function init()
{
  getElementsByClass_1('regFormSubmit').disabled='disabled';
  var toValidate=getElementsByClass('.*regFormField_(.*)');
  for (var i in toValidate)
  {
    addEvent(toValidate[i],'blur',function (e)
      {
        var ez = (e.srcElement)?e.srcElement:this;
        validator[ez.className.match(/regFormField_(.*)/)[1]](ez);
      }
    );
  }
  validator.initOK();
  addEvent(getElementsByClass_1('regFormField_telefon'),'keyup',function(e)
    {
       var ez = (e.srcElement)?e.srcElement:this;
       ez.value=ez.value.replace(/[^0-9\-\+\(\)/ ]+/,'');
       validator.ok['telefon']=Boolean(ez.value.length);
       validator.checkok();
  });
  addEvent(getElementsByClass_1('regFormField_elfogadva'),'click',function(e)
    {
       var ez = (e.srcElement)?e.srcElement:this;
       validator[ez.className.match(/regFormField_(.*)/)[1]](ez);
       validator.checkok();
  });
  getElementsByClass_1('regFormField_elfogadva').checked=false;
}
var validator=
{   
  ok:
  {
    nev:false,
    felhasznalonev:false,
    pass:false,
    passagain:false,
    passegyezik:false,
    email:false,
    elfogadva:false,
    telefon:false,
    cim:false
  },
  initOK:function()
  {
    this.ok['felhasznalonev']=Boolean(getElementsByClass_1('regFormField_felhasznalonev').value.length),
    this.ok['email']=Boolean(getElementsByClass_1('regFormField_email').value.length)
    this.ok['telefon']=Boolean(getElementsByClass_1('regFormField_telefon').value.length)
    this.ok['cim']=Boolean(getElementsByClass_1('regFormField_cim').value.length)
    this.ok['nev']=Boolean(getElementsByClass_1('regFormField_nev').value.length)
  },
  checkok:function()
  {
    //var msg1=getElementsByClass_1('hiba_jelszonemegyezik')
    //var msg2=getElementsByClass_1('hiba_emailhibas')
    //alert(msg1.className+"\n"+msg2.className);

    //var m='';
    //for (var i in this.ok)
    //  m+=(i+':'+this.ok[i])+' \n';

    var submitGomb=getElementsByClass_1('regFormSubmit');
    for (var i in this.ok)
    {
     if (this.ok[i]==false)
     {
       submitGomb.disabled='disabled';
       return false;
     }
    }
    submitGomb.disabled=null;
    return true
  },
  checkpass:function()
  {
    var msg=getElementsByClass_1('hiba_jelszonemegyezik')
    if (this.ok['passegyezik'])
    {
      if (!String(msg.className).match(/.*dontshow/))
      {
        msg.className+=' dontshow';
      }
    }
    else if (this.ok['pass'] && this.ok['passagain'])
    {
      msg.className=String(msg.className).replace(/( dontshow)+/,'');
    }
  },
  felhasznalonev:function(ez)
  {
    this.ok['felhasznalonev']=Boolean(ez.value.length); 
    this.checkok();
  },
  nev:function(ez)
  {
    this.ok['nev']=Boolean(ez.value.length); 
    this.checkok();
  },
  cim:function(ez)
  {
    this.ok['cim']=Boolean(ez.value.length); 
    this.checkok();
  },
  telefon:function(ez)
  {
    this.ok['telefon']=Boolean(ez.value.length); 
    this.checkok();
  },
  pass:function(ez)
  {
    this.ok['pass']=Boolean(ez.value.length); 
    this.ok['passegyezik']=Boolean(ez.value==getElementsByClass_1('regFormField_passagain').value);
    this.checkpass();
    this.checkok();
  },
  passagain:function(ez)
  {
    this.ok['passagain']=Boolean(ez.value.length); 
    this.ok['passegyezik']=Boolean(ez.value==getElementsByClass_1('regFormField_pass').value);
    this.checkpass();
    this.checkok();
  },
  email:function(ez)
  {
    var msg=getElementsByClass_1('hiba_emailhibas')
    if (emailCheck(ez.value) ) 
    {
      this.ok['email']=true; 
      if (!String(msg.className).match(/.*dontshow/))
      {
        msg.className+=' dontshow';
      }
    }
    else
    {
      msg.className=String(msg.className).replace(/( dontshow)+/,'');
      this.ok['email']=false; 
    }
    this.checkok();
  },
  elfogadva:function(ez)
  {
    this.ok['elfogadva']=ez.checked; 
    this.checkok();
  }
}
function emailCheck(str){
    var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
        return filter.test(str);
}
addEvent(window,'load',function () {init();});

