"); var jqErrorText = $("#searchErrorText"); var jqAddressForm = $("#addressSearch-form"); var jqAddressChangeForm = $('#addressChange-form'); var jqAddressDataCard = $("#addressDataCard"); var jqAddressTbl = $("#addressesTbl"); var jqAddressType = $("#addressType"); var jqDataTbl; $("#lkmsID").keyup(function () { if (this.value != "" || this.value.length > 0) { jqAddressSearchFields.attr("disabled","disabled"); } else { jqAddressSearchFields.removeAttr("disabled"); } }) function getJSON(jqForm){ var data = {}; jqForm.serializeArray().map(function(el){ data[el.name] = $.trim(el.value); }); return JSON.stringify(data); } // Search button handle - ajax request to the controller and result presentation. var addressSearch = function() { $('#searchProgressIndicator').show(); disableBtn(jqSearchBtn); disableBtn(jqAddressChangeBtn); // jqErrorText.parent().hide(); $("#searchAddrMW").hide(); jqInfoText.html(""); jqDataTbl.fnClearTable(); setColumnsForAddress(); $.ajax({ url: "/omc/popups/addressChange.sp?businessInteractionId=$order.businessInteractionId&businessInteractionIdToken=", type:'POST', dataType: 'json', headers: { "Content-Type": "application/json; charset=utf-8", "Accept": "application/json; charset=utf-8" }, data: getJSON(jqAddressForm), success: function(data) { $.each(data, function(){ var radioColumn = ''; var detailsColumn=""; if(this.hasSubaddress=="0"){ detailsColumn = "popup.orderItem.changeAddress.unknownSubaddress"; }else if(this.hasSubaddress=="2"){ detailsColumn = "popup.orderItem.changeAddress.hasSubaddress"; } var streetColumn = this.street; var postcodeColumn = this.postcode; var villageColumn = this.village; var houseNumberColumn = this.houseNumber; var blockColumn = this.block; var staircaseColumn = this.staircase; var doorColumn = ""; var othersColumn = this.additional; var statusColumn = this.status; jqDataTbl.fnAddData( [ radioColumn, streetColumn, postcodeColumn, villageColumn, houseNumberColumn, blockColumn, staircaseColumn, doorColumn, othersColumn, statusColumn, detailsColumn ] ); }); }, error: function (xhr, ajaxOptions, thrownError) { jqErrorText.text(xhr.responseText); $("#searchAddrMW").show(); }, complete: function(){ // Reposition the dialog to the middle to make sure it is completely visible $("#addressChangePopup").dialog('option', 'position', ['middle', 'middle']); enableBtn(jqSearchBtn, addressSearch); $('#searchProgressIndicator').hide(); } }); }; //handle address selection jqAddressTbl.on('change', 'input:radio', function() { enableBtn(jqAddressChangeBtn, addressChange); }); //handle subaddress jqAddressTbl.on('click', 'a', function() { var lkmsForSearch = $(this).attr("id"); var oPos = jqDataTbl.fnGetPosition($(this).parent().get(0) ); var data = jqDataTbl.fnGetData( $(this).parent().get(1)); var selectedRow = data[oPos[0]]; var streetColumn = selectedRow[1]; var postcodeColumn = selectedRow[2]; var villageColumn = selectedRow[3]; var houseNumberColumn = selectedRow[4]; $('#searchProgressIndicator').show(); disableBtn(jqSearchBtn); disableBtn(jqAddressChangeBtn); setColumnsForSubAddress(); $("#postcode").val(postcodeColumn); $("#street").val(streetColumn); $("#generalCitySearch").val(villageColumn); $("#houseNumber").val(houseNumberColumn); $.ajax({ url: "/omc/popups/findSubAddress.sp?businessInteractionId=$order.businessInteractionId&businessInteractionIdToken=", type:'POST', data:{ lkmsId: $.trim(lkmsForSearch) }, success: function(data) { $.each(data, function(){ var radioColumn = ''; var blockColumn = ""; var staircaseColumn = ""; var doorColumn = this.doorNumber; var othersColumn = ""; var statusColumn = ""; var detailsColumn=""; jqDataTbl.fnAddData( [ radioColumn, streetColumn, postcodeColumn, villageColumn, houseNumberColumn, blockColumn, staircaseColumn, doorColumn, othersColumn, statusColumn, detailsColumn ] ); }); }, error: function (xhr, ajaxOptions, thrownError) { jqErrorText.text(xhr.responseText).parent().show(); }, complete: function(){ enableBtn(jqSearchBtn, addressSearch); $('#searchProgressIndicator').hide(); } }); }); var setColumnsForAddress = function(){ jqDataTbl.fnClearTable(); jqDataTbl.fnSetColumnVis( 7, false ); jqDataTbl.fnSetColumnVis( 5, true ); jqDataTbl.fnSetColumnVis( 6, true ); jqDataTbl.fnSetColumnVis( 8, true ); jqDataTbl.fnSetColumnVis( 9, true ); jqDataTbl.fnSetColumnVis( 10, true ); } var setColumnsForSubAddress = function(){ jqDataTbl.fnClearTable(); jqDataTbl.fnSetColumnVis( 7, true ); jqDataTbl.fnSetColumnVis( 5, false ); jqDataTbl.fnSetColumnVis( 6, false ); jqDataTbl.fnSetColumnVis( 8, false ); jqDataTbl.fnSetColumnVis( 9, false ); jqDataTbl.fnSetColumnVis( 10, false ); } //handle 'addressChanger' action var addressChange = function(event){ $("#newLkmsId").val(jqAddressTbl.find("input:checked").attr("id")); jqAddressChangeForm.append($.detectionSaveBlock.allDetectableFields()); $(window).unbind('beforeunload', pageCloseWarning); /* deactivate pageclose-warning*/ jqAddressChangeForm.submit(); showSaveOverlay('saveOverlayContent'); }; function changeDialogTitle(addressType){ if(addressType == 'INSTALLATION_ADDRESS'){ $("#addressChangePopup").dialog('option', 'title', "popup.orderItem.changeAddress.installationAddressTitle"); } else if(addressType == 'SHIPPING_ADDRESS'){ $("#addressChangePopup").dialog('option', 'title', "popup.orderItem.changeAddress.shippmentAddressTitle"); } } // Handle dialog open/close. $.addressChange.jqAddressDialog = $("#addressChangePopup").dialog({ closeText: '', open : function() { jqDataTbl = jqAddressTbl.dataTable({ "oLanguage": { "oPaginate": { "sNext": "popup.resultTable.next", "sPrevious": "popup.resultTable.prev" }, "sInfoEmpty": "popup.resultTable.zeroResults", "sInfo": "popup.resultTable.resultsSet", "sZeroRecords": "popup.resultTable.noResults" }, "bLengthChange": false, "bAutoWidth": false, "bFilter": false, "iDisplayLength": 5, "aoColumnDefs": [ { "bSortable": false, "aTargets": [ 0,10 ] }, { "bVisible": false, "aTargets": [ 7 ] } ]}); //init info field jqAddressDataCard.html($(this).data("addressData").clone().removeAttr("id")); jqAddressType.val($(this).data("addressType")); // changeDialogTitle(addressType.value); //init checkboxes var jqAdditionalAddressChange = $('#additionalAddressChange'); var jqBAChangedCheckbox = $("#billingAddressChanged"); var jqSAChangedCheckbox = $("#shippingAddressChanged"); jqBAChangedCheckbox.prop('checked', false).attr("disabled","disabled"); jqSAChangedCheckbox.prop('checked', false).attr("disabled","disabled"); if($(this).data("addressType") == 'INSTALLATION_ADDRESS'){ jqAdditionalAddressChange.show(); if(!$("#billingArrangementAddressButton").hasClass("grey")){ jqBAChangedCheckbox.removeAttr('disabled'); jqBAChangedCheckbox.change(function() { $("#isBillingAddressChanged").val($(this).prop('checked')); }); } if(!$("#shippingAddressButton").hasClass("grey")){ jqSAChangedCheckbox.removeAttr('disabled'); jqSAChangedCheckbox.change(function() { $("#isShippingAddressChanged").val($(this).prop('checked')); }); } } else { jqAdditionalAddressChange.hide(); } //init buttons disableBtn(jqAddressChangeBtn); enableBtn(jqSearchBtn, addressSearch); //reset forms jqAddressForm.get(0).reset(); jqAddressChangeForm.get(0).reset(); //clear table jqDataTbl.fnClearTable(); }, close : function() { jqAddressDataCard.html(""); jqDataTbl.fnDestroy(); jqAddressSearchFields.removeAttr("disabled"); } }); });