﻿
function PageInitialised() {
    UpdateNews();
}

function UpdateNews() {
    var oldIe = false;
    var $j = jQuery.noConflict();
    if ($j.browser.msie) {
        if ($j.browser.version < 8) {
            $j(".ie6hide").remove();
            oldIe = true;
            /*$j(".slide").css("height", "auto");
            $j(".slide").css("overflow", "hidden");
            $j(".slide").css("width", "auto");*/
        }
    }

    var slideshow = $j("#slideshow");
    var slidesContainer = $j("#slidesContainer");

    if (!oldIe) {
        var leftArrow = document.createElement('img');
        leftArrow.setAttribute('src', 'DesktopModules/News_Strip/Images/LeftArrow.png');
        leftArrow.setAttribute('class', 'leftArrow');
        leftArrow.setAttribute('id', 'leftArrow');
        $j(leftArrow).css('float', 'left');
        var rightArrow = document.createElement('img');
        rightArrow.setAttribute('src', 'DesktopModules/News_Strip/Images/RightArrow.png');
        rightArrow.setAttribute('class', 'rightArrow');
        rightArrow.setAttribute('id', 'rightArrow');
        $j(rightArrow).css('float', 'right');
        slideshow.prepend(leftArrow);
        slideshow.prepend(rightArrow);

        if ($j(".control").length == 0) {
            SetupSlideshow(oldIe);
        }
    }
    else {
        SetupSlideshow(oldIe);
    }
}

function SetupSlideshow(oldIe) {
    var $j = jQuery.noConflict();
    var currentPosition = 0;
    var slideWidth = 162;
    var slideMargin = 17;
    var slides = $j('.slide');
    var numberOfSlides = slides.length;
    var intervalID = null;

    // Remove scrollbar in JS
    $j('#slidesContainer').css('overflow', 'hidden');

    // Wrap all .slides with #slideInner div
    slides
  .wrapAll('<div id="slideInner"></div>')
    // Float left to display horizontally, readjust .slides width
  .css({
      'float': 'left',
      'width': slideWidth
  });

    // Set #slideInner width equal to total width of all slides
      
      if (oldIe) {
          $j('#slideInner').css('width', (slideWidth + 9) * numberOfSlides);
      }
      else {
          $j('#slideInner').css('width', (slideWidth + slideMargin) * numberOfSlides);
      }


    if (!oldIe) {
        $j('#leftArrow').bind('click', function() {
            PreviousSlide();
            clearInterval(intervalID);
            intervalID = setInterval(NextSlide, 15000);
        });
        $j('#rightArrow').bind('click', function() {
            NextSlide();
            clearInterval(intervalID);
            intervalID = setInterval(NextSlide, 15000);
        });
    }

    function NextSlide()
    {
        // Move slideInner using margin-left
        $j('#slideInner').animate(
            { 'marginLeft': ((slideWidth + slideMargin) * -4) - 20 },
            1000,
            function()
            {
                $j('#slideInner').animate(
                { 'marginLeft': '+=20' },
                200,
                function() {
                    var element = $j('#slideInner').children().first().detach();
                    $j('#slideInner').append(element);
                    var element = $j('#slideInner').children().first().detach();
                    $j('#slideInner').append(element);
                    var element = $j('#slideInner').children().first().detach();
                    $j('#slideInner').append(element);
                    var element = $j('#slideInner').children().first().detach();
                    $j('#slideInner').append(element);
                    $j('#slideInner').css(
                    { 'marginLeft': 0 },
                    0);
                });
            }
        );
    }

    function PreviousSlide()
    {
        var element = $j('#slideInner').children().last().detach();
        $j('#slideInner').prepend(element);
        var element = $j('#slideInner').children().last().detach();
        $j('#slideInner').prepend(element);
        var element = $j('#slideInner').children().last().detach();
        $j('#slideInner').prepend(element);
        var element = $j('#slideInner').children().last().detach();
        $j('#slideInner').prepend(element);
        $j('#slideInner').css(
            { 'marginLeft': ((slideWidth + slideMargin) * -4) + 20},
            0);

        // Move slideInner using margin-left
        $j('#slideInner').animate(
            { 'marginLeft': 20 },
            1000,
            function()
            {
                $j('#slideInner').animate(
                    { 'marginLeft': 0 },
                    200);
            }
        );
    }
}

function AjaxError(XMLHttpRequest, textStatus, errorThrown) {
    alert("Could not update news: " + errorThrown);
}