//grobal data
var viewerdata = {
	allwidth:0,
	speed:201,
	pclick:false,
	nclick:false,
	overregexp:/^(.+)(\.[A-Za-z]+)$/,
	outregexp:/^(.+)_over(\.[A-Za-z]+)$/
};

$(document).ready(function(){
	//erase prevbutton
	$("#prevbutton").fadeTo(0 , 0);

	//get size
	$("#imagelist li").each(function(){
		viewerdata.allwidth += parseInt($(this).css("width")) + parseInt($(this).css("margin-left")) + parseInt($(this).css("margin-right"));
	});

	//set size
	$("#imagelist ul").width(viewerdata.allwidth);

	//thumnail mouse
	$("#imagelist img").mouseover(function(){
		$(this).fadeTo("fast" , 0.5);
	}).mouseout(function(){
		if(viewerdata.nownum === $("#imagelist img").index(this))return;
		$(this).fadeTo("fast" , 1);
	});


	//button mouse
	$("#nextbutton , #prevbutton").mouseover(function(){
		$(this).attr("src" , $(this).attr("src").replace(viewerdata.overregexp,"$1_over$2"));
	}).mouseout(function(){
		$(this).attr("src" , $(this).attr("src").replace(viewerdata.outregexp,"$1$2"));
	});
	
	$("#prevbutton").mousedown(function(){
		viewerdata.pclick = true;
		scrollPrev();
	}).mouseup(function(){
		viewerdata.pclick = false;
	});
	
	$("#nextbutton").mousedown(function(){
		viewerdata.nclick = true;
		scrollNext();
	}).mouseup(function(){
		viewerdata.nclick = false;
	});
	
	//scroll right
	function scrollPrev(){
		$("#nextbutton").fadeTo("fast" , 1.0);
		if(parseInt($("#imagelist ul").css("margin-left")) > -1){
			$("#imagelist ul").animate({marginLeft : "0px"} , "fast" , "linear");
			$("#prevbutton").fadeTo("fast" , 0);
			return;
		}
		if(viewerdata.pclick !== true)return;
		if(parseInt($("#imagelist ul").css("margin-left")) < 0){
			$("#imagelist ul").animate({marginLeft : (parseInt($("#imagelist ul").css("margin-left")) + viewerdata.speed) + "px"} , "fast" , "linear" , scrollPrev);
		}
	}

	//scroll left
	function scrollNext(){
		$("#prevbutton").fadeTo("fast" , 1.0);
		if(parseInt($("#imagelist ul").css("margin-left")) < -1 * (viewerdata.allwidth - $("#imagelist").width()) + 1){
			$("#imagelist ul").animate({marginLeft : -1 * (viewerdata.allwidth - $("#imagelist").width())+ "px"} , "fast" , "linear");
			$("#nextbutton").fadeTo("fast" , 0);
			return;
		}
		if(viewerdata.nclick !== true)return;
		if(parseInt($("#imagelist ul").css("margin-left")) > -1 * (viewerdata.allwidth - $("#imagelist").width())){
			$("#imagelist ul").animate({marginLeft : (parseInt($("#imagelist ul").css("margin-left")) - viewerdata.speed) + "px"} , "fast" , "linear" , scrollNext);
		}
	}
});
