$(document).ready(function(){
  $('.intensity').livequery(function(){
    var hidden = $(this).siblings('input:hidden');
    readOut(this,hidden.val());
    $(this).slider({
      min: 0,
      max: 100,
      value: hidden.val(),
      step: 1,
      change: function(event, ui) {
        var elm = $(this).closest('.firm_practice');
        if(elm.length != 0)
          var id = elm.attr('id').split('_')[2];
        $(this).trigger({type: 'intensitySlide', firm_practice_id: id, intensity: ui.value})
      },
      slide: function(event,ui){
        readOut(this,ui.value);
      }
    });
  });

  function readOut(elm,value){
    var description = ['Someday', 'Infrequent', 'Normal', 'Competitive Advantage', 'Extremely Important', 'Defines Us'][Math.floor(value/20)];
    $(elm).siblings('.intensity-readout').html(description + " (" + value + "%)")
  }

  $('body.firms.adjust .intensity').bind('intensitySlide', function(event){
    $.ajax({
      type: "POST",
      data: {_method: "put", 'firm_practice[intensity]': event.intensity},
      url: '/firm_practices/' + event.firm_practice_id + '/adjust',
      success: function(data,status) {
        $("#firm_practice_" + event.firm_practice_id + " .intensity").effect("highlight", {}, 5000);
      },
      error: function (XMLHttpRequest, textStatus, errorThrown) {
        //alert(XMLHttpRequest.getAllResponseHeaders());
      }
    });
  });

  $('body.firms.show .intensity').livequery('intensitySlide', function(event){
    $(this).siblings('input:hidden').val(event.intensity);
  });
});
