// Sample Custom Icon, Color and Formatter for Single View Configuration
var crmColors = {
    darkAmber: "#F67842",
    lightAmber: "#FFB223",
    darkRed: "#A52121",
    darkBlue: "#4573B1",
    lightBlue: "#5B99C4",
    darkPurple: "#B07395",
    darkGreen: "#4A962A"
};

function determineCustomColor(record, entityLogicalName) {
    switch (entityLogicalName) {
    case "fin_fundholding":
        if (record.fin_FundId.Name.indexOf("Tech Fund") >= 0) {
            return crmColors.lightAmber
        }
        if (record.fin_FundId.Name.indexOf("Absolute Return") >= 0) {
            return crmColors.darkGreen
        }
        if (record.fin_FundId.Name.indexOf("Money Market") >= 0) {
            return crmColors.darkGreen
        }
        if (record.fin_FundId.Name.indexOf("European Markets") >= 0) {
            return crmColors.darkBlue
        }
        if (record.fin_FundId.Name.indexOf("Emerging Markets") >= 0) {
            return crmColors.darkRed
        }
        if (record.fin_FundId.Name.indexOf("Asia") >= 0) {
            return crmColors.darkRed
        }
        if (record.fin_FundId.Name.indexOf("Bond") >= 0) {
            return crmColors.lightBlue
        }
        return crmColors.lightBlue;
    case "opportunity":
        // Differentiate between Won, Lost, Canceled and Open
        return crmColors.darkPurple;
    case "incident":
        return crmColors.lightAmber; // Replace with RAG Status later on
    default:
        return crmColors.darkPurple;
    }
}
function determineCustomIcon(record, entityLogicalName) {
    switch (entityLogicalName) {
    case "opportunity":
        if (record.Name.indexOf("Equity") >= 0) {
            return "AssetMgt/Equity.png"
        }
        if (record.Name.indexOf("Quant") >= 0) {
            return "Banking/AdvisoryRoadAhead.png"
        }
        if (record.Name.indexOf("sample") >= 0) {
            return "AssetMgt/Investment.png"
        }
        return "Temp.png";
    case "fin_fundholding":
        if (record.fin_FundId.Name.indexOf("Tech Fund") >= 0) {
            return "AssetMgt/Equity.png"
        }
        if (record.fin_FundId.Name.indexOf("European Markets Fund") >= 0) {
            return "AssetMgt/AlternativeInvestments.png"
        }
        if (record.fin_FundId.Name.indexOf("Emerging Markets Fund") >= 0) {
            return "Insurance/PensionDollar.png"
        }
        if (record.fin_FundId.Name.indexOf("Money Market") >= 0) {
            return "Banking/Saving.png"
        }
        if (record.fin_FundId.Name.indexOf("Investment Fund") >= 0) {
            return "AssetMgt/Investment.png"
        }
        if (record.fin_FundId.Name.indexOf("Absolute Return") >= 0) {
            return "AssetMgt/FixedIncome.png"
        }
        if (record.fin_FundId.Name.indexOf("Bond") >= 0) {
            return "Banking/Investment.png"
        }
        return "Temp.png";
    case "incident":
        if (record.CaseTypeCode.Value == 1) {
            return "Temp.png"
        } // Question
        if (record.CaseTypeCode.Value == 2) {
            return "Insurance/Fire.png"
        } // Problem
        if (record.CaseTypeCode.Value == 3) {
            return "Insurance/Person.png"
        } // Request - Needs Different Icon
    default:
        return "Temp.png";
    }
}
function determineCustomFormat(record, entityLogicalName, field) {
    //alert(entityLogicalName + "/" + field + ": " + record[field]);
    //alert(record[field].Value);
    var t = record[field];
    switch (entityLogicalName + "/" + field) {
    case "opportunity/Name":
        return t.replace(" (Sample)", "").replace(" - ", ":<br />");
    case "fin_fundholding/fin_FundId":
        return "<br />" + t.Name.replace(" - ", ":<br />").replace(" Fund", "<br />Fund");
    case "incident/Title":
        t = (t == null) ? "" : t.replace(" (sample)", "");
        return (t.length <= 60) ? "<br />" + t : t;
    default:
        return t;
    }
}
function quickButtonClicked(context) {
}
// PM: Unsupported Code for now for Update 7.1 pending Product Group feedback
top.window.quickButtonClicked = quickButtonClicked;
top.window.determineCustomColor = determineCustomColor;
top.window.determineCustomIcon = determineCustomIcon;
top.window.determineCustomFormat = determineCustomFormat;