﻿var panelDescriptor = null;
var partitions = null

function showPartitionFilter() {
  showProgress('hlGroupFilter', true, false);
  panelDescriptor = createPopUpPanel('groupFilter', 'popUpPanel');
  requestPartitions();
}

function requestPartitions() {
  MyMallWebService.GetExcludedPartitions(getPartitionsSucceededCallback);
}

function getPartitionsSucceededCallback(result) {
  var culture = elementById('ctl00_hfCulture').value;
  var html = '<ul class="groupFilter">';

  partitions = result;

  for (var i = 0; i != result.length; i++) {
    html += '<li>';
    html += '<input id="' + result[i].Id + 'filter" type="checkbox" ' + (result[i].IsExcluded == true ? '' : 'checked="checked"') + ' />';
    html += '<label for="' + result[i].Id + 'filter">' + result[i].Name + '</label>';
    html += '</li>';
  }

  html += '</ul>';
  html += '<input type="button" class="applyButton" value="' + (culture == 'uk-UA' ? 'Застосувати фільтр' : 'Применить фильтр') + '" onclick="applyGroupFilter();" />';
  addChildElementHtml(panelDescriptor, html);

  var panelPosition = getPopUpPanelPositionForElementById('hlGroupFilter');

  hideProgress();
  showPopUpPanel(panelDescriptor, panelPosition.x, panelPosition.y);
}

function applyGroupFilter() {
  var newExcludedPartitions = new Array();
  
  for (var i = 0; i != partitions.length; i++) {
    if (elementById(partitions[i].Id + 'filter').checked == false)
      newExcludedPartitions.push(partitions[i].Id);
  }

  MyMallWebService.SetExcludedPartitions(newExcludedPartitions, setPartitionsSucceededCallback);
}

function setPartitionsSucceededCallback(result) {
  document.location.reload();
}