function G(id){return document.getElementById(id);}
var Slider=(function(){
	var speed = 300;
	var space = 30;
	var slideWidth = 140;
	var moveLock = false;
	var moveTimer;
	var dist = 0;
	var slideTimer=null;
	var isScroll = false;
	var holder1 = G("holder1");
	var slidePic = G("gscroll");
	G("holder2").innerHTML = holder1.innerHTML;
	slidePic.scrollLeft = holder1.scrollWidth;
	
function slidePlay(){
	clearInterval(slideTimer);
	slideTimer = setInterval(function(){slideDown();slideStopDown();},3000);
}
function slideStop(){
	clearInterval(slideTimer);
}
function slideUp(){
	if(moveLock) return;
	clearInterval(slideTimer);
	moveLock = true;
	moveTimer = setInterval(function(){scrollUp();},speed);
}
function slideStopUp(){
	if(isScroll);
	clearInterval(moveTimer);
	if(slidePic.scrollLeft % slideWidth != 0){
		dist = -(slidePic.scrollLeft % slideWidth);
		setDist();
	}else{
		moveLock = false;
	}
	slidePlay();
}
function scrollUp(){
	if(slidePic.scrollLeft <= 0){slidePic.scrollLeft = holder1.offsetWidth}
	slidePic.scrollLeft -= space;
}
function slideDown(){
	clearInterval(moveTimer);
	if(moveLock) return;
	clearInterval(slideTimer);
	moveLock = true;
	scrollDown();
	moveTimer = setInterval(function(){scrollDown();},speed);
}
function slideStopDown(){
	if(isScroll);
	clearInterval(moveTimer);
	if(slidePic.scrollLeft % slideWidth != 0 ){
		dist = slideWidth - slidePic.scrollLeft % slideWidth;
		setDist();
	}else{
		moveLock = false;
	}
	slidePlay();
}
function scrollDown(){
	if(slidePic.scrollLeft >= holder1.scrollWidth){slidePic.scrollLeft = 0;}
	slidePic.scrollLeft += space ;
}
function setDist(){
	if(dist == 0){
	moveLock = false;
	isScroll = false;
	return;
}
var num;
var tempSpeed = speed,tempDist = space;
if(Math.abs(dist)<slideWidth/5){
	tempDist =  Math.round(Math.abs(dist/5));
	if(tempDist<1){tempDist=1};
}
if(dist < 0){
	if(dist < -tempDist){
		dist += tempDist;
		num = tempDist;
	}else{
		num = -dist;
		dist = 0;
	}
	slidePic.scrollLeft -= num;
	setTimeout(function(){setDist();},tempSpeed);
}else{
	if(dist > tempDist){
		dist -= tempDist;
		num = tempDist;
	}else{
		num = dist;
		dist = 0;
	}
slidePic.scrollLeft += num;
setTimeout(function(){setDist();},tempSpeed);
}
}
function init() {
var p=G('gscroll');
var x=G('scrollRow');
var l = G('slide_left'), r = G('slide_right');

x.onmouseover=function(){};
x.onmouseout=function(){};

p.onmouseover=function(){Slider.stop();};
p.onmouseout=function(){Slider.play();};

l.onmousedown = function(){Slider.up();}
r.onmousedown = function(){Slider.down();}
l.onmouseup = l.onmouseout = function(){Slider.stopUp();}
r.onmouseup = r.onmouseout = function(){Slider.stopDown();}
slidePlay();
}
return {
init:init,
play:slidePlay,
stop:slideStop,
up:slideUp,
stopUp:slideStopUp,
down:slideDown,
stopDown:slideStopDown
}
})();
Slider.init();
