// Determine whether the specified Silverlight runtime version is installed.
var version = "3.0"; //deliberate over-version
var isInstalled = Silverlight.isInstalled(version);

function onLoaded() {
    // Create the plug-in if the specified Silverlight runtime version is installed.
    if (isInstalled) {
        var parentElement = document.getElementById("pluginHost");
        //createSilverlight();
        //document.getElementById('silverlightControlHost').style.visibility = 'visible';
    }
    else {
        //document.getElementById('silverlightVersionProblem').style.visibility = 'visible';
        
        //alert("bad version");
        if(navigator.userAgent.indexOf('Macintosh') != -1)
            document.getElementById('installLinkMac').style.visibility = 'visible';
        else
            document.getElementById('installLinkWindows').style.visibility = 'visible';
    }
}

function GetScrollY() {
    return GetScrollXY()[1];
}

function GetScrollXY() {
    var scrOfX = 0, scrOfY = 0;
    if (typeof (window.pageYOffset) == 'number') {
        //Netscape compliant
        scrOfY = window.pageYOffset;
        scrOfX = window.pageXOffset;
    } else if (document.body && (document.body.scrollLeft || document.body.scrollTop)) {
        //DOM compliant
        scrOfY = document.body.scrollTop;
        scrOfX = document.body.scrollLeft;
    } else if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
        //IE6 standards compliant mode
        scrOfY = document.documentElement.scrollTop;
        scrOfX = document.documentElement.scrollLeft;
    }
    return [scrOfX, scrOfY];
}

// Browser Window Size and Position
// copyright Stephen Chapman, 3rd Jan 2005, 8th Dec 2005
// you may copy these functions but please keep the copyright notice as well
function PageWidth() { return window.innerWidth != null ? window.innerWidth : document.documentElement && document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body != null ? document.body.clientWidth : null; }
function PageHeight() { return window.innerHeight != null ? window.innerHeight : document.documentElement && document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body != null ? document.body.clientHeight : null; }
function PosLeft() { return typeof window.pageXOffset != 'undefined' ? window.pageXOffset : document.documentElement && document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ? document.body.scrollLeft : 0; }
function PosTop() { return typeof window.pageYOffset != 'undefined' ? window.pageYOffset : document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ? document.body.scrollTop : 0; }
function PosRight() { return posLeft() + pageWidth(); }
function PosBottom() { return posTop() + pageHeight(); }

function ResizeObject(height) {
    var host = document.getElementById("silverlightControlHost");
    if (document.documentElement.clientHeight < height) {
        host.style.height = height + "px";
    }
    else {
        host.style.height = document.documentElement.clientHeight.toString() + "px";
    }
}

function GetVerticalScrollbarWidth() {
    return document.documentElement.scrollWidth - document.body.scrollWidth;
}

function onSilverlightError(sender, args) {

    var appSource = "";
    if (sender != null && sender != 0) {
        appSource = sender.getHost().Source;
    }
    var errorType = args.ErrorType;
    var iErrorCode = args.ErrorCode;

    var errMsg = "Unhandled Error in Silverlight 2 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);
}