function G(id){return document.getElementById(id);}
var Slider=(function() {
var speed = 12;
var space = 12;
var movespeed = 2000;
var slideWidth = 134;
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();},movespeed);
}
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');
p.onmouseover=function(){Slider.stop();};
p.onmouseout=function(){Slider.play();};
var l = G('slide_left'), r = G('slide_right');
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();
