var registratieController=Class.create({initialize:function(){this.valuesOne={};
this.valuesTwo={};
this.errorDivOne=true;
this.errorDivTwo=true;
this.inputDiv=true;
this.email=false;
this.username=false;
this.select=false;
},getFormValues:function(formId){var i=$(formId).serialize(true);
return i;
},checkHTMLPattern:function(naam){var v=naam;
var p=new RegExp("\\W","i");
var result=p.match(v);
return result;
},submitStepOne:function(formId){
    $('returnErrorEmail').hide();
    $('returnErrorNickname').hide();
    $('returnErrorStepOne').hide();
    var i=this.getFormValues(formId);
    if (this.returnErrorOne(i)) { 
        if (this.email) {
            if (this.username) {
                if (i.wachtwoord==i.wachtwoordMbevestiging) {
                    this.submitRegistration(i);
                } else { 
                    $('returnErrorStepOne').update(NF.notificatieObj[87]).appear();
                }
            }
        }
    }
},checkOnderwijs:function(){if($F('opleiding')===null||$F('opleiding')=="Selecteer een opleiding"){return false;
}else{return true;
}},returnErrorOne:function(formObj){
    $('returnErrorStepOne').update();
    var i=Object.keys(formObj);
    var c=true;
    i.each(function(s){
        $(s).removeClassName("tb-error");
        if(($(s).value==="")) {
            //gus wants to only check the required fields...
            if (    (($(s).name) == "nickname") ||
                    (($(s).name) == "wachtwoord") ||
                    (($(s).name) == "wachtwoordMbevestiging") ||
                    (($(s).name) == "email"))
                                                                
                {
                $('returnErrorStepOne').insert("Vul je "+s.replace(/M/," ")+" in.<br/>");
                $(s).addClassName("tb-error");
                c=false;
            }
        }
    });
    if(!c){
        $('returnErrorStepOne').appear();
    }
    return(c);
},checkUserExcistence:function(name){var obj={};
if(this.checkHTMLPattern(name)){$('returnErrorNickname').update(NF.notificatieObj[117]).appear();
}else{var func=this.returnUsername.bind(this);
obj.newType='Gebruiker';
obj.newMethod='checkUsername';
obj.username=name;
ARRM.jsonRequest(obj,func);
}},checkEmail:function(email){var func=this.returnEmail.bind(this);
var obj={};
obj.newType='Gebruiker';
obj.newMethod='checkEmail';
obj.emailaddress=email;
ARRM.jsonRequest(obj,func);
},returnEmail:function(obj){$('returnErrorEmail').update().hide();
if(obj.emailCheck=="free"){this.email=true;
return true;
}else if(obj.emailCheck=="bezet"){$('returnErrorEmail').update(NF.notificatieObj[88]).appear();
return false;
}},returnUsername:function(obj){$('returnErrorNickname').update().hide();
if(obj.usernameCheck=="free"){this.username=true;
return true;
}else if(obj.usernameCheck=="bezet"){$('returnErrorNickname').update(NF.notificatieObj[89]).appear();
return false;
}},submitRegistration:function(formObj){var func=this.registerComplete.bind(this);
var obj={};
obj=formObj;
obj.newType='Gebruiker';
obj.newMethod='Valideren';
ARRM.jsonRequest(obj,func);
},registerComplete:function(){document.location.href="/geregistreerd/";
},redirect:function(){},getOnderwijsinstellingen:function(id){this.inputDiv='onderwijsinstelling';
$('opleiding').update().disable();
var func=this.insertOnderwijsHTML.bind(this);
var obj={};
obj.newType='Tag';
obj.newMethod='HaalRelatedTags';
obj.tag_id=id;
obj.type_id='2';
ARRM.jsonRequest(obj,func);
},getOpleiding:function(id){this.select=true;
this.inputDiv='opleiding';
var func=this.insertOnderwijsHTML.bind(this);
var obj={};
obj.newType='Tag';
obj.newMethod='HaalRelatedTags';
obj.tag_id=id;
obj.type_id='3';
ARRM.jsonRequest(obj,func);
},insertOnderwijsHTML:function(obj){var option=new Element("option").update("Selecteer een "+this.inputDiv+"");
$(this.inputDiv).update(option);
for(var x=0;
x<obj.parameters.length;
x++){option=new Element("option",{value:obj.parameters[x].id}).update(obj.parameters[x].naam);
$(this.inputDiv).insert(option);
}$(this.inputDiv).enable();
}});
Event.onDOMReady(function(){var arr=[86,87,88,89,117,125];
var Init=new initLoader(arr);
RC=new registratieController();
user=new User();
smaak=new Smaak();
});

