if (!window.Silverlight) window.Silverlight = {}; Silverlight._silverlightCount = 0; Silverlight.ua = null; Silverlight.available = false; Silverlight.fwlinkRoot = "http://go.microsoft.com/fwlink/?LinkID="; Silverlight.detectUserAgent = function() { var a = window.navigator.userAgent; Silverlight.ua = { OS: "Unsupported", Browser: "Unsupported" }; if (a.indexOf("Windows NT") >= 0) Silverlight.ua.OS = "Windows"; else if (a.indexOf("PPC Mac OS X") >= 0) Silverlight.ua.OS = "MacPPC"; else if (a.indexOf("Intel Mac OS X") >= 0) Silverlight.ua.OS = "MacIntel"; if (Silverlight.ua.OS != "Unsupported") if (a.indexOf("MSIE") >= 0) { if (navigator.userAgent.indexOf("Win64") == -1) if (parseInt(a.split("MSIE")[1]) >= 6) Silverlight.ua.Browser = "MSIE" } else if (a.indexOf("Firefox") >= 0) { var b = a.split("Firefox/")[1].split("."), c = parseInt(b[0]); if (c >= 2) Silverlight.ua.Browser = "Firefox"; else { var d = parseInt(b[1]); if (c == 1 && d >= 5) Silverlight.ua.Browser = "Firefox" } } else if (a.indexOf("Safari") >= 0) Silverlight.ua.Browser = "Safari" }; Silverlight.detectUserAgent(); Silverlight.isInstalled = function(d) { var c = false, a = null; try { var b = null; if (Silverlight.ua.Browser == "MSIE") b = new ActiveXObject("AgControl.AgControl"); else if (navigator.plugins["Silverlight Plug-In"]) { a = document.createElement("div"); document.body.appendChild(a); if (Silverlight.ua.Browser == "Safari") a.innerHTML = '<embed type="application/x-silverlight" />'; else a.innerHTML = '<object type="application/x-silverlight"  data="data:," />'; b = a.childNodes[0] } document.body.innerHTML; if (b.IsVersionSupported(d)) c = true; b = null; Silverlight.available = true } catch (e) { c = false } if (a) document.body.removeChild(a); return c }; Silverlight.createObject = function(l, g, m, j, k, i, h) { var b = {}, a = j, c = k; a.source = l; b.parentElement = g; b.id = Silverlight.HtmlAttributeEncode(m); b.width = Silverlight.HtmlAttributeEncode(a.width); b.height = Silverlight.HtmlAttributeEncode(a.height); b.ignoreBrowserVer = Boolean(a.ignoreBrowserVer); b.inplaceInstallPrompt = Boolean(a.inplaceInstallPrompt); var e = a.version.split("."); b.shortVer = e[0] + "." + e[1]; b.version = a.version; a.initParams = i; a.windowless = a.isWindowless; a.maxFramerate = a.framerate; for (var d in c) if (c[d] && d != "onLoad" && d != "onError") { a[d] = c[d]; c[d] = null } delete a.width; delete a.height; delete a.id; delete a.onLoad; delete a.onError; delete a.ignoreBrowserVer; delete a.inplaceInstallPrompt; delete a.version; delete a.isWindowless; delete a.framerate; delete a.data; delete a.src; if (Silverlight.isInstalled(b.version)) { if (Silverlight._silverlightCount == 0) if (window.addEventListener) window.addEventListener("onunload", Silverlight.__cleanup, false); else window.attachEvent("onunload", Silverlight.__cleanup); var f = Silverlight._silverlightCount++; a.onLoad = "__slLoad" + f; a.onError = "__slError" + f; window[a.onLoad] = function(a) { if (c.onLoad) c.onLoad(document.getElementById(b.id), h, a) }; window[a.onError] = function(a, b) { if (c.onError) c.onError(a, b); else Silverlight.default_error_handler(a, b) }; slPluginHTML = Silverlight.buildHTML(b, a) } else slPluginHTML = Silverlight.buildPromptHTML(b); if (b.parentElement) b.parentElement.innerHTML = slPluginHTML; else return slPluginHTML }; Silverlight.supportedUserAgent = function() { var a = Silverlight.ua, b = a.OS == "Unsupported" || a.Browser == "Unsupported" || a.OS == "Windows" && a.Browser == "Safari" || a.OS.indexOf("Mac") >= 0 && a.Browser == "IE"; return !b }; Silverlight.buildHTML = function(c, d) { var a = [], e, i, g, f, h; if (Silverlight.ua.Browser == "Safari") { a.push("<embed "); e = ""; i = " "; g = '="'; f = '"'; h = ' type="application/x-silverlight"/>' + "<iframe style='visibility:hidden;height:0;width:0'/>" } else { a.push('<object type="application/x-silverlight" data="data:,"'); e = ">"; i = ' <param name="'; g = '" value="'; f = '" />'; h = "</object>" } a.push(' id="' + c.id + '" width="' + c.width + '" height="' + c.height + '" ' + e); for (var b in d) if (d[b]) a.push(i + Silverlight.HtmlAttributeEncode(b) + g + Silverlight.HtmlAttributeEncode(d[b]) + f); a.push(h); return a.join("") }; Silverlight.default_error_handler = function(e, b) { var d, c = b.ErrorType; d = b.ErrorCode; var a = "\nSilverlight error message     \n"; a += "ErrorCode: " + d + "\n"; a += "ErrorType: " + c + "       \n"; a += "Message: " + b.ErrorMessage + "     \n"; if (c == "ParserError") { a += "XamlFile: " + b.xamlFile + "     \n"; a += "Line: " + b.lineNumber + "     \n"; a += "Position: " + b.charPosition + "     \n" } else if (c == "RuntimeError") { if (b.lineNumber != 0) { a += "Line: " + b.lineNumber + "     \n"; a += "Position: " + b.charPosition + "     \n" } a += "MethodName: " + b.methodName + "     \n" } alert(a) }; Silverlight.createObjectEx = function(b) { var a = b, c = Silverlight.createObject(a.source, a.parentElement, a.id, a.properties, a.events, a.initParams, a.context); if (a.parentElement == null) return c }; Silverlight.buildPromptHTML = function(l) { var a = null, d = Silverlight.fwlinkRoot, c = Silverlight.ua.OS, b = "92822", e, f = "Get Microsoft Silverlight", m = "0x409"; if (l.inplaceInstallPrompt) { var n = "98109", i; if (Silverlight.available) { e = "96189"; i = "96422" } else { e = "96188"; i = "96422" } var h = "93481", g = "93483"; if (c == "Windows") { b = "92799"; h = "92803"; g = "92805" } else if (c == "MacIntel") { b = "92808"; h = "92804"; g = "92806" } else if (c == "MacPPC") { b = "92807"; h = "92815"; g = "92816" } var k = 'By clicking <b>"Get Microsoft Silverlight"</b> you accept the<br /><a title="Silverlight License Agreement" href="{2}" target="_top" style="text-decoration: underline; color: #96C5E1"><b>Silverlight license agreement</b></a>', j = 'Silverlight updates automatically, <a title="Silverlight Privacy Statement" href="{3}" target="_top" style="text-decoration: underline; color: #96C5E1"><b>learn more</b></a>'; a = '<table border="0" cellpadding="0" cellspacing="0" width="206px"><tr><td><img style="display: block; cursor: pointer; border= 0;" title="' + f + '" alt="' + f + '" onclick="javascript:Silverlight.followFWLink({0});" src="{1}" /></td></tr><tr><td style="width: 206px; margin: 0px; background: #FFFFFF; color: #C7C7C7; text-align: left; border-left-style: solid; border-right-style: solid; padding-left: 6px; padding-right: 6px; padding-top: 3px; padding-bottom: 0px; border-width: 2px; border-color: #c7c7bd; font-family: Verdana; font-size: 55%">' + k + '</td></tr><tr><td><img src="{5}" style="border: 0; display: block" /></td></tr><tr><td style="width: 206px; margin: 0px; background: #D8EFF9; color: #C7C7C7; text-align: left; border-left-style: solid; border-right-style: solid; padding-left: 6px; padding-right: 6px; padding-top: 0px; padding-bottom: 2px; border-width: 2px; border-color: #c7c7bd; font-family: Verdana; font-size: 55%">' + j + '</td></tr><tr><td><img alt="" src="{4}" /></td></tr></table>'; a = a.replace("{2}", d + h); a = a.replace("{3}", d + g); a = a.replace("{4}", d + i); a = a.replace("{5}", d + n) } else { if (Silverlight.available) e = "94377"; else e = "92801"; if (c == "Windows") b = "92800"; else if (c == "MacIntel") b = "92812"; else if (c == "MacPPC") b = "92811"; a = '<div style="display:block; width: 205px; height: 67px;"><img onclick="javascript:Silverlight.followFWLink({0});" style="border:0; cursor:pointer" src="{1}" title="' + f + '" alt="' + f + '"/></div>' } a = a.replace("{0}", b); a = a.replace("{1}", d + e + "&amp;clcid=" + m); return a }; Silverlight.__cleanup = function() { for (var a = Silverlight._silverlightCount - 1; a >= 0; a--) { window["__slLoad" + a] = null; window["__slError" + a] = null } if (window.removeEventListener) window.removeEventListener("unload", Silverlight.__cleanup, false); else window.detachEvent("onunload", Silverlight.__cleanup) }; Silverlight.followFWLink = function(a) { top.location = Silverlight.fwlinkRoot + String(a) }; Silverlight.HtmlAttributeEncode = function(c) { var a, b = ""; if (c == null) return null; for (var d = 0; d < c.length; d++) { a = c.charCodeAt(d); if (a > 96 && a < 123 || a > 64 && a < 91 || a > 43 && a < 58 && a != 47 || a == 95) b = b + String.fromCharCode(a); else b = b + "&#" + a + ";" } return b }
