");
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");
}
});
});
orderItem.label.title.address
error.order.update.validation
orderItem.label.address.installLocation
Firma
orderItem.label.address.shippingAddress
Firma