﻿//Minifiy with http://fmarcia.info/jsmin/test.html

////////////////////////////////////////////////////////////////
// This script is used by the ContentSlider Agility Module
////////////////////////////////////////////////////////////////

var CS2SliderCurrIndex = 0;
var AllowLeftClick = true;
var AllowRightClick = true;

function CS2SliderLoadContent(mainDivName, CS2SliderArray, slideDirection) {
  
    var currentSelectArray = CS2SliderGetArrayElements(CS2SliderArray);
    var divToAddTo = document.getElementById(mainDivName);

    if(slideDirection==null || slideDirection == undefined || slideDirection=="")
    {
        while(divToAddTo.hasChildNodes())
        {
            divToAddTo.removeChild(divToAddTo.lastChild);
        }
        
        for(var i=0; i<CS2DisplayCount; i++) {

         

            if (i < currentSelectArray.length) {
                var item = CS2CreateSliderItem(currentSelectArray[i], i);
                divToAddTo.appendChild(item);
            }
            else {

                break;
            }
        }
    }
    else if(slideDirection=="left")
    {
        
        // remove all nodes that are displayed
        while(divToAddTo.hasChildNodes())
        {
            divToAddTo.removeChild(divToAddTo.lastChild);
        }
        
        // add nodes to be displayed
        for (var i = 0; i < CS2DisplayCount; i++) {
            if (i < currentSelectArray.length) {
                var item = CS2CreateSliderItem(currentSelectArray[i], i);
                divToAddTo.appendChild(item);
            }
            else {

                break;
            }
        }
        
        divToAddTo.childNodes[0].className = "SliderItemLeft2";
        
        // if more than two nodes displayed, then add style for centre and right most
        if (CS2DisplayCount > 2) {
        
            for (var i = 1; i < CS2DisplayCount - 1; i++) {
                divToAddTo.childNodes[i].className = "SliderItem2";
            }
            divToAddTo.childNodes[3].className = "SliderItemRight2";
        }
        
        divToAddTo.style.marginLeft = "0px";
        
        $("a.SliderItemLeft2").css("display","none");
        $("a.SliderItem2").css("display","none");
        $("a.SliderItemRight2").css("display","none");
        $("a.SliderItemLeft2").fadeIn("slow");
        $("a.SliderItem2").fadeIn("slow");
        $("a.SliderItemRight2").fadeIn("slow");
        
        AllowLeftClick = true;
    }
    else if(slideDirection=="right")
    {
        // remove all nodes that are displayed
        while(divToAddTo.hasChildNodes())
        {
            divToAddTo.removeChild(divToAddTo.lastChild);
        }

        for (var i = 0; i < CS2DisplayCount; i++) {

               if (i < currentSelectArray.length) {
                   var item = CS2CreateSliderItem(currentSelectArray[i], i);
                   if (i == 0) {
                       item.className = "SliderItemLeft2";
                   }
                   if (i > 0 && i < CS2DisplayCount - 1) {
                       item.className = "SliderItem2";
                   }
                   if (i == CS2DisplayCount - 1) {
                       item.className = "SliderItemRight2";
                   }
                   divToAddTo.appendChild(item);
               }
               else {

                   break;
               }
        }
        divToAddTo.style.marginLeft = "0px";
        
        $("a.SliderItemLeft2").css("display","none");
        $("a.SliderItem2").css("display","none");
        $("a.SliderItemRight2").css("display","none");
        $("a.SliderItemLeft2").fadeIn("slow");
        $("a.SliderItem2").fadeIn("slow");
        $("a.SliderItemRight2").fadeIn("slow");
        
        AllowRightClick = true;
    }
};

function CS2CreateSliderItem(Item, index) {

    ImageRotatorObj = Item;

    if (ImageRotatorObj == null || ImageRotatorObj == undefined) {
        return null;
    }

    var item = $("<a/>");
    if (index == 0) {
        item.addClass("SliderItemLeft2");
    }
    else if (index < (CSDisplayCount - 1) && index > 0) {
        item.addClass("SliderItem2");
    }
    else {
        item.addClass("SliderItemRight2");
    }
    item.append($("<img/>").attr("src", ImageRotatorObj.ThumbUrl).attr("alt", ImageRotatorObj.Label));
    item.append($("<span/>").html(ImageRotatorObj.Title));

    if (ImageRotatorObj.LinkUrl != null && ImageRotatorObj.LinkUrl != undefined) {
        item.attr("href", ImageRotatorObj.LinkUrl);
        item.attr("target", ImageRotatorObj.LinkTarget);
    }

    return item.get(0);
}


function CS2SliderGetArrayElements(CS2SliderArray)
{
    if (CS2SliderArray.length == CS2DisplayCount) {
        return CS2SliderArray;
    }
    
    
    var currentArray = new Array();
    
    var indexList = new Array();
    
    var index = CS2SliderCurrIndex;
    var indexCount =0;
    

    
    while(index <= CS2Slider_MaxIndex && indexCount < CS2DisplayCount)
    {
        
        indexList[indexList.length] = index;
        index++;
        indexCount++;
    }
    
    if(indexCount<CS2DisplayCount)
    {
        index = 0;
        while(indexCount<CS2DisplayCount && index < CS2Slider_MaxIndex)
        {
            
            indexList[indexList.length] = index;
            index++;
            indexCount++;
        }
    }

    for(var i=0; i<indexList.length; i++)
    {
        var currIndex = indexList[i];
        
        var currObject = CS2SliderArray[currIndex];
       
        currentArray[i] = currObject;
       
    }

    return currentArray;
}

function CS2AdvanceRight()
{
    if(AllowRightClick){
        AllowRightClick = false;
        if(CS2SliderCurrIndex>CS2DisplayCount)
        {
            CS2SliderCurrIndex-=CS2DisplayCount;
        }
        else
        {
            CS2SliderCurrIndex = ((CS2Slider_MaxIndex+1) - (CS2DisplayCount-CS2SliderCurrIndex)) % (CS2Slider_MaxIndex+1);
        }

        $("div.PanelItems2").animate({ marginLeft:"920px"}, CS2SlideSpeed-200);
        setTimeout("BindCS2Slider('right')", CS2SlideSpeed);
    }

}

function CS2AdvanceLeft()
{
    if(AllowLeftClick){
        AllowLeftClick = false;
        if(CS2SliderCurrIndex+CS2DisplayCount<CS2Slider_MaxIndex+1)
        {
            CS2SliderCurrIndex+=CS2DisplayCount;
        }
        else
        {
            CS2SliderCurrIndex = ((CS2SliderCurrIndex+CS2DisplayCount)-(CS2Slider_MaxIndex+1)) % (CS2Slider_MaxIndex+1);
        }
        
        $("div.PanelItems2").animate({ marginLeft:"-920px"}, CS2SlideSpeed-200);
        setTimeout("BindCS2Slider('left')", CS2SlideSpeed);
    }

}

function CS2AutoSlideLeft(interval) {
    setTimeout('CS2AdvanceLeft(); CS2AutoSlideLeft(' + interval + ');', interval);   
}

function CS2AutoSlideRight(interval) {
    setTimeout('CS2AdvanceRight(); CS2AutoSlideRight(' + interval + ');', interval);   
}
