function registerClass(blockId, blockUrl){
   this.blockId = blockId;
   this.blockUrl = blockUrl;
   
   this.sendReg = function () {
      $.loading();
      $.post(  
         this.blockUrl+"?action=register",
         {
         formData: $('#regForm').serialize(),
         ajax: this.blockId
         },
         function(textData){
            try{
               var data = $.secureEvalJSON(textData);
            }catch(err){
               //ha nem dekodolhato a json(php hiba)
               $.facebox(textData);
               $.loading(false);
            }
            $('input').stop();
            //$('input').css('background','');
            $('.errorMsg').remove();
            $.n.removeAll();
            if(data.reloadCaptcha){
               reloadCaptcha()
            }
            if(data.register == 'done'){
               //$.n.success("Sikeres regisztráció! A visszaigazoló e-mailt elküldtük a/z "+data.email+" címre");
               $('#regBevezeto').animate({'height':'toggle'}, 'normal', function() {
                  $('#regDiv').animate({'height':'toggle'}, 'normal',function(){
                     $('#regDiv').html(data.registerDoneText);
                     $('#regDiv').animate({'height':'toggle'}, 'normal');
                  });
               });
            } else if(data.register == 'error'){
               $.n.error("Hiba történt a regisztráció során!");
            }else if (data.errors){
               handleErrors(data.errors);
            }else{
               $.n.error("Ismeretlen hiba történt");
               alert(textData);
            }
            $.loading(false);
         }
      );
   }
   
   
   this.sendEdit = function () {
      $.loading();
      $.post(  
         this.blockUrl+"?action=editData",
         {
         formData: $('#regForm').serialize(),
         ajax: this.blockId,
         uid: $("#uid").val(),
         hash: $("#hash").val()
         },
         function(textData){
            try{
               var data = $.secureEvalJSON(textData);
            }catch(err){
               //ha nem dekodolhato a json(php hiba)
               $.facebox(textData);
               $.loading(false);
            }
            $('input').stop();
            //$('input').css('background','');
            $('.errorMsg').remove();
            $.n.removeAll();
            if(data.reloadCaptcha){
               reloadCaptcha()
            }
            if(data.register == 'done'){
               //$.n.success("Sikeres regisztráció! A visszaigazoló e-mailt elküldtük a/z "+data.email+" címre");
               $('#regDiv').animate({'height':'toggle'}, 'normal',function(){
                  $('#regDiv').html(data.registerDoneText);
                  $('#regDiv').animate({'height':'toggle'}, 'normal');
                  });
            }else if(data.register == 'error'){
               $.n.error("Hiba történt a regisztráció során!");
            }else if (data.errors){
               handleErrors(data.errors);
            }else{
               $.n.error("Ismeretlen hiba történt");
               alert(textData);
            }
            $.loading(false);
         }
      );
   }
   
   function handleErrors (errors){
      
     var messages = '';
      
      jQuery.each(errors, function(field, msg){
         //messages += '<li>'+msg+'</li>';
        // $('#'+field+' input').animate({borderBottomColor: 'red'},1000);
         $('#'+field).after('<div style="font-size:12px;color:red; display: inline; margin-left: 5px;" class="errorMsg data">'+msg+'<\/div>');
         if ($("#otherFields #"+field).html() != null) { $('#otherFields').show(); }
      });
      //
      $(document.body).append("<div id='messages' title='Hiba!'>Kérem javítsa ki a megjelölt a mezőket!</div>");
      //alert(messages);
      $('#messages').dialog({
         buttons: { "Ok": function() { $(this).dialog("close"); } },
         beforeclose: function(event, ui) { $('#messages').remove(); }
      });
   }
   
   this.getCities = function (type){ 
      $("select#address_"+type+'_city').html('<option value="">Válasszon várost!</option>');
      $("select#address_"+type+'_city').attr('disabled','disabled');
      $("select#address_"+type+'_zip').html('<option value="">Válasszon várost!</option>');
      $("select#address_"+type+'_zip').attr('disabled','disabled');
      if($("select#address_"+type+'_country').val()){
         $.loading();
         $("select#address_"+type+'_country').attr('disabled','disabled');
         $.getJSON(this.blockUrl+"?action=getCountries",{id: $(this).val(), ajax: this.blockId,country_id: $("select#address_"+type+'_country').val()}, function(j){
            $("select#address_"+type+'_country').removeAttr('disabled');
            $("select#address_"+type+'_city').removeAttr('disabled');
            $("select#address_"+type+'_city').html('');
            var options = '<option>Válasszon!</option>';
            for (var i = 0; i < j.length; i++) {
               options += '<option value="' + j[i].aci_name + '">' + j[i].aci_name + '<\/option>';
            }
            $("select#address_"+type+'_city').html(options);
            $.loading(false);
         })
      }
   }
   this.getZips = function (type){
      $.loading();
      $("select#address_"+type+'_city').attr('disabled','disabled');
      $("select#address_"+type+'_zip').attr('disabled','disabled');
      $.getJSON(this.blockUrl+"?action=getZips",{id: $(this).val(), ajax: this.blockId,city_name: $("select#address_"+type+'_city').val()}, function(j){
         $("select#address_"+type+'_city').removeAttr('disabled');
         $("select#address_"+type+'_zip').removeAttr('disabled');

         if(j.length > 0){
            $("select#address_"+type+'_zip').html('');
            var options = '';
            for (var i = 0; i < j.length; i++) {
               options += '<option value="' + j[i].aci_id + '">' + j[i].aci_zip + '<\/option>';
            }
         }
         else{
            var options = '<option value="">Válasszon várost!</option>';
         }
         $("select#address_"+type+'_zip').html(options);
         $.loading(false);
      })
   }
   reloadCaptcha = function (){
      $('#captchaSpan').html('<img id="captchaImg" src="'+blockUrl+'?ajax='+blockId+'&action=getCaptcha&r='+Math.random()+'" \/>');
   }
   this.reloadCaptcha = function (){
      $('#captchaSpan').html('<img id="captchaImg" src="'+this.blockUrl+'?ajax='+this.blockId+'&action=getCaptcha&r='+Math.random()+'" \/>');
   }
}

