﻿function OnLoad()
{
    var formType = Xrm.Page.ui.getFormType();

    if (formType == 1) //Create
    {
        Xrm.Page.getControl("iotap_user").setDisabled(true);
        Xrm.Page.getControl("iotap_team").setDisabled(true);
        Xrm.Page.getControl("iotap_name").setDisabled(true);
        Xrm.Page.getAttribute("iotap_usercounter").setValue(0);
    }
    else if (formType == 2)
    {
        Xrm.Page.getControl("iotap_ownertype").setDisabled(false);

        var caseOwner = Xrm.Page.getAttribute("iotap_ownertype").getValue();

        if (caseOwner == 1) {
            Xrm.Page.getControl("iotap_team").setDisabled(true);
            Xrm.Page.getControl("iotap_user").setDisabled(false);
            Xrm.Page.getControl("iotap_userqueue").setDisabled(true);

            Xrm.Page.getAttribute("iotap_team").setValue(null);
            Xrm.Page.getAttribute("iotap_userqueue").setValue(null);
        }
        else if (caseOwner == 2){
            Xrm.Page.getControl("iotap_userqueue").setDisabled(true);
            Xrm.Page.getControl("iotap_user").setDisabled(true);
            Xrm.Page.getControl("iotap_team").setDisabled(false);

            Xrm.Page.getAttribute("iotap_user").setValue(null);
            Xrm.Page.getAttribute("iotap_userqueue").setValue(null);
        }
        else if (caseOwner == 3) {
            Xrm.Page.getControl("iotap_userqueue").setDisabled(false);
            Xrm.Page.getControl("iotap_user").setDisabled(true);
            Xrm.Page.getControl("iotap_team").setDisabled(true);

            Xrm.Page.getAttribute("iotap_team").setValue(null);
            Xrm.Page.getAttribute("iotap_user").setValue(null);
        }
    }
}

function OnSave()
{
    var name;
    var caseOwner = Xrm.Page.getAttribute("iotap_ownertype").getValue();
    var caseOwnerName = Xrm.Page.getAttribute("iotap_ownertype").getText();

    if (caseOwner == 1) {
        var userLookupObject = Xrm.Page.getAttribute("iotap_user");
        if (userLookupObject != null) {
            var userLookUpObjectValue = userLookupObject.getValue();
            if ((userLookUpObjectValue != null)) {
                var userLookuptextvalue = userLookUpObjectValue[0].name;
            }
        }
        name = "[Owner] - " + caseOwnerName + " - " + userLookuptextvalue;
        Xrm.Page.getAttribute("iotap_name").setValue(name);
    }

    else if (caseOwner == 2) {
        var teamLookupObject = Xrm.Page.getAttribute("iotap_team");
        if (teamLookupObject != null) {
            var teamLookUpObjectValue = teamLookupObject.getValue();
            if ((teamLookUpObjectValue != null)) {
                var teamLookuptextvalue = teamLookUpObjectValue[0].name;
            }
        }
        name = "[Owner] - " + caseOwnerName + " - " + teamLookuptextvalue;
        Xrm.Page.getAttribute("iotap_name").setValue(name);
    }

    else if (caseOwner == 3)
    {
        var userQueueLookupObject = Xrm.Page.getAttribute("iotap_userqueue");
        if (userQueueLookupObject != null) {
            var userQueueLookUpObjectValue = userQueueLookupObject.getValue();
            if ((userQueueLookUpObjectValue != null)) {
                var userQueueLookuptextvalue = userQueueLookUpObjectValue[0].name;
                var userQueueLookupID = userQueueLookUpObjectValue[0].id;
            }
        }
        userQueueLookupID = userQueueLookupID.replace("{", "").replace("}", "");
        name = "[Owner] - " + caseOwnerName + " - " + userQueueLookuptextvalue;
        Xrm.Page.getAttribute("iotap_name").setValue(name);
        Xrm.Page.getAttribute("iotap_userqueueguid").setValue(userQueueLookupID);
    }
}

function CaseOwnerOnChange()
{
    var caseOwner = Xrm.Page.getAttribute("iotap_ownertype").getValue();

    Xrm.Page.getAttribute("iotap_user").setValue(null);
    Xrm.Page.getAttribute("iotap_team").setValue(null);
    Xrm.Page.getAttribute("iotap_userqueue").setValue(null);

    if (caseOwner == 1) {
        Xrm.Page.getControl("iotap_team").setDisabled(true);
        Xrm.Page.getControl("iotap_user").setDisabled(false);
        Xrm.Page.getControl("iotap_userqueue").setDisabled(true);
    }
    else if (caseOwner == 2) {
        Xrm.Page.getControl("iotap_user").setDisabled(true);
        Xrm.Page.getControl("iotap_userqueue").setDisabled(true);
        Xrm.Page.getControl("iotap_team").setDisabled(false);
    }
    else if (caseOwner == 3)
    {
        Xrm.Page.getControl("iotap_user").setDisabled(true);
        Xrm.Page.getControl("iotap_userqueue").setDisabled(false);
        Xrm.Page.getControl("iotap_team").setDisabled(true);
    }
}