﻿var promoArray = new Array();
promoArray[0] = {
    sb1: "promo_1",
    url: "prizes.aspx",
    enabled: true
}
promoArray[1] = {
    sb1: "promo_2",
    url: "loginHandler.aspx?action=login&returnTo=default.aspx",
    enabled: false
}
promoArray[2] = {
    sb1: "promo_3",
    url: "",
    enabled: false
}
promoArray[3] = {
    sb1: "promo_4",
    url: "http://msdn.microsoft.com/en-au/vs2008/products/cc268305.aspx",
    enabled: true
}
promoArray[4] = {
    sb1: "promo_5",
    url: "loginHandler.aspx?action=login&returnTo=default.aspx",
    enabled: false
}
promoArray[5] = {
    sb1: "promo_6",
    url: "judges.aspx",
    enabled: true
}
promoArray[6] = {
    sb1: "promo_7",
    url: "submissions.aspx",
    enabled: false
}
promoArray[7] = {
    sb1: "promo_8",
    url: "forums.aspx",
    enabled: true
}
promoArray[8] = {
    sb1: "promo_9",
    url: "http://www.defyallchallenges.com.au",
    enabled: true
}
promoArray[9] = {
    sb1: "promo_10",
    url: "resources.aspx",
    enabled: false
}
promoArray[10] = {
    sb1: "promo_11",
    url: "resources.aspx",
    enabled: false
}
promoArray[11] = {
    sb1: "promo_12",
    url: "about.aspx",
    enabled: true
}
promoArray[12] = {
    sb1: "promo_13",
    url: "winners.aspx",
    enabled: true
}



if (!window.promo)
	promo = {};

promo.Page = function() 
{
}

promo.Page.prototype =
{
	handleLoad: function(control, userContext, rootElement) 
	{
		this.control = control;
		
		// check cookie for intro video
		if(!this.readCookie("devstaIntro"))
		{
		    // if it doesn't exist, set it and play video
		    this.createCookie("devstaIntro", "devstaIntro", 1);
		    this.control.content.findName("movie").Source = "silverlight/video/devsta.wmv";
		}
		else
		{
		    startPromo(this.control.content, "");
		}
		
		
		// Sample event hookup:	
		//rootElement.addEventListener("MouseLeftButtonDown", Silverlight.createDelegate(this, this.handleMouseDown));
	},
	
	createCookie: function(name,value,days) {
        var expires;
        
        if (days) {
	        var date = new Date();
	        date.setTime(date.getTime()+(days*24*60*60*1000));
	        expires = "; expires="+date.toGMTString();
        }
        else 
        {
            expires = "";
        }
        
        document.cookie = name+"="+value+expires+"; path=/";
    },

    readCookie: function(name) {
        var nameEQ = name + "=";
        var ca = document.cookie.split(';');
        for(var i=0;i < ca.length;i++) {
	        var c = ca[i];
	        while (c.charAt(0)==' ') c = c.substring(1,c.length);
	        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
        }
        return null;
    },

    eraseCookie: function(name) {
        createCookie(name,"",-1);
    },
    
    testAlert: function()
    {
        alert("test");
    }
}

var volume = 1;
var previousPromoId = 99;
var currentPromoId = 99;

function playMedia(sender, args)
{
    sender.play();
}

function startTimer(sender, args)
{
    sender.findName("timer").Begin();
}

function startPromo(sender, args)
{
    sender.findName("movieCanvas")["Visibility"] = "Collapsed";
	sender.findName("movieMute")["Visibility"] = "Collapsed";
    sender.findName("button")["Visibility"] = "Visible";
    playPromo(selectRandomPromo(), sender);
}

function selectRandomPromo()
{
    var promoEnabled = false;
    
    previousPromoId = currentPromoId;
    
    while(!promoEnabled)
    {
        promoId = Math.floor(Math.random()*promoArray.length);
        if(promoArray[promoId].enabled && promoId != previousPromoId)
        {
            promoEnabled = true;
        }
    }
    
    return promoId
}

function playPromo(promoId, control)
{
    currentPromoId = promoId;
    
    // hide old promo
    if(previousPromoId != 99)
    {
        control.findName("promotion_" + (previousPromoId + 1))["Visibility"] = "Collapsed";
    }
    
    if(promoArray[promoId].url == "")
    {
        control.findName("button")["Visibility"] = "Collapsed";
    }
    else
    {
        control.findName("button")["Visibility"] = "Visible";
    }
    
    // make new promo visible
    control.findName("promotion_" + (promoId + 1))["Visibility"] = "Visible";
    // begin storyboard
    control.findName(promoArray[promoId].sb1).Begin();
    
    if(promoId == 0)
    {
        control.findName("promo_1_lightbulbs").Begin();
    }
}

function repeatStoryboard(sender, args)
{
    sender.Begin();
}

function mute(sender, args)
{
    if(volume == 1)
    {
        
        sender.findName("soundOn")["Visibility"] = "Collapsed";
        sender.findName("soundOff")["Visibility"] = "Visible";
        volume = 0;
    }
    else
    {
        sender.findName("soundOn")["Visibility"] = "Visible";
        sender.findName("soundOff")["Visibility"] = "Collapsed";
        volume = 1;
        
    }
    
    sender.findName("movie").Volume = volume;
}

function click(sender, args)
{
    if(promoArray[currentPromoId].url != "")
    {
        if(promoArray[currentPromoId].url.substring(0,4) == "http")
        {
            window.open(promoArray[currentPromoId].url);
        }
        else
        {
            window.location = promoArray[currentPromoId].url;
        }
    }
}