(function () {
    var init, outerContainer, container, document, leftBtn, rightBtn,
            loadParts, initUI, innerContainer, animWay, animSpeed, animate,
            step, size

    document = this.document;
    animWay = 0;
    animSpeed = 10;
    step = 0;
    size = 350;

    init = function () {
        loadParts();
        initUI();
        this.setInterval(animate, 10);
    };

    animate = function () {
        if (animWay !== 0) {
            if (animWay < 0) {
                if (container.scrollLeft > (step - 1) * size) {
                    container.scrollLeft =
                            Math.max(container.scrollLeft - animSpeed,
                            (step - 1) * size);
                } else {
                    step -= 1;
                    animWay = 0;
                }
            } else {
                if (container.scrollLeft < (step + 1) * size) {
                    container.scrollLeft = container.scrollLeft + animSpeed;
                } else {
                    step += 1;
                    animWay = 0;
                }
            }
        }
    };

    initUI = function () {
        var items = innerContainer.getElementsByTagName('div');
        innerContainer.style.width = (items[0].offsetWidth * 4) +
                'px';
        container.style.width = size + 'px';
        container.style.overflow = 'hidden';
        leftBtn.onclick = function () {
            if (step > 0) {
                animWay = -1;
            }
        };
        rightBtn.onclick = function () {
            if ((container.scrollWidth - size) / size > step) {
                animWay = 1;
            }
        }
    };

    loadParts = function () {
        var parts, i;
        outerContainer = document.getElementById('mainProd');
        parts = outerContainer.getElementsByTagName('div');
        for (i = parts.length - 1; i >= 0; i -= 1) {
            if (parts[i].className === 'scrollLeftBtn') {
                leftBtn = parts[i];
            } else if (parts[i].className === 'scrollContent') {
                container = parts[i];
            } else if (parts[i].className === 'scrollRightBtn') {
                rightBtn = parts[i];
            }
        }
        innerContainer = container.firstChild;
        while (innerContainer.nodeType !== 1) {
            innerContainer = innerContainer.nextSibling;
        }
    };

    if (this.addEventListener instanceof Function) {
        this.addEventListener('DOMContentLoaded', init, false);
    } else {
        this.attachEvent('onload', init);
    }
}());