// Copyright (c) 2006. Adobe Systems Incorporated.
// All rights reserved.
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
//   * Redistributions of source code must retain the above copyright notice,
//     this list of conditions and the following disclaimer.
//   * Redistributions in binary form must reproduce the above copyright notice,
//     this list of conditions and the following disclaimer in the documentation
//     and/or other materials provided with the distribution.
//   * Neither the name of Adobe Systems Incorporated nor the names of its
//     contributors may be used to endorse or promote products derived from this
//     software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.

// Global variables:

var gThumbWidth = 60;
var gThumbHeight = 60;
var gBehaviorsArray = [];
var gSlideShowTimer = null;
var gImageLoader = null;

function CancelBehavior(id)
{
	if (gBehaviorsArray[id]){
		gBehaviorsArray[id].stop();
		gBehaviorsArray[id] = null;
	}
}

function GrowThumbnail(img, width, height)
{
	Spry.Utils.addClassName(img, "inFocus");
	img.style.zIndex = 150;

	var id = img.getAttribute("id");

	var twidth = Math.floor(width);
	var theight = Math.floor(height);
	var tx = (gThumbWidth - twidth) / 2;
	var ty = (gThumbHeight - theight) / 2;

	CancelBehavior(id);

	gBehaviorsArray[id] = new Spry.Effects.SizeAndPosition(img, tx, ty, twidth, theight,{duration:200,steps:5,onComplete:function(b){gBehaviorsArray[id] = null;}});
}

function ShrinkThumbnail(img)
{
	Spry.Utils.addClassName(img, "inFocus");
	img.style.zIndex = 1;

	var id = img.getAttribute("id");
	CancelBehavior(id);

	gBehaviorsArray[id] = new Spry.Effects.SizeAndPosition(img, 0, 0, gThumbWidth, gThumbHeight, {duration:200,steps:5,onComplete:function(b){gBehaviorsArray[id] = null; Spry.Utils.removeClassName(img, "inFocus");}});
}

