/************ VERIDAT - www.veridat.nl - Scriptproxy v1.0 - Dolphiq Software Development ************/ function ver_JSONscriptRequest(fullUrl){this.fullUrl=fullUrl;this.noCacheIE='&noCacheIE='+(new Date()).getTime();this.headLoc=document.getElementsByTagName("head")[0];this.scriptId='JscriptId'+ver_JSONscriptRequest.scriptCounter++;} ver_JSONscriptRequest.scriptCounter=1;ver_JSONscriptRequest.prototype.buildScriptTag=function(){this.scriptObj=document.createElement("script");this.scriptObj.setAttribute("type","text/javascript");this.scriptObj.setAttribute("charset","utf-8");this.scriptObj.setAttribute("src",this.fullUrl+this.noCacheIE);this.scriptObj.setAttribute("id",this.scriptId);} ver_JSONscriptRequest.prototype.removeScriptTag=function(){this.headLoc.removeChild(this.scriptObj);} ver_JSONscriptRequest.prototype.addScriptTag=function(){this.headLoc.appendChild(this.scriptObj);} var VERIDATObject;var VERIDAT_SERVER_TIMEOUT=1500;if(VERIDATObject==undefined){VERIDATObject=function(veridatSettings){var settings="object";var pcField="object";var nrField="object";var cityField="object";var streetField="object";var countryField="object";var startVTimer="object";var clientCache="object";var lastcheckpc="string";var lastCall="object";this.init(veridatSettings);};} VERIDATObject.prototype.pc_onkeypress=function(fieldObject,e){var keynum;var keychar;var numcheck;var validchars='ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';var evt=(e)?e:(window.event)?window.event:null;if(evt){var keynum=(evt.charCode)?evt.charCode:((evt.keyCode)?evt.keyCode:((evt.which)?evt.which:0));}else var keynum=0;if(keynum==0) {return true;} if(keynum=='undefined'||keynum==8||keynum==9||keynum==190||keynum==46||(keynum>=37&&keynum<=40))return true;if(fieldObject.value.length>=8&&this.settings.disablePreValidate!=true){this.focus_field(this.nrField);return false;} keychar=String.fromCharCode(keynum);keychar=keychar.toUpperCase();if(keynum>=97&&keynum<=122) {} var i=validchars.indexOf(keychar);if(i>-1){this.lastcheckpc='';return true} else {return false;}} VERIDATObject.prototype.nr_onkeypress=function(fieldObject,e){this.lastcheckpc='';} VERIDATObject.prototype.server_fail=function(){if(this.lastCall.source_type=='script'){} else if(this.lastCall.source_type=='form'){var iObj=this.settings.HTMLInputFields;this.set_disable(this.pcField,false);this.set_disable(this.nrField,false);this.set_disable(this.streetField,false);this.set_disable(this.cityField,false);if(typeof(this.streetField)!=='undefined'){this.streetField.value='';} if(typeof(this.cityField)!=='undefined'){this.cityField.value='';}} if(typeof(this.settings.callback_ON_END_CHECK)=='function')this.settings.callback_ON_END_CHECK();} VERIDATObject.prototype.VERIDAT_focus_next_field=function(el){var f=el.form;var els=f.elements;var x,nextEl;if(f==null||els==null){return false;} for(var i=0,len=els.length;i=1)){this.pcField.value=this.pcField.value.toUpperCase();if(entry.toUpperCase()==this.lastcheckpc)return false;this.lastcheckpc=entry.toUpperCase();this.set_disable(this.pcField,true);this.set_disable(this.nrField,true);this.set_disable(this.streetField,true);this.set_disable(this.cityField,true);this.inner_get_address({postalcode:this.pcField.value,housenr:this.nrField.value,source_type:'form'});}else if((this.pcField.value.length>0)&&(this.pcField.value.length!=6)&&(this.nrField.value.length>=1)){if(entry.toUpperCase()==this.lastcheckpc)return false;this.lastcheckpc=entry.toUpperCase();this.set_disable(this.streetField,false);this.set_disable(this.cityField,false);this.set_value(this.streetField,'');this.set_value(this.cityField,'');this.focus_field(this.streetField);}} VERIDATObject.prototype.inner_get_address=function(obj){try {var entry=''+obj.postalcode+obj.housenr.toUpperCase();this.lastCall=obj;if(this.settings.callback_ON_START_CHECK!=undefined&&typeof(this.settings.callback_ON_START_CHECK)=='function')this.settings.callback_ON_START_CHECK();if(this.settings.callback_LOADING_ICON_CONTAINER!=undefined)document.getElementById(this.settings.callback_LOADING_ICON_CONTAINER).innerHTML='';var self=this;this.startVTimer=setTimeout(function(){self.server_fail()},VERIDAT_SERVER_TIMEOUT);if(typeof(this.clientCache[entry.toUpperCase()])!=='undefined'){this.VERIDAT_result(this.clientCache[entry.toUpperCase()]);}else {this.server_get_data(obj);}} catch(err){alert('error in VERIDATObject.prototype.inner_get_address:'+err);}} VERIDATObject.prototype.getFieldByIDOrName=function(id){var res=document.getElementById(id);if(res==null) {var arr=document.getElementsByName(id);if(arr.length>0) res=arr[0];} return res;} VERIDATObject.prototype.getAddress=function(obj){if(obj.postalcode!=null&&obj.housenr!=null) {var entry=''+obj.postalcode+obj.housenr.toUpperCase();obj.postalcode=obj.postalcode.toUpperCase();if((obj.postalcode.length==6)&&(obj.housenr.length>=1)){obj.source_type='script';this.inner_get_address(obj);}else{var cb={code:'NOTFOUND'};obj.callback(cb);}}else alert('There are missing parameters!');} VERIDATObject.prototype.init=function(veridatSettings){if(typeof(veridatSettings)=='object'){this.settings=veridatSettings;window['VERIDAT_LINK_'+this.settings.ID]=this;this.clientCache=Array();if(typeof(veridatSettings.HTMLInputFields)=='object'){var iObj=veridatSettings.HTMLInputFields;var self=this;this.pcField=this.getFieldByIDOrName(iObj.postalcodeID);this.nrField=this.getFieldByIDOrName(iObj.housenrID);this.streetField=this.getFieldByIDOrName(iObj.streetID);this.cityField=this.getFieldByIDOrName(iObj.cityID);if(this.pcField!=null&&this.nrField!=null){this.pcField.onchange=function(){self.pre_validate(this);};this.pcField.onkeypress=function(e){return self.pc_onkeypress(this,e);};this.nrField.onchange=function(){self.pre_validate(this);};this.nrField.onkeypress=function(e){return self.nr_onkeypress(this,e);};} this.set_disable(this.streetField,true);this.set_disable(this.cityField,true);}}}