(function($){$.fn.addOption=function(){var add=function(el,v,t,sO){var option=document.createElement("option");option.value=v,option.text=t;var o=el.options;var oL=o.length;if(!el.cache){el.cache={};for(var i=0;i<oL;i++){el.cache[o[i].value]=i}}if(typeof el.cache[v]=="undefined"){el.cache[v]=oL}el.options[el.cache[v]]=option;if(sO){option.selected=true}};var a=arguments;if(a.length==0){return this}var sO=true;var m=false;var items,v,t;if(typeof (a[0])=="object"){m=true;items=a[0]}if(a.length>=2){if(typeof (a[1])=="boolean"){sO=a[1]}else{if(typeof (a[2])=="boolean"){sO=a[2]}}if(!m){v=a[0];t=a[1]}}this.each(function(){if(this.nodeName.toLowerCase()!="select"){return }if(m){for(var item in items){add(this,item,items[item],sO)}}else{add(this,v,t,sO)}});return this};$.fn.ajaxAddOption=function(url,params,select,fn,args){if(typeof (url)!="string"){return this}if(typeof (params)!="object"){params={}}if(typeof (select)!="boolean"){select=true}this.each(function(){var el=this;$.getJSON(url,params,function(r){$(el).addOption(r,select);if(typeof fn=="function"){if(typeof args=="object"){fn.apply(el,args)}else{fn.call(el)}}})});return this};$.fn.removeOption=function(){var a=arguments;if(a.length==0){return this}var ta=typeof (a[0]);var v,index;if(ta=="string"||ta=="object"||ta=="function"){v=a[0];if(v.constructor==Array){var l=v.length;for(var i=0;i<l;i++){this.removeOption(v[i],a[1])}return this}}else{if(ta=="number"){index=a[0]}else{return this}}this.each(function(){if(this.nodeName.toLowerCase()!="select"){return }if(this.cache){this.cache=null}var remove=false;var o=this.options;if(!!v){var oL=o.length;for(var i=oL-1;i>=0;i--){if(v.constructor==RegExp){if(o[i].value.match(v)){remove=true}}else{if(o[i].value==v){remove=true}}if(remove&&a[1]===true){remove=o[i].selected}if(remove){o[i]=null}remove=false}}else{if(a[1]===true){remove=o[index].selected}else{remove=true}if(remove){this.remove(index)}}});return this};$.fn.sortOptions=function(ascending){var a=typeof (ascending)=="undefined"?true:!!ascending;this.each(function(){if(this.nodeName.toLowerCase()!="select"){return }var o=this.options;var oL=o.length;var sA=[];for(var i=0;i<oL;i++){sA[i]={v:o[i].value,t:o[i].text}}sA.sort(function(o1,o2){o1t=o1.t.toLowerCase(),o2t=o2.t.toLowerCase();if(o1t==o2t){return 0}if(a){return o1t<o2t?-1:1}else{return o1t>o2t?-1:1}});for(var i=0;i<oL;i++){o[i].text=sA[i].t;o[i].value=sA[i].v}});return this};$.fn.selectOptions=function(value,clear){var v=value;var vT=typeof (value);var c=clear||false;if(vT!="string"&&vT!="function"&&vT!="object"){return this}this.each(function(){if(this.nodeName.toLowerCase()!="select"){return this}var o=this.options;var oL=o.length;for(var i=0;i<oL;i++){if(v.constructor==RegExp){if(o[i].value.match(v)){o[i].selected=true}else{if(c){o[i].selected=false}}}else{if(o[i].value==v){o[i].selected=true}else{if(c){o[i].selected=false}}}}});return this};$.fn.copyOptions=function(to,which){var w=which||"selected";if($(to).size()==0){return this}this.each(function(){if(this.nodeName.toLowerCase()!="select"){return this}var o=this.options;var oL=o.length;for(var i=0;i<oL;i++){if(w=="all"||(w=="selected"&&o[i].selected)){$(to).addOption(o[i].value,o[i].text)}}});return this};$.fn.containsOption=function(value,fn){var found=false;var v=value;var vT=typeof (v);var fT=typeof (fn);if(vT!="string"&&vT!="function"&&vT!="object"){return fT=="function"?this:found}this.each(function(){if(this.nodeName.toLowerCase()!="select"){return this}if(found&&fT!="function"){return false}var o=this.options;var oL=o.length;for(var i=0;i<oL;i++){if(v.constructor==RegExp){if(o[i].value.match(v)){found=true;if(fT=="function"){fn.call(o[i],i)}}}else{if(o[i].value==v){found=true;if(fT=="function"){fn.call(o[i],i)}}}}});return fT=="function"?this:found};$.fn.selectedValues=function(){var v=[];this.find("option:selected").each(function(){v[v.length]=this.value});return v};$.fn.selectedOptions=function(){return this.find("option:selected")}})(jQuery);(function($){$.fn.kentekenAjax=function(options){$.fn.kentekenAjax.opts=$.extend({},$.fn.kentekenAjax.defaults,options);this.each(function(el){$(this).bind("keyup change",fetchKentekenData)});$(function(){if($("#gekendtrue").length==0||$("#gekendtrue").attr("checked")){hideInputFields();fetchKentekenData()}else{showKentekenInputFields()}})};$.fn.kentekenChecker=function(options){this.each(function(el){$(this).bind("keyup change click",function(){isValidKenteken($(this),false)});isValidKenteken($(this),false)})};$.fn.kentekenAjax.fetchKentekenData=fetchKentekenData;$.fn.kentekenAjax.resetKentekenInputFields=resetKentekenInputFields;$.fn.kentekenAjax.clearKentekenTextLabels=clearKentekenTextLabels;$.fn.kentekenAjax.getKentekenInputFields=getKentekenInputFields;$.fn.kentekenAjax.hideKentekenInputFieldsErrorMessages=hideKentekenInputFieldsErrorMessages;$.fn.kentekenAjax.hideInputFields=hideInputFields;$.fn.kentekenAjax.defaults={};$.fn.kentekenAjax.opts={};var notfirsttime=false;var oudKenteken="";function fetchKentekenData(){if($("#gekendtrue").length==0||$("#gekendtrue").attr("checked")){var kenteken=$("#kenteken");kenteken.val(kenteken.val().toUpperCase());var huidigKenteken=cleanKenteken(kenteken.val());if(oudKenteken!=huidigKenteken){oudKenteken=huidigKenteken;if(isValidKenteken(kenteken,false)){$("#kenteken_message_personenauto_error").hide();$("#kenteken_message_bestelauto_error").hide();$("#kenteken_message_timeout").hide();$("#kenteken_message_neozexception").hide();$("#kenteken_message").hide();$.ajax({url:"/ajax/kenteken/",dataType:"json",data:{kenteken:kenteken.val(),merk:$("#kentekenData_merk").val(),model:$("#kentekenData_model").val(),type:$("#kentekenData_type").val(),bouwjaar:$("#kentekenData_bouwjaar").val(),bouwmaand:$("#kentekenData_bouwmaand").val(),brandstofsoort:$("#kentekenData_brandstofsoort").val()},success:function(data){if(data.error){$("#kenteken_message").show();clearKentekenTextLabels();resetKentekenInputFields(false)}else{if(data.timeout){$("#kenteken_message_timeout").show();clearKentekenTextLabels();resetKentekenInputFields(false)}else{if(data.neozexception){$("#kenteken_message_neozexception").show();clearKentekenTextLabels();resetKentekenInputFields(false)}else{if($("#bestelauto").length!=0&&$("#bestelauto").attr("checked")&&data.kentekenData.voertuigsoort!="B"){$("#kenteken_message_personenauto_error").show();clearKentekenTextLabels();getKentekenInputFields().val("").removeClass("error").hide();getKentekenInputFields().each(function(i,el){var id="#"+el.id+"_text";var text=$(id);text.html("")})}else{if($("#personenauto").length!=0&&$("#personenauto").attr("checked")&&data.kentekenData.voertuigsoort!="P"){$("#kenteken_message_bestelauto_error").show();clearKentekenTextLabels();getKentekenInputFields().val("").removeClass("error").hide();getKentekenInputFields().each(function(i,el){var id="#"+el.id+"_text";var text=$(id);text.html("")})}else{updateKentekenTextLabels(data.kentekenData.bouwjaar,data.kentekenData.bouwmaand,data.kentekenData.brandstofsoort,data.kentekenData.merk,data.kentekenData.model,data.kentekenData.type,data.kentekenData.cataloguswaarde,data.kentekenData.motorvermogen,data.kentekenData.cataloguswaardeExclusief,data.kentekenData.cataloguswaardeExclusiefBestelauto);hideKentekenInputFieldsErrorMessages();getKentekenInputFields().hide()}}}}}},error:function(){$("#kenteken_message").show();resetKentekenInputFields(true)},beforeSend:function(){$("body").trigger("ajaxStartMessage",["kenteken gegevens"])},complete:function(){$("body").trigger("ajaxStopMessage",["kenteken gegevens"])}})}else{$("#kenteken_message_personenauto_error").hide();$("#kenteken_message_bestelauto_error").hide();$("#kenteken_message_timeout").hide();$("#kenteken_message_neozexception").hide();$("#kenteken_message").hide();clearKentekenTextLabels();resetKentekenInputFields(false)}}}}function removeErrorMessage(){$("span.error").hide();$("div.error").hide()}function hideKentekenInputFieldsErrorMessages(){getKentekenInputFields().each(function(i,el){var errorSpan=$("#"+el.id+"_errors");$(errorSpan).hide();$(el).removeClass("error")});$("#kenteken_message_personenauto_error").hide();$("#kenteken_message_bestelauto_error").hide()}function cleanKenteken(rawKenteken){return rawKenteken.replace(/[^a-zA-Z0-9]/g,"").toUpperCase()}function isValidKenteken(kenteken,alwaysMarkAsError){var kentekenCleanedUp=cleanKenteken(kenteken.val());var regexps=[new RegExp("^([A-Z]{2})([0-9]{2})([0-9]{2})$"),new RegExp("^([0-9]{2})([A-Z]{2})([0-9]{2})$"),new RegExp("^([A-Z]{2})([0-9]{2})([A-Z]{2})$"),new RegExp("^([A-Z]{2})([A-Z]{2})([0-9]{2})$"),new RegExp("^([0-9]{2})([A-Z]{3})([0-9]{1})$"),new RegExp("^([0-9]{1})([A-Z]{3})([0-9]{2})$"),new RegExp("^([0-9]{2})([0-9]{2})([A-Z]{2})$"),new RegExp("^([0-9]{2})([A-Z]{2})([A-Z]{2})$"),new RegExp("^([A-Z]{2})([0-9]{3})([A-Z]{1})$"),new RegExp("^([A-Z]{1})([0-9]{3})([A-Z]{2})$")];for(i=0;i<regexps.length;i++){if(regexps[i].test(kentekenCleanedUp)){kenteken.val(kentekenCleanedUp.replace(regexps[i],"$1-$2-$3"));kenteken.removeClass("error");return true}}if(kenteken.val().length==0&&!alwaysMarkAsError){kenteken.removeClass("error")}else{if(kentekenCleanedUp.length>=6||alwaysMarkAsError){kenteken.addClass("error")}}return false}function getKentekenInputFields(){var fields="#kentekenData_bouwjaar,#kentekenData_bouwmaand,#kentekenData_merk,#kentekenData_model,#kentekenData_type";if(getVoertuigsoortcode()!="150"){fields+=",#kentekenData_brandstofsoort"}return $(fields)}function clearKentekenTextLabels(){getKentekenInputFields().val("").removeClass("error").hide();getKentekenInputFields().each(function(i,el){var id="#"+el.id+"_text";var text=$(id);text.html("")});showKentekenInputFields()}function clearKentekenTextLabels(){updateKentekenTextLabels("","","","","","","","","","")}function updateKentekenTextLabels(bouwjaar,bouwmaand,brandstofsoort,merk,model,type,cataloguswaarde,motorvermogen,cataloguswaardeExclusief,cataloguswaardeExclusiefBestelauto){updateText("kentekenData_bouwjaar",bouwjaar);updateText("kentekenData_bouwmaand",bouwmaand);updateText("kentekenData_brandstofsoort",brandstofsoort);updateText("kentekenData_merk",merk);updateText("kentekenData_model",model);updateText("kentekenData_type",type);updateText("kentekenData_motorvermogen",motorvermogen);if($("#kentekenData_cataloguswaarde").val()==""){if($("#taxReductibleYes").length==0){$("#kentekenData_cataloguswaarde").val(cataloguswaarde)}else{if($("#taxReductibleYes").attr("checked")){if($("#bestelauto").length!=0&&$("#bestelauto").attr("checked")){$("#kentekenData_cataloguswaarde").val(cataloguswaardeExclusiefBestelauto)}else{$("#kentekenData_cataloguswaarde").val(cataloguswaardeExclusief)}}else{$("#kentekenData_cataloguswaarde").val(cataloguswaarde)}}}$(".kenteken_text").show()}function updateText(theID,value,addEuro){var key="#"+theID;$(key).val(value);if(addEuro){$(key+"_text").html("&euro; "+value)}else{$(key+"_text").html(value)}}function resetKentekenInputFields(clearValue){if(clearValue){$("#kenteken").val("");getKentekenInputFields().removeClass("error").val("").hide()}$("#kentekenData_cataloguswaarde").removeClass("error").val("");$("#kentekenData_cataloguswaarde_errors").hide();showKentekenInputFields()}function showKentekenInputFields(){$(".kenteken_text").hide();if($("#gekendfalse").length==0||$("#gekendfalse").attr("checked")){var bouwjaar=$("#kentekenData_bouwjaar").val();var bouwmaand=$("#kentekenData_bouwmaand").val();var brandstofsoort=$("#kentekenData_brandstofsoort").val();var merk=$("#kentekenData_merk").val();var model=$("#kentekenData_model").val();var type=$("#kentekenData_type").val();var cataloguswaarde=$("#kentekenData_cataloguswaarde").val();showInputField("bouwjaar",bouwjaar,4,"XS");$("#kentekenData_bouwjaar").change(fillMerkDropdown);if($("#verzekering").length!=0&&($("#verzekering").val()=="Kampeerautoverzekering"||$("#verzekering").val()=="Oldtimerverzekering")){showInputField("bouwmaand",bouwmaand);showInputField("brandstofsoort",brandstofsoort);showInputField("merk",merk);showInputField("model",model);showInputField("type",type);showInputField("cataloguswaarde",cataloguswaarde)}else{showSelectField("bouwmaand",bouwmaand,["Januari","Februari","Maart","April","Mei","Juni","Juli","Augustus","September","Oktober","November","December"]);$("#kentekenData_bouwmaand").change(fillMerkDropdown);showSelectField("brandstofsoort",brandstofsoort,["Diesel","Benzine","Electrisch","Hybride Benzine","Hybride Diesel"]);$("#kentekenData_brandstofsoort").change(fillMerkDropdown);showSelectField("merk",merk);$("#kentekenData_merk").change(fillModelDropdown);showSelectField("model",model);$("#kentekenData_model").change(fillTypeDropdown);showSelectField("type",type);$("#kentekenData_type").change(fillCatalogusDropdown);disableMerk();disableModel();disableType();fillMerkDropdown(true)}}else{showHiddenField("bouwjaar","bouwmaand","brandstofsoort","merk","model","type");disableCataloguswaarde();$(".kenteken_text").show()}}function errorField(field){return $("#kentekenData_"+field+"_errors").length>0}function showInputField(field,value,maxlength,cssClass){var theID="kentekenData_"+field;var theName="kentekenData."+field;var key="#"+theID;var parent=$(key).parent();$(key).remove();parent.prepend('<input type="text" name="'+theName+'" id="'+theID+'" class="input '+(cssClass?cssClass:"")+'"'+(maxlength?' maxlength="'+maxlength+'" size="'+maxlength+'"':"")+"/>");if(errorField(field)){$(key).addClass("error")}updateText(theID,value)}function showSelectField(field,value,lijst){var theID="kentekenData_"+field;var theName="kentekenData."+field;var key="#"+theID;var parent=$(key).parent();$(key).remove();parent.prepend('<select name="'+theName+'" id="'+theID+'"/>');$(key).addOption("","-- Gelieve een waarde te kiezen --");if(lijst!=null){loadDropdownData(theID,lijst)}if(errorField(field)){$(key).addClass("error")}updateText(theID,value)}function showHiddenField(){for(var i=0;i<arguments.length;i++){var field=arguments[i];var theID="kentekenData_"+field;var theName="kentekenData."+field;var key="#"+theID;var parent=$(key).parent();$(key).remove();parent.prepend('<input type="hidden" name="'+theName+'" id="'+theID+'"/>')}}function disableDropdown(theID){$("#"+theID).attr("disabled","true")}function disableMerk(){disableDropdown("kentekenData_merk")}function disableModel(){disableDropdown("kentekenData_model")}function disableType(){disableDropdown("kentekenData_type")}function disableCataloguswaarde(){$("#kentekenData_cataloguswaarde").val("");$("#kentekenData_cataloguswaarde_text,#kentekenData_cataloguswaarde_error").hide()}function removeUnnecessaryOptions(selectBoxID){var selectBox=$("#"+selectBoxID);var theSize=selectBox.find("option").size();for(i=theSize;i>0;i--){selectBox.removeOption(i)}}function fillMerkDropdown(nested){removeUnnecessaryOptions("kentekenData_model");removeUnnecessaryOptions("kentekenData_type");disableModel();disableType();disableCataloguswaarde();if(isFilledIn("bouwjaar","bouwmaand","brandstofsoort")){jsonCall("/ajax/kenteken/merklijst/",function(data){loadDropdownDataMerk("kentekenData_merk",data.merklijst);if(nested){setDDValue("kentekenData_merk");fillModelDropdown(true)}},"merken")}else{removeUnnecessaryOptions("kentekenData_merk");disableMerk()}}function fillModelDropdown(nested){removeUnnecessaryOptions("kentekenData_type");disableType();disableCataloguswaarde();if(isFilledIn("bouwjaar","bouwmaand","brandstofsoort","merk")){jsonCall("/ajax/kenteken/modellijst/",function(data){loadDropdownData("kentekenData_model",data.modellijst);if(nested){setDDValue("kentekenData_model");fillTypeDropdown(true)}},"modellen")}else{removeUnnecessaryOptions("kentekenData_model");disableModel()}}function fillTypeDropdown(nested){disableCataloguswaarde();if(isFilledIn("bouwjaar","bouwmaand","brandstofsoort","merk","model")){jsonCall("/ajax/kenteken/typelijst/",function(data){loadDropdownData("kentekenData_type",data.typelijst);if(nested){setDDValue("kentekenData_type");nestedFillCatalogusDropdown()}},"types")}else{removeUnnecessaryOptions("kentekenData_type");disableType()}}function fillCatalogusDropdown(){if(isFilledIn("bouwjaar","bouwmaand","brandstofsoort","merk","model","type")){jsonCall("/ajax/kenteken/cataloguswaarde/",showCataloguswaarde,"oorspronkelijke nieuwwaarde")}else{disableCataloguswaarde()}}function nestedFillCatalogusDropdown(){fillCatalogusDropdown()}function showCataloguswaarde(data){updateText("kentekenData_motorvermogen",data.detail.motorvermogen);notfirsttime=true;if(notfirsttime||$("#kentekenData_cataloguswaarde").val()==""){$("#kentekenData_cataloguswaarde").removeClass("error");$("#kentekenData_cataloguswaarde_errors").hide();if($("#taxReductibleYes").length==0){$("#kentekenData_cataloguswaarde").val(data.detail.cataloguswaarde)}else{if($("#taxReductibleYes").attr("checked")){if($("#bestelauto").length!=0&&$("#bestelauto").attr("checked")){$("#kentekenData_cataloguswaarde").val(data.detail.cataloguswaardeExclusiefBestelauto)}else{$("#kentekenData_cataloguswaarde").val(data.detail.cataloguswaardeExclusief)}}else{$("#kentekenData_cataloguswaarde").val(data.detail.cataloguswaarde)}}}else{notfirsttime=true}}function jsonCall(path,callback,message){$.ajax({url:path,dataType:"json",data:{bouwjaar:$("#kentekenData_bouwjaar").val(),merk:$("#kentekenData_merk").val(),model:$("#kentekenData_model").val(),type:$("#kentekenData_type").val(),voertuigsoort:getVoertuigsoortcode(),bouwmaand:$("#kentekenData_bouwmaand").val(),brandstofsoort:$("#kentekenData_brandstofsoort").val()},success:function(data,status){callback(data,status)},error:function(data,status,e){alert("Fout bij het ophalen van de gegevens")},beforeSend:function(){$("body").trigger("ajaxStartMessage",[message])},complete:function(){$("body").trigger("ajaxStopMessage",[message])}})}function loadDropdownData(dropdownID,lijst){var dropdown=$("#"+dropdownID);removeUnnecessaryOptions(dropdownID);dropdown.removeAttr("disabled");jQuery.each(lijst,function(i,val){dropdown.addOption(val,val)});dropdown.val("")}function loadDropdownDataMerk(dropdownID,lijst){var dropdown=$("#"+dropdownID);removeUnnecessaryOptions(dropdownID);dropdown.removeAttr("disabled");jQuery.each(lijst,function(i,val){dropdown.addOption(val.value,val.label)});dropdown.val("")}function isFilledIn(){for(var i=0;i<arguments.length;i++){if($("#kentekenData_"+arguments[i]).val()==""){return false}}return true}function setDDValue(theID){var key="#"+theID;var theValue=$(key+"_text").html();$(key).val(theValue)}function hideInputFields(){getKentekenInputFields().hide()}})(jQuery);(function($){$.fn.kentekenAjax2=function(options){$.fn.kentekenAjax2.opts=$.extend({},$.fn.kentekenAjax2.defaults,options);this.each(function(el){$(this).bind("keyup change",fetchKentekenData)});$(function(){if($("#gekendtrue").length==0||$("#gekendtrue").attr("checked")){hideInputFields();fetchKentekenData()}else{showKentekenInputFields()}})};$.fn.kentekenChecker=function(options){this.each(function(el){$(this).bind("keyup change click",function(){isValidKenteken($(this),false)});isValidKenteken($(this),false)})};$.fn.kentekenAjax2.fetchKentekenData=fetchKentekenData;$.fn.kentekenAjax2.resetKentekenInputFields=resetKentekenInputFields;$.fn.kentekenAjax2.clearKentekenTextLabels=clearKentekenTextLabels;$.fn.kentekenAjax2.getKentekenInputFields=getKentekenInputFields;$.fn.kentekenAjax2.hideKentekenInputFieldsErrorMessages=hideKentekenInputFieldsErrorMessages;$.fn.kentekenAjax2.hideInputFields=hideInputFields;$.fn.kentekenAjax2.renderDiefstalBeveiliging=renderDiefstalBeveiliging;$.fn.kentekenAjax2.defaults={};$.fn.kentekenAjax2.opts={};var notfirsttime=false;var oudKenteken="";function fetchKentekenData(){if($("#gekendtrue").length==0||$("#gekendtrue").attr("checked")){var kenteken=$("#kenteken");kenteken.val(kenteken.val().toUpperCase());var huidigKenteken=cleanKenteken(kenteken.val());if(oudKenteken!=huidigKenteken){oudKenteken=huidigKenteken;if(isValidKenteken(kenteken,false)){$("#kenteken_message_personenauto_error").hide();$("#kenteken_message_bestelauto_error").hide();$("#kenteken_message_timeout").hide();$("#kenteken_message_neozexception").hide();$("#kenteken_message").hide();$.ajax({url:"/ajax/kenteken/",dataType:"json",data:{kenteken:kenteken.val(),merk:$("#kentekenData_merk").val(),model:$("#kentekenData_model").val(),type:$("#kentekenData_type").val(),bouwjaar:$("#kentekenData_bouwjaar").val(),bouwmaand:$("#kentekenData_bouwmaand").val(),brandstofsoort:$("#kentekenData_brandstofsoort").val()},success:function(data){if(data.error){$("#kenteken_message").show();clearKentekenTextLabels();resetKentekenInputFields(false)}else{if(data.timeout){$("#kenteken_message_timeout").show();clearKentekenTextLabels();resetKentekenInputFields(false)}else{if(data.neozexception){$("#kenteken_message_neozexception").show();clearKentekenTextLabels();resetKentekenInputFields(false)}else{if($("#bestelauto").length!=0&&$("#bestelauto").attr("checked")&&data.kentekenData.voertuigsoort!="B"){$("#kenteken_message_personenauto_error").show();clearKentekenTextLabels();getKentekenInputFields().val("").removeClass("error").hide();getKentekenInputFields().each(function(i,el){var id="#"+el.id+"_text";var text=$(id);text.html("")})}else{if($("#personenauto").length!=0&&$("#personenauto").attr("checked")&&data.kentekenData.voertuigsoort!="P"){$("#kenteken_message_bestelauto_error").show();clearKentekenTextLabels();getKentekenInputFields().val("").removeClass("error").hide();getKentekenInputFields().each(function(i,el){var id="#"+el.id+"_text";var text=$(id);text.html("")})}else{updateKentekenTextLabels(data.kentekenData.bouwjaar,data.kentekenData.bouwmaand,data.kentekenData.brandstofsoort,data.kentekenData.merk,data.kentekenData.model,data.kentekenData.type,data.kentekenData.cataloguswaarde,data.kentekenData.motorvermogen,data.kentekenData.cataloguswaardeExclusief,data.kentekenData.cataloguswaardeExclusiefBestelauto);hideKentekenInputFieldsErrorMessages();getKentekenInputFields().hide()}}}}}renderDiefstalBeveiliging()},error:function(){$("#kenteken_message").show();resetKentekenInputFields(true)},beforeSend:function(){$("body").trigger("ajaxStartMessage",["kenteken gegevens"])},complete:function(){$("body").trigger("ajaxStopMessage",["kenteken gegevens"])}})}else{$("#kenteken_message_personenauto_error").hide();$("#kenteken_message_bestelauto_error").hide();$("#kenteken_message_timeout").hide();$("#kenteken_message_neozexception").hide();$("#kenteken_message").hide();clearKentekenTextLabels();resetKentekenInputFields(false)}}}}function renderDiefstalBeveiliging(){if($("#autoleeftijd").length!=0&&$("#kentekenData_cataloguswaarde").length!=0){$("#diefstalbeveiligingjscript").show();var autoLeeftijd=$("#autoleeftijd").val();var cataloguswaarde=$("#kentekenData_cataloguswaarde").val();if(autoLeeftijd<3){if(cataloguswaarde>25000&&cataloguswaarde<=50000){showHideDiefstal(1)}else{if(cataloguswaarde>50000&&cataloguswaarde<=75000){showHideDiefstal(2)}else{if(cataloguswaarde>75000){showHideDiefstal(3)}else{$("#diefstalbeveiligingjscript").hide()}}}}else{if(autoLeeftijd>=3&&autoLeeftijd<=5){if(cataloguswaarde>50000&&cataloguswaarde<=60000){showHideDiefstal(1)}else{if(cataloguswaarde>60000){showHideDiefstal(2)}else{$("#diefstalbeveiligingjscript").hide()}}}else{$("#diefstalbeveiligingjscript").hide()}}}}function showHideDiefstal(nr){for(var dx=1;dx<6;dx++){if(dx==nr){$("#diefstal_"+dx).fadeIn()}else{$("#diefstal_"+dx).hide()}}}function removeErrorMessage(){$("span.error").hide();$("div.error").hide()}function hideKentekenInputFieldsErrorMessages(){getKentekenInputFields().each(function(i,el){var errorSpan=$("#"+el.id+"_errors");$(errorSpan).hide();$(el).removeClass("error")});$("#kenteken_message_personenauto_error").hide();$("#kenteken_message_bestelauto_error").hide()}function cleanKenteken(rawKenteken){return rawKenteken.replace(/[^a-zA-Z0-9]/g,"").toUpperCase()}function isValidKenteken(kenteken,alwaysMarkAsError){var kentekenCleanedUp=cleanKenteken(kenteken.val());var regexps=[new RegExp("^([A-Z]{2})([0-9]{2})([0-9]{2})$"),new RegExp("^([0-9]{2})([A-Z]{2})([0-9]{2})$"),new RegExp("^([A-Z]{2})([0-9]{2})([A-Z]{2})$"),new RegExp("^([A-Z]{2})([A-Z]{2})([0-9]{2})$"),new RegExp("^([0-9]{2})([A-Z]{3})([0-9]{1})$"),new RegExp("^([0-9]{1})([A-Z]{3})([0-9]{2})$"),new RegExp("^([0-9]{2})([0-9]{2})([A-Z]{2})$"),new RegExp("^([0-9]{2})([A-Z]{2})([A-Z]{2})$"),new RegExp("^([A-Z]{2})([0-9]{3})([A-Z]{1})$"),new RegExp("^([A-Z]{1})([0-9]{3})([A-Z]{2})$")];for(i=0;i<regexps.length;i++){if(regexps[i].test(kentekenCleanedUp)){kenteken.val(kentekenCleanedUp.replace(regexps[i],"$1-$2-$3"));kenteken.removeClass("error");return true}}if(kenteken.val().length==0&&!alwaysMarkAsError){kenteken.removeClass("error")}else{if(kentekenCleanedUp.length>=6||alwaysMarkAsError){kenteken.addClass("error")}}return false}function getKentekenInputFields(){var fields="#kentekenData_bouwjaar,#kentekenData_bouwmaand,#kentekenData_merk,#kentekenData_model,#kentekenData_type";if(getVoertuigsoortcode()!="150"){fields+=",#kentekenData_brandstofsoort"}return $(fields)}function clearKentekenTextLabels(){getKentekenInputFields().val("").removeClass("error").hide();getKentekenInputFields().each(function(i,el){var id="#"+el.id+"_text";var text=$(id);text.html("")});showKentekenInputFields()}function clearKentekenTextLabels(){updateKentekenTextLabels("","","","","","","","","","")}function updateKentekenTextLabels(bouwjaar,bouwmaand,brandstofsoort,merk,model,type,cataloguswaarde,motorvermogen,cataloguswaardeExclusief,cataloguswaardeExclusiefBestelauto){updateText("kentekenData_bouwjaar",bouwjaar);updateText("kentekenData_bouwmaand",bouwmaand);updateText("autoleeftijd",calculateLeeftijd(bouwjaar,getMonthAsInt(bouwmaand)));updateText("kentekenData_brandstofsoort",brandstofsoort);updateText("kentekenData_merk",merk);updateText("kentekenData_model",model);updateText("kentekenData_type",type);updateText("kentekenData_motorvermogen",motorvermogen);if($("#taxReductibleYes").length==0){$("#kentekenData_cataloguswaarde").val(cataloguswaarde);$("#kentekenData_cataloguswaarde").html("&euro "+cataloguswaarde)}else{if($("#taxReductibleYes").attr("checked")){if($("#bestelauto").length!=0&&$("#bestelauto").attr("checked")){$("#kentekenData_cataloguswaarde").val(cataloguswaardeExclusiefBestelauto)}else{$("#kentekenData_cataloguswaarde").val(cataloguswaardeExclusief)}}else{$("#kentekenData_cataloguswaarde").val(cataloguswaarde)}}$(".kenteken_text").show()}function calculateLeeftijd(jaar,maand){var builddate=new Date(jaar,maand);var now=new Date();var age=now.getFullYear()-builddate.getFullYear();return age}function updateText(theID,value,addEuro){var key="#"+theID;$(key).val(value);if(addEuro){$(key+"_text").html("&euro; "+value)}else{$(key+"_text").html(value)}}function resetKentekenInputFields(clearValue){if(clearValue){}}function showKentekenInputFields(){$(".kenteken_text").hide();if($("#gekendfalse").length==0||$("#gekendfalse").attr("checked")){var bouwjaar=$("#kentekenData_bouwjaar").val();var bouwmaand=$("#kentekenData_bouwmaand").val();var brandstofsoort=$("#kentekenData_brandstofsoort").val();var merk=$("#kentekenData_merk").val();var model=$("#kentekenData_model").val();var type=$("#kentekenData_type").val();var cataloguswaarde=$("#kentekenData_cataloguswaarde").val();showInputField("bouwjaar",bouwjaar,4,"XS");$("#kentekenData_bouwjaar").change(fillMerkDropdown);if($("#verzekering").length!=0&&($("#verzekering").val()=="Kampeerautoverzekering"||$("#verzekering").val()=="Oldtimerverzekering")){showInputField("bouwmaand",bouwmaand);showInputField("brandstofsoort",brandstofsoort);showInputField("merk",merk);showInputField("model",model);showInputField("type",type);showInputField("cataloguswaarde",cataloguswaarde)}else{showSelectField("bouwmaand",bouwmaand,["Januari","Februari","Maart","April","Mei","Juni","Juli","Augustus","September","Oktober","November","December"]);$("#kentekenData_bouwmaand").change(fillMerkDropdown);showSelectField("brandstofsoort",brandstofsoort,["Diesel","Benzine","Electrisch","Hybride Benzine","Hybride Diesel"]);$("#kentekenData_brandstofsoort").change(fillMerkDropdown);showSelectField("merk",merk);$("#kentekenData_merk").change(fillModelDropdown);showSelectField("model",model);$("#kentekenData_model").change(fillTypeDropdown);showSelectField("type",type);$("#kentekenData_type").change(fillCatalogusDropdown);disableMerk();disableModel();disableType();fillMerkDropdown(true)}}else{showHiddenField("bouwjaar","bouwmaand","brandstofsoort","merk","model","type");disableCataloguswaarde();$(".kenteken_text").show()}}function errorField(field){return $("#kentekenData_"+field+"_errors").length>0}function showInputField(field,value,maxlength,cssClass){var theID="kentekenData_"+field;var theName="kentekenData."+field;var key="#"+theID;var parent=$(key).parent();$(key).remove();parent.prepend('<input type="text" name="'+theName+'" id="'+theID+'" class="input '+(cssClass?cssClass:"")+'"'+(maxlength?' maxlength="'+maxlength+'" size="'+maxlength+'"':"")+"/>");if(errorField(field)){$(key).addClass("error")}updateText(theID,value)}function showSelectField(field,value,lijst){var theID="kentekenData_"+field;var theName="kentekenData."+field;var key="#"+theID;var parent=$(key).parent();$(key).remove();parent.prepend('<select name="'+theName+'" id="'+theID+'"/>');$(key).addOption("","-- Gelieve een waarde te kiezen --");if(lijst!=null){loadDropdownData(theID,lijst)}if(errorField(field)){$(key).addClass("error")}updateText(theID,value)}function showHiddenField(){for(var i=0;i<arguments.length;i++){var field=arguments[i];var theID="kentekenData_"+field;var theName="kentekenData."+field;var key="#"+theID;var parent=$(key).parent();$(key).remove();parent.prepend('<input type="hidden" name="'+theName+'" id="'+theID+'"/>')}}function disableDropdown(theID){$("#"+theID).attr("disabled","true")}function disableMerk(){disableDropdown("kentekenData_merk")}function disableModel(){disableDropdown("kentekenData_model")}function disableType(){disableDropdown("kentekenData_type")}function disableCataloguswaarde(){$("#kentekenData_cataloguswaarde").val("");$("#kentekenData_cataloguswaarde_text,#kentekenData_cataloguswaarde_error").hide()}function removeUnnecessaryOptions(selectBoxID){var selectBox=$("#"+selectBoxID);var theSize=selectBox.find("option").size();for(i=theSize;i>0;i--){selectBox.removeOption(i)}}function fillMerkDropdown(nested){removeUnnecessaryOptions("kentekenData_model");removeUnnecessaryOptions("kentekenData_type");disableModel();disableType();disableCataloguswaarde();if(isFilledIn("bouwjaar","bouwmaand","brandstofsoort")){jsonCall("/ajax/kenteken/merklijst/",function(data){loadDropdownDataMerk("kentekenData_merk",data.merklijst);if(nested){setDDValue("kentekenData_merk");fillModelDropdown(true)}},"merken")}else{removeUnnecessaryOptions("kentekenData_merk");disableMerk()}}function fillModelDropdown(nested){removeUnnecessaryOptions("kentekenData_type");disableType();disableCataloguswaarde();if(isFilledIn("bouwjaar","bouwmaand","brandstofsoort","merk")){jsonCall("/ajax/kenteken/modellijst/",function(data){loadDropdownData("kentekenData_model",data.modellijst);if(nested){setDDValue("kentekenData_model");fillTypeDropdown(true)}},"modellen")}else{removeUnnecessaryOptions("kentekenData_model");disableModel()}}function fillTypeDropdown(nested){disableCataloguswaarde();if(isFilledIn("bouwjaar","bouwmaand","brandstofsoort","merk","model")){jsonCall("/ajax/kenteken/typelijst/",function(data){loadDropdownData("kentekenData_type",data.typelijst);if(nested){setDDValue("kentekenData_type");nestedFillCatalogusDropdown()}},"types")}else{removeUnnecessaryOptions("kentekenData_type");disableType()}}function fillCatalogusDropdown(){if(isFilledIn("bouwjaar","bouwmaand","brandstofsoort","merk","model","type")){jsonCall("/ajax/kenteken/cataloguswaarde/",showCataloguswaarde,"oorspronkelijke nieuwwaarde")}else{disableCataloguswaarde()}}function nestedFillCatalogusDropdown(){fillCatalogusDropdown()}function showCataloguswaarde(data){updateText("kentekenData_motorvermogen",data.detail.motorvermogen);notfirsttime=true;if(notfirsttime||$("#kentekenData_cataloguswaarde").val()==""){$("#kentekenData_cataloguswaarde").removeClass("error");$("#kentekenData_cataloguswaarde_errors").hide();if($("#taxReductibleYes").length==0){$("#kentekenData_cataloguswaarde").val(data.detail.cataloguswaarde)}else{if($("#taxReductibleYes").attr("checked")){if($("#bestelauto").length!=0&&$("#bestelauto").attr("checked")){$("#kentekenData_cataloguswaarde").val(data.detail.cataloguswaardeExclusiefBestelauto)}else{$("#kentekenData_cataloguswaarde").val(data.detail.cataloguswaardeExclusief)}}else{$("#kentekenData_cataloguswaarde").val(data.detail.cataloguswaarde)}}}else{notfirsttime=true}}function jsonCall(path,callback,message){$.ajax({url:path,dataType:"json",data:{bouwjaar:$("#kentekenData_bouwjaar").val(),merk:$("#kentekenData_merk").val(),model:$("#kentekenData_model").val(),type:$("#kentekenData_type").val(),voertuigsoort:getVoertuigsoortcode(),bouwmaand:$("#kentekenData_bouwmaand").val(),brandstofsoort:$("#kentekenData_brandstofsoort").val()},success:function(data,status){callback(data,status)},error:function(data,status,e){alert("Fout bij het ophalen van de gegevens")},beforeSend:function(){$("body").trigger("ajaxStartMessage",[message])},complete:function(){$("body").trigger("ajaxStopMessage",[message])}})}function loadDropdownData(dropdownID,lijst){var dropdown=$("#"+dropdownID);removeUnnecessaryOptions(dropdownID);dropdown.removeAttr("disabled");jQuery.each(lijst,function(i,val){dropdown.addOption(val,val)});dropdown.val("")}function loadDropdownDataMerk(dropdownID,lijst){var dropdown=$("#"+dropdownID);removeUnnecessaryOptions(dropdownID);dropdown.removeAttr("disabled");jQuery.each(lijst,function(i,val){dropdown.addOption(val.value,val.label)});dropdown.val("")}function isFilledIn(){for(var i=0;i<arguments.length;i++){if($("#kentekenData_"+arguments[i]).val()==""){return false}}return true}function setDDValue(theID){var key="#"+theID;var theValue=$(key+"_text").html();$(key).val(theValue)}function hideInputFields(){getKentekenInputFields().hide()}function getMonthAsInt(monthString){var months=["","Januari","Februari","Maart","April","Mei","Juni","Juli","Augustus","September","Oktober","November","December"];var l=months.length;for(var i=1;i<l;i++){if(months[i]==monthString){return i}}return 0}})(jQuery)
