﻿
//  don't delete this -  it is a VS script reference to the jQuery file, and allows intellisense to almost work
/// <reference path="~/scripts/jquery-1.3.2.js" />


$(function() {
    //Append play and pause button
    $('.LRControls').html('<a href="#" class="play selected" title="Click to play"><span class="icon"></span><span class="textUnderline">Play</span></a>' +
        '<a href="#" class="pause" title="Click to pause"><span class="icon"></span><span class="textUnderline">Pause</span></a>');
    
    LinkRotator.Init({
        AutoPlay: true,
        Interval: 7000,
        playBtn: '.LRControls .play',
        pauseBtn: '.LRControls .pause'
    });

    $('.LinkRotator ul li').find('.title').each(function() {
        var len = 36;
        var aString = $(this).text();
        var nString = aString.slice(0, len);

        if (aString.length > len) {
            $(this).text(nString + '...');
        }
    });
});

var LinkRotator = {
    Init: function(param) {
        var auto = param.AutoPlay,
                intervalSpeed = param.Interval,
                playBtn = param.playBtn,
                pauseBtn = param.pauseBtn;

        $('.LinkRotator').removeClass('noScript');
        $('.LinkRotator ul li:first').addClass('first');
        $('.LinkRotator ul li:last').addClass('last');

        LinkRotator.Controls(intervalSpeed, playBtn);

        if (auto) {
            LinkRotator.AutoPlay(intervalSpeed);

            //Pause and play on mouseover and mouseout
            $('.LinkRotator').hover(function() {
                LinkRotator.Pause();
            }, function() {
                if ($(playBtn).hasClass('selected')) {
                    LinkRotator.AutoPlay(intervalSpeed);
                }
            });

            $(playBtn).addClass('hidden');
        }

        $(pauseBtn).click(function(e) {
            e.preventDefault();
            $(this).addClass('selected').addClass('hidden').siblings().removeClass('selected').removeClass('hidden');
            LinkRotator.Pause();
        });

        $(playBtn).click(function(e) {
            e.preventDefault();
            $(this).addClass('selected').addClass('hidden').siblings().removeClass('selected').removeClass('hidden');
            LinkRotator.Pause();
            LinkRotator.AutoPlay(intervalSpeed);
        });

    },
    Controls: function(intervalSpeed, playBtn) {
        var shortDelay;
        $('.LinkRotator ul li a').hover(function() {
            var this1 = $(this);
            shortDelay = setTimeout(function() {
                $('.LinkRotator ul li a').removeClass('hover');
                $(this1).addClass('hover');
            }, 300);

        }, function() {
            clearTimeout(shortDelay);

        });

        //Tab Controls
        $('.LinkRotator ul li a').focus(function() {

            LinkRotator.Pause();

            $('.LinkRotator ul li a').removeClass('hover');
            $(this).addClass('hover');

            if ($(playBtn).hasClass('selected')) {
                LinkRotator.AutoPlay(intervalSpeed);
            }
        });
    },
    AutoPlay: function(intervalSpeed) {
        RotateLinks = setInterval(function() {
            if ($('.LinkRotator ul li a.hover').parent().attr('class') == 'last') {
                $('.LinkRotator ul li.last a.hover').removeClass('hover');
                $('.LinkRotator ul li.first a').addClass('hover');
            }
            else {
                $('.LinkRotator ul li a.hover').removeClass('hover').parent('li').next('li').find('a').addClass('hover');
            }
        }, intervalSpeed);
    },
    Pause: function() {
        clearInterval(RotateLinks);
    }
};
