\ No newline at end of file
diff --git a/Layout/default/Admin/ivtimport_product_match.php b/Layout/default/Admin/ivtimport_product_match.php
new file mode 100644
index 000000000..eef62b011
--- /dev/null
+++ b/Layout/default/Admin/ivtimport_product_match.php
@@ -0,0 +1,65 @@
+
+
+
+
"),l.$modal.find(".delete-event").hide().end().find(".save-event").show().end().find(".modal-body").empty().prepend(i).end().find(".save-event").unbind("click").click(function(){i.submit()}),l.$modal.find("form").on("submit",function(){var e=i.find("input[name='title']").val(),t=(i.find("input[name='beginning']").val(),i.find("input[name='ending']").val(),i.find("select[name='category'] option:checked").val());return null!==e&&0!=e.length?(l.$calendarObj.fullCalendar("renderEvent",{title:e,start:n,end:a,allDay:!1,className:t},!0),l.$modal.modal("hide")):alert("You have to give a title to your event"),!1}),l.$calendarObj.fullCalendar("unselect")},e.prototype.enableDrag=function(){o(this.$event).each(function(){var e={title:o.trim(o(this).text())};o(this).data("eventObject",e),o(this).draggable({zIndex:999,revert:!0,revertDuration:0})})},e.prototype.init=function(){this.enableDrag();var e=new Date,t=(e.getDate(),e.getMonth(),e.getFullYear(),new Date(o.now())),n=[{title:"Hey!",start:new Date(o.now()+158e6),className:"bg-warning"},{title:"See John Deo",start:t,end:t,className:"bg-success"},{title:"Meet John Deo",start:new Date(o.now()+168e6),className:"bg-info"},{title:"Buy a Theme",start:new Date(o.now()+338e6),className:"bg-primary"}],a=this;a.$calendarObj=a.$calendar.fullCalendar({slotDuration:"00:15:00",minTime:"08:00:00",maxTime:"19:00:00",defaultView:"month",handleWindowResize:!0,height:o(window).height()-200,header:{left:"prev,next today",center:"title",right:"month,agendaWeek,agendaDay"},events:n,editable:!0,droppable:!0,eventLimit:!0,selectable:!0,drop:function(e){a.onDrop(o(this),e)},select:function(e,t,n){a.onSelect(e,t,n)},eventClick:function(e,t,n){a.onEventClick(e,t,n)}}),this.$saveCategoryBtn.on("click",function(){var e=a.$categoryForm.find("input[name='category-name']").val(),t=a.$categoryForm.find("select[name='category-color']").val();null!==e&&0!=e.length&&(a.$extEvents.append('
'+e+"
"),a.enableDrag())})},o.CalendarApp=new e,o.CalendarApp.Constructor=e}(window.jQuery),function(e){"use strict";window.jQuery.CalendarApp.init()}();
\ No newline at end of file
diff --git a/public/assets/js/pages/chartjs.init.js b/public/assets/js/pages/chartjs.init.js
deleted file mode 100644
index e078100e4..000000000
--- a/public/assets/js/pages/chartjs.init.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(i){"use strict";var e=function(){};e.prototype.respChart=function(e,r,a,o){var t=e.get(0).getContext("2d"),n=i(e).parent();function s(){e.attr("width",i(n).width());switch(r){case"Line":new Chart(t,{type:"line",data:a,options:o});break;case"Doughnut":new Chart(t,{type:"doughnut",data:a,options:o});break;case"Pie":new Chart(t,{type:"pie",data:a,options:o});break;case"Bar":new Chart(t,{type:"bar",data:a,options:o});break;case"Radar":new Chart(t,{type:"radar",data:a,options:o});break;case"PolarArea":new Chart(t,{data:a,type:"polarArea",options:o})}}i(window).resize(s),s()},e.prototype.init=function(){this.respChart(i("#lineChart"),"Line",{labels:["January","February","March","April","May","June","July","August","September","October"],datasets:[{label:"Conversion Rate",fill:!1,backgroundColor:"#25b343",borderColor:"#25b343",data:[44,60,-33,58,-4,57,-89,60,-33,58]},{label:"Average Sale Value",fill:!1,backgroundColor:"#e3eaef",borderColor:"#e3eaef",borderDash:[5,5],data:[-68,41,86,-49,2,65,-64,86,-49,2]}]},{responsive:!0,tooltips:{mode:"index",intersect:!1},hover:{mode:"nearest",intersect:!0},scales:{xAxes:[{display:!0,gridLines:{color:"rgba(0,0,0,0.1)"}}],yAxes:[{gridLines:{color:"rgba(255,255,255,0.05)",fontColor:"#fff"},ticks:{max:100,min:-100,stepSize:20}}]}});this.respChart(i("#doughnut"),"Doughnut",{labels:["Bitcoin","Ethereum","Cardano"],datasets:[{data:[80,50,100],backgroundColor:["#02a8b5","#fd7e14","#e3eaef"],hoverBackgroundColor:["#02a8b5","#fd7e14","#e3eaef"],borderWidth:3,hoverBorderColor:"#fff"}]},{cutoutPercentage:80});this.respChart(i("#pie"),"Pie",{labels:["Desktops","Tablets","Mobiles"],datasets:[{data:[100,121,77],backgroundColor:["#d33319","#675aa9","#e3eaef"],hoverBackgroundColor:["#d33319","#675aa9","#e3eaef"],hoverBorderColor:"#fff"}]});this.respChart(i("#bar"),"Bar",{labels:["01","02","03","04","05","06","07","08","09","10","11","12","13","14","15"],datasets:[{label:"Sales Analytics",backgroundColor:"#4b88e4",borderColor:"#4b88e4",borderWidth:1,hoverBackgroundColor:"#675aa9",hoverBorderColor:"#675aa9",data:[65,59,80,81,56,89,40,32,65,59,80,81,56,89,40,32,65,59,80,81,56,89,40,32,65,59,80,81,56,89,40]}]},{legend:{display:!1},scales:{yAxes:[{gridLines:{display:!1},ticks:{max:100,min:20,stepSize:20}}],xAxes:[{barPercentage:.3,gridLines:{color:"rgba(0,0,0,0.05)"}}]}});this.respChart(i("#radar"),"Radar",{labels:["Eating","Drinking","Sleeping","Designing","Coding","Cycling","Running"],datasets:[{label:"Desktops",backgroundColor:"rgba(179,181,198,0.2)",borderColor:"rgba(179,181,198,1)",pointBackgroundColor:"rgba(179,181,198,1)",pointBorderColor:"#fff",pointHoverBackgroundColor:"#fff",pointHoverBorderColor:"rgba(179,181,198,1)",data:[65,59,90,81,56,55,40]},{label:"Tablets",backgroundColor:"rgba(255,99,132,0.2)",borderColor:"rgba(255,99,132,1)",pointBackgroundColor:"rgba(255,99,132,1)",pointBorderColor:"#fff",pointHoverBackgroundColor:"#fff",pointHoverBorderColor:"rgba(255,99,132,1)",data:[28,48,40,19,96,27,100]}]});this.respChart(i("#polarArea"),"PolarArea",{datasets:[{data:[11,16,7,18],backgroundColor:["#297ef6","#45bbe0","#ebeff2","#1ea69a"],label:"My dataset",hoverBorderColor:"#fff"}],labels:["Series 1","Series 2","Series 3","Series 4"]})},i.ChartJs=new e,i.ChartJs.Constructor=e}(window.jQuery),function(e){"use strict";window.jQuery.ChartJs.init()}();
\ No newline at end of file
diff --git a/public/assets/js/pages/contract_form.js b/public/assets/js/pages/contract_form.js
new file mode 100644
index 000000000..8af7a3cd6
--- /dev/null
+++ b/public/assets/js/pages/contract_form.js
@@ -0,0 +1,66 @@
+var searchAddressTimer = false;
+
+$(document).ready(function() {
+ /*
+ * Address search
+ */
+
+ $("#owner_text").keyup(function() {
+ var search_string = $("#owner_text").val();
+
+ /*
+ * Rate limit search, by waiting 400 ms before really searching
+ * If input is received while waiting, clear timeout and set it anew
+ */
+
+ // clear timeout if it is set
+ if(searchAddressTimer) {
+ clearTimeout(searchAddressTimer);
+ }
+ // wait for additional input before starting the search
+ searchAddressTimer = setTimeout(searchAddress, 400, "owner", search_string);
+ });
+
+
+
+
+ /*
+ * Prevent accidental submit
+ */
+
+ $('#owner_text').keydown(function() {
+ if(event.keyCode == 13) {
+ event.preventDefault();
+ return false;
+ }
+ });
+});
+
+function searchAddress(type = "owner", search_string) {
+ if(search_string.length < 2) return;
+ console.log("suchen...");
+
+
+ $.get(baseurl + "Address/Api",{
+ do: "findAddress",
+ search: search_string
+ },
+ function(success) {
+ console.log(success);
+ if(success.status != "OK") {
+ return;
+ }
+ showAddressResults(type, success.result);
+ },
+ "json");
+
+ $("#address_results").show();
+}
+
+function showAddressResults(type, result) {
+ console.log(type);
+
+ result.addresses.forEach(function(address) {
+ cnosole.log(address);
+ });
+}
\ No newline at end of file
diff --git a/public/assets/js/pages/dashboard.init.js b/public/assets/js/pages/dashboard.init.js
deleted file mode 100644
index 72e4c7df5..000000000
--- a/public/assets/js/pages/dashboard.init.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(n){"use strict";var o=function(){};o.prototype.respChart=function(o,t,r,e){var i=o.get(0).getContext("2d"),a=n(o).parent();function l(){o.attr("width",n(a).width());switch(t){case"Doughnut":new Chart(i,{type:"doughnut",data:r,options:e});break;case"Bar":new Chart(i,{type:"bar",data:r,options:e})}}n(window).resize(l),l()},o.prototype.init=function(){this.respChart(n("#bar"),"Bar",{labels:["01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31"],datasets:[{label:"Sales Analytics",backgroundColor:"#00acc1",borderColor:"#00acc1",borderWidth:1,hoverBackgroundColor:"#d4570f",hoverBorderColor:"#d4570f",data:[65,59,80,81,56,89,40,32,65,59,80,81,56,89,40,32,65,59,80,81,56,89,40,32,65,59,80,81,56,89,40]}]},{legend:{display:!1},scales:{yAxes:[{gridLines:{display:!1},ticks:{max:100,min:20,stepSize:20}}],xAxes:[{barPercentage:.3,gridLines:{color:"rgba(0,0,0,0.05)"}}]}});this.respChart(n("#doughnut"),"Doughnut",{labels:["Bitcoin","Ethereum","Cardano"],datasets:[{data:[80,50,100],backgroundColor:["#02a8b5","#f1556c","#e3eaef"],hoverBackgroundColor:["#02a8b5","#f1556c","#e3eaef"],borderWidth:3,hoverBorderColor:"#fff"}]},{cutoutPercentage:80,legend:{position:"bottom",labels:{padding:30}}})},n.ChartJs=new o,n.ChartJs.Constructor=o}(window.jQuery),function(o){"use strict";window.jQuery.ChartJs.init()}(),$(document).ready(function(){var t,r=function(){$("#sparkline1").sparkline([25,23,26,24,25,32,30,24,19],{type:"line",width:"100%",height:"80",chartRangeMax:35,lineColor:"#f1556c",fillColor:"rgba(229, 43, 76, 0.3)",highlightLineColor:"rgba(0,0,0,.1)",highlightSpotColor:"rgba(0,0,0,.2)",maxSpotColor:!1,minSpotColor:!1,spotColor:!1,lineWidth:1}),$("#sparkline2").sparkline([0,23,43,35,44,45,56,37,40],{type:"line",width:"100%",height:"80",chartRangeMax:50,lineColor:"#00acc1",fillColor:"rgba(0, 172, 193, 0.2)",highlightLineColor:"rgba(0,0,0,.1)",highlightSpotColor:"rgba(0,0,0,.2)",maxSpotColor:!1,minSpotColor:!1,spotColor:!1,lineWidth:1}),$("#sparkline3").sparkline([25,23,26,24,25,32,30,24,19],{type:"line",width:"100%",height:"80",chartRangeMax:35,lineColor:"#f1556c",fillColor:"rgba(229, 43, 76, 0.3)",highlightLineColor:"rgba(0,0,0,.1)",highlightSpotColor:"rgba(0,0,0,.2)",maxSpotColor:!1,minSpotColor:!1,spotColor:!1,lineWidth:1}),$("#sparkline4").sparkline([0,23,43,35,44,45,56,37,40],{type:"line",width:"100%",height:"80",chartRangeMax:50,lineColor:"#00acc1",fillColor:"rgba(0, 172, 193, 0.2)",highlightLineColor:"rgba(0,0,0,.1)",highlightSpotColor:"rgba(0,0,0,.2)",maxSpotColor:!1,minSpotColor:!1,spotColor:!1,lineWidth:1})};r(),$(window).resize(function(o){clearTimeout(t),t=setTimeout(function(){r()},300)})});
\ No newline at end of file
diff --git a/public/assets/js/pages/datatables.init.js b/public/assets/js/pages/datatables.init.js
deleted file mode 100644
index f7abdd437..000000000
--- a/public/assets/js/pages/datatables.init.js
+++ /dev/null
@@ -1 +0,0 @@
-$(document).ready(function(){$("#basic-datatable").DataTable({language:{paginate:{previous:"",next:""}},drawCallback:function(){$(".dataTables_paginate > .pagination").addClass("pagination-rounded")}});var a=$("#datatable-buttons").DataTable({lengthChange:!1,buttons:["copy","print"],language:{paginate:{previous:"",next:""}},drawCallback:function(){$(".dataTables_paginate > .pagination").addClass("pagination-rounded")}});$("#selection-datatable").DataTable({select:{style:"multi"},language:{paginate:{previous:"",next:""}},drawCallback:function(){$(".dataTables_paginate > .pagination").addClass("pagination-rounded")}}),$("#key-datatable").DataTable({keys:!0,language:{paginate:{previous:"",next:""}},drawCallback:function(){$(".dataTables_paginate > .pagination").addClass("pagination-rounded")}}),a.buttons().container().appendTo("#datatable-buttons_wrapper .col-md-6:eq(0)")});
\ No newline at end of file
diff --git a/public/assets/js/pages/form-advanced.init.js b/public/assets/js/pages/form-advanced.init.js
deleted file mode 100644
index 7ad05b80c..000000000
--- a/public/assets/js/pages/form-advanced.init.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(i){"use strict";var t=function(){};t.prototype.initCustomSelect=function(){i('[data-plugin="customselect"]').niceSelect()},t.prototype.initSwitchery=function(){i('[data-plugin="switchery"]').each(function(t,e){new Switchery(i(this)[0],i(this).data())})},t.prototype.initSelect2=function(){i('[data-toggle="select2"]').select2()},t.prototype.initMaxLength=function(){i("input#defaultconfig").maxlength({warningClass:"badge badge-success",limitReachedClass:"badge badge-danger"}),i("input#thresholdconfig").maxlength({threshold:20,warningClass:"badge badge-success",limitReachedClass:"badge badge-danger"}),i("input#alloptions").maxlength({alwaysShow:!0,separator:" out of ",preText:"You typed ",postText:" chars available.",validate:!0,warningClass:"badge badge-success",limitReachedClass:"badge badge-danger"}),i("textarea#textarea").maxlength({alwaysShow:!0,warningClass:"badge badge-success",limitReachedClass:"badge badge-danger"}),i("input#placement").maxlength({alwaysShow:!0,placement:"top-left",warningClass:"badge badge-success",limitReachedClass:"badge badge-danger"})},t.prototype.initDateRange=function(){var n={cancelClass:"btn-light",applyButtonClasses:"btn-success"};i('[data-toggle="date-picker"]').each(function(t,e){var a=i.extend({},n,i(e).data());i(e).daterangepicker(a)});var s={startDate:moment().subtract(29,"days"),endDate:moment(),ranges:{Today:[moment(),moment()],Yesterday:[moment().subtract(1,"days"),moment().subtract(1,"days")],"Last 7 Days":[moment().subtract(6,"days"),moment()],"Last 30 Days":[moment().subtract(29,"days"),moment()],"This Month":[moment().startOf("month"),moment().endOf("month")],"Last Month":[moment().subtract(1,"month").startOf("month"),moment().subtract(1,"month").endOf("month")]}};i('[data-toggle="date-picker-range"]').each(function(t,e){var a=i.extend({},s,i(e).data()),n=a.targetDisplay;i(e).daterangepicker(a,function(t,e){n&&i(n).html(t.format("MMMM D, YYYY")+" - "+e.format("MMMM D, YYYY"))})})},t.prototype.initMask=function(){i('[data-toggle="input-mask"]').each(function(t,e){var a=i(e).data("maskFormat"),n=i(e).data("reverse");null!=n?i(e).mask(a,{reverse:n}):i(e).mask(a)})},t.prototype.init=function(){this.initCustomSelect(),this.initSwitchery(),this.initSelect2(),this.initMaxLength(),this.initDateRange(),this.initMask()},i.Components=new t,i.Components.Constructor=t}(window.jQuery),function(t){"use strict";window.jQuery.Components.init()}();
\ No newline at end of file
diff --git a/public/assets/js/pages/form-editor.init.js b/public/assets/js/pages/form-editor.init.js
deleted file mode 100644
index 52e71da4d..000000000
--- a/public/assets/js/pages/form-editor.init.js
+++ /dev/null
@@ -1 +0,0 @@
-$(document).ready(function(){$("#summernote-editor").summernote({height:250,minHeight:null,maxHeight:null,focus:!1}),$("#summernote-inline").summernote({airMode:!0})});
\ No newline at end of file
diff --git a/public/assets/js/pages/maps.init.js b/public/assets/js/pages/maps.init.js
deleted file mode 100644
index 9f6e98408..000000000
--- a/public/assets/js/pages/maps.init.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(e){"use strict";var a=function(){};a.prototype.createBasic=function(a){return new GMaps({div:a,lat:-12.043333,lng:-77.028333})},a.prototype.createMarkers=function(a){var e=new GMaps({div:a,lat:-12.043333,lng:-77.028333});return e.addMarker({lat:-12.043333,lng:-77.03,title:"Lima",details:{database_id:42,author:"HPNeo"},click:function(a){console.log&&console.log(a),alert("You clicked in this marker")}}),e.addMarker({lat:-12.042,lng:-77.028333,title:"Marker with InfoWindow",infoWindow:{content:"
",confirmButtonText:"Lovely!"})})}),t("#dynamic-alert").click(function(){swal.queue([{title:"Your public IP",confirmButtonText:"Show my public IP",confirmButtonColor:"#00acc1",text:"Your public IP will be received via AJAX request",showLoaderOnConfirm:!0,preConfirm:function(){return new Promise(function(e){t.get("https://api.ipify.org?format=json").done(function(t){swal.insertQueueStep(t.ip),e()})})}}])})},t.SweetAlert=new e,t.SweetAlert.Constructor=e}(window.jQuery),function(t){"use strict";window.jQuery.SweetAlert.init()}();
\ No newline at end of file
diff --git a/public/assets/js/pages/toastr.init.js b/public/assets/js/pages/toastr.init.js
deleted file mode 100644
index 747e61b26..000000000
--- a/public/assets/js/pages/toastr.init.js
+++ /dev/null
@@ -1 +0,0 @@
-$(function(){var k,f=-1,m=0;$("#showtoast").click(function(){var t,o,e=$("#toastTypeGroup input:radio:checked").val(),a=$("#message1").val(),n=$("#title").val()||"",s=$("#showDuration"),i=$("#hideDuration"),r=$("#timeOut"),l=$("#extendedTimeOut"),c=$("#showEasing"),p=$("#hideEasing"),d=$("#showMethod"),h=$("#hideMethod"),u=m++,g=$("#addClear").prop("checked");toastr.options={closeButton:$("#closeButton").prop("checked"),debug:$("#debugInfo").prop("checked"),newestOnTop:$("#newestOnTop").prop("checked"),progressBar:$("#progressBar").prop("checked"),positionClass:$("#positionGroup input:radio:checked").val()||"toast-top-right",preventDuplicates:$("#preventDuplicates").prop("checked"),onclick:null},$("#addBehaviorOnToastClick").prop("checked")&&(toastr.options.onclick=function(){alert("You can perform some custom action after a toast goes away")}),s.val().length&&(toastr.options.showDuration=s.val()),i.val().length&&(toastr.options.hideDuration=i.val()),r.val().length&&(toastr.options.timeOut=g?0:r.val()),l.val().length&&(toastr.options.extendedTimeOut=g?0:l.val()),c.val().length&&(toastr.options.showEasing=c.val()),p.val().length&&(toastr.options.hideEasing=p.val()),d.val().length&&(toastr.options.showMethod=d.val()),h.val().length&&(toastr.options.hideMethod=h.val()),g&&(t=(t=a)||"Clear itself?",a=t+='
',toastr.options.tapToDismiss=!1),a||(++f===(o=["My name is Inigo Montoya. You killed my father. Prepare to die!","Are you the six fingered man?","Inconceivable!","I do not think that means what you think it means.","Have fun storming the castle!"]).length&&(f=0),a=o[f]),$("#toastrOptions").text('Command: toastr["'+e+'"]("'+a+(n?'", "'+n:"")+'")\n\ntoastr.options = '+JSON.stringify(toastr.options,null,2));var v=toastr[e](a,n);void 0!==(k=v)&&(v.find("#okBtn").length&&v.delegate("#okBtn","click",function(){alert("you clicked me. i was toast #"+u+". goodbye!"),v.remove()}),v.find("#surpriseBtn").length&&v.delegate("#surpriseBtn","click",function(){alert("Surprise! you clicked me. i was toast #"+u+". You could perform an action here.")}),v.find(".clear").length&&v.delegate(".clear","click",function(){toastr.clear(v,{force:!0})}))}),$("#clearlasttoast").click(function(){toastr.clear(k)}),$("#cleartoasts").click(function(){toastr.clear()})});
\ No newline at end of file