﻿var ideasCycle = 3;

function cycleLatestNews()
{
    var $latestNews = $('#latestNews');
    if ($latestNews.length == 0)
        return;
    var $ulLatestNews = $("ul", $latestNews);
    if ($ulLatestNews.length == 0)
        return;

    if ($('li', $ulLatestNews).length > 1)
    {
        /*
        $('<span id="nextLatestNews" class="button"><a href="#"></a></span>').prependTo($latestNews);
        $('<span id="previousLatestNews" class="button"><a href="#"></a></span>').prependTo($latestNews);
        */

        $ulLatestNews.cycle({
            fx: 'scrollLeft',
            timeout: 5000,
            speed: 20000,
            pause: 1,
            prev: '#previousLatestNews',
            next: '#nextLatestNews'
        });
    }
}

function cycleEvents()
{
    var $events = $('#events');
    if ($events.length == 0 || $('ul', $events).length > 0) 
        return;

    var $liEvents = $('li', $events);
    var $ulEvents;
    var $liEventsLength = $liEvents.length
//    var $liEventsHeight = 0;
//    var $liEventMoreHeight = 0;
    for (var i = 0, j = $liEventsLength; i < $liEventsLength; i++)
    {
        var $liEvent = $liEvents[i];
        if (i % 3 == 0)
            $ulEvents = $("<ul>").appendTo($events);
        $ulEvents.append($liEvent);
//        if ($liEvent.scrollHeight > $liEventsHeight)
//            $liEventsHeight = $liEvent.scrollHeight;
    }

    if ($liEventsLength > 3)
        $('<div class="cyclePager"><span id="previousEvents" class="prev"><a href="#"></a></span><ul id="eventsPager"></ul><span id="nextEvents" class="next"><a href="#"></a></span></div>').insertAfter($events);



//    $liEventsHeight = $liEventsHeight + $('a.more', $ulEvents).outerHeight() +"px";
//    $liEvents.each(function () {
//        this.style.height = $liEventsHeight;
//    });

    $events.cycle({
        fx: 'fade',
        prev: '#previousEvents',
        next: '#nextEvents',
        timeout: 15000,
        pause: 1,
        //easing: 'backinout',
        pager: '#eventsPager',
        // callback fn that creates a thumbnail to use as pager anchor 
        pagerAnchorBuilder: function (idx, slide){
            return '<li><a href="#"></a></li>';
        }
    });
}

function cycleIdeas()
{
    var $ideas = $('#ideas');
    if ($ideas.length == 0 || $('ul', $ideas).length > 0)
        return;

    var $liIdeas = $('li', $ideas);
    var $ulIdeas;
    var $liIdeasLength = $liIdeas.length;

    for(var i = 0; i < $liIdeasLength; i++)
    {
        var $liIdea = $liIdeas[i];
        if (i % ideasCycle == 0)
           $ulIdeas = $("<ul>").appendTo($ideas);

        $ulIdeas.append($liIdea);

    }
    if ($liIdeasLength > ideasCycle)
    {
        $('<div class="cyclePager"><span id="previousIdeas" class="prev"><a href="#"></a></span><ul id="ideasPager"></ul><span id="nextIdeas" class="next"><a href="#"></a></span></div>').insertAfter($ideas);
        //$eventsPager = $("#ideasPager");
    }

    $ideas.cycle({
        fx: 'scrollUp',
        prev: '#previousIdeas',
        next: '#nextIdeas',
        timeout: 0,
        pause: 1,
        easing: 'backinout',
        pager: '#ideasPager',
        pagerAnchorBuilder: function (idx, slide){
            return '<li><a href="#"></a></li>';
        }
    });
}

function cycleShortEvents()
{
    var $shortEvents = $('#shortEvents ul');
    $shortEvents.cycle({
        fx: 'scrollUp',
        timeout: 5000,
        pause: 1
    });
}

function cyclePostcards()
{
    var $postcards = $('#postcards');
    if ($postcards.length == 0)
        return;
    var $imgPostcards = $("img", $postcards);
    if ($imgPostcards.length == 0)
        return;

    if ($imgPostcards.length > 1)
    {
        $('<ul id="postcardsPager">').insertAfter($postcards);
        //$postcardsPager = $("#postcardsPager");
    }

    $postcards.cycle({
        fx: 'fade',
        timeout: 0,
        pause: 1,
        prev: '#previousPostcard',
        next: '#nextPostcard',
        pager: '#postcardsPager',
        pagerAnchorBuilder: function (idx, slide){
            return '<li><a href="#"><img src="' + slide.src + '" width="60" height="45" /></a></li>';
        }
    });
}

$(document).ready(function ()
{
    cycleLatestNews();
    cycleEvents();
    cycleIdeas();
    cycleShortEvents();
    cyclePostcards();
});
