 
     if rule.type == "Hanuman::VisibilityRule"
       self.hideShowQuestions(hideShow, ancestorId, $ruleElement, $container, inRepeater)
-    else if hideShow == false
-      if rule.type == "Hanuman::LookupRule"
+    else if hideShow == false && rule.type == "Hanuman::LookupRule"
         self.setLookupValue(rule.value, $ruleElement)
-      else if rule.type == "Hanuman::CalculationRule"
-        self.getCalculationParameters(conditions)
-
-
-  getCalculationParameters: (conditions) ->
+
+
+  updateCalculation: (rule) ->
     parameters = {}
-    questionFields = $("[data-question-id][data-element-type]")
-    $.each questionFields, (index, qf) ->
-
-      columnName = $(qf).data('api-column-name')
-      $conditionElement = $(qf).find('.form-control')
+    inputContainers = $("[data-question-id][data-element-type]")
+    console.log('calculated field update triggered for: ' + rule.question_id)
+
+    $.each inputContainers, (index, inputContainer) ->
+      columnName = $(inputContainer).data('api-column-name')
+      $conditionElement = $(inputContainer).find('.form-control')
 
       value = self.getValue($conditionElement)
 


          # deal with any condition, once we get a hide_questions = false then we dont need to run through the rules
          hideQuestions = self.setHideQuestions(condition, $conditionElement)

          ancestorId = rule.question_id
          # bind conditions based on element type
          # text, textarea, select
          if $conditionElement.length < 2
            self.bindConditions($conditionElement)
          # radio buttons
          else
            if $conditionElement.is(":checkbox")
              # limit binding of each checkbox if data-label-value and answer are the same-kdh
              $conditionElement = $conditionContainer.find(".form-control[data-label-value='" + condition.answer.replace("/","\\/").replace("'","\\'") + "']")
              self.bindConditions($conditionElement)
            else
              for element in $conditionElement
                do (element) ->
                  self.bindConditions($(element))

          #TODO CLEAN UP THIS CODE WE HAVE STUFF IN HERE WE ARE NOT USING LIKE inRepeater
          # determine if we are in a repeater-this needs to get deleted-kdh


          # the condition element, which we need to check value for conditional logic
          $conditionElement = $conditionContainer.find(".form-control")

          # show
          if $conditionElement.length < 1
            $conditionElement = $conditionContainer.find(".form-control-static")
