if (!window.photoGallery)
	window.photoGallery = {};

photoGallery.Page = function() 
{
}

photoGallery.Page.prototype =
{
	handleLoad: function(control, userContext, rootElement) 
	{
		this.control = control;
		
		// Sample event hookup:	
		rootElement.addEventListener("MouseLeftButtonDown", Silverlight.createDelegate(this, this.handleMouseDown));
	},
	
	// Sample event handler
	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("Timeline1").Begin();
	}
}

var zoomFlag = 0;

function loadImages(sender,args){

	// set the gallery title text
	sender.findName("txtGalleryTitle").text = galleryTitle;

	// change the background color for the images
	// being used to white
	for (var i=0; i < photoArray.length; i++) {
		if (photoArray[i] != "") {
			nameString = "photo" + i;
			sender.findName(nameString).Opacity = 1;
			sender.findName(nameString).Visibility = "Visible";
		}
	}

	// load the images from the array into
	// the gallery canvases
	for (var i=0; i<photoArray.length; i++) {
		nameString = "image" + i;
		sender.findName(nameString).Source = photoArray[i];
	}	
}

function mouseEnter(sender, args) {

	// zero out the z-index for any photos being displayed
	for (var i=0; i<photoArray.length; i++) {
		nameString = "photo" + i;
		sender.findname(nameString)["canvas.ZIndex"] = 0;
	}	
	
	// play the mouse enter storyboard for the selected image
	photoPosition = sender.name.charAt(5) + sender.name.charAt(6);
	nameString = "mouseEnter" + photoPosition;
	sender.findName(nameString).begin();
}

function mouseLeave(sender, args) {
	photoPosition = sender.name.charAt(5) + sender.name.charAt(6);

	// if the image has already been clicked, first, zoom back out
	// then play the mouse out action. Otherwise (the image has not
	// yet been clicked, so just play the mouse out action
	if (zoomFlag == 1) {
		nameString = "pictureZoomOut" + photoPosition;
		sender.findName(nameString).begin();
		nameString = "mouseLeave" + photoPosition;
		sender.findName(nameString).begin();
		zoomFlag = 0;
	}
	else {
		nameString = "mouseLeave" + photoPosition;
		sender.findName(nameString).begin();
	}
}

function pictureZoomIn(sender, args) {
	photoPosition = sender.name.charAt(5) + sender.name.charAt(6);
	
	// if the photo is already zoomed in (clicked), then play the
	// zoom out storyboard, otherwise, the picture has not
	// been zoomed in (clicked) and should be.
	if (zoomFlag == 1) {
		nameString = "pictureZoomOut" + photoPosition;
		sender.findName(nameString).begin();
		zoomFlag = 0;
	}

	else {
		nameString = "pictureZoomIn" + photoPosition;	
		sender.findName(nameString).begin();
		sender["canvas.ZIndex"] = 1;
		zoomFlag = 1;
	}
}
