//よくあるfunction
function $(id)
{
	return document.getElementById(id);
}

//現在のoffsetId
var offsetId = 0;
var offsetWidth = 0;
//現在のoffsetId
var previewOffsetId = 'empty';
//実行中
//ループを有効にしたいときはfalseにする
var play = false;
//var play = true;

//前へを押したときの処理
function preview()
{
	//連打防止用
	if (play)
	{
		return false;
	} 
	else
	{
		play = true;
		setTimeout(function() { play = false; }, 500);
	}
	//iframeドキュメント
	var iframeDocument = $('listContents').contentWindow.document;
	//リストエレメント
	var scrollList = iframeDocument.getElementById('scrollList');
	//初期幅
	var initWidth = 0;
	initWidth = parseInt(iframeDocument.getElementById('initWidth').innerHTML);
	//現在のオフセット
	var limitLeft = parseInt(scrollList.style.left.replace('px', ''));
	if (previewOffsetId == 'empty')
	{
		previewOffsetId = parseInt(iframeDocument.getElementById('tmpKey').innerHTML);
	}
	//offsetIdをチェック
	if (!iframeDocument.getElementById('tmpWidth' + previewOffsetId))
	{
		offsetWidth = parseInt(iframeDocument.getElementById('tmpWidth' + (previewOffsetId + 1)).innerHTML);
	}
	else
	{
		offsetWidth = initWidth - parseInt(iframeDocument.getElementById('tmpWidth' + previewOffsetId).innerHTML);
		if (iframeDocument.getElementById('tmpWidth' + (previewOffsetId + 1)))
		{
			offsetWidth = parseInt(iframeDocument.getElementById('tmpWidth' + (previewOffsetId + 1)).innerHTML) - parseInt(iframeDocument.getElementById('tmpWidth' + previewOffsetId).innerHTML);
		}
	}
	//位置を調節。
	if ((limitLeft + offsetWidth) >= 0)
	{
		scrollList.style.left = limitLeft - initWidth + 'px';
	}
	//スクロール処理
	//スクロール処理
	var timer = 0;
	var tmp1 = 0;
	var tmp2 = 0;
	for (var i = 0; i < offsetWidth; i++)
	{
		tmp1 = 20 - i;
		if (tmp1 > 1)
		{
			timer += tmp1;
		} else if (i > offsetWidth - 25)
		{
			timer += tmp2;
			tmp2++;
		} else
		{
			timer += 1;
		}
		setTimeout(function() { scrollList.style.left = parseInt(scrollList.style.left.replace('px', '')) + 1 + 'px'; }, timer);
	}

	//offsetIdをチェック
	if (!iframeDocument.getElementById('tmpWidth' + previewOffsetId))
	{
		offsetId = 0;
		previewOffsetId = parseInt(iframeDocument.getElementById('tmpKey').innerHTML);
	}
	else
	{
		//offsetIDをカウントアップ
		previewOffsetId--;
		offsetId = previewOffsetId + 2;
	}
	return false;
}

//次へを押したときの処理
function next()
{
	//連打防止用
	if (play)
	{
		return false;
	}
	else
	{
		play = true;
		setTimeout(function() { play = false; }, 500);
	}
	//iframeドキュメント
	var iframeDocument = $('listContents').contentWindow.document;
	//リストエレメント
	var scrollList = iframeDocument.getElementById('scrollList');
	//初期幅
	var initWidth = 0;
	initWidth = parseInt(iframeDocument.getElementById('initWidth').innerHTML);
	//現在のオフセット
	var limitLeft = parseInt(scrollList.style.left.replace('px', ''));
	if (previewOffsetId == 'empty')
	{
		previewOffsetId = parseInt(iframeDocument.getElementById('tmpKey').innerHTML);
	}
	//offsetIdをチェック
	if (!iframeDocument.getElementById('tmpWidth' + offsetId))
	{
		offsetWidth = initWidth - parseInt(iframeDocument.getElementById('tmpWidth' + (offsetId - 1)).innerHTML);
	}
	else
	{
		offsetWidth = parseInt(iframeDocument.getElementById('tmpWidth' + offsetId).innerHTML);
		if (iframeDocument.getElementById('tmpWidth' + (offsetId - 1)))
		{
			offsetWidth -= parseInt(iframeDocument.getElementById('tmpWidth' + (offsetId - 1)).innerHTML);
		}
	}
	
	//位置を調節。
	if ((limitLeft - offsetWidth) <= initWidth * -2)
	{
		scrollList.style.left = limitLeft + initWidth + 'px';
	}
	//スクロール処理
	var timer = 0;
	var tmp1 = 0;
	var tmp2 = 0;
	for (var i = 0; i < offsetWidth; i++)
	{
		tmp1 = 20 - i;
		if (tmp1 > 1)
		{
			timer += tmp1;
		}
		else if (i > offsetWidth - 25)
		{
			timer += tmp2;
			tmp2++;
		}
		else
		{
			timer += 1;
		}
		//指定時間ごとに1px移動する
		setTimeout(function() { scrollList.style.left = parseInt(scrollList.style.left.replace('px', '')) - 1 + 'px'; }, timer);
	}
	//offsetIdをチェック
	if (!iframeDocument.getElementById('tmpWidth' + offsetId))
	{
		offsetId = 0;
		previewOffsetId = parseInt(iframeDocument.getElementById('tmpKey').innerHTML);
	}
	else
	{
		//offsetIDをカウントアップ
		offsetId++;
		previewOffsetId = offsetId - 2;
	}
	return false;
}
