﻿// JScript File

var aryProds = [""];
var pause = false;
var rotateTimer = 0;
var pathToRootFolder = '';

//intProd is the index of the current tract
var intProd = 0
var interval = 4000;
var imgPreload = new Array();

function beginRotation(pathToRootFolderValue){
    pathToRootFolder = pathToRootFolderValue;
    intProd = Math.floor(aryProds.length * Math.random());
    rotate('RR',pathToRootFolder);
    rotateTimer = setInterval("rotate('RR', '" + pathToRootFolder + "')", interval);
    preLoad();
}

function pauseClicked(){
    pause = !pause;
    if (pause){
        clearInterval(rotateTimer);
    }
    else{
        clearInterval(rotateTimer);
        beginRotation(pathToRootFolder);
    }
}

function rotate(direction, pathToRootFolderValue) {
   pathToRootFolder = pathToRootFolderValue;
    //Reset timer if user clicked a button
    if (direction == 'R' || direction == 'L'){
        if (!pause){
            clearInterval(rotateTimer);
            beginRotation(pathToRootFolder);
        }
    }
    
    //Determine whether to increment or decrement intProd and then update intProd
    if (direction == 'R' || direction == 'RR'){
        intProd++;
        if (intProd > aryProds.length - 1){
            intProd = 0;
        }
    }
    else{
        intProd--;
        if (intProd < 0){
            intProd = aryProds.length - 1;
        }
    }
    
    //Update images
    var strProductID = aryProds[intProd][0];
    var strTitle = aryProds[intProd][1];
    var numFiles = aryProds[intProd][2];
    var strFolderPath1 = aryProds[intProd][3];
    var strFileName1 = aryProds[intProd][4];
    var strFolderPath2 = aryProds[intProd][5];
    var strFileName2 = aryProds[intProd][6];
    var strFolderPath3 = aryProds[intProd][7]; 
    var strFileName3 = aryProds[intProd][8];
    
    var imgFilePath1 = pathToRootFolder + '/ProductData/' + strFolderPath1 + '/' + strFileName1;
    var imgFilePath2 = pathToRootFolder + '/ProductData/' + strFolderPath2 + '/' + strFileName2;
    var imgFilePath3 = pathToRootFolder + '/ProductData/' + strFolderPath3 + '/' + strFileName3;
    
    var imgObj1 = document.getElementById('imgAdRotator1');
    var imgObj2 = document.getElementById('imgAdRotator2');
    var imgObj3 = document.getElementById('imgAdRotator3');
    
    //Update item count span
    document.getElementById('itemCountSpan').innerHTML = ' ' + (intProd + 1) + '/' + aryProds.length;
    
    //Update item title span
    document.getElementById('rotatorTitle').innerHTML = strTitle;
    
    imgObj1.src = imgFilePath1; 
    imgObj1.style.display = "inline";
    
    if (numFiles > 1){
        imgObj2.src = imgFilePath2; 
        imgObj2.style.display = "inline";       
    }
    else{
        imgObj2.style.display = "none";
    }       
    
    if (numFiles > 2){
        imgObj3.src = imgFilePath3; 
        imgObj3.style.display = "inline";       
    }
    else{
        imgObj3.style.display = "none";
    } 
        
    //Update links
    var detailPage = pathToRootFolder + '/Catalog/ProductDetail.aspx?Prod=' + strProductID;
    document.getElementById('itemLink').href = detailPage;
    document.getElementById('imageLink').href = detailPage;
    
    return true;
}

function preLoad(){
    //preload images
    var strFolderPath, strFileName, imgFilePath, strHiddenImgList;
    //strHiddenImgList = "<div style='display:none;'>";
    for(var p=0; p < aryProds.length; p++) 
    {
        for(var i=3; i<=7; i=i+2) 
        {
            imgPreload[p] = new Image();
            
            strFolderPath = aryProds[p][i];
            strFileName = aryProds[p][i + 1];
            imgFilePath = pathToRootFolder + '/ProductData/' + strFolderPath + '/' + strFileName;
            if (strFileName.length > 0){
                //strHiddenImgList += "<img src='" + imgFilePath + "' />";
                imgPreload[p].src = imgFilePath;
            }
        }
    }
    //strHiddenImgList += "</div>";
    //document.write(strHiddenImgList);
}
