﻿function fnCopyToClipBoard (text) 
{
    window.clipboardData.setData("Text", text);
}

function fnCopyObject(objID, text) 
{
    var ctrlRange = document.body.createControlRange();
    var scrapFake = document.getElementById("scrapFake");
    var obj = document.getElementById(objID);

    if (scrapFake != null) {

        scrapFake.innerHTML = "";
        scrapFake.innerHTML = text;

    }
    
    obj = document.getElementById(objID);    
    ctrlRange.add(obj);
    ctrlRange.execCommand("Copy");    
}

function fnCallDomLinker (linkurl)
{
    silverlightFake.location.href = encodeURI(linkurl);
}

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);
}

