﻿//
//  PreviewXaml.js                                            for Silverlight version 1.0
//
//  This file is provided by Microsoft as a helper file for websites that
//  incorporate Silverlight Objects. This file is provided under the ASP.NET Futures
//  license available at http://go.microsoft.com/fwlink/?LinkId=95072.
//  You may not use or distribute this file or the code in this file except as
//  expressly permitted under that license.
//
//  Copyright (c) 2007 Microsoft Corporation. All rights reserved.
//
Type.registerNamespace("Sys.Preview.UI.Xaml");Sys.Preview.UI.Xaml.scriptVersion="1.0.070716.0";Sys.Preview.UI.Xaml.ScaleMode=function(){throw Error.notImplemented()};Sys.Preview.UI.Xaml.ScaleMode.prototype={none:0,zoom:1,stretch:2};Sys.Preview.UI.Xaml.ScaleMode.registerEnum("Sys.Preview.UI.Xaml.ScaleMode");Sys.Preview.UI.Xaml.ErrorEventArgs=function(a){this._xamlError=a;Sys.Preview.UI.Xaml.ErrorEventArgs.initializeBase(this)};Sys.Preview.UI.Xaml.ErrorEventArgs.prototype={_xamlError:null,get_error:function(){return this._xamlError}};Sys.Preview.UI.Xaml.ErrorEventArgs.registerClass("Sys.Preview.UI.Xaml.ErrorEventArgs",Sys.CancelEventArgs);Sys.Preview.UI.Xaml.Control=function(a){Sys.Preview.UI.Xaml.Control.initializeBase(this,[a])};Sys.Preview.UI.Xaml.Control.prototype={_xamlSource:null,_xamlInitialized:false,_scaleMode:Sys.Preview.UI.Xaml.ScaleMode.none,_resizeDelegate:null,_boundEvents:null,add_xamlError:function(a){this.get_events().addHandler("xamlError",a)},remove_xamlError:function(a){this.get_events().removeHandler("xamlError",a)},add_resize:function(a){this.get_events().addHandler("resize",a)},remove_resize:function(a){this.get_events().removeHandler("resize",a)},add_xamlInitialized:function(a){this.get_events().addHandler("xamlInitialized",a)},remove_xamlInitialized:function(a){this.get_events().removeHandler("xamlInitialized",a)},get_scaleMode:function(){return this._scaleMode},set_scaleMode:function(a){this._scaleMode=a;if(this._xamlInitialized&&a!==Sys.Preview.UI.Xaml.ScaleMode.none)this._ensureTransform()},get_xamlSource:function(){return this._xamlSource||""},set_xamlSource:function(a){this._xamlSource=a},addEventListener:function(b,a,d){if(!this._boundEvents)this._boundEvents=[];var c=b.addEventListener(a,d);this._boundEvents[this._boundEvents.length]={element:b,eventName:a,token:c};return c},addEventListeners:function(f,d,c){var e={};for(var a in d){var b=d[a];if(c)b=Function.createDelegate(c,b);e[a]=this.addEventListener(f,a,b)}return e},dispose:function(){var a=this.get_element();if(a){if(this._resizeDelegate){a.content.onResize=null;this._resizeDelegate=null}a.OnLoad=null;a.OnError=null}if(this._xamlInitialized){this.xamlDispose();this._xamlInitialized=false}if(this._boundEvents){for(var c=0,d=this._boundEvents.length;c<d;c++){var b=this._boundEvents[c];b.element.removeEventListener(b.eventName,b.token)}this._boundEvents=null}Sys.Preview.UI.Xaml.Control.callBaseMethod(this,"dispose")},initialize:function(){Sys.Preview.UI.Xaml.Control.callBaseMethod(this,"initialize");var a=this.get_element();if(a.tagName==="OBJECT"||a.tagName==="EMBED"){a.OnError=Function.createDelegate(this,this._xamlError);var b=this.get_xamlSource();if(b&&!a.Source){a.OnLoad=Function.createDelegate(this,this._xamlLoaded);a.Source=b}else this._raiseXamlInitialize()}},onResize:function(){},onXamlError:function(){},xamlDispose:function(){},xamlInitialize:function(){},_ensureTransform:function(){var b=this.get_element().content.root,a=Sys.Preview.UI.Xaml.Control._computeScale(b),c,d;if(this.get_scaleMode()===Sys.Preview.UI.Xaml.ScaleMode.zoom)c=d=Math.min(a.horizontal,a.vertical);else{c=a.horizontal;d=a.vertical}Sys.Preview.UI.Xaml.Control._ensureScale(b,c,d);if(!this._resizeDelegate){this._resizeDelegate=Function.createDelegate(this,this._onResize);b.getHost().content.onResize=this._resizeDelegate}},_onResize:function(){var c=this.get_element();if(c&&this.get_scaleMode()!==Sys.Preview.UI.Xaml.ScaleMode.none){this._ensureTransform();var b=Sys.EventArgs.Empty;this.onResize(b);var a=this.get_events().getHandler("resize");if(a)a(this,b)}},_raiseXamlError:function(c,a){this.onXamlError(a);if(!a.get_cancel()){var b=this.get_events().getHandler("xamlError");if(b)b(this,a)}},_raiseXamlInitialize:function(){if(this.get_scaleMode()!==Sys.Preview.UI.Xaml.ScaleMode.none)this._ensureTransform();this._xamlInitialized=true;this.xamlInitialize();var a=this.get_events().getHandler("xamlInitialized");if(a)a(this,Sys.EventArgs.Empty)},_xamlError:function(b,c){var a=this.get_element();if(a)this._raiseXamlError(b,new Sys.Preview.UI.Xaml.ErrorEventArgs(c))},_xamlLoaded:function(){var a=this.get_element();if(a){a.OnLoad=null;this._raiseXamlInitialize()}}};Sys.Preview.UI.Xaml.Control._computeScale=function(a){var c=a.width,b=a.height,d=a.getHost(),e=c?d.content.ActualWidth/c:0,f=b?d.content.ActualHeight/b:0;return {horizontal:e,vertical:f}};Sys.Preview.UI.Xaml.Control._ensureScale=function(b,c,d){var a=b.RenderTransform;if(!a)b.RenderTransform=a=b.getHost().content.createFromXaml('<ScaleTransform ScaleX="1" ScaleY="1"/>');a.ScaleX=c;a.ScaleY=d};Sys.Preview.UI.Xaml.Control._ensureMatrix=function(b,e,f,c,d){var a=b.RenderTransform;if(!a)b.RenderTransform=a=b.getHost().content.createFromXaml('<MatrixTransform Matrix="1.0,0.0, 0.0,1.0, 0.0,0.0"/>');else if(a.toString()!=="MatrixTransform")return;a.Matrix.M11=e;a.Matrix.M22=f;a.Matrix.OffsetX=c;a.Matrix.OffsetY=d};Sys.Preview.UI.Xaml.Control.registerClass("Sys.Preview.UI.Xaml.Control",Sys.UI.Control);Sys.Preview.UI.Xaml.Control._supportedVersionsCache={};Sys.Preview.UI.Xaml.Control._followFWLink=function(a){window.top.location="http://go.microsoft.com/fwlink/?LinkID="+a};Sys.Preview.UI.Xaml.Control._getFWLinks=function(d){var b=Sys.Browser.agent===Sys.Browser.InternetExplorer&&Sys.Browser.version>=6&&navigator.userAgent.indexOf("Win64")===-1&&navigator.userAgent.indexOf("Mac OS X")===-1||Sys.Browser.agent===Sys.Browser.Firefox&&Sys.Browser.version>=1.5||Sys.Browser.agent===Sys.Browser.Safari&&navigator.userAgent.indexOf("Windows NT")===-1,c=0;try{c=parseFloat(d)}catch(e){}if(c>=1.1)return Sys.Preview.UI.Xaml.Control._getFWLinksAlpha(b);var a={install:"92822",eula:"93481",privacy:"93483"};a.imageCenter="98109";if(Sys.Preview.UI.Xaml.Control._installed){a.image1="96189";a.image2="96422"}else{a.image1="96188";a.image2="96422"}if(b)if(navigator.userAgent.indexOf("Windows NT")!==-1){a.install="92799";a.eula="92803";a.privacy="92805"}else if(navigator.userAgent.indexOf("PPC Mac OS X")!==-1){a.install="92807";a.eula="92815";a.privacy="92816"}else if(navigator.userAgent.indexOf("Intel Mac OS X")!==-1){a.install="92808";a.eula="92804";a.privacy="92806"}a.installHtml=Sys.Preview.UI.Xaml.Res.inlineInstallHtml;return a};Sys.Preview.UI.Xaml.Control._getFWLinksAlpha=function(b){b=b&&navigator.userAgent.indexOf("PPC Mac OS X")===-1;var a={image2:null,privacy:null,eula:null,imageCenter:null};a.image1=Sys.Preview.UI.Xaml.Control._installed?"94378":"92810";if(b){if(navigator.userAgent.indexOf("Windows NT")!==-1)a.install="92809";else if(navigator.userAgent.indexOf("Mac OS X")!==-1)a.install="92813"}else a.install="92821";a.installHtml=Sys.Preview.UI.Xaml.Res.linkedInstallHtml;return a};Sys.Preview.UI.Xaml.Control._getInstallPrompt=function(d,c){var a=document.createElement("div");if(c){a.id=c.id;a.width=c.width;a.height=c.height;a.className=c.className;a.style.cssText=c.style.cssText}var b=Sys.Preview.UI.Xaml.Control._getFWLinks(d);a.innerHTML=String.format(b.installHtml,b.install,b.image1,b.eula,b.privacy,b.image2,b.imageCenter);return a};Sys.Preview.UI.Xaml.Control._supportsVersion=function(d){if(!d)return true;var b=Sys.Preview.UI.Xaml.Control._supportedVersionsCache[d];if(typeof b==="undefined"){var c=null,a;if(Sys.Browser.agent===Sys.Browser.InternetExplorer)try{c=new ActiveXObject("AgControl.AgControl")}catch(e){}else if(navigator.plugins["Silverlight Plug-In"]){a=document.createElement("div");a.style.width="0px";a.style.height="0px";if(Sys.Browser.agent===Sys.Browser.Safari)a.innerHTML='<embed type="application/x-silverlight" />';else a.innerHTML='<object type="application/x-silverlight" data="data:," />';document.body.appendChild(a);c=a.childNodes[0]}if(c&&typeof c.IsVersionSupported!=="undefined"){Sys.Preview.UI.Xaml.Control._installed=true;b=c.IsVersionSupported(d)}else{Sys.Preview.UI.Xaml.Control._installed=false;b=false}if(a)a.parentNode.removeChild(a)}Sys.Preview.UI.Xaml.Control._supportedVersionsCache[d]=b;return b};Sys.Preview.UI.Xaml.Control._writeObject=function(i,f,h){var a=document.getElementById(i);if(Sys.Preview.UI.Xaml.Control._supportsVersion(f))a.innerHTML=h;else{var d=document.createElement("div");d.innerHTML=h;var g=d.childNodes,e=null;for(var c=0,j=g.length;c<j;c++){var b=g[c];if(b.tagName==="OBJECT"||b.tagName==="EMBED"){e=b;break}}a.innerHTML="";a.appendChild(Sys.Preview.UI.Xaml.Control._getInstallPrompt(f,e))}};
Type.registerNamespace('Sys.Preview.UI.Xaml');
Sys.Preview.UI.Xaml.Res={
"inlineInstallHtml":"\u003ctable border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"206px\"\u003e\u003ctr\u003e\u003ctd\u003e\u003cimg title=\"Get Microsoft Silverlight\" alt=\"Get Microsoft Silverlight\" onclick=\"javascript:Sys.Preview.UI.Xaml.Control._followFWLink({0})\" style=\"display: block; cursor: pointer; border: 0\" src=\"http://go.microsoft.com/fwlink/?LinkID={1}&amp;clcid=0x409\" /\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd 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%\"\u003eBy clicking \u003cb\u003e\"Get Microsoft Silverlight\"\u003c/b\u003e you accept the\u003cbr /\u003e\u003ca title=\"Silverlight License Agreement\" href=\"http://go.microsoft.com/fwlink/?LinkID={2}\" target=\"_top\" style=\"text-decoration: underline; color: #96C5E1\"\u003e\u003cb\u003eSilverlight license agreement\u003c/b\u003e\u003c/a\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cimg src=\"http://go.microsoft.com/fwlink/?LinkID={5}\" alt=\"\" style=\"border: 0; display: block\" /\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd 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%\"\u003eSilverlight updates automatically, \u003ca title=\"Silverlight Privacy Statement\" href=\"http://go.microsoft.com/fwlink/?LinkID={3}\" target=\"_top\" style=\"text-decoration: underline; color: #96C5E1\"\u003e\u003cb\u003elearn more\u003c/b\u003e\u003c/a\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003cimg alt=\"\" src=\"http://go.microsoft.com/fwlink/?LinkID={4}\" style=\"display:block\" /\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/table\u003e",
"linkedInstallHtml":"\u003cdiv style=\"width: 205px; height: 67px;\"\u003e\u003cimg onclick=\"javascript:Sys.Preview.UI.Xaml.Control._followFWLink({0})\" style=\"border:0; cursor:pointer;display:block\" src=\"http://go.microsoft.com/fwlink/?LinkID={1}&amp;clcid=0x409\" title=\"Get Microsoft Silverlight\" alt=\"Get Microsoft Silverlight\"/\u003e\u003c/div\u003e"
};

if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();