﻿
// 사진 이미지 좌, 우로 이동 처리

// 이미지 움직임 작동중 여부
var bMovingImage = false;

// 이미지 왼쪽으로 이동(움직일 컨테이너 ID, 이미지 폭, 1번에 움직일 이미지 수, 총 이미지 수)
function MoveLeftImage(CtrlID, imgWidth, MoveCnt, TotCnt) {
    if (bMovingImage) return;

    var iLeft = parseInt($(CtrlID).style.left.replace("px", ""));

    if (iLeft > imgWidth * (MoveCnt - TotCnt)) {
        var iNewLeft = (iLeft - imgWidth * MoveCnt) + "px";

        var eff = new Effect.Morph(CtrlID, {
            style: { left: iNewLeft },
            duration: 1,
            beforeStart: beforeMoveImage,
            afterFinish: afterMoveImage
        });
    }
    else {
        alert("더 이상 이동할 이미지가 없습니다.");
    }
}

// 이미지 오른쪽으로 이동(움직일 컨테이너 ID, 이미지 폭, 1번에 움직일 이미지 수, 총 이미지 수)
function MoveRightImage(CtrlID, imgWidth, MoveCnt, TotCnt) {
    if (bMovingImage) return;

    var iLeft = parseInt($(CtrlID).style.left.replace("px", ""));

    if (iLeft < 0) {
        var iNewLeft = (iLeft + imgWidth * MoveCnt) + "px";

        var eff = new Effect.Morph(CtrlID, {
            style: { left: iNewLeft },
            duration: 1,
            beforeStart: beforeMoveImage,
            afterFinish: afterMoveImage
        });
    }
    else {
        alert("더 이상 이동할 이미지가 없습니다.");
    }
}

// 이미지 이동 전 처리
function beforeMoveImage() {
    bMovingImage = true;
}

// 이미지 이동 후 처리
function afterMoveImage() {
    bMovingImage = false;
}


//#########################################################
// 통합메인 우수 어촌체험마을 이미지 롤링 처리
var _TimerBest = null
var _bMovingBest = false;
var _Interval = 3000;
var _MoveLeftRight = "L";

// 좌측 이동
function moveLeftBest(pCtrlName, pWidth, pCtrlCnt) {
    if (_bMovingBest) return;
    
    // 2개 이상일때 작동
    if (pCtrlCnt > 1) {
        _MoveLeftRight = "L";
        
        // 움직이기전 Left가 (-)이면 가장 오른쪽으로 이동
        for (var i = 0; i < pCtrlCnt; i++) {
            var sLeft = $get(pCtrlName + "_" + i).style.left.replace("px", "");
            if (parseInt(sLeft) < 0) {
                $get(pCtrlName + "_" + i).style.left = (pWidth * (pCtrlCnt - 1)) + "px";
                break;
            }
        }
        
        var eff = new Array(pCtrlCnt);
        
        for (var i = 0; i < pCtrlCnt; i++) {
            var iLeft = parseInt($get(pCtrlName + "_" + i).style.left.replace("px", ""));
            var iNewLeft = (iLeft - parseInt(pWidth)) + "px";

            eff[i] = new Effect.Morph(pCtrlName + "_" + i, {
                style: { left: iNewLeft },
                duration: 0.5,
                beforeStart: beforeMoveBest,
                afterFinish: afterMoveBest
            });
        }

        clearTimeout(_TimerBest);
        _TimerBest = setTimeout("moveLeftBest('" + pCtrlName + "', '" + pWidth + "', '" + pCtrlCnt + "')", _Interval);
    }
}

// 우측 이동
function moveRightBest(pCtrlName, pWidth, pCtrlCnt) {
    if (_bMovingBest) return;
    
    // 2개 이상일때 작동
    if (pCtrlCnt > 1) {
        _MoveLeftRight = "R";
        
        // 움직이기 전에 최하위 이미지를 가장 왼쪽으로 이동
        for (var i = 0; i < pCtrlCnt; i++) {
            var sLeft = $get(pCtrlName + "_" + i).style.left.replace("px", "");
            if (parseInt(sLeft) >= pWidth * (pCtrlCnt - 1)) {
                $get(pCtrlName + "_" + i).style.left = (-pWidth) + "px";
                break;
            }
        }

        var eff = new Array(pCtrlCnt);

        for (var i = 0; i < pCtrlCnt; i++) {
            var iLeft = parseInt($get(pCtrlName + "_" + i).style.left.replace("px", ""));
            var iNewLeft = (iLeft + parseInt(pWidth)) + "px";

            eff[i] = new Effect.Morph(pCtrlName + "_" + i, {
                style: { left: iNewLeft },
                duration: 0.5,
                beforeStart: beforeMoveBest,
                afterFinish: afterMoveBest
            });
        }

        clearTimeout(_TimerBest);
        _TimerBest = setTimeout("moveRightBest('" + pCtrlName + "', '" + pWidth + "', '" + pCtrlCnt + "')", _Interval);
    }
}

// 이미지 이동 전 처리
function beforeMoveBest() {
    _bMovingBest = true;
}

// 이미지 이동 후 처리
function afterMoveBest() {
    _bMovingBest = false;
}

function BestMouseOver() {
    _bMovingBest = true;
}

function BestMouseOut(pCtrlName, pWidth, pCtrlCnt) {
    _bMovingBest = false;

    clearTimeout(_TimerBest);

    if (_MoveLeftRight == "R")
        _TimerBest = setTimeout("moveRightBest('" + pCtrlName + "', '" + pWidth + "', '" + pCtrlCnt + "')", _Interval);
    else
        _TimerBest = setTimeout("moveLeftBest('" + pCtrlName + "', '" + pWidth + "', '" + pCtrlCnt + "')", _Interval);
}
//#########################################################