window.onload = function() {
  var border = RUZEE.ShadedBorder.create({corner:8, shadow:0, border:0, edges: 'tlr'});
  border.render($$('div.widget .header'));
  border.render($$('div#business_alerts'));

  // Set the widget element class to best reflect the height.
  $$('div.widget .content').map(function(widget) {
    var height = widget.getHeight();
    if (height > 200) {
      widget.addClassName('long');
    } else if (height > 100) {
      widget.addClassName('normal');
    } else {
      widget.addClassName('short');
    }
  });
}

function selectContactsTableRow(row, selected) {
  if (selected) {
    row.addClassName('selected');
  } else {
    row.removeClassName('selected');
  }
}

function observeContactsTable() {
  $$('table.contacts tbody tr td input').map(function(checkbox) {
    checkbox.observe('change', function(e) {
      checkbox.fire('contact:selected');
    });

    checkbox.observe('contact:selected', function(e) {
      row = this.parentNode.parentNode;
      selected = this.checked;
      selectContactsTableRow(row, selected);
    });

    checkbox.fire('contact:selected');
  });
}

function bulkActionSelected(action_element) {
  var action = action_element.value;

  if (action == '')
    return;
  else if (action == 'delete') {
    if (!confirm('Are you sure you want to delete the selected contacts?')) {
      action_element.value = '';
      return;
    }
  }

  $('bulk_action').value = action;
  $('bulk_action_form').submit();
}

function selectAllContacts() {
  var form = $('bulk_action_form');
  var contacts = form.getInputs('checkbox', 'ids[]');

  for (var i = 0; i < contacts.length; i++) {
    contacts[i].checked = true;
    contacts[i].fire('contact:selected');
  }
}

function deselectAllContacts() {
  var form = $('bulk_action_form');
  var contacts = form.getInputs('checkbox', 'ids[]');

  for (var i = 0; i < contacts.length; i++) {
    contacts[i].checked = false;
    contacts[i].fire('contact:selected');
  }
}
