﻿/*
    script for inplaced silverlight object
*/

window.onresize = ResizeSLObject;
window.onload = ResizeSLObject;
function ResizeSLObject() {
    var o = document.getElementById('silverlightControlHost');
    var ft = document.getElementById('footer');
    var hd = document.getElementById('header');

    var h_header = hd.clientHeight;
    var h_footer = ft.clientHeight;
    var margin = h_header + h_footer;

    var docHeight;

    if (document.compatMode == "CSS1Compat") {
        docHeight = document.documentElement.clientHeight;
    } else if (document.compatMode == "BackCompat") {
        docHeight = document.body.clientHeight;
    }

    var objHeight = Math.max(docHeight - margin, 300);
    o.style.height = objHeight + "px";
}



function onSilverlightError(sender, args) {
    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 = "Silverlight アプリケーションでハンドルされていないエラーが発生しました " + appSource + "\n";

    errMsg += "コード: " + iErrorCode + "    \n";
    errMsg += "カテゴリ: " + errorType + "       \n";
    errMsg += "メッセージ: " + args.ErrorMessage + "     \n";

    if (errorType == "ParserError") {
        errMsg += "ファイル: " + args.xamlFile + "     \n";
        errMsg += "行: " + args.lineNumber + "     \n";
        errMsg += "位置: " + args.charPosition + "     \n";
    }
    else if (errorType == "RuntimeError") {
        if (args.lineNumber != 0) {
            errMsg += "行: " + args.lineNumber + "     \n";
            errMsg += "位置: " + args.charPosition + "     \n";
        }
        errMsg += "メソッド名: " + args.methodName + "     \n";
    }

    throw new Error(errMsg);
}


