<html><head>
<title>Button</title>
<script src="ClientGlobalContext.js.aspx"></script>
<script src="bah_SDK.REST.js" type="text/javascript"></script>
<script src="bah_jquery1.4.1.min.js" type="text/javascript"></script>
<link href="north52_purecss.css" rel="stylesheet" type="text/css">
<style type="text/css">
	html, body{ height: 100%; overflow: auto;  border-width: 0px; }
	body {  padding: 0;  margin: 0;  }
</style>

<script type="text/javascript">
    $(document).ready(function () {
        $('#addReferralButton').click(function () {
            var InOutPatient = parent.Xrm.Page.getAttribute("vhacrm_inpatientoutpatient_code").getValue();
            var InternalNum = parent.Xrm.Page.getAttribute("vhacrm_internalnumber_text").getValue();
            var FromDate = parent.Xrm.Page.getAttribute("vhacrm_fromdate_date").getValue();
            var ToDate = parent.Xrm.Page.getAttribute("vhacrm_todate_date").getValue();
            var Vendor = parent.Xrm.Page.getAttribute("vhacrm_vendor_text").getValue();
            var ServFac = parent.Xrm.Page.getAttribute("vhacrm_servicingfacilityreferralid").getValue();
            var Request = parent.Xrm.Page.getAttribute("vhacrm_requestid").getValue();
            var Interaction = parent.Xrm.Page.getAttribute("hrc_interactionno_text").getValue();
            var validReferal = true;
            var validationmessage = 'You must supply values for '
            if (!InOutPatient) {
                validReferal = false;
                validationmessage += 'Inpatient/Outpatient, ';
            }
            if (!InternalNum) {
                validReferal = false;
                validationmessage += 'Internal Number, ';
            }				
            if (!FromDate) {
                validReferal = false;
                validationmessage += 'From Date, ';
            }
            if (!ToDate) {
                validReferal = false;
                validationmessage += 'To Date, ';
            }
            if (!Vendor) {
                validReferal = false;
                validationmessage += 'Vendor, ';
            }
            if (!ServFac) {
                validReferal = false;
                validationmessage += 'Servicing Facility, ';
            }		
            if (ToDate != null) {
                if (ToDate < FromDate) {
                    validReferal = false;
                    validationmessage = "";
                    validationmessage += 'To Date must be before From Date  ';
                }
            }

            if (validReferal) {
                var parentid = parent.Xrm.Page.data.entity.getId();
                var parenttype = "vhacrm_referrals";
                var veterin = parent.Xrm.Page.getAttribute("bah_veteranid").getValue();
                var referral = {};
                        referral.vhacrm_name = InternalNum;
                        referral.vhacrm_inpatientoutpatient_code =  {Value: InOutPatient};
                        referral.vhacrm_fromdate_date = FromDate;
                        referral.vhacrm_todate_date = ToDate;
                        referral.vhacrm_vendor_text = Vendor;
                        referral.vhacrm_servicingfacilityid = { Id: ServFac[0].id, LogicalName: ServFac[0].typename };
                        referral.vhacrm_requestid = { Id: Request[0].id, LogicalName: Request[0].typename };
                        referral.vhacrm_interactionid = { Id: parentid, LogicalName: parenttype };
                        //referral.vhacrm_requestid = Referral;
						
	            if(veterin){
	            	referral.vhacrm_veteranid = { Id: veterin[0].id, LogicalName: veterin[0].typename };
                }
						
						
						
						
                debugger;

                SDK.REST.createRecord(
                    referral,
                    "vhacrm_referrals",
                    function (createdReferral) {
                        parent.Xrm.Page.getControl("Referrals").refresh();
                        parent.Xrm.Page.getAttribute("vhacrm_inpatientoutpatient_code").setValue(null);
                        parent.Xrm.Page.getAttribute("vhacrm_internalnumber_text").setValue(null);
                        parent.Xrm.Page.getAttribute("vhacrm_fromdate_date").setValue(null);
                        parent.Xrm.Page.getAttribute("vhacrm_todate_date").setValue(null);
						parent.Xrm.Page.getAttribute("vhacrm_vendor_text").setValue(null);
						parent.Xrm.Page.getAttribute("vhacrm_servicingfacilityreferralid").setValue(null);
                    },
                    function (err) {
                        alert('An error occurred adding the referral: ' + err);
                    }
                );
            }
            else {
                validationmessage = validationmessage.slice(0, -2) + '.';
                alert(validationmessage);
            }
        });
    });
</script>
</head>
<body style="-ms-word-wrap: break-word;">
<button name="addReferralButton" id="addReferralButton" type="button">Add Referral</button>

</body></html>