Silverlight Anyone?

Well I was trying to make a simple Media Player in it. Following are my 3 code files, Page.xaml, Page.xaml.js and Silverlight.js and one Default.html created as the resultant web page. Anyone who wants to run this code can embedded his/her own Media file and make corresponding changes.
First of, Page.xaml
Code:
<Canvas
	xmlns="http://schemas.microsoft.com/client/2007"
	xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
	Width="640" Height="480"
	Background="White"
	x:Name="Page">
	<Canvas.Resources>
	</Canvas.Resources>
	<MediaElement Width="531" Height="342" Canvas.Top="20" Canvas.Left="67" x:Name="Wave" AutoPlay="False" Source="hit the floor - linkin park.wmv" />
	<TextBlock Text="Play" x:Name="Play" TextWrapping="Wrap" Canvas.Top="398" Canvas.Left="67"/>
	<TextBlock Canvas.Left="557" Canvas.Top="398" Width="41" Height="22.537" Text="Stop" x:Name="Stop" TextWrapping="Wrap"/>
</Canvas>
Now the Page.xaml.js file
Code:
if (!window.VideoZ)
	VideoZ = {};

VideoZ.Page = function() 
{
}

VideoZ.Page.prototype =
{
	handleLoad: function(control, userContext, rootElement) 
	{
		var playbutton = rootElement.children.getItem(1);
		var stopbutton = rootElement.children.getItem(2);
		this.control = control;
		
		// Sample event hookup:	
		rootElement.addEventListener("MouseLeftButtonDown", Silverlight.createDelegate(this, this.handleMouseDown));
		playbutton.addEventListener("MouseLeftButtonDown", Silverlight.createDelegate(this, this.playpause));
		stopbutton.addEventListener("MouseLeftButtonDown", Silverlight.createDelegate(this, this.stop));
		},
	handleMouseDown: function(sender, eventArgs) 
	{
		// The following line of code shows how to find an element by name and call a method on it.
		// this.control.content.findName("Storyboard1").Begin();
	}
	playpause:function(sender,eventArgs)
	{
		var theHost = document.getElementById("SilverlightControl");
   		var theMedia = theHost.content.findName("Wave");
		if(sender.Text=="Play")
		{
			theMedia.Play();
			sender.Text="Pause";
		}
		else
		{
			theMedia.Pause();
			sender.Text="Play";
		}
	}

	stop:function(sender,eventArgs)
	{
		var play=sender.findname("Play");
		
		var theHost = document.getElementById("SilverlightControl");
   		var theMedia = theHost.content.findName("Wave");
   		theMedia.Stop();
		play.Text="Play";
	}
}
The Silverlight.js file is created as default and no change has been made to it but still I'm showing it here.
Code:
///////////////////////////////////////////////////////////////////////////////
//
//  Silverlight.js   			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 Silverlight 
//  SDK 1.0 license available at [url]http://go.microsoft.com/fwlink/?linkid=94240[/url].  
//  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.
//
///////////////////////////////////////////////////////////////////////////////

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);b.onGetSilverlightClick=Silverlight.HtmlAttributeEncode(c.onGetSilverlightClick);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;delete c.onGetSilverlightClick;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(j){var a=null,h=Silverlight.fwlinkRoot,c=Silverlight.ua.OS,d=j.onGetSilverlightClick,b="92822",e,f="Get Microsoft Silverlight",m="0x409";if(!d)d="";else d+="();";if(j.inplaceInstallPrompt){var n="104745";if(Silverlight.available)e="104746";else e="104747";var i="93481",g="93483";if(c=="Windows"){b="92799";i="92803";g="92805"}else if(c=="MacIntel"){b="92808";i="92804";g="92806"}else if(c=="MacPPC"){b="92807";i="92815";g="92816"}var l='By clicking [b]"Get Microsoft Silverlight"[/b] you accept the
[url="{2}"][b]Silverlight license agreement[/b][/url]',k='Silverlight updates automatically, [url="{3}"][b]learn more[/b][/url]';a='<table border="0" cellpadding="0" cellspacing="0" width="206px" style="font-size: 55%; font-family: Verdana;  color: #5E5D5D;"><tr><td>[img]{1}[/img]</td></tr><tr><td style="width: 206px; margin: 0px; background: #FFFFFF; text-align: left; border-left-style: solid; border-right-style: solid; border-color: #c7c7bd;padding-left: 6px; padding-right: 6px; padding-top: 3px; padding-bottom: 10px; border-width: 2px; ">'+l+'</td></tr><tr><td style="width: 206px; margin: 0px; background: #FFFFFF; text-align: left; border-left-style: solid; border-right-style: solid; padding-left: 6px; padding-right: 6px; border-color: #c7c7bd;padding-top: 0px; padding-bottom: 2px; border-width: 2px; ">'+k+'</td></tr><tr><td>[img]{4}[/img]</td></tr></table>';a=a.replace("{2}",h+i);a=a.replace("{3}",h+g);a=a.replace("{4}",h+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]{1}[/img]</div>'}a=a.replace("{0}",b);a=a.replace("{1}",h+e+"&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}
Now when I run the site I get 2 errors
Code:
Line:27
Char:2
Error: Expected '}'
Code:0
URL:[url]http://localhost:51064/[/url]
Second one is this
Code:
Line:22
Char:4
Error: 'VideoZ' is Undefined
Code:0
URL:[url]http://localhost:51064/[/url]
First of all I don't know in which file it is finding these errors, Neither Blend 2 or VS2008 shows any such Syntactic error as the first one. Moreover for second error, I've named my site VideoZ then how can it be undefined?
Those who know answer to it might find my questions and errors noobish and the case is so as I'm a complete noob at it, its my first time doing something in Silverlight and I dunno JavaScript! :ashamed:
 
Back
Top