﻿var host = null;

function Silverlight_Loaded(sender, e) {
    host = sender.GetHost();
}

function Silverlight_SourceDownloadProgressChanged(sender, e) {
    sender.FindName("StatusText").Text = Math.round(e.Progress * 100) + " %";
    sender.FindName("ProgressBar").Width = e.Progress * 448;

}

function Silverlight_Error(sender, e) {
    var appSource = "";
    if (sender != null && sender != 0) {
        appSource = sender.getHost().Source;
    }

    var errorType = e.ErrorType;
    var iErrorCode = e.ErrorCode;

    if (errorType == "ImageError" || errorType == "MediaError") {
        return;
    }

    var errMsg = "Unhandled Error in Silverlight 3 Application " + appSource + "\n";

    errMsg += "Code: " + iErrorCode + "    \n";
    errMsg += "Category: " + errorType + "       \n";
    errMsg += "Message: " + e.ErrorMessage + "     \n";

    if (errorType == "ParserError") {
        errMsg += "File: " + e.xamlFile + "     \n";
        errMsg += "Line: " + e.lineNumber + "     \n";
        errMsg += "Position: " + e.charPosition + "     \n";
    }
    else if (errorType == "RuntimeError") {
        if (e.lineNumber != 0) {
            errMsg += "Line: " + e.lineNumber + "     \n";
            errMsg += "Position: " + e.charPosition + "     \n";
        }
        errMsg += "MethodName: " + e.methodName + "     \n";
    }

    throw new Error(errMsg);
}