﻿// AdViewer.js
// Ryan van der Kooy
// 01/30/08
// eComSystems, Inc.

// Functions:
// createAdViewer(AdViewerAd)

var gblPrimaryColor = "Black";
var gblDebugMode = false;
var gblGoodThru = "";
var gblDist = "";
var gblAdId = "";
var gblMsgCode = "";
var gblAdGuid = "";
var gblSmallPageHeight = 0;
var gblPlugInHeight = "1024";

function createAdViewer(adViewerAd)
{
    var scene = new AdViewer(adViewerAd);
    
    gblGoodThru = adViewerAd.goodThru;
    gblDist = adViewerAd.dist;
    gblAdId = adViewerAd.advertID;
    
    
    
    Silverlight.createObjectEx({
        source: "xaml/Scene.xaml",
        parentElement: document.getElementById("SilverlightControlHost"),
        id: "SilverlightControl",
        properties: {
            width: "1280",
            height: "1224",
            //width: "100%",
            //height: "100%",
            version: "1.0",
            //background: gblPrimaryColor,
            background: "Transparent",
            isWindowless: "true",
            inplaceInstallPrompt: "true"
        
            
        },
        events: {
            onError: OnErrorEventHandler, onLoad: Silverlight.createDelegate(scene, scene.handleLoad)
        }
    });

}
if (!window.Sys)
    window.Sys = {};
    
if (!window.Silverlight) 
    window.Silverlight = {};

Silverlight.createDelegate = function(instance, method) {
    return function() {
       
            return method.apply(instance, arguments);   
      
        
    }
}

function OnErrorEventHandler(sender, errorArgs)
{
    if (gblMessageCode == "") {
        window.location = "Advertisements.aspx?id=" + gblAdGuid + "&msgCode=0001";
    
    } else {
        if (!gblDebugMode) {
            // The error message to display.
            var url = "HandleError.aspx?"
            
            url += "errorType=" + errorArgs.errorType;
            url += "&errorMessage=" + errorArgs.errorMessage;
            url += "&errorCode=" + errorArgs.errorCode; 
            url += "&adProvider=" + gblDist;
            url += "&adid=" + gblAdId;
            try {
            url += "&lineNumber=" + errorArgs.lineNumber;
            } catch (err) {
            url += "&lineNumber=";
            }
            
            try {
            url += "&position=" +  errorArgs.charPosition;
            } catch (err) {
            url += "&position=";
            }
            
            try {
            url += "&methodName" + errorArgs.methodName;
            } catch (err) {
            url += "&methodName";
            }
            
            try {
            url += "&xamlFile=" + errorArgs.xamlFile;
            } catch (err) {
            url += "&xamlFile=";
            }
            
            try {
            url += "&xmlElement=" + errorArgs.xmlElement;
            } catch (err) {
            url += "&xmlElement=";
            }
            
            try {
            url += "&xmlAttribute=" + errorArgs.xmlAttribute;
            } catch (err) {
            url += "&xmlAttribute=";
            }
            
            try {
            url += "&lineNumber=" + errorArgs.lineNumber;
            } catch (err) {
            url += "&lineNumber=";
            }
            
             try {
            url += "&position=" + errorArgs.charPosition;
            } catch (err) {
            url += "&position=";
            }
            
             try {
            url += "&gblLastQueuedImage=" + gblLastQueuedImage;
            } catch (err) {
            url += "&gblLastQueuedImage=";
            }
            
            try {
            url += "&gblLastDownloadedImage=" + gblLastDownloadedImage;
            } catch (err) {
            url += "&gblLastDownloadedImage=";
            }
            
            try {
            url += "&msgCode=" + gblMsgCode;
            } catch (err) {
            url += "&msgCode=";
            }
            
            
            
            
           window.location = url;
          }
        }
}

