    var RegFormWatcher = Class.create();
    var RegFormError = '';
    var langText = new LangText();

    RegFormWatcher.prototype = {
        initialize: function ( formName ) {
            this.form = $(formName);
            this.form.onsubmit = this.checkInputs.bindAsEventListener(this);
        },

        showResponse: function( request ) {
            RegFormError = request.responseText == '' ? new Array() : request.responseText.split( ';' )
        },

        checkInputs: function ( e ) {
            try{
            var origcontent = $('divRegistrationButtons').innerHTML;//$('button_container').innerHTML;
            //$('divRegistrationButtons').innerHTML = 'Ellenőrzés...';
            $('divRegistrationButtons').innerHTML =langText.divRegistrationButtons;
            new Ajax.Request( this.form.action, { parameters:Form.serialize( this.form )+'&testrun=1', asynchronous:false, onSuccess:this.showResponse } )
            $('err_captcha').setStyle({display:'none'});
            $('err_password').setStyle({display:'none'});
            $('err_password').innerHTML = '';
            $('err_email').setStyle({display:'none'});
            $('err_email').innerHTML = '';
            if ( RegFormError.indexOf('captcha') != -1 ) {
                $('err_captcha').setStyle({display:'block'});
                //$('err_captcha').innerHTML = 'Nem egyezik a képen látható szöveg az általad beírttal.';
                $('err_captcha').innerHTML = langText.err_captcha;
            }
            if ( $('err_bloghu_nick') ) {
                $('err_bloghu_nick').setStyle({display:'none'});
                if ( RegFormError.indexOf('bloghu_usednick') != -1 ) {
                    $('err_bloghu_nick').setStyle({display:'block'});
                    $('err_bloghu_nick').innerHTML = langText.err_bloghu_nick;
                }
                if ( RegFormError.indexOf('bloghu_emptynick') != -1 ) {
                    $('err_bloghu_nick').setStyle({display:'block'});
                    $('err_bloghu_nick').innerHTML = langText.err_bloghu_emptynick;
                }
            }
            if ( $('err_bloghu_email') ) {
                $('err_bloghu_email').setStyle({display:'none'});
                if ( RegFormError.indexOf('bloghu_formaterror_email') != -1 ) {
                    $('err_bloghu_email').setStyle({display:'block'});
                    $('err_bloghu_email').innerHTML = langText.err_bloghu_email;
                }
            }
            if ( $('err_indafon_nick') ) {
                $('err_indafon_nick').setStyle({display:'block'});
                if ( RegFormError.indexOf('indafon_usednick') != -1 ) {
                    //$('err_indafon_nick').className = 'error_msg';
                    //$('err_indafon_nick').innerHTML = 'Ez a nick már foglalt.';
                    $('err_indafon_nick').innerHTML =langText.err_indafon_usednick;
                }
                if ( RegFormError.indexOf('indafon_invalidnick') != -1 ) {
                    //$('err_indafon_nick').className = 'error_msg';
                    //$('err_indafon_nick').innerHTML = 'Hibás nick.';
                    $('err_indafon_nick').innerHTML =langText.err_indafon_invalidnick;

                }
                if ( RegFormError.indexOf('indafon_system') != -1 || RegFormError.indexOf('indafon_badparams') != -1 ) {
                    //$('err_indafon_nick').className = 'error_msg';
                    //$('err_indafon_nick').innerHTML = 'Rendszerhiba, kérjük próbálja meg később!';
                    $('err_indafon_nick').innerHTML =langText.err_indafon_badparams;
                }
            }
            if ( $('err_forum_nick') ) {
                $('err_forum_nick').setStyle({display:'none'});
                if ( RegFormError.indexOf('forum_usednick') != -1 ) {
                    $('err_forum_nick').setStyle({display:'block'});
                    $('err_forum_nick').innerHTML =langText.err_forum_usednick;
                }
                if ( RegFormError.indexOf('forum_invalidnick') != -1 || RegFormError.indexOf('forum_emptynick') != -1 ) {
                    $('err_forum_nick').setStyle({display:'block'});
                    $('err_forum_nick').innerHTML =langText.err_forum_invalidnick;
                }
                if ( RegFormError.indexOf('forum_toolong') != -1 ) {
                    $('err_forum_nick').setStyle({display:'block'});
                    $('err_forum_nick').innerHTML =langText.err_forum_invalidnick;
                }
                if ( RegFormError.indexOf('forum_system') != -1 || RegFormError.indexOf('forum_badparams') != -1 ) {
                    $('err_forum_nick').setStyle({display:'block'});
                    $('err_forum_nick').innerHTML =langText.err_forum_badparams;
                }
            }
            if ( RegFormError.indexOf('ctravel_usednick') != -1 ) {
                $('err_email').innerHTML =langText.err_email;
            }
            if ( RegFormError.indexOf('ctravel_formaterror_email') != -1 ) {
                $('err_email').innerHTML =langText.ctravel_formaterror_email;
            }
            if ( $('err_ctravel_name') ) {
                $('err_ctravel_name').setStyle({display:'none'});
                if ( RegFormError.indexOf('ctravel_missing_name') != -1 ) {
                    $('err_ctravel_name').setStyle({display:'block'});
                    $('err_ctravel_name').innerHTML =langText.ctravel_missing_name;
                }
            }
            if ( $('err_ctravel_irszam') ) {
                $('err_ctravel_irszam').setStyle({display:'none'});
                if ( RegFormError.indexOf('ctravel_missing_irszam') != -1 ) {
                    $('err_ctravel_irszam').setStyle({display:'block'});
                    $('err_ctravel_irszam').innerHTML =langText.ctravel_missing_irszam;
                }
                else if ( RegFormError.indexOf('ctravel_formaterror_irszam') != -1 ) {
                    $('err_ctravel_irszam').setStyle({display:'block'});
                    $('err_ctravel_irszam').innerHTML =langText.ctravel_formaterror_irszam;
                }
            }
            if ( $('err_ctravel_dob') ) {
                $('err_ctravel_dob').setStyle({display:'none'});
                if ( RegFormError.indexOf('ctravel_missing_dob') != -1 ) {
                    $('err_ctravel_dob').setStyle({display:'block'});
                    $('err_ctravel_dob').innerHTML =langText.ctravel_missing_dob;
                }
                else if ( RegFormError.indexOf('ctravel_formaterror_dob') != -1 ) {
                    $('err_ctravel_dob').setStyle({display:'block'});
                    $('err_ctravel_dob').innerHTML =langText.ctravel_formaterror_dob;
                }
            }
            if ( $('err_ctravel_sex') ) {
                $('err_ctravel_sex').setStyle({display:'none'});
                if ( RegFormError.indexOf('ctravel_missing_sex') != -1 ) {
                    $('err_ctravel_sex').setStyle({display:'block'});
                    $('err_ctravel_sex').innerHTML =langText.ctravel_missing_sex;
                }
            }
            if ( $('err_videobomb_nick') ) {
                $('err_videobomb_nick').setStyle({display:'block'});
                if ( RegFormError.indexOf('videobomb_emptynick') != -1 ) {
                    //$('err_videobomb_nick').className = 'error_msg';
                    //$('err_videobomb_nick').innerHTML = 'A nick megadása kötelező!';
                    $('err_videobomb_nick').innerHTML =langText.videobomb_emptynick;
                }
                if ( RegFormError.indexOf('videobomb_formaterror_nick') != -1 ) {
                    //$('err_videobomb_nick').className = 'error_msg';
                    //$('err_videobomb_nick').innerHTML = 'A nick csak ékezet nélküli (kis és nagy) betűket és számjegyeket tartalmazhat!';
                    $('err_videobomb_nick').innerHTML =langText.videobomb_formaterror_nick;
                }
                if ( RegFormError.indexOf('videobomb_toolong_nick16') != -1 ) {
                    //$('err_videobomb_nick').className = 'error_msg';
                    //$('err_videobomb_nick').innerHTML = 'A nick hossza maximum 16 karakter lehet!';
                    $('err_videobomb_nick').innerHTML =langText.videobomb_toolong_nick16;
                }
                if ( RegFormError.indexOf('videobomb_usednick') != -1 ) {
                    //$('err_videobomb_nick').className = 'error_msg';
                    //$('err_videobomb_nick').innerHTML = 'A nick már foglalt!';
                    $('err_videobomb_nick').innerHTML =langText.videobomb_usednick;
                }
            }
            if ( $('err_indavideo_nick') ) {
                $('err_indavideo_nick').setStyle({display:'block'});
                if ( RegFormError.indexOf('indavideo_emptynick') != -1 ) {
                    //$('err_indavideo_nick').className = 'error_msg';
                    //$('err_indavideo_nick').innerHTML = 'A nick megadása kötelező!';
                    $('err_indavideo_nick').innerHTML =langText.videobomb_emptynick;
                }
                if ( RegFormError.indexOf('indavideo_formaterror_nick') != -1 ) {
                    //$('err_indavideo_nick').className = 'error_msg';
                    //$('err_indavideo_nick').innerHTML = 'A nick csak ékezet nélküli (kis és nagy) betűket és számjegyeket tartalmazhat!';
                    $('err_indavideo_nick').innerHTML =langText.videobomb_formaterror_nick;
                }
                if ( RegFormError.indexOf('indavideo_toolong_nick16') != -1 ) {
                    //$('err_indavideo_nick').className = 'error_msg';
                    //$('err_indavideo_nick').innerHTML = 'A nick hossza maximum 16 karakter lehet!';
                    $('err_indavideo_nick').innerHTML =langText.videobomb_toolong_nick16;
                }
                if ( RegFormError.indexOf('indavideo_usednick') != -1 ) {
                    //$('err_indavideo_nick').className = 'error_msg';
                    //$('err_indavideo_nick').innerHTML = 'A nick már foglalt!';
                    $('err_indavideo_nick').innerHTML =langText.videobomb_usednick;
                }
            }
            /* Ongo eleje */
            if ( $('err_ongo_nick') ) {
                $('err_ongo_nick').setStyle({display:'none'});
                if ( RegFormError.indexOf('ongo_emptynick') != -1 ) {
                    $('err_ongo_nick').innerHTML = 'Válassz egy legalább 4 karakteres felhasználónevet!';
                    $('err_ongo_nick').setStyle({display:'block'});
                }
                if ( RegFormError.indexOf('ongo_usednick') != -1 ) {
                    $('err_ongo_nick').innerHTML =langText.ongo_usednick;
                    $('err_ongo_nick').setStyle({display:'block'});
                }
                if ( RegFormError.indexOf('ongo_accented_characters') != -1 ) {
                    $('err_ongo_nick').innerHTML =langText.ongo_accented_characters;
                    $('err_ongo_nick').setStyle({display:'block'});
                }
                if ( RegFormError.indexOf('ongo_tooshort_nick4') != -1 ) {
                    $('err_ongo_nick').innerHTML = 'Válassz egy legalább 4 karakteres felhasználónevet!'
                    $('err_ongo_nick').setStyle({display:'block'});
                }
            }
            if ( $('err_ongo_fullname') ) {
                $('err_ongo_fullname').setStyle({display:'none'});
//                if ( RegFormError.indexOf('ongo_emptynick') != -1 ) {
//                    $('err_ongo_fullname').innerHTML =langText.err_ongo_fullname;
//                    $('err_ongo_fullname').setStyle({display:'block'});
//                }
                if ( RegFormError.indexOf('ongo_tooshort_name4') != -1 ) {
                    $('err_ongo_fullname').innerHTML =langText.ongo_tooshort_name4;
                    $('err_ongo_fullname').setStyle({display:'block'});
                }
            }
            if ( $('ongo_irszam') ) {
                $('ongo_irszam').setStyle({display:'none'});
                if ( RegFormError.indexOf('ongo_missing_irszam') != -1 ) {
                    $('ongo_irszam').innerHTML =langText.ongo_missing_irszam;
                    $('ongo_irszam').setStyle({display:'block'});
                }
                if ( RegFormError.indexOf('ongo_formaterror_irszam') != -1 ) {
                    $('ongo_irszam').innerHTML =langText.ongo_formaterror_irszam;
                    $('ongo_irszam').setStyle({display:'block'});
                }
            }
            if ( $('ongo_dob') ) {
                $('ongo_dob').setStyle({display:'none'});
                if ( RegFormError.indexOf('ongo_missing_dob') != -1 ) {
                    $('ongo_dob').innerHTML =langText.ongo_missing_dob;
                    $('ongo_dob').setStyle({display:'block'});
                }
                if ( RegFormError.indexOf('ongo_formaterror_dob') != -1 ) {
                    $('ongo_dob').innerHTML =langText.ongo_formaterror_dob;
                    $('ongo_dob').setStyle({display:'block'});
                }
            }
           if ( $('ongo_neme') ) {
                $('ongo_neme').setStyle({display:'none'});
                if ( RegFormError.indexOf('ongo_missing_sex') != -1 ) {
                    $('ongo_neme').innerHTML =langText.ongo_neme;
                    $('ongo_neme').setStyle({display:'block'});
                }
            }
            /* Ongo vege */
            
            /* IndaMail eleje */
            if ( $('indamail_lastname') ) {
                $('indamail_lastname').setStyle({display:'block'});
                $('indamail_lastname').innerHTML = '';
                if ( RegFormError.indexOf('vipmail_missing_vn') != -1 ) {
                    //$('indamail_lastname').className = 'error_msg';
                    $('indamail_lastname').innerHTML = 'A vezetéknév megadása kötelező!';
                }
            }
            
            if ( $('indamail_firstname') ) {
                $('indamail_firstname').setStyle({display:'block'});
                $('indamail_firstname').innerHTML = '';
                if ( RegFormError.indexOf('vipmail_missing_kn') != -1 ) {
                    //$('indamail_firstname').className = 'error_msg';
                    $('indamail_firstname').innerHTML = 'A keresztnév megadása kötelező!';
                }
            }
            
            if ( $('indamail_neme') ) {
                $('indamail_neme').setStyle({display:'block'});
                $('indamail_neme').innerHTML = '';
                if ( RegFormError.indexOf('vipmail_invalid_sex') != -1 ) {
                    //$('indamail_neme').className = 'error_msg';
                    $('indamail_neme').innerHTML = 'A nem megadása kötelező!';
                }
            }
            
            if ( $('indamail_irszam') ) {
                $('indamail_irszam').setStyle({display:'block'});
                $('indamail_irszam').innerHTML = '';
                if ( RegFormError.indexOf('vipmail_invalid_zip') != -1 ) {
                    //$('indamail_irszam').className = 'error_msg';
                    $('indamail_irszam').innerHTML = 'Nem adtál meg irányítószámot, vagy annak formátuma nem megfelelő!';
                }
            }
            
            if ( $('indamail_dob') ) {
                $('indamail_dob').setStyle({display:'block'});
                $('indamail_dob').innerHTML = '';
                if ( RegFormError.indexOf('vipmail_invalid_birthdate') != -1 ) {
                    //$('indamail_dob').className = 'error_msg';
                    $('indamail_dob').innerHTML = 'A születési évszám megadása kötelező!';
                }
            }
            /* IndaMail vege */

	    if ( $('indafoto_nick_error') ) {
                $('indafoto_nick_error').setStyle({display:'none'});
                if ( RegFormError.indexOf('indafoto_emptynick') != -1 ) {
                    //$('indafoto_nick_error').className = 'error_msg';
                    //$('indafoto_nick_error').innerHTML = 'A nick megadsa kötelező';
                    $('indafoto_nick_error').innerHTML =langText.indafoto_emptynick;
                    $('indafoto_nick_error').setStyle({display:'block'});
                }
                if ( RegFormError.indexOf('indafoto_tooshort_nick3') != -1 ) {
                    //$('indafoto_nick_error').className = 'error_msg';
                    //$('indafoto_nick_error').innerHTML = 'A nick mező legalább 3 legfeljebb 255 karakter hosszú lehet.';
                    $('indafoto_nick_error').innerHTML =langText.indafoto_tooshort_nick3;
                    $('indafoto_nick_error').setStyle({display:'block'});
                }
                if ( RegFormError.indexOf('indafoto_othernickerror') != -1 ) {
                    //$('indafoto_nick_error').className = 'error_msg';
                    //$('indafoto_nick_error').innerHTML = 'A nickkel valami ismeretlen gond van.';
                    $('indafoto_nick_error').innerHTML =langText.indafoto_othernickerror;
                    $('indafoto_nick_error').setStyle({display:'block'});
                }
                if ( RegFormError.indexOf('indafoto_usednick') != -1 ) {
                    //$('indafoto_nick_error').className = 'error_msg';
                    //$('indafoto_nick_error').innerHTML = 'A nick már foglalt!';
                    $('indafoto_nick_error').innerHTML =langText.indafoto_usednick;
                    $('indafoto_nick_error').setStyle({display:'block'});
                }
            }
            if ( $('indafoto_slug_error') ) {
                $('indafoto_slug_error').setStyle({display:'none'});
                if ( RegFormError.indexOf('indafoto_emptyslug') != -1 ) {
                    //$('indafoto_slug_error').className = 'error_msg';
                    //$('indafoto_slug_error').innerHTML = 'Az url név megadása kötelező';
                    $('indafoto_slug_error').innerHTML =langText.indafoto_emptyslug;
                    $('indafoto_slug_error').setStyle({display:'block'});
                }
                if ( RegFormError.indexOf('indafoto_tooshort_slug3') != -1 ) {
                    //$('indafoto_slug_error').className = 'error_msg';
                    //$('indafoto_slug_error').innerHTML = 'Az url név legalább 3 legfeljebb 255 karakter hosszú lehet.';
                    $('indafoto_slug_error').innerHTML =langText.indafoto_tooshort_slug3;
                    $('indafoto_slug_error').setStyle({display:'block'});
                }
                if ( RegFormError.indexOf('indafoto_otherslugerror') != -1 ) {
                    //$('indafoto_slug_error').className = 'error_msg';
                    //$('indafoto_slug_error').innerHTML = 'Ezzel az url névvel valami ismeretlen gond van.';
                    $('indafoto_slug_error').innerHTML =langText.indafoto_otherslugerror;
                    $('indafoto_slug_error').setStyle({display:'block'});
                }
                if ( RegFormError.indexOf('indafoto_slugexists_or_blacklisted') != -1 ) {
                    //$('indafoto_slug_error').className = 'error_msg';
                    //$('indafoto_slug_error').innerHTML = 'Ez az url név már foglalt!';
                    $('indafoto_slug_error').innerHTML =langText.indafoto_slugexists_or_blacklisted;
                    $('indafoto_slug_error').setStyle({display:'block'});
                }
                if ( RegFormError.indexOf('indafoto_formaterror_slug') != -1 ) {
                    //$('indafoto_slug_error').className = 'error_msg';
                    //$('indafoto_slug_error').innerHTML = 'Az url név csak ékezet nélküli karaktereket, számokat és aláhúzásjelet tartalmazhat.';
                    $('indafoto_slug_error').innerHTML =langText.indafoto_formaterror_slug;
                    $('indafoto_slug_error').setStyle({display:'block'});
                }
            }
            if ( $('err_indafoto_email') ) {
                $('err_indafoto_email').setStyle({display:'none'});
                if ( RegFormError.indexOf('indafoto_formaterror_email') != -1 ) {
                    $('err_indafoto_email').innerHTML = langText.indafoto_email;
                    $('err_indafoto_email').setStyle({display:'block'});
                }
            }
            if ( ( RegFormErrorText = RegFormError.indexOf('emptypasswd') ) != -1 || ( RegFormErrorText = RegFormError.indexOf('badpasswd') ) != -1 || ( RegFormErrorText = RegFormError.indexOf('shortpasswd') ) != -1 ) {
                    //$('err_password').className = 'error_msg';
                    $('err_password').setStyle({display:'block'});
                    passerrors = new Array();
                    passerrors['emptypasswd'] = 'Adj meg két egyező jelszót!';
                    passerrors['badpasswd'] = 'Nem egyezik a két jelszó.';
                    passerrors['shortpasswd'] = 'Túl rövid jelszó.';
                    $('err_password').innerHTML = ( RegFormError[ RegFormError ] == 'badpasswd' && ( $('passwd').value == '' || $('passwd2').value == '' ) ) ? passerrors['emptypasswd'] : passerrors[ RegFormError[ RegFormErrorText ] ];
            }
            if ( ( RegFormErrorText = RegFormError.indexOf('invalidemail') ) != -1 ||
                 ( RegFormErrorText = RegFormError.indexOf('emptynick') ) != -1 ||
                 ( RegFormErrorText = RegFormError.indexOf('shortemail6') ) != -1 ||
                 ( RegFormErrorText = RegFormError.indexOf('userexists') ) != -1  ||
                 ( RegFormErrorText = RegFormError.indexOf('indamaildomain') ) != -1  ||
                 ( RegFormErrorText = RegFormError.indexOf('abandoneddomain') ) != -1  ||
                 ( RegFormErrorText = RegFormError.indexOf('vipmail_toolong_nick32') ) != -1 ||
                 ( RegFormErrorText = RegFormError.indexOf('vipmail_emptynick') ) != -1 ||
                 ( RegFormErrorText = RegFormError.indexOf('vipmail_usednick') ) != -1 ||
                 ( RegFormErrorText = RegFormError.indexOf('vipmail_technicalerror_reserve') ) != -1 ||
                 ( RegFormErrorText = RegFormError.indexOf('vipmail_technicalerror_activate') ) != -1 
               )
            {
                    $('err_email').setStyle({display:'block'});
                    passerrors = new Array();
                    passerrors['emptynick'] = 'Adj meg egy érvényes emailcímet!';
                    passerrors['invalidemail'] = 'Érvénytelen emailcím!';
                    passerrors['shortemail6'] = 'Az emailcím @ előtti része legalább 6 karakter!';
                    passerrors['userexists'] = 'Ez az emailcím már foglalt. <a href="/belepes/?nick=' + escape( $('nick').value ) + '">Belépés</a>';
                    passerrors['indamaildomain'] = 'Ezt az email címet csak az Indamaillel együtt lehet regisztrálni, ehhez <a href="/regisztracio/indamail/">kattints ide</a>!';
                    passerrors['abandoneddomain'] = 'Ezzel a végződéssel nem lehet Indapass-t regisztrálni!';
                    passerrors['vipmail_toolong_nick32'] = 'Az emailcím hossza maximum 32 karakter lehet!';
                    passerrors['vipmail_emptynick'] = 'Az e-mail megadása kötelező!';
                    passerrors['vipmail_usednick'] = 'Ez az emailcím már foglalt!';
                    passerrors['vipmail_technicalerror_reserve'] = 'Technikai probléma a foglalásnál!';
                    passerrors['vipmail_technicalerror_activate'] = 'Technikai probléma az aktiválásnál!';
                    
                    $('err_email').innerHTML = passerrors[ RegFormError[ RegFormErrorText ] ];
            }
            $('divRegistrationButtons').innerHTML = origcontent;
            return RegFormError == 0;
            }catch(err){
                //alert(err+"asda");
                return false;
            }
        }
    };

    function initEvents()
    {
        if ( $('passwd') && $('passwd2') && $('nick') && $('frmPassportRegUniv') ) {
            var regformWatcher = new RegFormWatcher('frmPassportRegUniv');
        }
    }

    Event.observe( window, 'load', initEvents, false );

    function removeAccents(value) {
        var result = '';
        var validChars = new RegExp('[a-zA-Z]');
        var accents     = 'íéáűőúöüóÍÉÁŰŐÚÖÜÓ ';
        var replacement = 'ieauououoIEAUOUOUO_';
        for (var i = 0; i < value.length; i++) {
            var pos = accents.indexOf(value.charAt(i));
            if (pos > -1) {
                result = result + replacement.charAt(pos);
            }
            else if (value.charAt(i).match(validChars)) {
                result = result + value.charAt(i);
            }
        }
        return result;
    }


    function createSlug(slug) {
        var nick = document.getElementById('indafoto_nick');
        if (!nick) return;

        if (!nick.value || slug.value) return;

        slug.value = removeAccents(nick.value);
    }
