$(function() {
  
  // Office Users
  $('.slider', Context.office_users).slider({
    value: 5, min: 5, max: 100, step: 1,
    slide: function(event, ui) {
      $('.textbox', Context.office_users).val(ui.value).trigger('change');
    }
  });
  $('.textbox', Context.office_users).change(function() {
    Configurator.set_office_users(this.value);
  });

  // Shared Spaces
  $('.slider', Context.shared_spaces).slider({
    value: 0, min: 0, max: 20, step: 1,
    slide: function(event, ui) {
      $('#shared_spaces .textbox').val(ui.value).trigger('change');
    }
  });
  $('#shared_spaces .textbox').change(function() {
    Configurator.set_shared_spaces(this.value);
  });

  // Local Numbers
  $('.slider', Context.local_numbers).slider({
    value: 0, min: 0, max: 100, step: 1,
    slide: function(event, ui) {
      $('#local_numbers .textbox').val(ui.value).trigger('change');
    }
  });
  $('#local_numbers .textbox').change(function() {
    Configurator.set_local_numbers(this.value);
  });

  // Toll Free Numbers
  $('.slider', Context.toll_free_numbers).slider({
    value: 0, min: 0, max: 20, step: 1,
    slide: function(event, ui) {
      $('#toll_free_numbers .textbox').val(ui.value).trigger('change');
    }
  });
  $('#toll_free_numbers .textbox').change(function() {
    Configurator.set_toll_free_numbers(this.value);
  });

  // Office Locations
  $('.slider', Context.office_locations).slider({
    value: 0, min: 0, max: 20, step: 1,
    slide: function(event, ui) {
      $('#office_locations .textbox').val(ui.value).trigger('change');
    }
  });
  $('.textbox', Context.office_locations).change(function() {
    Configurator.set_office_locations(this.value);
  });

  // Softphones
  $('.slider', Context.softphones).slider({
    value: 0, min: 0, max: 100, step: 1,
    slide: function(event, ui) {
      $('#softphones .textbox').val(ui.value).trigger('change');
    }
  });
  $('#softphones .textbox').change(function() {
    Configurator.set_softphones(this.value);
  });

  // Exec/Power Phones
  $('.slider', Context.exec_phones).slider({
    value: 0, min: 0, max: 100, step: 1,
    slide: function(event, ui) {
      $('#exec_phones .textbox').val(ui.value).trigger('change');
    }
  });
  $('#exec_phones .textbox').change(function() {
    Configurator.set_exec_phones(this.value);
  });

  // Standard Phones
  $('.slider', Context.standard_phones).slider({
    value: 0, min: 0, max: 100, step: 1,
    slide: function(event, ui) {
      $('#standard_phones .textbox').val(ui.value).trigger('change');
    }
  });
  $('#standard_phones .textbox').change(function() {
    Configurator.set_standard_phones(this.value);
  });

  // Economy Phones
  $('.slider', Context.economy_phones).slider({
    value: 0, min: 0, max: 100, step: 1,
    slide: function(event, ui) {
      $('#economy_phones .textbox').val(ui.value).trigger('change');
    }
  });
  $('#economy_phones .textbox').change(function() {
    Configurator.set_economy_phones(this.value);
  });

  // Conference Phones
  $('.slider', Context.conference_phones).slider({
    value: 0, min: 0, max: 20, step: 1,
    slide: function(event, ui) {
      $('#conference_phones .textbox').val(ui.value).trigger('change');
    }
  });
  $('#conference_phones .textbox').change(function() {
    Configurator.set_conference_phones(this.value);
  });
  
  // Monthly payment calculation
  $('#monthly_payment_items .slider').bind('slidechange', Configurator.recalculate_monthly_total);
  $('#monthly_payment_items .textbox').bind('change', Configurator.recalculate_monthly_total);
  
  // One-Time payment calculation
  $('#one_time_payment_items .slider').bind('slidechange', Configurator.recalculate_one_time_total);
  $('#one_time_payment_items .textbox').bind('change', Configurator.recalculate_one_time_total);
  
  // Wrap sliders
  $('.slider').wrap("<div class='ui-slider-wrapper-1'><div class='ui-slider-wrapper-2'></div></div>");

});