
if (!window.Keyboard)
{
	window.Keyboard = {};
}

Keyboard.Scene = function() 
{
    this.angle = 0;
    this.onEnterFrame;  // interval id
    this.isPaused = false;
    this.direction = 1;
    this.firstRun = true;
}

Keyboard.Scene.prototype =
{
	handleLoad: function(control, userContext, rootElement) 
	{
		this.control = control;
		this.rootCanvas = this.control.content.FindName("rootCanvas");
		this.Thumbs = new Array();
		this.thumbnail = new Array();
		this.thumbnail[0] = new Array("Images/Img1.jpg", 
		                                   "Images/Img2.jpg", 
		                                   "Images/Img3.jpg", 
		                                   "Images/Img4.jpg",
		                                   "Images/Img5.jpg", 
		                                   "Images/Img6.jpg", 
		                                   "Images/Img7.jpg", 
		                                   "Images/Img8.jpg", 
		                                   "Images/Img9.jpg", 
		                                   "Images/Img10.jpg",
		                                   "Images/Img11.jpg",
		                                   "Images/Img12.jpg",
		                                   "Images/Img13.jpg",
		                                   "Images/Img14.jpg",
		                                   "Images/Img15.jpg",
		                                   "Images/Img16.jpg",
		                                   "Images/Img17.jpg",
		                                   "Images/Img18.jpg",
		                                   "Images/Img19.jpg",
		                                   "Images/Img20.jpg",
		                                   "Images/Img21.jpg",
		                                   "Images/Img22.jpg",
		                                   "Images/Img23.jpg",
		                                   "Images/Img24.jpg",
		                                   "Images/Img25.jpg",
		                                   "Images/Img26.jpg",
		                                   "Images/Img27.jpg",
		                                   "Images/Img28.jpg",
		                                   "Images/Img29.jpg",
		                                   "Images/Img30.jpg"
		                                   );
		this.downloadThumbNailXAML();
		
    	var rightArrow = this.control.content.findName("rightArrow")
		rightArrow.addEventListener("MouseLeftButtonDown", Silverlight.createDelegate(this, this.onRightArrowPress));
		rightArrow.addEventListener("MouseEnter", Silverlight.createDelegate(this, this.onRightArrowEnter));
		rightArrow.cursor = "Hand";
		
		var leftArrow = this.control.content.findName("leftArrow")
		leftArrow.addEventListener("MouseLeftButtonDown", Silverlight.createDelegate(this, this.onLeftArrowPress));
		leftArrow.addEventListener("MouseEnter", Silverlight.createDelegate(this, this.onLeftArrowEnter));
		leftArrow.cursor = "Hand";
		
		
		var pauseButton = this.control.content.findName("pauseButton")
		pauseButton.addEventListener("MouseLeftButtonDown", Silverlight.createDelegate(this, this.onPausePress));
		pauseButton.cursor = "Hand";
	
	},
	
	OnPageLoadJB:function()
	{
		//this.onLeftArrowPress(sender, mouseEventArgs);
		alert("hello");
		//window.setTimeout(function () {_this.myfunc()}, 20);
	},
	
	
	onRightArrowEnter: function(sender, mouseEventArgs)
	{
	    sender.findName("arrowMouseOverEffects").Begin();
	},
	onLeftArrowEnter: function(sender, mouseEventArgs)
	{
	    sender.findName("leftArrowMouseOverEffects").Begin();
	},
	onRightArrowPress: function()
	{
	    
	    this.direction = -1;
	    if(this.isPaused)
	        this.onPausePress();
	},
	onLeftArrowPress: function()
	{
	    
	    this.direction = 1;
	    if(this.isPaused)
	        this.onPausePress();
	},
	onPausePress: function()
	{
	    if(!this.isPaused) 
	    {
	        clearTimeout(this.onEnterFrame);
	        this.isPaused = true;
	    }
	    else
	    {
	        this.isPaused = false;
	        var _this = this;
		    this.onEnterFrame = window.setTimeout(function () {_this.myfunc()}, 20);
	    }
	},
	
	myfunc: function()
	{
	    this.angle += 0.01 * this.direction;
	    
	    for (var i=0; i < this.Thumbs.length; i++)
	    {
	        t = this.Thumbs[i];
	        t.setPosition(this.angle + Math.PI/this.Thumbs.length * i * 2);
	    }
	    
		
		var _this = this;
		this.onEnterFrame = window.setTimeout(function () {_this.myfunc()}, 20);
		if(this.firstRun)
		{
		    this.onPausePress();
		    this.firstRun = false;
		}
	},
	
	/*
	downloadMainImage: function()
	{
	    var downloader = this.control.createObject("downloader");
	    downloader.addEventListener("completed", Silverlight.createDelegate(this, this.MainImageDownloadFinished));
	    downloader.open("GET", "MainImg.xaml");
	    downloader.send();
	},
	
	MainImageDownloadFinished: function(sender, eventArgs)
	{
	    var xamlItem = sender.getResponseText("");
	    var mainImage = this.control.content.createFromXaml(xamlItem, true);
	    this.rootCanvas.children.add(mainImage);
        this.wholeImage = mainImage.findName("mainImage");
        mainImage["Canvas.Left"] = "30";
        mainImage["Canvas.Top"] = "20";
        mainImage.findName("mainImage")["Height"] = "300";
        mainImage.findName("mainImage")["Width"] = "400";
        	
	},*/
		
	downloadThumbNailXAML: function()
	{
	    var downloader = this.control.createObject("downloader");
	    downloader.addEventListener("completed", Silverlight.createDelegate(this, this.ThumbNailDownloadFinished));
	    //downloader.open("GET", "ThumbNail.xaml");
	    downloader.open("GET", "Downloads.zip");
	    downloader.send();
	},
	
	ThumbNailDownloadFinished: function(sender, eventArgs)
	{
	    //var xamlItem = sender.getResponseText("");
	    var xamlItem = sender.getResponseText("ThumbNail.xaml");
	    
	    
	    for (var i=0; i < this.thumbnail.length; i++)
	    {
	        for ( var j=0; j < this.thumbnail[i].length; j++)
	        {
	             var thumbnail = this.control.content.createFromXaml(xamlItem, true);
	             /*
	             var tf = this.control.content.createFromXaml('<TextBlock FontSize="10" Name="stats" Text="' + j + '" />');
	             tf["Canvas.Top"] = 90 + 12 * j;
	 
	             thumbnail.children.add(tf);
	             */
	             this.rootCanvas.children.add(thumbnail);
    	         
    	         var mid = (this.thumbnail[i].length+1)/2;
    	         var incrementheight = 0;
    	         var incrementwidth = 20;   
	            
    	         this.Thumbs.push(new Keyboard.Key(this.control, thumbnail, this.thumbnail[i][j], 0, 330, 80, 80));
	        }
	    }
	   this.myfunc();
	   this.onPausePress();
	 }
}
var map;
function OnPageLoad()
{
 //   map = new VEMap('tikiMap');
 //   map.LoadMap();     
 //   map.HideDashboard();
 //   map.Resize(350,400);
 //   AddControl();      
 //   AddTikiHut( map );

    //alert("hello");
    //Keyboard.Scene.prototype.onLeftArrowPress.call();
    //Keyboard.Scene.prototype.myfunc();
    //Keyboard.Scene.prototype.onLeftArrowPress();
    

}