var currentStruckrStreamPageNumber;
var currentStruckrStreamNumberOnPage;
var struckrStreamFirstLoad = true;
var struckrStreamPreventAction = false;

function loadStruckrStream(pageNumber, numberOnPage)
{
	if (!struckrStreamPreventAction)
	{
		// turn interactivity off
		struckrStreamPreventAction = true;

		if (struckrStreamFirstLoad)
		{
			l = document.getElementById('struckr-stream-loading');
			setOpacity(l, 0);
			l.style.display = 'block';
			lt = new OpacityTween(l, Tween.regularEaseInOut, 0, 60, 2);
			lt.start();

			currentStruckrStreamNumberOnPage = numberOnPage;
		}

		queryString = 'pageNumber=' + pageNumber + '&numberOnPage=' + numberOnPage;
		myxr.connect('post', struckrStreamURL, true);
		myxr.sendAndLoad(queryString, loadStruckrStreamComplete);
	}
}

function loadStruckrStreamComplete(myxr)
{
	if (myxr.responseText)
	{
		var jr = eval("(" + myxr.responseText + ")");
	
		if (jr.success)
		{
			c = document.getElementById('struckr-stream-photoset');

			if (struckrStreamFirstLoad)
			{
				struckrStreamFirstLoad = false;

				lco = getOpacity(l) * 100;
				lt.stop();
				t = .4 * (lco / 60);
				lt = new OpacityTween(l, Tween.regularEaseInOut, lco, 0, t+.1);
				lt.start();
				lt.onMotionStopped = function()
				{
					d = c.getElementsByTagName('div')[0];
					d.innerHTML = jr.output;
					var dt = new Tween(d.style, 'left', Tween.strongEaseInOut, 201, 0, 1, 'px');
					dt.start();

					// turn interactivity off
					struckrStreamPreventAction = false;
				}
			}
			else
			{
				d1 = c.getElementsByTagName('div')[0];
				d2 = document.createElement('div');
				c.appendChild(d2);
				
				var dt1;
				var dt2;
				
				// moving left (next)
				if (jr.pagenumber > currentStruckrStreamPageNumber)
				{
					dt1 = new Tween(d1.style, 'left', Tween.strongEaseInOut, 0, -201, 1, 'px');
					dt2 = new Tween(d2.style, 'left', Tween.strongEaseInOut, 201, 0, 1, 'px');
				}
				// moving right (previous)
				else if (jr.pagenumber < currentStruckrStreamPageNumber)
				{
					d2.style.left = '-201px';
					dt1 = new Tween(d1.style, 'left', Tween.strongEaseInOut, 0, 201, 1, 'px');
					dt2 = new Tween(d2.style, 'left', Tween.strongEaseInOut, -201, 0, 1, 'px');
				}

				if (jr.pagenumber != currentStruckrStreamPageNumber)
				{
					d2.innerHTML = jr.output;
					dt1.start();
					dt2.start();

					dt1.onMotionStopped = function()
					{
						c.removeChild(d1);
						struckrStreamPreventAction = false;
					}
				}
				else
				{
					c.removeChild(d1);
					struckrStreamPreventAction = false;
				}
			}

			displayStruckrStreamArrows(jr.isfirstpage, jr.islastpage);
			currentStruckrStreamPageNumber = jr.pagenumber;
		}
		else
		{
			trace('struckr stream returned, but with errors');
		}
	}
	else
	{
		trace('error occured with struckr stream');
	}
}

function displayStruckrStreamArrows(hidePrevArrow, hideNextArrow)
{
	document.getElementById('previous-struckr-stream-page').style.display	= (hidePrevArrow) ? 'none' : 'block';
	document.getElementById('next-struckr-stream-page').style.display		= (hideNextArrow) ? 'none' : 'block';
}

function nextStruckrStreamPage()
{
	loadStruckrStream(parseInt(currentStruckrStreamPageNumber) + 1, currentStruckrStreamNumberOnPage);
}

function previousStruckrStreamPage()
{
	loadStruckrStream(parseInt(currentStruckrStreamPageNumber) - 1, currentStruckrStreamNumberOnPage);
}