var Gallery_Info = new Array();
var Gallery_Index = new Array();

function hpcomponent_before_and_after_init(js_id)
{
	if(typeof(Gallery_Info) == "undefined")
		Gallery_Info = new Array();
	if(typeof(Gallery_Index) == "undefined")
		Gallery_Index = new Array();
	Gallery_Index[js_id] = 0;
	eval(document.getElementById("wlsgal_"+js_id+"_init").innerHTML);
	wlsgal_show_pic(js_id);
	wlsgal_setCaption(js_id, 0);
}

wlsgal_preloaded_images = new Array();
wlsgal_permitSwap = true;
wlsgal_permitMove = true;
function wlsgal_doPreload(js_id, idx)
{
	if(idx == Gallery_Info[js_id].length)
		idx = 0;
	if(typeof(wlsgal_preloaded_images[js_id]) == "undefined")
		wlsgal_preloaded_images[js_id] = new Array();
	if(typeof(wlsgal_preloaded_images[js_id][0]) == "undefined")
	{
		wlsgal_preloaded_images[js_id][0] = new Array();
		wlsgal_preloaded_images[js_id][1] = new Array();
	}
	var performedAction = false;
	//preload current image first
	if(typeof(wlsgal_preloaded_images[js_id][0][idx]) == "undefined")
	{
		wlsgal_preloaded_images[js_id][0][idx] = new Image();
		wlsgal_preloaded_images[js_id][0][idx].src = Gallery_Info[js_id][idx][0];
	}
	if(typeof(wlsgal_preloaded_images[js_id][1][idx]) == "undefined")
	{
		wlsgal_preloaded_images[js_id][1][idx] = new Image();
		wlsgal_preloaded_images[js_id][1][idx].src = Gallery_Info[js_id][idx][3];
	}
	//preload next image
	var nextIdx = idx + 1;
	if(nextIdx == Gallery_Info[js_id].length)
		nextIdx = 0;
	if(typeof(wlsgal_preloaded_images[js_id][0][nextIdx]) == "undefined")
	{
		wlsgal_preloaded_images[js_id][0][nextIdx] = new Image();
		wlsgal_preloaded_images[js_id][0][nextIdx].src = Gallery_Info[js_id][nextIdx][0];
	}
	if(typeof(wlsgal_preloaded_images[js_id][1][nextIdx]) == "undefined")
	{
		wlsgal_preloaded_images[js_id][1][nextIdx] = new Image();
		wlsgal_preloaded_images[js_id][1][nextIdx].src = Gallery_Info[js_id][nextIdx][3];
	}
	//preload image after that one
	nextIdx++;
	if(nextIdx == Gallery_Info[js_id].length)
		nextIdx = 0;
	if(typeof(wlsgal_preloaded_images[js_id][0][nextIdx]) == "undefined")
	{
		wlsgal_preloaded_images[js_id][0][nextIdx] = new Image();
		wlsgal_preloaded_images[js_id][0][nextIdx].src = Gallery_Info[js_id][nextIdx][0];
	}
	if(typeof(wlsgal_preloaded_images[js_id][1][nextIdx]) == "undefined")
	{
		wlsgal_preloaded_images[js_id][1][nextIdx] = new Image();
		wlsgal_preloaded_images[js_id][1][nextIdx].src = Gallery_Info[js_id][nextIdx][3];
	}
	//preload prev image
	var prevIdx = idx - 1;
	if(prevIdx < 0)
		prevIdx = Gallery_Info[js_id].length - 1;
	if(typeof(wlsgal_preloaded_images[js_id][0][prevIdx]) == "undefined")
	{
		wlsgal_preloaded_images[js_id][0][prevIdx] = new Image();
		wlsgal_preloaded_images[js_id][0][prevIdx].src = Gallery_Info[js_id][prevIdx][0];
	}
	if(typeof(wlsgal_preloaded_images[js_id][1][prevIdx]) == "undefined")
	{
		wlsgal_preloaded_images[js_id][1][prevIdx] = new Image();
		wlsgal_preloaded_images[js_id][1][prevIdx].src = Gallery_Info[js_id][prevIdx][3];
	}
	//preload image before that one
	prevIdx--;
	if(prevIdx < 0)
		prevIdx = Gallery_Info[js_id].length - 1;
	if(typeof(wlsgal_preloaded_images[js_id][0][prevIdx]) == "undefined")
	{
		wlsgal_preloaded_images[js_id][0][prevIdx] = new Image();
		wlsgal_preloaded_images[js_id][0][prevIdx].src = Gallery_Info[js_id][prevIdx][0];
	}
	if(typeof(wlsgal_preloaded_images[js_id][1][prevIdx]) == "undefined")
	{
		wlsgal_preloaded_images[js_id][1][prevIdx] = new Image();
		wlsgal_preloaded_images[js_id][1][prevIdx].src = Gallery_Info[js_id][prevIdx][3];
	}
}

function wlsgal_show_pic(js_id)
{
	if(Gallery_Info.length == 0 || typeof(Gallery_Info[js_id]) == "undefined" || Gallery_Info[js_id].length == 0)
		return;
	wlsgal_doPreload(js_id, Gallery_Index[js_id]);
	var prefix = ""; var suffix = ""; var weight = "";
	var currImg = Gallery_Info[js_id][Gallery_Index[js_id]];
	if(!currImg)
		return;
	if(currImg[7].length > 0)
	{
		prefix="<a href=\""+currImg[7]+ "\">";
		suffix="</a>";
	}
	document.getElementById("wlsgal_"+js_id+"_photo_0").innerHTML = prefix+"<img style=\"background-color:silver\" lowsrc=\"/shared/images/mod_hp/loading-photo.gif\" src=\""+currImg[0]+"\" height=\"300\" alt=\"\" onmouseover=\"wlsgal_swap("+js_id+",1)\" onmouseout=\"wlsgal_swap("+js_id+",0)\" style=\"border:none\" id=\"wlsgal_"+js_id+"_img0\">"+suffix;
	document.getElementById("wlsgal_"+js_id+"_photo_1").innerHTML = prefix+"<img style=\"background-color:silver\" lowsrc=\"/shared/images/mod_hp/loading-photo.gif\" src=\""+currImg[3]+"\" height=\"300\" alt=\"\" onmouseover=\"wlsgal_swap("+js_id+",1)\" onmouseout=\"wlsgal_swap("+js_id+",0)\" style=\"border:none\" id=\"wlsgal_"+js_id+"_img1\">"+suffix;
}

function wlsgal_swap(js_id, in_idx)
{
	if(!wlsgal_permitSwap)
		return;
	wlsgal_permitSwap = false;
	var out_idx = 1 - in_idx;
	window.setTimeout("wlsgal_setCaption('" + js_id + "', " + in_idx + ");wlsgal_permitSwap=true", 400);
	var baseIdx = "wlsgal_"+js_id+"_photo_";
	new Effect.Parallel (
		[
			new Effect.Opacity(baseIdx + in_idx,  {sync: true, from: 0.0, to: 1.0}),
			new Effect.Opacity(baseIdx + out_idx, {sync: true, from: 1.0, to: 0.0})
		],
		{duration: 0.8}
	)
}
function wlsgal_setCaption(js_id, idx)
{
	if(Gallery_Info.length == 0 || typeof(Gallery_Info[js_id]) == "undefined" || Gallery_Info[js_id].length == 0)
		return;
	idx *= 3;
	var prefix = ""; var suffix = ""; var weight = "";
	var currImg = Gallery_Info[js_id][Gallery_Index[js_id]];
	if(currImg[idx+2].length > 0)
		weight = "("+currImg[idx+2] + " in this photo)";
	if(currImg[7].length > 0)
	{
		prefix="<a href=\""+currImg[7]+ "\">";
		suffix="</a>";
	}
	var capt = (currImg[idx+1].length == 0 ? "&nbsp;" : currImg[idx+1]);
	document.getElementById("wlsgal_"+js_id+"_weight").innerHTML = weight;
	document.getElementById("wlsgal_"+js_id+"_oo").innerHTML=(idx == 0 ? "over" : "off");
	document.getElementById("wlsgal_"+js_id+"_ba").innerHTML=(idx == 0 ? "after" : "before");
	document.getElementById("wlsgal_"+js_id+"_caption").innerHTML = capt;
	document.getElementById("wlsgal_"+js_id+"_name").innerHTML = prefix+currImg[6]+suffix;
}

effectWidth = 150;
function wlsgal_moveOut(js_id, dir)
{
	var container = "wlsgal_"+js_id+"_container";
	var photo = "wlsgal_"+js_id+"_photo_0";
	wlsgal_permitSwap = false;
	wlsgal_permitMove = false;	
	window.setTimeout("wlsgal_prepImage('"+js_id+"',"+dir+")", 700);
	new Effect.Parallel(
		[
			new Effect.Opacity(photo, {sync: true, from: 1.0, to: 0.0}),
			new Effect.MoveBy(container, 0, dir*effectWidth, {sync: true})
		],
		{duration: 0.65}
	);
}
function wlsgal_prepImage(js_id, dir)
{
	var container = "wlsgal_"+js_id+"_container";
	Gallery_Index[js_id] += dir;
	if(Gallery_Index[js_id] < 0)
		Gallery_Index[js_id] = Gallery_Info[js_id].length - 1;
	else if(Gallery_Index[js_id] == Gallery_Info[js_id].length)
		Gallery_Index[js_id] = 0;
	wlsgal_show_pic(js_id);
	window.setTimeout("wlsgal_moveIn('"+js_id+"',"+dir+")", 20);
	new Effect.MoveBy(container, 0, -(dir*effectWidth*2), {duration: 0.01});
}
function wlsgal_moveIn(js_id, dir)
{
	var container = "wlsgal_"+js_id+"_container";
	var photo = "wlsgal_"+js_id+"_photo_0";
	window.setTimeout("wlsgal_finalizeMove('"+js_id+"')", 700);
	new Effect.Parallel(
		[
			new Effect.Opacity(photo, {sync: true, from: 0.0, to: 1.0}),
			new Effect.MoveBy(container, 0, dir*effectWidth, {sync: true})
		],
		{duration: 0.65}
	);
}
function wlsgal_finalizeMove(js_id)
{
	wlsgal_permitSwap = true;
	wlsgal_permitMove = true;
	wlsgal_selectBefore(js_id);
	wlsgal_setCaption(js_id, 0);
}
function wlsgal_selectBefore(js_id)
{
	document.getElementById("wlsgal_"+js_id+"_photo_0").style.opacity="1.0";
	document.getElementById("wlsgal_"+js_id+"_photo_0").style.filter="alpha(opacity=100)";
	document.getElementById("wlsgal_"+js_id+"_photo_1").style.opacity="0.0";
	document.getElementById("wlsgal_"+js_id+"_photo_1").style.filter="alpha(opacity=0)";
}