


///////////////////////////////////////////////////////////////////////////////////////////////////////
//
//サムネイルを見せる
//
///////////////////////////////////////////////////////////////////////////////////////////////////////



/*
eucで保存しています。
htmlに合わせて適当に文字コードを変更してください。
*/



//=====================================================================
//変数及び初期値



var ele = "";//動かしたい対象div
var pos = 0;//動かしたい対象divの現在地
var parentele = 0;//親枠divの横幅
var targetPos = 0;//移動先の位置
var leftLimitPos = 0;//一番左に移動する時の限界値
var rightLimitPos = 0;//一番右に移動する時の限界値



//=====================================================================
//初期値を作る



/*
_ele…動かしたい対象div
_elenumber…画像ボックスの数
_elewidth…画像ボックスの１個あたりの横幅サイズ
_parentele…親枠divの横幅
*/



function imgThumbnailInit(_ele,_elenumber,_elewidth,_parentele)
	{
		var msg = imgThumbnailInitCheck(_ele,_elenumber,_elewidth,_parentele);
		if(msg != "")
			{
				document.write(msg);
				return false;
			}
		
		//親divの横幅
		parentele = _parentele;


		//動かしたい対象divの設定
		//ele = $("#"+_ele);
                //ele.setAttribute("style","position:absolute;left:0px;");
		//ele.style.position = 'absolute';
		//ele.style.left = '0px';
		//ele.style.width = _elenumber * _elewidth + 'px';

		$("#list").css("position","absolute");
		$("#list").css("left","0px");
		var width = _elenumber * _elewidth;
		$("#list").css("width",width + 'px');

		//一番左の限界値
//		leftLimitPos = _parentele - parseInt(ele.style.width);
		leftLimitPos = _parentele - width;

		//ボタンのクラスチェック
		classCheck(targetPos);


	}

//初期値のエラーチェック
function imgThumbnailInitCheck(_ele,_elenumber,_elewidth,_parentele)
	{
		//項目チェック
		var msg = "";
		if(!_ele || _ele == "")
			{
				msg = "動かしたい対象DIVのID名が必要です<br>";
			}
		if(!_elenumber)
			{
				msg += "画像ボックスの数が必要です<br>";
				return false;
			}
		if(!_elewidth)
			{
				msg += "画像ボックスの１個あたりの横幅サイズが必要です<br>";
				return false;
			}
		if(!_parentele)
			{
				msg += "親ボックスの横幅サイズが必要です<br>";
				return false;
			}
		return msg;
	}



//-------------------------------------------------------------------------------------------------------------------------
//左に動かす



function imgThumbnailPrv()
	{
		//目標値
//		var thisPos = parseInt(ele.style.left);
		var thisPos = parseInt($('#list').css("left"));
		if(thisPos == 0)
			{
				return false;
			}
		if(parseInt($('#list').css("width")) < parentele)
			{
				return false;
			}
		
		targetPos = thisPos + parentele;
		targetPos = Math.min(targetPos,0);
		
		//ボタンのクラスチェック
		classCheck(targetPos);
		
		//止める目標値
		stopTop = targetPos + 1;
		stopBottom = targetPos - 1;
		
		//動作開始
		myTimeObjStart('checkDivtimer');
	}



//-------------------------------------------------------------------------------------------------------------------------
//右に動かす



function imgThumbnailNext()
	{

var thisPos;
		//移動目標値を設定
		thisPos = parseInt($('#list').css("left"));

		if(thisPos == leftLimitPos)
			{
				return false;
			}
		if(parseInt($('#list').css("width")) < parentele)
			{
				return false;
			}
		
		targetPos = thisPos - parentele;
		targetPos = Math.max(targetPos,leftLimitPos);
		
		//ボタンのクラスチェック
		classCheck(targetPos);
		
		//止める目標値
		stopTop = targetPos + 1;
		stopBottom = targetPos - 1;
		
		//動作開始
		myTimeObjStart('checkDivtimer');
	}



//-------------------------------------------------------------------------------------------------------------------------
//ボタンのクラスを変更する



function classCheck(targetPos)
	{
		if(parseInt($("#list").css("width")) < parentele)
			{
				document.getElementById('prv').className="false";
				document.getElementById('next').className="false";
				return false;
			}
		if(targetPos == 0)
			{
				document.getElementById('prv').className="false";
				document.getElementById('next').className="true";
			}
		else if(targetPos == leftLimitPos)
			{
				document.getElementById('prv').className="true";
				document.getElementById('next').className="false";
			}
		else
			{
				document.getElementById('prv').className="true";
				document.getElementById('next').className="true";
			}
	}



//-------------------------------------------------------------------------------------------------------------------------
//setIntervalを止める判定



function stopFnc()
	{
		var thisPos = parseInt($('#list').css("left"));
		pos += ( targetPos - thisPos ) * 0.1;
		
		if(thisPos > stopBottom && thisPos < stopTop)
			{
				$("#list").css("left", targetPos+"px");
				myTimeObjStop('checkDivtimer');
				//document.getElementById('koko').innerHTML = "target -> "+targetPos+" pos -> "+ele.style.left+" / 大 "+stopBottom+" 小 "+stopTop+" / END";
			}
		else
			{
				$("#list").css("left", pos+"px");
				//document.getElementById('koko').innerHTML = "target -> "+targetPos+" pos -> "+pos+" / 大 "+stopBottom+" 小 "+stopTop;
			}
	}

















///////////////////////////////////////////////////////////////////////////////////////////////////////
//タイマーファンクション



//【オブジェクト本体】
//objName…オブジェクトのプロパティ名（setIntervalのID名に相当する）
//stopName…ストッププロパティ名（オブジェクトのプロパティ名を指定）

function myTimeObj(objName,stopName)
	{
		if(!objName)
			{
				clearInterval(this[stopName]);
				this[stopName] = "";
				return false;
			}
		//ファンクションを動作させる
		this[objName] = setInterval("stopFnc()", 30);
	}

//引数にしたオブジェクトのプロパティ名を動作させる
//prpName…プロパティ名（setIntervalのID名に相当する）
function myTimeObjStart(prpName)
	{
		if(!this[prpName])
			{
				myTimeObj(prpName,"");//ID名を渡す
			}
	}

//引数にしたプロパティ名を停止する
function myTimeObjStop(prpName)
	{
		myTimeObj("",prpName);//オブジェクトプロパティ名を渡す
	}
































