// Requies JQuery
// Created by Krisztian Varga

var GScroll_SlideTime = 10000; // the time between switching pages
var GScroll_ManualThreshold = 1000; // the time after user scroll, before auto scroll restarts

var GScroll_ItemIndex = null; // contains the last shown item
var GScroll_ItemCount = null; // no. of items
var GScroll_TimeoutId = -1; // the timeout id
var GScroll_IsAnimating = false; // is animation active?

function GScroll_Scroll(isLeft, isManual) {
    if (isManual == undefined) isManual = false;
    if (isLeft == undefined) isLeft = false;
    
    if (!GScroll_IsAnimating) {
        // Ha már nem megy animáció...
        GScroll_IsAnimating = true;

        if (isLeft) {
            GScroll_ItemIndex--;
            if (GScroll_ItemIndex < 0) {
                GScroll_ItemIndex = GScroll_ItemCount - 1;
                speed = 1000; // átfordultunk, sokat kell lépni
            } else {
                speed = 500;
            }

        } else {
            GScroll_ItemIndex++;
            if (GScroll_ItemIndex >= GScroll_ItemCount) {
                GScroll_ItemIndex = 0;
                speed = 1000; // átfordultunk, sokat kell lépni
            } else {
                speed = 500;
            }
        }

        pos = "-" + ($('#GScroll_Container').outerWidth() * GScroll_ItemIndex) + "px";
            $('#GScroll_InnerContainer').animate({
            marginLeft: pos
        }, speed, function() {
            GScroll_IsAnimating = false;
        });
    }

    // Timer beállítása
    if (isManual) {
        clearTimeout(GScroll_TimeoutId);
        GScroll_TimeoutId = setTimeout('GScroll_Scroll();', GScroll_ManualThreshold + GScroll_SlideTime);
    } else {
        GScroll_TimeoutId = setTimeout('GScroll_Scroll();', GScroll_SlideTime);
    }
}

// Initializer function
function GScroll_Init() {
    var innerContainer = $('#GScroll_InnerContainer');
    var container = $('#GScroll_Container');
    if (innerContainer.length == 0 || container.length == 0) {
        // Nincs konténer
    } else {
        GScroll_ItemCount = innerContainer.children("div").length;
        GScroll_ItemIndex = 0;
        innerContainer.width(container.outerWidth() * GScroll_ItemCount);

        $('#GScroll_NextBtn').click( function () { GScroll_Scroll(false, true); });
        $('#GScroll_PrevBtn').click( function () { GScroll_Scroll(true, true); });

        GScroll_TimeoutId = setTimeout('GScroll_Scroll();', GScroll_SlideTime);
    }    
}
