﻿//Minifiy with http://fmarcia.info/jsmin/test.html

////////////////////////////////////////////////////////////////
// This script is used by the ContentSlider Agility Module
////////////////////////////////////////////////////////////////

var CSliderCurrIndex = 0;
var AllowLeftClick = true;
var AllowRightClick = true;

function CSliderLoadContent(mainDivName, CSliderArray, slideDirection)
{
    var currentSelectArray = CSSliderGetArrayElements(CSliderArray);
    var divToAddTo = document.getElementById(mainDivName);
    
    if(slideDirection==null || slideDirection == undefined || slideDirection=="")
    {
        while(divToAddTo.hasChildNodes())
        {
            divToAddTo.removeChild(divToAddTo.lastChild);
        }
        
        for(var i=0; i<CSDisplayCount; i++)
        {
            var item = CSCreateSliderItem(currentSelectArray[i], i);
            divToAddTo.appendChild(item);
        }
    }
    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 < CSDisplayCount; i++) {
            var item = CSCreateSliderItem(currentSelectArray[i], i);
            divToAddTo.appendChild(item);
        }
        
        
        divToAddTo.childNodes[0].className = "SliderItemLeft";
        
        // if more than two nodes displayed, then add style for centre and right most
        if (CSDisplayCount > 2) {
        
            for (var i = 1; i < CSDisplayCount - 1; i++) {
                divToAddTo.childNodes[i].className = "SliderItem";
            }
            divToAddTo.childNodes[3].className = "SliderItemRight";
        }
        
        divToAddTo.style.marginLeft = "0px";
        
        $("div.SliderItemLeft").css("display","none");
        $("div.SliderItem").css("display","none");
        $("div.SliderItemRight").css("display","none");
        $("div.SliderItemLeft").fadeIn("slow");
        $("div.SliderItem").fadeIn("slow");
        $("div.SliderItemRight").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 < CSDisplayCount; i++) {
            var item = CSCreateSliderItem(currentSelectArray[i], i);
            if (i == 0) {
                item.className = "SliderItemLeft";
            }
            if (i > 0 && i < CSDisplayCount - 1) {
                item.className = "SliderItem";
            }
            if (i == CSDisplayCount - 1) {
                item.className = "SliderItemRight";
            }
            divToAddTo.appendChild(item);
        }
        divToAddTo.style.marginLeft = "0px";
        
        $("div.SliderItemLeft").css("display","none");
        $("div.SliderItem").css("display","none");
        $("div.SliderItemRight").css("display","none");
        $("div.SliderItemLeft").fadeIn("slow");
        $("div.SliderItem").fadeIn("slow");
        $("div.SliderItemRight").fadeIn("slow");
        AllowRightClick = true;
        
    }
    
}

function CSCreateSliderItem(Item, index)
{
    ImageRotatorObj = Item;
        
    if(ImageRotatorObj==null || ImageRotatorObj== undefined)
    {
        return null;
    }

    var div = document.createElement("div");
    
    if(index==0)
    {
        div.className = "SliderItemLeft";
    }
    else if(index<(CSDisplayCount-1) && index>0)
    {
        div.className = "SliderItem";
    }
    else
    {
        div.className = "SliderItemRight";
    }
    
    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 CSSliderGetArrayElements(CSliderArray)
{
    
    var currentArray = new Array();
    
    var indexList = new Array();
    
    var index = CSliderCurrIndex;
    var indexCount =0;
    

    
    while(index <= CSlider_MaxIndex && indexCount < CSDisplayCount)
    {
        
        indexList[indexList.length] = index;
        index++;
        indexCount++;
    }
    
    if(indexCount<CSDisplayCount)
    {
        index = 0;
        while(indexCount<CSDisplayCount && index < CSlider_MaxIndex)
        {
            
            indexList[indexList.length] = index;
            index++;
            indexCount++;
        }
    }

    for(var i=0; i<indexList.length; i++)
    {
        var currIndex = indexList[i];
        
        var currObject = CSliderArray[currIndex];
       
        currentArray[i] = currObject;
       
    }

    return currentArray;
}

function AdvanceRight()
{
    if(AllowRightClick){
        AllowRightClick = false;
        if(CSliderCurrIndex>CSDisplayCount)
        {
            CSliderCurrIndex-=CSDisplayCount;
        }
        else
        {
            CSliderCurrIndex = ((CSlider_MaxIndex+1) - (CSDisplayCount-CSliderCurrIndex)) % (CSlider_MaxIndex+1);
        }

        $("div.PanelItems").animate({ marginLeft:"920px"}, CSSlideSpeed-200);
        setTimeout("BindCSlider('right')", CSSlideSpeed);
    }

}

function AdvanceLeft()
{
    if(AllowLeftClick){
        AllowLeftClick = false;
        if(CSliderCurrIndex+CSDisplayCount<CSlider_MaxIndex+1)
        {
            CSliderCurrIndex+=CSDisplayCount;
        }
        else
        {
            CSliderCurrIndex = ((CSliderCurrIndex+CSDisplayCount)-(CSlider_MaxIndex+1)) % (CSlider_MaxIndex+1);
        }
        
        $("div.PanelItems").animate({ marginLeft:"-920px"}, CSSlideSpeed-200);
        setTimeout("BindCSlider('left')", CSSlideSpeed);
    }

}

function AutoSlideLeft(interval) {
    setTimeout('AdvanceLeft(); AutoSlideLeft('+interval+');', interval);   
}

function AutoSlideRight(interval) {
    setTimeout('AdvanceRight(); AutoSlideRight('+interval+');', interval);   
}