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

photoGallery.Page = function() 
{
}

var paramValue = "";

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){

    // Retrieve a reference to the plug-in.
    var plugin = sender.getHost();

//    // Retrieve the InitParams value and split comma-delimited string.
//    var params = plugin.initParams.split(",");

//    // Display the parameter values.
//    var msg = "Params: ";
//    for (var i = 0; i < params.length; i++)
//    {
//        msg += params[i] + " ";
//    }
// 
//    alert(msg);   

    var param1 = plugin.initParams;
    
    // alert('Param1=' + param1);   
        
    var displayPhotoArray = new Array(4);
    displayPhotoArray = pageArray[param1];

    var photoContentArray = new Array(4);
    photoContentArray = textArray[param1];

	// change the background color for the images
	// being used to white
	for (var i=0; i < displayPhotoArray.length; i++) {
		if (displayPhotoArray[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<displayPhotoArray.length; i++) {
		nameString = "image" + i;
		sender.findName(nameString).Source = displayPhotoArray[i];
	}	
		
	// load the images content from the array into
	// the gallery canvases
	for (var i=0; i<photoContentArray.length; i++) {
		nameString = "uxTxtBlckImg" + i;
		sender.findName(nameString).Text = photoContentArray[i];
	}
}

function mouseEnter(sender, args) {

    // Retrieve a reference to the plug-in.
    var plugin = sender.getHost();

    var param1 = plugin.initParams;
    
    // alert('Param1=' + param1);   
        
    var displayPhotoArray = new Array(4) 
    
    displayPhotoArray = pageArray[param1];

	// zero out the z-index for any photos being displayed
	for (var i=0; i<displayPhotoArray.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;
	}
}

