﻿var lastSlideId;
var lastIndex = 0;
var timeouts = Array();
var originLeft;
var slidesCount;
var currentSlideNumber = 1;

function showHorizontalSlide(prefixDivName, slideNumber) {
    slideId = prefixDivName + slideNumber;
	currentSlideNumber = slideNumber;
	onChangingCurrentSlideNumber(currentSlideNumber, slidesCount);
    var slide = document.getElementById(slideId);
    slide.style.left = originLeft + "px";
    slide.style.zIndex = lastIndex;
    lastIndex = lastIndex + 1;

    var speed = 1;
    var interval = 100;
    for (var i = originLeft ; i < originLeft + slide.offsetWidth ; i++) {
        setTimeout("document.getElementById('" + slideId + "').style.left = '" + i + "px'", interval);
        interval = interval + speed;

        if (i == 400 + originLeft) speed = 5;
        if (i == 500 + originLeft) speed = 10;
        if (i == 530 + originLeft) speed = 20;
        if (i == 560 + originLeft) speed = 40;
            
    }            
}

function startHorizontalSlideShow(originLeftParam, paramPrefixDivName, slideNumbers) {
	originLeft = originLeftParam;
	slidesCount = slideNumbers;
	prefixDivName = paramPrefixDivName;
    var interval = 1000;
    var timeoutIndex = 0;
    for (var i = 1 ; i <= slidesCount ; i++) {
        timeouts[timeoutIndex] = setTimeout("showHorizontalSlide('" + prefixDivName + "'," + i + "); ", interval);   
        interval = interval + 5000;
        timeoutIndex = timeoutIndex + 1;
    }
}

function stopHorizontalSlideShow() {
    for (var i=0 ; i<timeouts.length ; i++) {
        clearTimeout(timeouts[i]);
    }    
}

function resumeHorizontalSlideShow() {
	if (currentSlideNumber < slidesCount) {
		var interval = 1000;
		var timeoutIndex = 0;
		for (var i = currentSlideNumber + 1; i <= slidesCount; i++) {
			timeouts[timeoutIndex] = setTimeout("showHorizontalSlide('" + prefixDivName + "'," + i + "); ", interval);
			interval = interval + 5000;
			timeoutIndex = timeoutIndex + 1;
		}
	} else {
		startHorizontalSlideShow(originLeft, prefixDivName, slidesCount);
	}
}


function showPrevHorizontalSlide(prefixDivName) {
	if (currentSlideNumber > 1) {
		stopHorizontalSlideShow();
		showHorizontalSlide(prefixDivName, currentSlideNumber - 1);
	}
}
function showNextHorizontalSlide(prefixDivName) {
	if (currentSlideNumber < slidesCount) {
		stopHorizontalSlideShow();
		showHorizontalSlide(prefixDivName, currentSlideNumber + 1);
	}
}

