// Cross Fade Slideshow using mootools 1.2
// Haclyon Design

// divs to switch back and fourth
var slideshowBoxes = $$("div.h_slideshow");

var slide = 0; // current index of the slides array
var looped = 0;
var slideBox = 1; // current index of the div array
var timer = 4000; // time per slide
var state = 1; // state of slide show. can be 1 - running or  0 - paused.
// timer for slides
var h_interval = setInterval( "main()", timer )

function main(dir) {
    crossFade();
}

function crossFade(dir) {
    $(slideshowBoxes[slideBox]).fade('out');
    $('hs_description').fade('out');

    setSlideNumber(dir);

    switchSlideBox();

    $(slideshowBoxes[slideBox]).innerHTML = slideData[slide];
    $(slideshowBoxes[slideBox]).fade('in');

    $('hs_description').innerHTML = slideDesc[slide];
    $('hs_description').fade('in');

}

function userFadeTo(newSlide) {
    //removeActiveThumb();

    slide = newSlide-1;
    $(slideshowBoxes[slideBox]).fade('out');
    $('hs_description').fade('out');

    switchSlideBox();

    $(slideshowBoxes[slideBox]).innerHTML = slideData[slide];
    $(slideshowBoxes[slideBox]).fade('in');
    $('hs_description').innerHTML = slideDesc[slide];
    $('hs_description').fade('in');

}


function setSlideNumber(dir) {
    if(slide >= (slideData.length - 1 ) && dir != "prev") {
	looped++;
	slide = 0;
    } else {
	if (dir == "prev" && slide == 0) {
	    slide = slideData.length;
	}

	if (!dir)
	    slide++;
	else {
	    slide--;
	}
    }
}

function switchSlideBox() {
    switch(slideBox) {
	case 0: slideBox = 1; break;
	case 1:
	default: slideBox = 0; break;
    }
}


// User functions
function click(slide, el) {
    pause();
    userFadeTo(slide);
}

function pause() {
    if (state == 0) {
        state = 1;
        h_interval = setInterval( "main()", timer )
    }
    else {
	state = 0;
        clearInterval(h_interval);
    }
}

function move(dir) {
    if (state == 0) {
	crossFade(dir);
    }
    else {
	crossFade(dir);
	clearInterval(h_interval);
	h_interval = setInterval( "crossFade()", timer );
    }
}

