VideoLibrary = function() 
{
}

VideoLibrary.prototype.handleLoad = function(control, userContext, rootElement) {
    this.plugIn = control;      // Store the host plug-in
    this.media = rootElement.findName("mediaElement");
    var videoSource = "dox/dynamic/vinjett.wmv.axd"; // dox/dynamic/vinjett.wmv.axd
    this.media.Source = videoSource;
	this.image = rootElement.findName("Banner");
	var bannerSource = ""; //variable for banner
	this.image.Source = bannerSource;
    this.isMediaOpened = false;
    this.isMediaEnded = false;
	var hoverColor = "#FF595959";
	var hoverPopUpMenuItemsColor = "#FF4F4F4F";
	var rating = 2;
    
    // properties for handling media size ### rfolkes ###
    this.mediaWidth = this.media.Width;
    this.mediaHeight = this.media.Height;
	this.mediaLeftCanvas = this.media["Canvas.Left"];
	this.mediaTopCanvas = this.media["Canvas.Top"];
    
    // Hook the OnFullScreenChange event. ### rfolkes ###
    this.setCallback(this.plugIn.content, "onFullScreenChange", this.fullScreenChange);    
    
    // Hook the plug-in's resize event
    this.resize(rootElement, null);
    this.setCallback(this.plugIn.content, "onResize", this.resize);
    
    // Menu Buttons
	var nowPlaying = rootElement.findName("NowPlaying");
    var nowPlayingButtonBackground = rootElement.findName("NowPlayingButtonBackground");
    new button(nowPlaying, nowPlayingButtonBackground, "#FFFF7D00", "#FFFF7D00", Silverlight.createDelegate(this, this.onNowPlayingButtonClicked));
 	rootElement.findName("NowPlaying").addEventListener("MouseEnter", Silverlight.createDelegate(this, this.NowPlayingMouseEnter));
	rootElement.findName("NowPlaying").addEventListener("MouseLeave", Silverlight.createDelegate(this, this.NowPlayingMouseLeave));
	
 
    var stopButton = rootElement.findName("StopButton");
    var stopButtonBackground = rootElement.findName("StopButtonBackground");
    new button(stopButton, stopButtonBackground, "#FF262627", hoverColor, Silverlight.createDelegate(this, this.onStopButtonClicked));
    
    var playButton = rootElement.findName("playButton");
    var playButtonBackground = rootElement.findName("playButtonBackground");
    new button(playButton, playButtonBackground, "#FF262627", hoverColor, Silverlight.createDelegate(this, this.onPlayButtonClicked));

    var muteButton = rootElement.findName("muteButton");
    var muteButtonBackground = rootElement.findName("muteButtonBackground");
    new button(muteButton, muteButtonBackground, "#FF262627", hoverColor, Silverlight.createDelegate(this, this.onMuteButtonClicked));

    var volumeUpButton = rootElement.findName("volumeUpButton");
    var volumeUpButtonBackground = rootElement.findName("volumeUpButtonBackground");
    new button(volumeUpButton, volumeUpButtonBackground, "#FF6D6D6D", "#FF595959", Silverlight.createDelegate(this, this.onVolumeUpButtonClicked));
    
    var volumeDownButton = rootElement.findName("volumeDownButton");
    var volumeDownButtonBackground = rootElement.findName("volumeDownButtonBackground");
    new button(volumeDownButton, volumeDownButtonBackground, "#FF6D6D6D", "#FF595959", Silverlight.createDelegate(this, this.onVolumeDownButtonClicked));
    
    var volume_25 = rootElement.findName("Volume_25");
    var volume_25Back = rootElement.findName("Volume_25Back");
    new button(volume_25, volume_25Back, "#FF262627", hoverColor, Silverlight.createDelegate(this, this.onVolume_25ButtonClicked));
  
    var volume_50 = rootElement.findName("Volume_50");
    var volume_50Back = rootElement.findName("Volume_50Back");
    new button(volume_50, volume_50Back, "#FF262627", hoverColor, Silverlight.createDelegate(this, this.onVolume_50ButtonClicked));
    
    var volume_75 = rootElement.findName("Volume_75");
    var volume_75Back = rootElement.findName("Volume_75Back");
    new button(volume_75, volume_75Back, "#FF262627", hoverColor, Silverlight.createDelegate(this, this.onVolume_75ButtonClicked));
    
    var volume_100 = rootElement.findName("Volume_100");
    var volume_100Back = rootElement.findName("Volume_100Back");
    new button(volume_100, volume_100Back, "#FF262627", hoverColor, Silverlight.createDelegate(this, this.onVolume_100ButtonClicked));
    
    var ratingButton = rootElement.findName("RatingButton");
    var ratingButtonBackground = rootElement.findName("RatingButtonBackground");
    new button(ratingButton, ratingButtonBackground, "#FF262627", hoverColor, Silverlight.createDelegate(this, this.onRatingButtonClicked));
    
    var sendButton = rootElement.findName("SendButton");
    var sendButtonBackground = rootElement.findName("SendButtonBackground");
    new button(sendButton, sendButtonBackground, "#FF262627", hoverColor, Silverlight.createDelegate(this, this.onSendButtonClicked));
 
    var menuButton = rootElement.findName("MenuButton");
    var menuButtonBackground = rootElement.findName("MenuButtonBackground");
    new button(menuButton, menuButtonBackground, "#FFFF7D00", hoverColor, Silverlight.createDelegate(this, this.onMenuButtonClicked));
	
	rootElement.findName("MenuButton").addEventListener("MouseEnter", Silverlight.createDelegate(this, this.MenuButtonMouseEnter));
	rootElement.findName("MenuButton").addEventListener("MouseLeave", Silverlight.createDelegate(this, this.MenuButtonMouseLeave));
	
	//Top Menu buttons
	var txtOwnTv = rootElement.findName("txtOwnTv");
	var bgOwnTv = rootElement.findName("bgOwnTv");
	new button(txtOwnTv, bgOwnTv, "#FF2BA9B5", "#FF2BA9B5", Silverlight.createDelegate(this, this.ontxtOwnTvClicked));

	rootElement.findName("txtOwnTv").addEventListener("MouseEnter", Silverlight.createDelegate(this, this.ownTVMouseEnter));
	rootElement.findName("txtOwnTv").addEventListener("MouseLeave", Silverlight.createDelegate(this, this.ownTVMouseLeave));
	
	var txtAboutRTV = rootElement.findName("txtAboutRTV");
    var bgAboutRTV = rootElement.findName("moreHomeCursor");
    new button(txtAboutRTV, bgAboutRTV, "#FFFF7D00", "#FFFF7D00", Silverlight.createDelegate(this, this.ontxtAboutRTVClicked));
 
 	rootElement.findName("txtAboutRTV").addEventListener("MouseEnter", Silverlight.createDelegate(this, this.aboutRTVMouseEnter));
	rootElement.findName("txtAboutRTV").addEventListener("MouseLeave", Silverlight.createDelegate(this, this.aboutRTVMouseLeave));
 
	var txtCommerce = rootElement.findName("txtCommerce");
    var bgCommerce = rootElement.findName("moreCommerceCursor");
    new button(txtCommerce, bgCommerce, "#FFFF7D00", "#FFFF7D00", Silverlight.createDelegate(this, this.ontxtCommerceClicked));
 
 	rootElement.findName("txtCommerce").addEventListener("MouseEnter", Silverlight.createDelegate(this, this.commerceMouseEnter));
	rootElement.findName("txtCommerce").addEventListener("MouseLeave", Silverlight.createDelegate(this, this.commerceMouseLeave));
 
	var txtContact = rootElement.findName("txtContact");
    var bgContact = rootElement.findName("moreContactCursor");
    new button(txtContact, bgContact, "#FFFF7D00", "#FFFF7D00", Silverlight.createDelegate(this, this.ontxtContactClicked));
	
 	rootElement.findName("txtContact").addEventListener("MouseEnter", Silverlight.createDelegate(this, this.contactMouseEnter));
	rootElement.findName("txtContact").addEventListener("MouseLeave", Silverlight.createDelegate(this, this.contactMouseLeave));
    
	// More functions buttons 
	var txtMoreLogin = rootElement.findName("txtMoreLogin");
    var bgMoreLogin = rootElement.findName("bgMoreLogin");
    new button(txtMoreLogin, bgMoreLogin, "#FFFF7D00", "#FFFF7D00", Silverlight.createDelegate(this, this.onmoreLoginClicked));
	
 	rootElement.findName("txtMoreLogin").addEventListener("MouseEnter", Silverlight.createDelegate(this, this.moreLoginMouseEnter));
	rootElement.findName("txtMoreLogin").addEventListener("MouseLeave", Silverlight.createDelegate(this, this.moreLoginMouseLeave));
  
	var txtMoreUpload = rootElement.findName("txtMoreUpload");
    var bgMoreUpload = rootElement.findName("bgMoreUpload");
    new button(txtMoreUpload, bgMoreUpload, "#FFFF7D00", "#FFFF7D00", Silverlight.createDelegate(this, this.onmoreUploadClicked));
	
 	rootElement.findName("txtMoreUpload").addEventListener("MouseEnter", Silverlight.createDelegate(this, this.moreUploadMouseEnter));
	rootElement.findName("txtMoreUpload").addEventListener("MouseLeave", Silverlight.createDelegate(this, this.moreUploadMouseLeave));
	
	var txtMoreRegister = rootElement.findName("txtMoreRegister");
    var bgMoreRegister = rootElement.findName("bgMoreRegister");
    new button(txtMoreRegister, bgMoreRegister, "#FFFF7D00", "#FFFF7D00", Silverlight.createDelegate(this, this.onmoreRegisterClicked));
	
 	rootElement.findName("txtMoreRegister").addEventListener("MouseEnter", Silverlight.createDelegate(this, this.moreRegisterMouseEnter));
	rootElement.findName("txtMoreRegister").addEventListener("MouseLeave", Silverlight.createDelegate(this, this.moreRegisterMouseLeave));
	
	var txtMoreAbout = rootElement.findName("txtMoreAbout");
    var bgMoreAbout = rootElement.findName("bgMoreAbout");
    new button(txtMoreAbout, bgMoreAbout, "#FFFF7D00", "#FFFF7D00", Silverlight.createDelegate(this, this.onmoreAboutClicked));
	
 	rootElement.findName("txtMoreAbout").addEventListener("MouseEnter", Silverlight.createDelegate(this, this.moreAboutMouseEnter));
	rootElement.findName("txtMoreAbout").addEventListener("MouseLeave", Silverlight.createDelegate(this, this.moreAboutMouseLeave));
	
	var txtMoreShop = rootElement.findName("txtMoreShop");
    var bgMoreShop = rootElement.findName("bgMoreShop");
    new button(txtMoreShop, bgMoreShop, "#FFFF7D00", "#FFFF7D00", Silverlight.createDelegate(this, this.onmoreShopClicked));
	
 	rootElement.findName("txtMoreShop").addEventListener("MouseEnter", Silverlight.createDelegate(this, this.moreShopMouseEnter));
	rootElement.findName("txtMoreShop").addEventListener("MouseLeave", Silverlight.createDelegate(this, this.moreShopMouseLeave));
	
	var txtMoreSponsor = rootElement.findName("txtMoreSponsor");
    var bgMoreSponsor = rootElement.findName("bgMoreSponsor");
    new button(txtMoreSponsor, bgMoreUpload, "#FFFF7D00", "#FFFF7D00", Silverlight.createDelegate(this, this.onmoreSponsorClicked));
	
 	rootElement.findName("txtMoreSponsor").addEventListener("MouseEnter", Silverlight.createDelegate(this, this.moreSponsorMouseEnter));
	rootElement.findName("txtMoreSponsor").addEventListener("MouseLeave", Silverlight.createDelegate(this, this.moreSponsorMouseLeave));
	
	
    // Buttons visible in the Pop-Up menu
    var close = rootElement.findName("Close");
    var closeButtonBackground = rootElement.findName("CloseButtonBackground");
    new button(close, closeButtonBackground, "#FF262627", hoverColor, Silverlight.createDelegate(this, this.onCloseButtonClicked));
 
    // Star Icos in Rating menu
    var plus1 = rootElement.findName("plus1");
    var plus1Back = rootElement.findName("plus1Back");
    new button(plus1, plus1Back, "#FF262627", hoverColor, Silverlight.createDelegate(this, this.onPlus1ButtonClicked));
    
    var plus2 = rootElement.findName("plus2");
    var plus2Back = rootElement.findName("plus2Back");
    new button(plus2, plus2Back, "#FF262627", hoverColor, Silverlight.createDelegate(this, this.onPlus2ButtonClicked));
  
    var plus3 = rootElement.findName("plus3");
    var plus3Back = rootElement.findName("plus3Back");
    new button(plus3, plus3Back, "#FF262627", hoverColor, Silverlight.createDelegate(this, this.onPlus3ButtonClicked));
  
    var plus4 = rootElement.findName("plus4");
    var plus4Back = rootElement.findName("plus4Back");
    new button(plus4, plus4Back, "#FF262627", hoverColor, Silverlight.createDelegate(this, this.onPlus4ButtonClicked));
  
    var plus5 = rootElement.findName("plus5");
    var plus5Back = rootElement.findName("plus5Back");
    new button(plus5, plus5Back, "#FF262627", hoverColor, Silverlight.createDelegate(this, this.onPlus5ButtonClicked));
  
    var aboutButton = rootElement.findName("AboutButton");
    var aboutButtonBackground = rootElement.findName("AboutButtonBackground");
    new button(aboutButton, aboutButtonBackground, hoverPopUpMenuItemsColor, hoverColor, Silverlight.createDelegate(this, this.onAboutButtonClicked));
 
    var emailButton = rootElement.findName("EmailButton");
    var emailButtonBackground = rootElement.findName("EmailButtonBackground");
    new button(emailButton, emailButtonBackground, hoverPopUpMenuItemsColor, hoverColor, Silverlight.createDelegate(this, this.onReportButtonClicked));

    var helpButton = rootElement.findName("HelpButton");
    var helpButtonBackground = rootElement.findName("HelpButtonBackground");
    new button(helpButton, helpButtonBackground, hoverPopUpMenuItemsColor, hoverColor, Silverlight.createDelegate(this, this.onHelpButtonClicked));

    var fullScreenButton = rootElement.findName("FullScreenButton");
    var fullScreenButtonBackground = rootElement.findName("FullScreenButtonBackground");
    new button(fullScreenButton, fullScreenButtonBackground, "#FF262627", hoverColor, Silverlight.createDelegate(this, this.onExpandButtonClicked));
	
    //Menu End Buttons  
    var emailEnd = rootElement.findName("EmailEnd");
    var emailEndBackground = rootElement.findName("EmailEndBackground");
    new button(emailEnd, emailEndBackground, hoverPopUpMenuItemsColor, hoverColor, Silverlight.createDelegate(this, this.onSendButtonClicked));

    var playEnd = rootElement.findName("PlayEnd");
    var playEndBackground = rootElement.findName("PlayEndBackground");
    new button(playEnd, playEndBackground, hoverPopUpMenuItemsColor, hoverColor, Silverlight.createDelegate(this, this.onPlayEndButtonClicked));
  
	// Länkar
	var supportLink = rootElement.findName("supportLink");
    var supportLinkBackground = rootElement.findName("PlayEndBackground");
    new button(supportLink, supportLinkBackground, hoverPopUpMenuItemsColor, hoverColor, Silverlight.createDelegate(this, this.supportLinkClicked));
  
  	var tvsupportLink = rootElement.findName("tvsupportLink");
    var tvsupportLinkBackground = rootElement.findName("PlayEndBackground");
    new button(tvsupportLink, tvsupportLinkBackground, hoverPopUpMenuItemsColor, hoverColor, Silverlight.createDelegate(this, this.tvsupportLinkClicked));
  
    // Full screen Close Button
    var expandClose = rootElement.findName("ExpandClose");
    var expandCloseButtonBackground = rootElement.findName("ExpandCloseButtonBackground");
    new button(expandClose, expandCloseButtonBackground, hoverPopUpMenuItemsColor, hoverColor, Silverlight.createDelegate(this, this.onExpand2ButtonClicked));
  
    // Hook-up seek UI
    rootElement.findName("seekRect").addEventListener("mouseLeftButtonUp", Silverlight.createDelegate(this, this.onSeekClicked));
    
    // Timer callback
    this.timer = rootElement.findName("timer");
    this.timer.addEventListener("completed", Silverlight.createDelegate(this, this.timerTick));
  
    // Hook up media events
    this.media.addEventListener("currentStateChanged", Silverlight.createDelegate(this, this.mediaStateChanged));
    this.media.addEventListener("mediaOpened", Silverlight.createDelegate(this, this.mediaOpened));
    this.media.addEventListener("mediaEnded", Silverlight.createDelegate(this, this.mediaEnded));

    // no downloadCompleted eventhandler implemented!!! ### rfolkes ###
    /*  
    this.downloader = this.plugIn.createObject("downloader");
    this.downloader.addEventListener("completed", Silverlight.createDelegate(this, this.downloadCompleted));
    this.downloader.open('GET', "XAML/itemTemplate.xaml", true);
    this.downloader.send(); 
    */
}

VideoLibrary.prototype.mediaOpened = function(sender, eventArgs) {
	sender.findName("BufferingArea_Buffering").Begin();

	if (this.media.Source != "dox/dynamic/vinjett.wmv.axd") {
		sender.findName("bannerAnimation").Stop();
		sender.findName("bannerAnimation").Begin();
    }
	
    this.isMediaOpened = true;
    this.timer.begin();
    sender.findName("MenuMainEnd").visibility = "Collapsed";
	
	//Settings for rating stars, förbätra!
	rating = 2;
	sender.findName("plus1").Fill = "#FFFF7D00";
	sender.findName("plus2").Fill = "#FFFF7D00";
	sender.findName("plus3").Fill = "#FFC8C8C3";
	sender.findName("plus4").Fill = "#FFC8C8C3";
	sender.findName("plus5").Fill = "#FFC8C8C3";
    
    // Set duration textblock
    // Process the duration of the media into an hours:minutes:seconds string to be presented.
    var datetime = new Date(0, 0, 0, 0, 0, this.media.naturalDuration.Seconds)
    var hours = datetime.getHours();
    var minutes = datetime.getMinutes();
    var seconds = datetime.getSeconds();
    if (seconds < 10) {
        seconds = "0" + seconds;
    }
    
    if (minutes < 10) {
        minutes = "0" + minutes;
    }
    
    var durationString;
    if (hours > 0) {
        durationString = hours.toString() + "." + minutes + "." + seconds;
        sender.findName("duration").text = durationString.toString();
        sender.findName("duration")["canvas.left"] = 593.997;
    }
    else {
        durationString = minutes + "." + seconds;
        sender.findName("duration").text = durationString.toString();
        sender.findName("duration")["canvas.left"] = 593.997;
    } 
}

VideoLibrary.prototype.mediaEnded = function(sender, eventArgs) {
	var silverlightControl = sender.getHost();
    silverlightControl.content.fullScreen = false;
    
	if (sender.findName("MenuItemsRating").visibility == "Visible")
	{
		sender.findName("ratingClose").Begin();	
		sender.findName("MenuItemsRating").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";		
	}
	else if (sender.findName("MenuItemsMail").visibility == "Visible")
	{
		sender.findName("mailClose").Begin();	
		sender.findName("MenuItemsMail").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";		
	}
	else if (sender.findName("MenuItemsAbout").visibility == "Visible")
	{
		sender.findName("aboutClose").Begin();	
		sender.findName("MenuItemsAbout").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";		
	}
	else if (sender.findName("MenuItemsReport").visibility == "Visible")
	{
		sender.findName("reportClose").Begin();	
		sender.findName("MenuItemsReport").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";		
	}
	else if (sender.findName("MenuItemsHelp").visibility == "Visible")
	{
		sender.findName("helpClose").Begin();	
		sender.findName("MenuItemsHelp").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";		
	}
           
    if (this.media.Source != "dox/dynamic/vinjett.wmv.axd") {
        sender.findName("MenuMainEnd").visibility = "visible";
    }    
}

VideoLibrary.prototype.timerTick = function(sender, eventArgs) {
    if (this.isMediaOpened) { 
        if (this.media.downloadProgress < 1 || this.media.downloadProgress == 1) {
            sender.findName("downloadProgressRect").width = this.media.downloadProgress * 415;
			
			if (this.media.downloadProgress < 1){
				sender.findName("BufferingArea").visibility = "visible";

			} else if (this.media.downloadProgress == 1){
				sender.findName("BufferingArea").visibility = "Collapsed";
				sender.findName("BufferingArea_Buffering").stop();
			}	
        }
        
        sender.findName("playbackProgressRect").width = (this.media.position.seconds / this.media.naturalDuration.seconds) * 415;
		//progressThumbcanvas.left + ( / ) * progresswidth)
        sender.findName("progressThumb")["Canvas.Left"] = 172.998 + ((this.media.position.seconds / this.media.naturalDuration.seconds) * 415);
        
        if (this.media.downloadProgress < 1 || this.media.currentState != "Paused") {
            this.timer.begin();
        }
        
        // Set duration textblock
        // Process the duration of the media into an hours:minutes:seconds string to be presented.
        var datetime = new Date(0, 0, 0, 0, 0, this.media.position.seconds)
        var hours = datetime.getHours();
        var minutes = datetime.getMinutes();
        var seconds = datetime.getSeconds();
        if (seconds < 10) {
            seconds = "0" + seconds;
        }
        
        if (minutes < 10) {
            minutes = "0" + minutes;
        }
        
        var durationString;
        if (hours > 0) {
            durationString = hours.toString() + "." + minutes + "." + seconds;
            sender.findName("progress").text = durationString.toString();
            sender.findName("progress")["canvas.left"] = 135.3;
        }
        else {
            durationString = minutes + "." + seconds;
            sender.findName("progress").text = durationString.toString();
            sender.findName("progress")["canvas.left"] = 135.3;
        }  
    }
}

VideoLibrary.prototype.mediaStateChanged = function(sender, eventArgs) { 
    sender.findName("MenuMainEnd").visibility = "Collapsed";
    
    if (this.media.currentState == "Playing") {
        sender.findName("pauseIcon").visibility = "visible";
        sender.findName("playIcon").visibility = "Collapsed";
		this.timer.Begin();
    }
    else if (this.media.currentState == "Paused") {
        sender.findName("pauseIcon").visibility = "Collapsed";
        sender.findName("playIcon").visibility = "visible";
    }
    else if (this.media.currentState == "Stopped") {
        sender.findName("pauseIcon").visibility = "Collapsed";
        sender.findName("playIcon").visibility = "visible";
    }
}

VideoLibrary.prototype.onSeekClicked = function(sender, eventArgs) { 
    sender.findName("MenuMainEnd").visibility = "Collapsed";
    if (this.isMediaOpened) {
        var scaleTransform = sender.findName("scaleTransform");
        //10 is thumb width, 450 is different play widths
        var offset = (eventArgs.getPosition(null).x - (43 * scaleTransform.scaleX)) / (415 * scaleTransform.scaleX);
    
        offset = this.media.naturalDuration.seconds * offset;
        var timeSpan = this.media.position;
        timeSpan.seconds = offset;
        this.media.position = timeSpan;
        this.media.play();
    }
}

VideoLibrary.prototype.ontxtOwnTvClicked = function(sender, eventArgs) { 
	GB_showCenter('', '/tvgettv.aspx', 485, 740);
}

VideoLibrary.prototype.ownTVMouseEnter = function(sender, eventArgs) { 
	sender.findName("txtOwnMouseOver").Begin();
}

VideoLibrary.prototype.ownTVMouseLeave = function(sender, eventArgs) { 
	sender.findName("txtOwnMouseLeave").Begin();
}

VideoLibrary.prototype.ontxtAboutRTVClicked = function(sender, eventArgs) { 
	window.location.reload(); 
}

VideoLibrary.prototype.aboutRTVMouseEnter = function(sender, eventArgs) { 
	sender.findName("txtAboutRtvMouseEnter").Begin();
}

VideoLibrary.prototype.aboutRTVMouseLeave = function(sender, eventArgs) { 
	sender.findName("txtAboutRtvMouseLeave").Begin();
}

VideoLibrary.prototype.ontxtCommerceClicked = function(sender, eventArgs) { 
	GB_showCenter('', '/tvAbout.aspx?q=6', 485, 740);
}

VideoLibrary.prototype.commerceMouseEnter = function(sender, eventArgs) { 
	sender.findName("txtCommerceMouseEnter").Begin();
}

VideoLibrary.prototype.commerceMouseLeave = function(sender, eventArgs) { 
	sender.findName("txtCommerceMouseLeave").Begin();
}

VideoLibrary.prototype.ontxtContactClicked = function(sender, eventArgs) { 
	if (sender.findName("MenuItemsMail").visibility == "Visible")
	{
		sender.findName("mailClose").Begin();	
		sender.findName("MenuItemsMail").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";		
	}
	else if (sender.findName("MenuItemsAbout").visibility == "Visible")
	{
		sender.findName("aboutClose").Begin();	
		sender.findName("MenuItemsAbout").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";		
	}
	else if (sender.findName("MenuItemsReport").visibility == "Visible")
	{
		sender.findName("reportClose").Begin();	
		sender.findName("MenuItemsReport").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";		
	}
	else if (sender.findName("MenuItemsHelp").visibility == "Visible")
	{
		sender.findName("helpClose").Begin();	
		sender.findName("MenuItemsHelp").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";		
	}
	else if (sender.findName("MenuItemsRating").visibility == "Visible")
	{
		sender.findName("ratingClose").Begin();	
		sender.findName("MenuItemsRating").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";		
	}
	
	sender.findName("txtContactOpen").Begin();
	sender.findName("moreFunctions").visibility = "Visible";
	sender.findName("Close").visibility = "Visible";
	sender.findName("moreOpen").Begin();
}

VideoLibrary.prototype.contactMouseEnter = function(sender, eventArgs) { 
	sender.findName("txtContactMouseEnter").Begin();
}

VideoLibrary.prototype.contactMouseLeave = function(sender, eventArgs) { 
	sender.findName("txtContactMouseLeave").Begin();
}

VideoLibrary.prototype.onmoreLoginClicked = function(sender, eventArgs) { 
	GB_showCenter('', '/tvLogIn.aspx', 485, 740);
}

VideoLibrary.prototype.moreLoginMouseEnter = function(sender, eventArgs) { 
	sender.findName("moreLoginMouseEnter").Begin();
}

VideoLibrary.prototype.moreLoginMouseLeave = function(sender, eventArgs) { 
	sender.findName("moreLoginMouseLeave").Begin();
}

VideoLibrary.prototype.onmoreUploadClicked = function(sender, eventArgs) { 
	GB_showCenter('', '/tvupload.aspx', 485, 740);
}

VideoLibrary.prototype.moreUploadMouseEnter = function(sender, eventArgs) { 
	sender.findName("txtMoreUploadEnter").Begin();
}

VideoLibrary.prototype.moreUploadMouseLeave = function(sender, eventArgs) { 
	sender.findName("moreUploadClose").Begin();
}

VideoLibrary.prototype.onmoreRegisterClicked = function(sender, eventArgs) { 
	GB_showCenter('', '/tvregister.aspx', 485, 740);
}

VideoLibrary.prototype.moreRegisterMouseEnter = function(sender, eventArgs) { 
	sender.findName("txtMoreRegisterEnter").Begin();
}

VideoLibrary.prototype.moreRegisterMouseLeave = function(sender, eventArgs) { 
	sender.findName("moreRegisterClose").Begin();
}

VideoLibrary.prototype.onmoreAboutClicked = function(sender, eventArgs) { 
	GB_showCenter('', '/tvAbout.aspx', 485, 740);
}

VideoLibrary.prototype.moreAboutMouseEnter = function(sender, eventArgs) { 
	sender.findName("txtMoreAboutEnter").Begin();
}

VideoLibrary.prototype.moreAboutMouseLeave = function(sender, eventArgs) { 
	sender.findName("moreAboutClose").Begin();
}

VideoLibrary.prototype.onmoreShopClicked = function(sender, eventArgs) { 
	GB_showCenter('', '/tvLogIn.aspx', 485, 740);
}

VideoLibrary.prototype.moreShopMouseEnter = function(sender, eventArgs) { 
	sender.findName("txtMoreShopEnter").Begin();
}

VideoLibrary.prototype.moreShopMouseLeave = function(sender, eventArgs) { 
	sender.findName("moreShopClose").Begin();
}

VideoLibrary.prototype.onmoreSponsorClicked = function(sender, eventArgs) { 
	GB_showCenter('', '/tvAbout.aspx?q=6', 485, 740);
}

VideoLibrary.prototype.moreSponsorMouseEnter = function(sender, eventArgs) { 
	sender.findName("txtMoreSponsorEnter").Begin();
}

VideoLibrary.prototype.moreSponsorMouseLeave = function(sender, eventArgs) { 
	sender.findName("moreSponsorClose").Begin();
}	

VideoLibrary.prototype.onStopButtonClicked = function(sender, eventArgs) { 
    sender.findName("StopButtonPush").Begin();
	this.media.stop();
}

VideoLibrary.prototype.onStopButtonClicked = function(sender, eventArgs) { 
    sender.findName("StopButtonPush").Begin();
	this.media.stop();
}

VideoLibrary.prototype.onPlayButtonClicked = function(sender, eventArgs) { 
    if(this.media.currentState == "Paused") {
	    sender.findName("PauseButtonPush").Begin();
        this.media.play();
    }
    else if (this.media.currentState == "Playing"){
	    sender.findName("PlayButtonPush").Begin();
        this.media.pause();
    }
    else if(this.media.currentState == "Stopped") {
	    sender.findName("PauseButtonPush").Begin();
        this.media.play();
    }
}

VideoLibrary.prototype.onNowPlayingButtonClicked = function(sender, eventArgs) { 
    sender.findName("NowPlayingPushOpen").Begin();
	$get('divPlaying').style.display = 'block';
	$get('divChartOuter').style.display = 'none';
	
}

VideoLibrary.prototype.NowPlayingMouseEnter = function(sender, eventArgs) { 
	sender.findName("NowPlayingEnter").Begin();	
}

VideoLibrary.prototype.NowPlayingMouseLeave = function(sender, eventArgs) { 
	sender.findName("NowPlayingLeave").Begin();	
}

VideoLibrary.prototype.onMuteButtonClicked = function(sender, eventArgs) { 
    sender.findName("MuteButtonPush").Begin();

    if(this.media.isMuted) {
        this.media.isMuted = false;
        sender.findName("MuteOffSymbol").visibility = "visible";
        sender.findName("muteIcon").visibility = "Collapsed";  
    }
    else {
        this.media.isMuted = true;
        sender.findName("muteIcon").visibility = "visible";
        sender.findName("MuteOffSymbol").visibility = "Collapsed";
    }
}

VideoLibrary.prototype.onVolumeUpButtonClicked = function(sender, eventArgs) { 
    this.media.volume += .05;
}

VideoLibrary.prototype.onVolumeDownButtonClicked = function(sender, eventArgs) { 
    this.media.volume -= .05;
}

VideoLibrary.prototype.onVolume_25ButtonClicked = function(sender, eventArgs) { 
    this.media.volume = .25;
	sender.findName("Volume_50").Fill = "#FF000000";
	sender.findName("Volume_75").Fill = "#FF000000";
	sender.findName("Volume_100").Fill = "#FF000000";
}

VideoLibrary.prototype.onVolume_50ButtonClicked = function(sender, eventArgs) { 
    this.media.volume = .5;
	sender.findName("Volume_50").Fill = "#FFFF7D00";
	sender.findName("Volume_75").Fill = "#FF000000";
	sender.findName("Volume_100").Fill = "#FF000000";
}

VideoLibrary.prototype.onVolume_75ButtonClicked = function(sender, eventArgs) { 
    this.media.volume = .75;
	sender.findName("Volume_50").Fill = "#FFFF7D00";
	sender.findName("Volume_75").Fill = "#FFFF7D00";
	sender.findName("Volume_100").Fill = "#FF000000";
}

VideoLibrary.prototype.onVolume_100ButtonClicked = function(sender, eventArgs) { 
    this.media.volume = 1.0;
	sender.findName("Volume_50").Fill = "#FFFF7D00";
	sender.findName("Volume_75").Fill = "#FFFF7D00";
	sender.findName("Volume_100").Fill = "#FFFF7D00";
}

VideoLibrary.prototype.onRatingButtonClicked = function(sender, eventArgs) {
	var mediaID = sender.findName("mediaElement").Tag;
	GetRating(mediaID);
	
	if (sender.findName("MenuItemsMail").visibility == "Visible")
	{
		sender.findName("mailClose").Begin();	
		sender.findName("MenuItemsMail").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";		
	}
	else if (sender.findName("MenuItemsAbout").visibility == "Visible")
	{
		sender.findName("aboutClose").Begin();	
		sender.findName("MenuItemsAbout").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";		
	}
	else if (sender.findName("MenuItemsReport").visibility == "Visible")
	{
		sender.findName("reportClose").Begin();	
		sender.findName("MenuItemsReport").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";		
	}
	else if (sender.findName("MenuItemsHelp").visibility == "Visible")
	{
		sender.findName("helpClose").Begin();	
		sender.findName("MenuItemsHelp").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";		
	}
	else if (sender.findName("moreFunctions").visibility == "Visible")
	{
		sender.findName("moreClose").Begin();	
		sender.findName("moreFunctions").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";
	}
	sender.findName("RatingButtonPush").Begin();
	sender.findName("MenuItemsRating").visibility = "Visible";
	sender.findName("Close").visibility = "Visible";
	sender.findName("ratingOpen").Begin();
}

VideoLibrary.prototype.onSendButtonClicked = function(sender, eventArgs) { 
	if (sender.findName("MenuItemsRating").visibility == "Visible")
	{
		sender.findName("ratingClose").Begin();	
		sender.findName("MenuItemsRating").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";		
	}
	else if (sender.findName("MenuItemsAbout").visibility == "Visible")
	{
		sender.findName("aboutClose").Begin();	
		sender.findName("MenuItemsAbout").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";		
	}
	else if (sender.findName("MenuItemsReport").visibility == "Visible")
	{
		sender.findName("reportClose").Begin();	
		sender.findName("MenuItemsReport").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";		
	}
	else if (sender.findName("MenuItemsHelp").visibility == "Visible")
	{
		sender.findName("helpClose").Begin();	
		sender.findName("MenuItemsHelp").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";		
	}
	sender.findName("SendButtonPush").Begin();
	sender.findName("MenuMainEnd").visibility = "Collapsed";
	
	//Modalbox.show('modalbox.aspx?url=tvtipafriend.aspx&fileId=' + sender.findName("mediaElement").Tag, {title: 'Tipsa en kompis'});
	GB_showCenter('Tipsa en kompis', '/tvtipafriend.aspx?fileId=' + sender.findName("mediaElement").Tag, 485, 740);
}

VideoLibrary.prototype.onReportButtonClicked = function(sender, eventArgs) { 
	if (sender.findName("MenuItemsRating").visibility == "Visible")
	{
		sender.findName("ratingClose").Begin();	
		sender.findName("MenuItemsRating").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";		
	}
	else if (sender.findName("MenuItemsMail").visibility == "Visible")
	{
		sender.findName("mailClose").Begin();	
		sender.findName("MenuItemsMail").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";		
	}
	else if (sender.findName("MenuItemsAbout").visibility == "Visible")
	{
		sender.findName("aboutClose").Begin();	
		sender.findName("MenuItemsAbout").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";		
	}
	else if (sender.findName("MenuItemsHelp").visibility == "Visible")
	{
		sender.findName("helpClose").Begin();	
		sender.findName("MenuItemsHelp").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";		
	}
	else if (sender.findName("moreFunctions").visibility == "Visible")
	{
		sender.findName("moreClose").Begin();	
		sender.findName("moreFunctions").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";
	}
	sender.findName("MenuClose").Begin();
	sender.findName("MenuItemsReport").visibility = "Visible";
	sender.findName("Close").visibility = "Visible";	
	sender.findName("reportOpen").Begin();
}

VideoLibrary.prototype.onMenuButtonClicked = function(sender, eventArgs) { 
	sender.findName("MenuButtonPushOpen").Begin();	
	sender.findName("Close").visibility = "Visible";
	sender.findName("MenuItems").visibility = "visible";
	sender.findName("MenuOpen").Begin();	
}

VideoLibrary.prototype.MenuButtonMouseEnter = function(sender, eventArgs) { 
	sender.findName("MenuButtonEnter").Begin();	
}

VideoLibrary.prototype.MenuButtonMouseLeave = function(sender, eventArgs) { 
	sender.findName("MenuButtonLeave").Begin();	
}

VideoLibrary.prototype.onCloseButtonClicked = function(sender, eventArgs) { 
	sender.findName("MenuButtonPushClose").Begin();	
	if (sender.findName("MenuItemsRating").visibility == "Visible")
	{
		sender.findName("ratingClose").Begin();	
		sender.findName("MenuItemsRating").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";		
	}
	else if (sender.findName("MenuItemsMail").visibility == "Visible")
	{
		sender.findName("mailClose").Begin();	
		sender.findName("MenuItemsMail").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";		
	}
	else if (sender.findName("MenuItemsAbout").visibility == "Visible")
	{
		sender.findName("aboutClose").Begin();	
		sender.findName("MenuItemsAbout").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";		
	}
	else if (sender.findName("MenuItemsReport").visibility == "Visible")
	{
		sender.findName("reportClose").Begin();	
		sender.findName("MenuItemsReport").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";		
	}
	else if (sender.findName("MenuItemsHelp").visibility == "Visible")
	{
		sender.findName("helpClose").Begin();	
		sender.findName("MenuItemsHelp").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";		
	}
	else if (sender.findName("moreFunctions").visibility == "Visible")
	{
		sender.findName("txtContactClose").Begin();
		sender.findName("moreClose").Begin();	
		sender.findName("moreFunctions").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";
	}
	
	
	if (sender.findName("MenuItems").visibility == "Visible")
	{
		sender.findName("MenuClose").Begin();	
		sender.findName("MenuClose").Stop();	
		sender.findName("Close").visibility = "Collapsed";		
	}
			sender.findName("MenuItems").visibility = "Collapsed";
	//sender.findName("MenuClose").Begin();
}

// Rating events
VideoLibrary.prototype.onPlus1ButtonClicked = function(sender, eventArgs) { 
	rating = 1;
	var mediaID = sender.findName("mediaElement").Tag;
	SetRating(mediaID, rating);
	sender.findName("plus1").Fill = "#FFFF7D00";
	sender.findName("plus2").Fill = "#FFC8C8C3";
	sender.findName("plus3").Fill = "#FFC8C8C3";
	sender.findName("plus4").Fill = "#FFC8C8C3";
	sender.findName("plus5").Fill = "#FFC8C8C3";
}

VideoLibrary.prototype.onPlus2ButtonClicked = function(sender, eventArgs) { 
	rating = 2;
	var mediaID = sender.findName("mediaElement").Tag;
	SetRating(mediaID, rating);
	sender.findName("plus1").Fill = "#FFFF7D00";
	sender.findName("plus2").Fill = "#FFFF7D00";
	sender.findName("plus3").Fill = "#FFC8C8C3";
	sender.findName("plus4").Fill = "#FFC8C8C3";
	sender.findName("plus5").Fill = "#FFC8C8C3";
}

VideoLibrary.prototype.onPlus3ButtonClicked = function(sender, eventArgs) { 
	rating = 3;
	var mediaID = sender.findName("mediaElement").Tag;
	SetRating(mediaID, rating);
	sender.findName("plus1").Fill = "#FFFF7D00";
	sender.findName("plus2").Fill = "#FFFF7D00";
	sender.findName("plus3").Fill = "#FFFF7D00";
	sender.findName("plus4").Fill = "#FFC8C8C3";
	sender.findName("plus5").Fill = "#FFC8C8C3";
}

VideoLibrary.prototype.onPlus4ButtonClicked = function(sender, eventArgs) { 
	rating = 4;
	var mediaID = sender.findName("mediaElement").Tag;
	SetRating(mediaID, rating);
	sender.findName("plus1").Fill = "#FFFF7D00";
	sender.findName("plus2").Fill = "#FFFF7D00";
	sender.findName("plus3").Fill = "#FFFF7D00";
	sender.findName("plus4").Fill = "#FFFF7D00";
	sender.findName("plus5").Fill = "#FFC8C8C3";
}

VideoLibrary.prototype.onPlus5ButtonClicked = function(sender, eventArgs) { 
	rating = 5;
	var mediaID = sender.findName("mediaElement").Tag;
	SetRating(mediaID, rating);
	sender.findName("plus1").Fill = "#FFFF7D00";
	sender.findName("plus2").Fill = "#FFFF7D00";
	sender.findName("plus3").Fill = "#FFFF7D00";
	sender.findName("plus4").Fill = "#FFFF7D00";
	sender.findName("plus5").Fill = "#FFFF7D00";
}

// Menu events.
VideoLibrary.prototype.onAboutButtonClicked = function(sender, eventArgs) { 
	if (sender.findName("MenuItemsRating").visibility == "Visible")
	{
		sender.findName("ratingClose").Begin();	
		sender.findName("MenuItemsRating").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";		
	}
	else if (sender.findName("MenuItemsMail").visibility == "Visible")
	{
		sender.findName("mailClose").Begin();	
		sender.findName("MenuItemsMail").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";		
	}
	else if (sender.findName("MenuItemsReport").visibility == "Visible")
	{
		sender.findName("reportClose").Begin();	
		sender.findName("MenuItemsReport").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";		
	}
	else if (sender.findName("MenuItemsHelp").visibility == "Visible")
	{
		sender.findName("helpClose").Begin();	
		sender.findName("MenuItemsHelp").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";		
	}
	
	GB_showCenter('Om Klubb TV', '/tvAbout.aspx', 485, 740);
	
}

VideoLibrary.prototype.onHelpButtonClicked = function(sender, eventArgs) { 
	if (sender.findName("MenuItemsRating").visibility == "Visible")
	{
		sender.findName("ratingClose").Begin();	
		sender.findName("MenuItemsRating").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";		
	}
	else if (sender.findName("MenuItemsMail").visibility == "Visible")
	{
		sender.findName("mailClose").Begin();	
		sender.findName("MenuItemsMail").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";		
	}
	else if (sender.findName("MenuItemsAbout").visibility == "Visible")
	{
		sender.findName("aboutClose").Begin();	
		sender.findName("MenuItemsAbout").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";		
	}
	else if (sender.findName("MenuItemsReport").visibility == "Visible")
	{
		sender.findName("reportClose").Begin();	
		sender.findName("MenuItemsReport").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";		
	}
	else if (sender.findName("moreFunctions").visibility == "Visible")
	{
		sender.findName("moreClose").Begin();	
		sender.findName("moreFunctions").visibility = "Collapsed";
		sender.findName("Close").visibility = "Collapsed";
	}
	sender.findName("MenuItemsHelp").visibility = "Visible";
	sender.findName("MenuClose").Begin();
	sender.findName("Close").visibility = "Visible";
	sender.findName("helpOpen").Begin();
}

VideoLibrary.prototype.onPlayEndButtonClicked = function(sender, eventArgs) { 
    sender.findName("MenuMainEnd").visibility = "Collapsed";
    this.media.stop();
    this.media.play();
}

VideoLibrary.prototype.onExpandButtonClicked = function(sender, eventArgs) {  
    var silverlightControl = sender.getHost();
    silverlightControl.content.fullScreen = !silverlightControl.content.fullScreen;    
}

VideoLibrary.prototype.onExpand2ButtonClicked = function(sender, eventArgs) {  
    var silverlightControl = sender.getHost();
    silverlightControl.content.fullScreen = false;    
}

VideoLibrary.prototype.supportLinkClicked = function(sender, eventArgs) {  
    window.open('mailto:support@united-members.com');
}

VideoLibrary.prototype.tvsupportLinkClicked = function(sender, eventArgs) {  
    
   
   // window.open('http://united-members.doxcentral.com/um.aspx?s=8054','SupportTV','width=820,height=570,toolbar=No,location=No' );
//'http://" + txtURL.Text + "','newWin','width=820,height=570,toolbar=No,location=No,scrollbars=Yes,status=No,resizable=Yes,fullscreen=No' target='_blank'>"
}

VideoLibrary.prototype.fullScreenChange = function(sender, eventArgs) {
// handles layout changes when switching to/from fullscreen mode ### rfolkes ###
    var silverlightControl = sender.getHost();
    if (silverlightControl.content.fullScreen)
    {
        var scaleTransform = sender.findName("scaleTransform");
        scaleTransform.scaleX = 1;
        scaleTransform.scaleY = 1;
        sender.findName("Group").visibility = "Collapsed";
        sender.findName("MenuItems").visibility = "Collapsed";
        sender.findName("Close").visibility = "Collapsed";       
        sender.findName("downloadProgress").visibility = "Collapsed";
        sender.findName("MenuMainEnd").visibility= "Collapsed";
		sender.findName("bannerPlatta").visibility = "Collapsed";
		sender.findName("Banner").visibility = "Collapsed";
		sender.findName("Menu").visibility = "Collapsed";
//		sender.findName("Logo").visibility = "Collapsed";
		
		if (sender.findName("MenuItemsRating").visibility == "Visible")
		{
			sender.findName("ratingOpen").Stop();	
			sender.findName("MenuItemsRating").visibility = "Collapsed";	
		}
		else if (sender.findName("MenuItemsMail").visibility == "Visible")
		{
			sender.findName("mailOpen").Stop();	
			sender.findName("MenuItemsMail").visibility = "Collapsed";	
		}
		else if (sender.findName("MenuItemsAbout").visibility == "Visible")
		{
			sender.findName("aboutOpen").Stop();	
			sender.findName("MenuItemsAbout").visibility = "Collapsed";	
		}
		else if (sender.findName("MenuItemsReport").visibility == "Visible")
		{
			sender.findName("reportOpen").Stop();	
			sender.findName("MenuItemsReport").visibility = "Collapsed";	
		}
		else if (sender.findName("MenuItemsHelp").visibility == "Visible")
		{
			sender.findName("reportOpen").Stop();	
			sender.findName("MenuItemsHelp").visibility = "Collapsed";	
		}
		else if (sender.findName("moreFunctions").visibility == "Visible")
		{
			sender.findName("moreOpen").Stop();	
			sender.findName("moreFunctions").visibility = "Collapsed";
		}
		
        sender.findName("ExpandClose").visibility = "visible";
		
		sender.findName("mediaElement")["Canvas.Top"] = 15;
		sender.findName("mediaElement")["Canvas.Left"] = 140;
        sender.findName("mediaElement").width = window.screen.width;
        sender.findName("mediaElement").height = window.screen.height;
    }
    else if (!silverlightControl.content.fullScreen)
    {
        this.media.width = this.mediaWidth;
        this.media.height = this.mediaHeight;
		sender.findName("mediaElement")["Canvas.Top"] = 158.33;
		sender.findName("mediaElement")["Canvas.Left"] = 142.162;
        sender.findName("ExpandClose").visibility = "Collapsed";
        sender.findName("Group").visibility = "visible";
        sender.findName("downloadProgress").visibility = "visible";
		sender.findName("bannerPlatta").visibility = "visible";
		sender.findName("Banner").visibility = "visible";
		sender.findName("Menu").visibility = "visible";
		//sender.findName("Logo").visibility = "visible";

        this.resize(sender, null);
    }
}

// Resizes the XAML scene to fill the browser
VideoLibrary.prototype.resize = function(sender, eventArgs) {
   var sourceWidth = sender.findName("root").width;
   var targetWidth = this.plugIn.content.actualWidth;
   var sourceHeight = sender.findName("root").height;
   var targetHeight = this.plugIn.content.actualHeight;
   
   var scale = 0;
   if (sourceHeight > 0 && sourceWidth > 0) {
       var aspectRatio = sourceWidth/sourceHeight;
       scale = Math.min(targetHeight / sourceHeight, targetWidth / sourceWidth);
   }
   
   var scaleTransform = sender.findName("scaleTransform");
   scaleTransform.scaleX = scale;
   scaleTransform.scaleY = scale;
       
   this.mediaWidth = this.media.Width;
   this.mediaHeight = this.media.Height;
}

VideoLibrary.prototype.setCallback = function(target, eventName, callback) {
	if (!window.methodIndex)
		window.methodIndex = 0;
	
	var callbackName = "uniqueCallback" + (window.methodIndex++);
	var controller = this;
	var func = function() {
		callback.apply(controller, arguments);
	}
	
	//eval(callbackName + " = func;");
	//target[eventName] = callbackName;
	 
	target[eventName] = eval(callbackName + " = func;");
}

function videoEntry(author, videoTitle, videoUrl, videoThumbnailUrl, siteLogoUrl) {
    this.videoUrl = videoUrl;
    this.videoThumbnailUrl = videoThumbnailUrl;
    this.author = author;
    this.videoTitle = videoTitle;
}

// Replaces all instances of the given substring.
String.prototype.replaceAll = function(strTarget, strSubString) {
    var strText = this;
    var intIndexOfMatch = strText.indexOf( strTarget );
 
    // Keep looping while an instance of the target string
    // still exists in the string.
    while (intIndexOfMatch != -1) {
        // Relace out the current instance.
        strText = strText.replace( strTarget, strSubString )

        // Get the index of any next matching substring.
        intIndexOfMatch = strText.indexOf( strTarget );
    }
 
    // Return the updated string with ALL the target strings
    // replaced out with the new substring.
    return( strText );
}

function OnErrorEventHandler(sender, errorArgs)
{
    // The error message to display.
    var errorMsg = "Silverlight Error: \n\n";
    
    // Error information common to all errors.
    errorMsg += "Error Type: Frans   " + errorArgs.errorType + "\n";
    errorMsg += "Error Message: " + errorArgs.errorMessage + "\n";
    errorMsg += "Error Code:    " + errorArgs.errorCode + "\n";
    
    // Determine the type of error and add specific error information.
    switch(errorArgs.errorType)
    {
        case "RuntimeError":
            // Display properties specific to RuntimeErrorEventArgs.
            if (errorArgs.lineNumber != 0)
            {
                errorMsg += "Line: " + errorArgs.lineNumber + "\n";
                errorMsg += "Position: " +  errorArgs.charPosition + "\n";
            }
            errorMsg += "MethodName: " + errorArgs.methodName + "\n";
            break;
        case "ParserError":
            // Display properties specific to ParserErrorEventArgs.
            errorMsg += "Xaml File:      " + errorArgs.xamlFile      + "\n";
            errorMsg += "Xml Element:    " + errorArgs.xmlElement    + "\n";
            errorMsg += "Xml Attribute:  " + errorArgs.xmlAttribute  + "\n";
            errorMsg += "Line:           " + errorArgs.lineNumber    + "\n";
            errorMsg += "Position:       " + errorArgs.charPosition  + "\n";
            break;
        default:
            break;
    }
    // Display the error message.
    alert(errorMsg);
}