var sliderPos        = 0;
var sliderImages     = new Array();
var sliderWidth      = 0;
var sliderImageIndex = 0;
var sliderStopped    = false;
var sliderIntervalHandle;

function initSlider(sliderId, sliderImageIds) {
    if (sliderConf.cookie) {
        sliderCookie = (parseInt(sliderGetCookie('sliderPos'))) ? parseInt(sliderGetCookie('sliderPos')) : 0;
        if (sliderCookie) {
            sliderPos = sliderCookie;
        }
    }
    if (sliderConf.rememberStop) {
        sliderStopped = (sliderGetCookie('sliderStopped') == 1) ? true : false;
    }
    sliderEl = document.getElementById(sliderId);
    //var imageHTML = sliderEl.innerHTML.replace(new RegExp('id="?[^" ]+"?', 'g'));
    //sliderEl.innerHTML = sliderEl.innerHTML + imageHTML + imageHTML;
    //sliderEl = document.getElementById(sliderId);
    sliderEl.style.whiteSpace = 'nowrap';
    var element;
    for (var i = 0; i < sliderImageIds.length; i++) {
        element = document.getElementById(sliderImageIds[i]);
        sliderImages[sliderImages.length] = element;
        sliderWidth += element.clientWidth;
    }
    sliderWidth /= 3;

    sliderMove(true);
    sliderEl.style.visibility = 'visible';

    if (!sliderStopped) {
        window.setTimeout('sliderStart()', sliderConf.delay);
    }
}

function sliderStart() {
    if (sliderIntervalHandle) {
        window.clearInterval(sliderIntervalHandle);
    }
    sliderIntervalHandle = window.setInterval('sliderMove()', sliderConf.interval);

    sliderStopped = false;
    if (sliderConf.rememberStop) {
        sliderSetCookie('sliderStopped', (sliderStopped) ? 1 : 0, 100);
    }
}

function sliderStop() {
    if (sliderIntervalHandle) {
        window.clearInterval(sliderIntervalHandle);
    }

    sliderStopped = true;
    if (sliderConf.rememberStop) {
        sliderSetCookie('sliderStopped', (sliderStopped) ? 1 : 0, 100);
    }
}

function sliderSwitch() {
    if (sliderStopped) {
        sliderStart();
    } else {
        sliderStop();
    }
}

function sliderMove(noMove) {
    if (!noMove || noMove == false) {
        sliderPos += sliderConf.step;
    }
    if (sliderPos > sliderWidth) {
        sliderPos = 1;
    }
    if (sliderPos < 0) {
        sliderPos = sliderWidth - 1;
    }
    sliderImages[sliderImageIndex].style.marginLeft = sliderPos - sliderWidth;
    if (sliderConf.cookie) {
        sliderSetCookie('sliderPos', sliderPos, 100);
    }
}

function sliderSetCookie(sName, sValue, nDays) {
    var expires = "";
    if (nDays) {
        var d = new Date();
        d.setTime( d.getTime() + nDays * 24 * 60 * 60 * 1000 );
        expires = "; expires=" + d.toGMTString();
    }

    document.cookie = sName + "=" + sValue + expires + "; path=/";
}

function sliderGetCookie(sName) {
    var re = new RegExp( "(\;|^)[^;]*(" + sName + ")\=([^;]*)(;|$)" );
    var res = re.exec( document.cookie );
    return res != null ? res[3] : null;
}

