var global_claim_status_text = Xrm.Page.getAttribute("btsss_status").getText();

function OnLoad_EnableEligCtrls(){
  Xrm.Page.getControl("btsss_manualadjudacatedreason").setDisabled(true);

  Xrm.Page.getControl("btsss_ruleseligibility").setDisabled(true);
  Xrm.Page.getControl("btsss_tripeligibility").setDisabled(true);
  Xrm.Page.getControl("btsss_veteraneligibility").setDisabled(true);
}

function OnChange_EnableEligCtrls(){
  var claim_status_text = Xrm.Page.getAttribute("btsss_status").getText();

  if (global_claim_status_text == "In Manual Review") {
    if ((claim_status_text == "Pending") ||
      (claim_status_text == "Denied") ||
      (claim_status_text == "On Hold")) {
      Xrm.Page.getControl("btsss_manualadjudacatedreason").setDisabled(false);
    } else {
      Xrm.Page.getControl("btsss_manualadjudacatedreason").setDisabled(true);
    }

    if (claim_status_text == "Pending") {
        Xrm.Page.getControl("btsss_ruleseligibility").setDisabled(false);
        Xrm.Page.getControl("btsss_tripeligibility").setDisabled(false);
        Xrm.Page.getControl("btsss_veteraneligibility").setDisabled(false);
      }
    }

    var last4 = "";
    if (claim_status_text == "Denied" && global_claim_status_text != "Denied") {
        // format the First Initial Last Four SSN field
        var claim_lastname_text = Xrm.Page.getAttribute("btsss_claimantlastname").getValue();
        var initial = claim_lastname_text.substring(0,1);

        var contactId = Xrm.Page.getAttribute("btsss_claimant").getValue()[0].id;

        SDK.REST.retrieveRecord(
           contactId ,
           "Contact",
           "btsss_SSN",
           null,
           function (result) {
              var ssn = result.btsss_SSN;
              if (ssn.length >3) {
                 last4 = ssn.substr(ssn.length - 4);
              }
              Xrm.Page.getAttribute("btsss_claimantinitialpluslast4").setValue(initial + last4);
         },
          function (error) {
               alert(error.message);
          }
      );
    }

    if (claim_status_text == "In-Process" || claim_status_text == "Claim Submitted") {
        // calculate the AgeOfClaim field using the Submitted Date and the  Appointment Date
        var apptDate = Xrm.Page.getAttribute("btsss_appointmentdatetime").getValue();
        var submittedDate = Xrm.Page.getAttribute("btsss_submitteddate").getValue();
        if (submittedDate == null)
        {
             submittedDate  = new Date();
             Xrm.Page.getAttribute("btsss_submitteddate").setValue(submittedDate);
        }
        var ageofclaim = Math.floor((submittedDate -apptDate )/(1000*60*60*24));
        Xrm.Page.getAttribute("btsss_ageofclaim").setValue(ageofclaim );
   }
  }