﻿var scene;

function createSilverlight()
{
    if(!Silverlight.isInstalled("1.0"))
    {
        document.getElementById("silverlightControlHost").innerHTML = "<a href='http://www.microsoft.com/Silverlight/Install.aspx'><img src='nosilver.jpg' border='0'/></a>";
	}
	else
	{
	    scene = new MSVisual2008.Page();
	    Silverlight.createObjectEx({
		    source: "page.xaml",
		    parentElement: document.getElementById("silverlightControlHost"),
		    id: "SilverlightControl",
		    properties: {
			    width: "100%",
			    height: "100%",
			    version: "1.0"
		    },
		    events: {
			    onLoad: Silverlight.createDelegate(scene, scene.handleLoad),
			    onError: function(sender, args) {
				    var errorDiv = document.getElementById("errorLocation");
					    var errorText = args.errorType + "- " + args.errorMessage;
    							
					    if (args.ErrorType == "ParserError") {
						    errorText += "<br>File: " + args.xamlFile;
						    errorText += ", line " + args.lineNumber;
						    errorText += " character " + args.charPosition;
					    }
					    else if (args.ErrorType == "RuntimeError") {
						    errorText += "<br>line " + args.lineNumber;
						    errorText += " character " +  args.charPosition;
					    }
				    if (errorDiv != null) {
					    errorDiv.innerHTML = errorText;
				    }	else 
				    {
				        alert(errorText);
				    }
			    }
		    }
	    });
	}
}


if (!window.Silverlight) 
	window.Silverlight = {};

Silverlight.createDelegate = function(instance, method) {
	return function() {
		return method.apply(instance, arguments);
	}
}


if (!window.MSVisual2008)
	window.MSVisual2008 = {};

MSVisual2008.Page = function() 
{
}

MSVisual2008.Page.prototype =
{
    Find : function(item)
    {
        return this.plugin.content.FindName(item);
    },
    
	handleLoad: function(control, userContext, rootElement) 
	{
		this.rootElement = rootElement;
		this.control = control;
		this.plugin = rootElement.getHost();
		this.sound = this.Find("clickSound");
		
		// Setup Downloader
		this.loaderPos = 0;
		this.loaderControls = ["comprar","eventos_o","informacion_o","promociones_o","videos_o","eventos_i","masinfo_i","promos_i","videos_i","Eventos_W1","Eventos_W2","Home_W1_img","Home_W2_img","image4","image5","exp1","soldier","image1","image2","image3","flagSoldier","soldierClose","image6","logo","image","Promo_W1"];
		this.loaderData = ["img/boton_comprar.png","img/eventos_over.png","img/masinfo_over.png","img/promos_over.png","img/videos_over.png","img/Eventos.png","img/masinfo.png","img/Promos.png","img/videos.png","img/Eventos_W1.png","img/Eventos_W2.png","img/Home_W1.png","img/Home_W2.png","img/Explotion1.png","img/Explotion1.png","img/Explotion2.png","img/soldier.png","img/soldier.png","img/soldier.png","img/soldier.png","img/flagSoldier.png","img/SoldierClose.png","img/logoMicrosoft.png","img/Logos.png","img/smoke.png","img/Promo_W1.png"];

		this.goDownloader();
	},
	
	goDownloader: function()
	{
		if (this.loaderPos < this.loaderControls.length)
		{
		    var downloader = this.plugin.createObject("downloader");
            downloader.addEventListener("completed", this.onCompleted);
            downloader.open("GET", this.loaderData[this.loaderPos]);
		    downloader.send();
		}
		else
		{
		    this.bindEventListeners();
		}
	},
	
	nextDownload: function()
	{
	    this.loaderPos++;
	    this.goDownloader();
	},
	
	onCompleted: function(sender, eventArgs)
	{
        scene.Find(scene.loaderControls[scene.loaderPos]).setSource(sender, "");
        scene.nextDownload();
	},
	
	bindEventListeners : function()
	{
    	var eventos = this.Find("eventos");
		var masInfo = this.Find("informacion");
		var promociones = this.Find("promociones");
		var logo = this.Find("logo");
		var videos = this.Find("videos");
		var comprar = this.Find("comprar");
		var barcelona = this.Find("barcelona");
		var valencia = this.Find("valencia");
		var sevilla = this.Find("sevilla");
		var bilbao = this.Find("bilbao");
		var acoruña = this.Find("acoruña");
		var madrid = this.Find("madrid");
		var cursoOnline = this.Find("cursoOnline");
	
		logo.addEventListener("MouseLeftButtonDown",Silverlight.createDelegate(this,this.LogoPressed));
		eventos.addEventListener("MouseLeftButtonDown",Silverlight.createDelegate(this,this.EventosPressed));
		eventos.addEventListener("MouseEnter",Silverlight.createDelegate(this,this.Over));
		eventos.addEventListener("MouseLeave",Silverlight.createDelegate(this,this.Leave));
		promociones.addEventListener("MouseLeftButtonDown",Silverlight.createDelegate(this,this.PromoPressed));
		promociones.addEventListener("MouseEnter",Silverlight.createDelegate(this,this.Over));
		promociones.addEventListener("MouseLeave",Silverlight.createDelegate(this,this.Leave));		
		masInfo.addEventListener("MouseLeftButtonDown",Silverlight.createDelegate(this,this.InfoPressed));
		masInfo.addEventListener("MouseEnter",Silverlight.createDelegate(this,this.Over));
		masInfo.addEventListener("MouseLeave",Silverlight.createDelegate(this,this.Leave));
		videos.addEventListener("MouseLeftButtonDown",Silverlight.createDelegate(this,this.videosPressed));
		videos.addEventListener("MouseEnter",Silverlight.createDelegate(this,this.Over));
		videos.addEventListener("MouseLeave",Silverlight.createDelegate(this,this.Leave));
		comprar.addEventListener("MouseLeftButtonDown",Silverlight.createDelegate(this,this.ComprarPressed));
		barcelona.addEventListener("MouseLeftButtonDown",Silverlight.createDelegate(this,this.linkTo));
		valencia.addEventListener("MouseLeftButtonDown",Silverlight.createDelegate(this,this.linkTo));
		sevilla.addEventListener("MouseLeftButtonDown",Silverlight.createDelegate(this,this.linkTo));
		bilbao.addEventListener("MouseLeftButtonDown",Silverlight.createDelegate(this,this.linkTo));
		acoruña.addEventListener("MouseLeftButtonDown",Silverlight.createDelegate(this,this.linkTo));
		madrid.addEventListener("MouseLeftButtonDown",Silverlight.createDelegate(this,this.linkTo));
		cursoOnline.addEventListener("MouseLeftButtonDown",Silverlight.createDelegate(this,this.linkTo));	
		this.Find("backJungle").addEventListener("CurrentStateChanged",Silverlight.createDelegate(this,this.restartBackSound));
		this.Find("clickSalesGanando").addEventListener("MouseLeftButtonUp",Silverlight.createDelegate(this,this.EventosPressed));
		this.Find("clickPromociones").addEventListener("MouseLeftButtonUp",Silverlight.createDelegate(this,this.PromoPressed));
		
		
		this.Find("preloader").visibility = "Collapsed";
		this.Find("content").visibility = "Visible";
		
		var anim = this.Find("startAnimations");
		anim.addEventListener("Completed",Silverlight.createDelegate(this,this.initWindows));
		anim.Begin();
		
        this.Find("explotions").Begin();		
	},
	
	restartBackSound: function(sender, eventArgs)
	{
	    if (this.Find("backJungle").CurrentState == "Paused")
	    {
	        this.Find("backJungle").stop();
	        this.Find("backJungle").play();
	    }
	},
	
	initWindows: function()
	{
        this.Find("HomeEnter").Begin();	    
	},
	
	Over: function(sender,eventArgs)
	{
	    this.Find(sender.name+"_over").Begin();       
	},
	
	Leave: function(sender,eventArgs)
	{
        this.Find(sender.name+"_leave").Begin();
	},
	
	linkTo: function(sender, eventArgs){
	    this.Click();
	    switch (sender.name) {
	        case "barcelona": 	
	            window.open("http://go.microsoft.com/?linkid=8320632");
	            break;
	        case "valencia": 	
	            window.open("http://go.microsoft.com/?linkid=8320633");
	            break;
	        case "sevilla": 	
	            window.open("http://go.microsoft.com/?linkid=8320634");
	            break;
	        case "bilbao": 	
	            window.open("http://go.microsoft.com/?linkid=8320635");
	            break;
	        case "acoruña": 	
	            window.open("http://go.microsoft.com/?linkid=8320636");
	            break;
	        case "madrid": 	
	            window.open("http://www.microsoft.com/spain/lanzamiento2008/default.mspx");
	            break;
	        case "cursoOnline": 	
	            window.open("http://go.microsoft.com/?linkid=8320631");
	            break;
	    }
	},
	
	Click : function()
	{
	    this.sound.stop();
	    this.sound.play();
	},
	
	LogoPressed: function(sender, eventArgs){
	    this.Click();
	    this.Find("HomeEnter").Begin();
	    this.Find("EventosLeave").Begin();
	    this.Find("PromocionesLeave").Begin();	 
	    
	},
	EventosPressed: function(sender, eventArgs) {
	    this.Click();
	    this.Find("EventosEnter").Begin();
	    this.Find("HomeLeave").Begin();
	    this.Find("PromocionesLeave").Begin();
	},

    PromoPressed: function(sender, eventArgs){
	    this.Click();
	    this.Find("EventosLeave").Begin();
	    this.Find("HomeLeave").Begin();
	    this.Find("PromocionesEnter").Begin();	 
	},

	InfoPressed: function(sender, eventArgs){
	    this.Click();
	    window.open('http://go.microsoft.com/?linkid=8320629');
	},
	
	ComprarPressed: function(sender, eventArgs){
	    this.Click();
	    window.open('http://go.microsoft.com/?linkid=8320630');
	},
	
	videosPressed: function(sender, eventArgs){
	    window.open('http://go.microsoft.com/?linkid=8320628');
	}
	
}