var panSpeed = 10;
var	panW = 0;
var	picPos;
var	picId = null;
var	picW = 0;
var running = false;
var slow = 50;
var speed = 50;
var throttle = 50;
var timeout = null;
var tm;
var xdir = 1;
var xPos = 0;

function playVideo (blk, mtype, picw, pich, src, cap, panw)
{
	blk.style.width = picw + "px";
	blk.style.height = pich + "px";

	switch (mtype)
	{
		case 0 : // JPeg
			blk.innerHTML = '<img src="' + src +
				'" border="0" alt="' + cap + '" title="' + cap + '"/>';
			break;

		case 1 : // WMV file
			blk.innerHTML = '<object type="video/x-ms-wmv" ' +
				'data="' + src + '" width="' + picw + '" height="' + pich + '">' +
				'<param name="src" value="' + src + '" />' +
				'<param name="autostart" value="true" />' +
				'<param name="controller" value="false" />' +
				'</object>';

			break;

		case 2 : // Flash SWF file
			blk.innerHTML = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-' +
				'444553540000" codebase="http://fpdownload.macromedia.com/pub/' +
				'shockwave/cabs/flash/swflash.cab#version=8,0,0,0" ' +
				'width="' + picw + '" height="' + pich + '" ' +
				'id="' + src + '" align="middle">' +
				'<param name="allowScriptAccess" value="sameDomain" />' +
				'<param name="movie" value="' + src + '" />' +
				'<param name="quality" value="high" />' +
				'<param name="bgcolor" value="#ffffff" />' +
				'<embed src="' + src + '" quality="high" bgcolor="#ffffff" ' +
				'width="' + picw + '" height="' + pich + '" ' +
				'name="' + src + '" align="middle" allowScriptAccess="sameDomain" ' +
				'type="application/x-shockwave-flash" ' +
				'pluginspage="http://www.macromedia.com/go/getflashplayer" />' +
				'</object>';

			break;

		case 3 : // Flash Video (FLV)
			blk.innerHTML = '<object type="application/x-shockwave-flash" ' +
				'width="' + picw + '" height="' + pich + '" wmode="transparent" ' +
				'data="/flash/flvplayer.swf?file=/' + src + '&autoStart=true">' +
				'<param name="movie" value="/flash/flvplayer.swf?file=/' + src +
				'&amp;autoStart=true" /><param name="wmode" value="transparent" />' +
				'</object>';

			break;

		case 4 : // Panoramic Image (not 360 degrees)
			var ht = parseInt (pich) + 20;
			blk.innerHTML = '<div id="panimg">' +
				'<img src="/images/site/pandirs.png" border="0" width="' + picw + '" height="20" style="' +
				'position: relative; left: 0; top: ' + pich + 'px;" />' +
				'</div>';

			picId = document.getElementById ("panimg");
			picId.style.height = ht + "px";
			blk.style.height = ht + "px";
			picId.style.width = picw + "px";
			picId.style.background = "url(" + src + ") white no-repeat";
			picId.style.marginBottom = "5px";

			picId.onmousemove = picmove;
			picId.onmouseout = killMovement;
			panW = panw;
			picW = picw;
			picPos = findPos (picId);
			break;
	}
}

function picmove (eo)
{
	if (panW == 0) return;

	var	cX = null;
	var	cY = null;

	if (eo != null)
	{
		cX = eo.clientX;
		cY = eo.clientY;
	}
	else
	{
		cX = event.clientX;
		cY = event.clientY;
	}

	cX -= picPos [0];
	cY -= picPos [1];

	if (cX != null && picId != null)
	{
		var	ptX = picW / 5;
		var	area = 0;

		for (i = 0; i < 5; i++)
		{
			if (cX >= i * ptX && cX < (i + 1) * ptX)
			{
				area = i - 2;
				break;
			}
		}

		if (area == 0)
		{
			speed = 1000;

			if (timeout)
			{
				clearTimeout (timeout);
			}

			running = false;
		}
		else
		{
			if (area < 0)
			{
				speed = slow / (ptX * 2) * cX;
				xdir = -1;
			}
			else
			{
				speed = slow - (slow / (ptX * 2) * (cX - ptX * 3));
				xdir = 1;
			}

			speed = parseInt (speed);

			if (!running)
			{
				timeout = doTimeout ();
				running = true;
			}
		}
	}
}

// Set up the next horizontal movement timer event

function doTimeout ()
{
	panSpeed = (10 - (speed) / 10) * (throttle / 100);
	tm = speed / 10;

	return setTimeout ("picScroll();", tm);
}

// Handle the horizontal image movement timeout

function picScroll ()
{
	clearTimeout (timeout);
	var startTimer = true;

	if (xdir > 0)
	{
		xPos -= panSpeed;

		if (xPos < -(panW - picW))
		{
			xPos = -(panW - picW);
			startTimer = false;
		}
	}
	else
	if (xdir < 0)
	{
		xPos += panSpeed;

		if (xPos > 0)
		{
			xPos = 0;
			startTimer = false;
		}
	}

	picId.style.backgroundPosition = "" + xPos + "px 0";

	if (startTimer) timeout = doTimeout ();
//picId.innerHTML = "xdir=" + xdir + " xpos=" + xPos + " panSpeed=" + panSpeed + " picW=" + picW + " panW=" + panW;
}

function killMovement ()
{
	clearTimeout (timeout);
	running = false;
}

