﻿function OnErrorEventHandler(sender, errorArgs)
{
    var control = document.getElementById("SilverlightControl");
    control.Content.basic.HandleUnmanagedError();
}

function getQueryVariable(variable, defaultValue) 
{  
    //Based on a codesample of http://www.zrinity.com/    
    var query = window.location.search.substring(1);  
    var vars = query.split("&");  
    
    for (var i=0;i<vars.length;i++) {    
        var pair = vars[i].split("=");    
        if (pair[0] == variable) {      
            return pair[1];    
        }  
    }   
    return defaultValue;
}

function CreateSilverlightViewer2(host, volume, imageType) {
    // Create a variable that references the HTML element that hosts the plug-in.
    var parentElement = document.getElementById(host);
    
    // Set the required version
    var reqVersion = '2.0.30523';
    
    // A custom page gate will be generated if Silverlight is not available.
    if(!Silverlight.isInstalled(reqVersion)){
        if(parentElement){
            parentElement.innerHTML = generatePageGate(reqVersion);
        } 
        return;
    }
        
    // Initialize and create the plug-in.
    Silverlight.createObject(
        "http://www.dotnetmag.nl/dotnetmag.nl/media/dotnetmag.nl/silverlight/DocumentReader/SilverlightDocumentReader.xap",        // Source property value.
        parentElement,                          // DOM reference to hosting HTML block tag.
        "SilverlightControl",                   // Unique plug-in ID value.
        {                                       // Plug-in properties.
            width: '100%',
            height: '100%',
            version: reqVersion
        },
        {                                       //Plug-in event object
            onError:OnErrorEventHandler,            // OnError property value -- event-handler function name.
            onLoad:null                             // OnLoad property value -- event-handler function name.
        },
        
        "Library="+volume+",ImageType="+imageType,   // initParams -- user-settable string for information passing.
        null);                                  // Context value -- passed to Silverlight.js onLoad event handlers
}

function generatePageGate(reqVersion)
{
    // Generates a custom page gate if Silverlight has not been installed
    var slPluginHelper = new Object();
    slPluginHelper.version = reqVersion;
    var getSilverlight = Silverlight.buildPromptHTML(slPluginHelper);

    res = "<div class='container'>"
        res += "<div class='center message'>"
            res += "<div class='innercontainer dl'>"
                res += getSilverlight
            res += "</div>"
        res += "</div>"
    res += "</div>"

    return res;
}