﻿//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";
        
        $("div.SliderItemLeft2").css("display","none");
        $("div.SliderItem2").css("display","none");
        $("div.SliderItemRight2").css("display","none");
        $("div.SliderItemLeft2").fadeIn("slow");
        $("div.SliderItem2").fadeIn("slow");
        $("div.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";
        
        $("div.SliderItemLeft2").css("display","none");
        $("div.SliderItem2").css("display","none");
        $("div.SliderItemRight2").css("display","none");
        $("div.SliderItemLeft2").fadeIn("slow");
        $("div.SliderItem2").fadeIn("slow");
        $("div.SliderItemRight2").fadeIn("slow");
        AllowRightClick = true;
        
    }
    
}

function CS2CreateSliderItem(Item, index)
{
    ImageRotatorObj = Item;
        
    if(ImageRotatorObj==null || ImageRotatorObj== undefined)
    {
        return null;
    }

    var div = document.createElement("div");
    
    if(index==0)
    {
        div.className = "SliderItemLeft2";
    }
    else if(index<(CS2DisplayCount-1) && index>0)
    {
        div.className = "SliderItem2";
    }
    else
    {
        div.className = "SliderItemRight2";
    }
    
    var image = document.createElement("img");
    

    image.setAttribute("src", ImageRotatorObj.ThumbUrl);
    image.setAttribute("alt", ImageRotatorObj.Label);
   
    var link=null;
    if(ImageRotatorObj.LinkUrl!=null && ImageRotatorObj.LinkUrl!=undefined)
    {
        link = document.createElement("a");
        
        link.setAttribute("href", ImageRotatorObj.LinkUrl);
        link.setAttribute("target", ImageRotatorObj.LinkTarget);
        
        
        link.appendChild(image);
        div.appendChild(link);
    }
    else
    {
        div.appendChild(image);
    }
    
    
    var titleDiv = document.createElement("div");
    titleDiv.className= "TextPos";
    
    if(link!=null)
    {
        var textLink = document.createElement("a");
        
        textLink.setAttribute("href", ImageRotatorObj.LinkUrl);
        textLink.setAttribute("target", ImageRotatorObj.LinkTarget);
        
        textLink.innerHTML = ImageRotatorObj.Title;
        titleDiv.appendChild(textLink);
    }
    else
    {
        titleDiv.innerHTML = ImageRotatorObj.Title;
    }
    
    div.appendChild(titleDiv);
    
    return div;
}


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);   
}