﻿//Array of Slide ID's
var slides = new Array;
slides[0] = "slide_Custom";
slides[1] = "slide_Engagement";
slides[2] = "slide_Rings";
slides[3] = "slide_FineJewelry";
slides[4] = "slide_Watches";

var slideTimeout = null;
var fadeTimeout = null;
var first = true;
var lastslide = 0;
var lastcomplete;
var timer = 10;

//Function to call the preloader to fade in slide.
function startSlides(div){
    document.getElementById(slides[div]).src = "/images/slides/" + slides[div] + "On.jpg";
    startFade(div, timer);
}

//Initial Fade in of first slide.
function startFade(div, counter){
    if (counter > 100){
        clearTimeout(fadeSlides);
        lastcomplete = 0;
        timer = 10
        retrieveSlideData(div);
    }else{
        document.getElementById("slide-lg_" + div).style.opacity = counter/100;
        document.getElementById("slide-lg_" + div).style.MozOpacity = counter/100;
        document.getElementById("slide-lg_" + div).style.filter = 'alpha(opacity=' + counter + ')';
        
        counter = counter + 10;
        fadeTimeout = setTimeout("startFade(" + div + "," + counter + ")", 100);
    }
}

//Turns thumbnail on and sets div for fade.
function retrieveSlideData(div){
    if (first == false){
        resetImgs();
        var id = slides[div];
        document.getElementById(id).src = "/images/slides/" + id + "On.jpg";
    }    
    retrieveNews(div);
}

//Turns off all thumbnails.
function resetImgs(){
    for (i = 0; i < slides.length; i++){
        document.getElementById(slides[i]).src = "/images/slides/" + slides[i] + "Off.jpg";
    }
}

//Sets timeout for rotation, if rotation is still in affect. Starts crossfade.
function retrieveNews(div){
    clearTimeout(slideTimeout);
    
    for(i = 0; i < slides.length; i++){
        if (i == div){
            if (document.getElementById("hfSlideRotate").value == "True"){
                if (first == true){
                    if (document.getElementById("hfSlideRotate").value == "True"){
                        slideTimeout = setTimeout("nextSlide(" + div + ")", 6000);
                    }
                    
                    first = false;
                }else{
                    document.getElementById("slide-lg_" + div).className = "visible";
                    fadeSlides(div, lastcomplete, timer);
                    lastslide = div;
                }
            }else{
                document.getElementById('slide-lg_' + div).className= "visible";
                document.getElementById("slide-lg_" + div).style.opacity = 1.0;
                document.getElementById("slide-lg_" + div).style.MozOpacity = 1.0;
                document.getElementById("slide-lg_" + div).style.filter = 'alpha(opacity=' + 100 + ')';
            }
        }else{
            if (document.getElementById("hfSlideRotate").value == "False"){
                document.getElementById('slide-lg_' + i).className= "hidden";
                document.getElementById("slide-lg_" + i).style.opacity = 1.0;
                document.getElementById("slide-lg_" + i).style.MozOpacity = 1.0;
                document.getElementById("slide-lg_" + i).style.filter = 'alpha(opacity=' + 100 + ')';
            }
        }
    }
}

//Pulls next slide during rotation.
function nextSlide(currentSlide){
    currentSlide = currentSlide + 1;
    
    if (currentSlide > 4) { currentSlide = 0; }
    retrieveSlideData(currentSlide);
}

//Sets a timeout that crossfades 2 slides
function fadeSlides(div, prevdiv, counter){    
    if (counter > 100){
        clearTimeout(fadeSlides);
        
        lastcomplete = div;
        timer = 10;
        document.getElementById("slide-lg_" + prevdiv).className = "hidden";
        if (document.getElementById("hfSlideRotate").value == "True"){
            slideTimeout = setTimeout("nextSlide(" + div + ")", 6000);
        }
    }else{
        clearTimeout(slideTimeout);
        
        var opaque = (100 - counter)/100;
        var opacity = 100 - counter;
        document.getElementById("slide-lg_" + prevdiv).style.opacity = opaque;
        document.getElementById("slide-lg_" + prevdiv).style.MozOpacity = opaque;
        document.getElementById("slide-lg_" + prevdiv).style.filter = 'alpha(opacity=' + opacity + ')';
        
        opaque = counter/100;
        opacity = counter;
        document.getElementById("slide-lg_" + div).style.opacity = opaque;
        document.getElementById("slide-lg_" + div).style.MozOpacity = opaque;
        document.getElementById("slide-lg_" + div).style.filter = 'alpha(opacity=' + opacity + ')';
    
        counter = counter + 10
        fadeTimeout = setTimeout("fadeSlides(" + div + "," + prevdiv + "," + counter + ")", 100);
    }
    
}

//stops the rotation and retrieves the information for current div.
function cancelRotate(div){
    clearTimeout(slideTimeout);
    document.getElementById("hfSlideRotate").value = "False";
    resetImgs();
    var id = slides[div];
    document.getElementById(id).src = "/images/slides/" + id + "On.jpg";
    
    retrieveNews(div);
}
