﻿/* In file ~/App_Code/scripts.js.notes.txt, See Note iiKB-2011-01-19T09:55:26  */
function onSilverlightError(sender, args) {

    if (args.ErrorCode == 8001) {
        // Display upgrade UI.
        document.getElementById("silverlightControlHost").innerHTML =
        "<a href=\"http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50401.0\" class=\"iiTopMenuOut\">Click here to update Microsoft Silverlight and view our conference slideshow</a></p>";
        return;
    }

    if (args.ErrorCode == 8002) {
        // Display "restart required" UI.
        document.getElementById("silverlightControlHost").innerHTML =
"<p style=\"width: 300px; \" class=\"iiTopMenuOut\" >Please refresh this page to view the conference slideshow</p>";
        return;
    }

    // Regular debugging code, to be removed before deployment. 

    var appSource = "";
    if (sender != null && sender != 0) {
        appSource = sender.getHost().Source;
    }

    var errorType = args.ErrorType;
    var iErrorCode = args.ErrorCode;

    if (errorType == "ImageError" || errorType == "MediaError") {
        return;
    }

    var errMsg = "Unhandled Error in Silverlight Application " + appSource + "\n";

    errMsg += "Code: " + iErrorCode + "    \n";
    errMsg += "Category: " + errorType + "       \n";
    errMsg += "Message: " + args.ErrorMessage + "     \n";

    if (errorType == "ParserError") {
        errMsg += "File: " + args.xamlFile + "     \n";
        errMsg += "Line: " + args.lineNumber + "     \n";
        errMsg += "Position: " + args.charPosition + "     \n";
    }
    else if (errorType == "RuntimeError") {
        if (args.lineNumber != 0) {
            errMsg += "Line: " + args.lineNumber + "     \n";
            errMsg += "Position: " + args.charPosition + "     \n";
        }
        errMsg += "MethodName: " + args.methodName + "     \n";
    }

    throw new Error(errMsg);
}

