var mycarousel_itemHTML = [];

$(function(){
    Shadowbox.init();

    $('#tabbed_info').dsTabSpecial({activeSelector:'li'});
    $('#news_tabs').dsTab({activeSelector:'li'});

    $('#tabbed_info').mouseleave(function(){$('#default_tab a').mouseenter()});

    $('#video_wrapper div.list a.video').live('click',updateVideo);

    $('#main_rotational').append('<div class="pager"></div>');
    $('#main_rotational div.slides').cycle({
        timeout: 5000
        , pager: '#main_rotational div.pager'
        , pause: 1
        , pauseOnPagerHover: 1
    });

    $('#staff_list li').each(function(){
        mycarousel_itemHTML.push($(this).html());
    });

    $('#staff_list').jcarousel({
        auto: 3
        , wrap: 'circular'
        , scroll: 1
        , buttonPrevHTML: null
        , buttonNextHTML: null
        , initCallback: initStaffCarousel
        , itemVisibleInCallback: {onBeforeAnimation: mycarousel_itemVisibleInCallback}
        , itemVisibleOutCallback: {onAfterAnimation: mycarousel_itemVisibleOutCallback}
    });

    $('#features_wrapper div.slides').cycle({
        timeout: 5000
        , prev: '#features_wrapper a.prev'
        , next: '#features_wrapper a.next'
        , pause: 1
    });

    $.getJSON('http://gdata.youtube.com/feeds/api/videos/-/-jjbn?v=2&alt=jsonc&author=officialflipfest&callback=?', ProcessYoutubeFeed)
    $.getJSON('http://gdata.youtube.com/feeds/api/videos/-/jjbn?v=2&alt=jsonc&author=officialflipfest&callback=?', ProcessJAndJFeed)

    $.getJSON('/action/pull_photos.php', function(photos){
        for(i in photos){
            $('#photo_holder').append('<a href="'+photos[i].src+'" rel="shadowbox[gallery]" title="'+photos[i].caption+'"><img alt="" src="'+photos[i].thumb+'" /></a>');
        }
    });
});

function ProcessYoutubeFeed(data){
    var par = $('#main_playlist');
    var items = data.data.items;

    if (items.length){
        par.append('<a href="" class="prev button">Prev</a>');
        var ul = $('<ul class="nav"></ul>').appendTo(par);
        var mins = 0;
        var secs = 0;
        for (var i in items){
            if (items[i] && items[i].duration) {
                mins = Math.floor(items[i].duration/60);
                secs = Math.floor(items[i].duration%60);
                if(secs<10){
                    secs='0'+secs;
                }
                ul.append('<li><a class="video" title="'+items[i].title+'" href="" rel="'+items[i].id+'"><img alt="Video: '+items[i].title+'." src="http://img.youtube.com/vi/'+items[i].id+'/2.jpg" /><span class="duration">'+mins+':'+secs+'</span></a></li>');
            }
        }
        par.append('<a href="" class="next button">Next</a>');
    }

    par.jcarousel({
        auto: 0
        , wrap: 'circular'
        , scroll: 1
        , initCallback: playlistInit
    });
}

function ProcessJAndJFeed(data){
    var par = $('#j_and_j_playlist');
    var items = data.data.items;

    if (items.length){
        if (items.length > 3) {
            par.append('<a href="" class="prev button">Prev</a>');
        }

        if (items.length > 3) {
            par.append('<div id="jjbn_logo"><a href="/jjbn/"><img alt="" src="/media/images/ir/jjbn.png" /></a></div>');
        } else {
            par.append('<div id="jjbn_logo" class="loner '+items.length+'"><a href="/jjbn/"><img alt="" src="/media/images/ir/jjbn.png" /></a></div>');
        }

        var ul = $('<ul id="jjbn_list" class="nav"></ul>').appendTo(par);
        var mins = 0;
        var secs = 0;
        for (var i in items){
            if (items[i] && items[i].duration) {
                mins = Math.floor(items[i].duration/60);
                secs = Math.floor(items[i].duration%60);
                if(secs<10){
                    secs='0'+secs;
                }
                ul.append('<li><a class="video" title="'+items[i].title+'" href="" rel="'+items[i].id+'"><img alt="Video: '+items[i].title+'." src="http://img.youtube.com/vi/'+items[i].id+'/2.jpg" /><span class="duration">'+mins+':'+secs+'</span></a></li>');
            }
        }

        if (items.length > 3) {
            par.append('<a href="" class="next button">Next</a>');
        }
    }

    if (items.length > 3) {
        par.jcarousel({
            auto: 0
            , wrap: 'circular'
            , scroll: 1
            , initCallback: playlistInit
        });
    }
}

function ProcessFeed(selector,data){
    var par = $(selector);
    var items = data.data.items;

    if (items.length){
        par.append('<a href="" class="prev button">Prev</a>');
        var ul = $('<ul class="nav"></ul>').appendTo(par);
        var mins = 0;
        var secs = 0;
        for (var i in items){
            mins = Math.floor(items[i].duration/60);
            secs = Math.floor(items[i].duration%60);
            if(secs<10){
                secs='0'+secs;
            }
            ul.append('<li><a class="video" title="'+items[i].title+'" href="" rel="'+items[i].id+'"><img alt="Video: '+items[i].title+'." src="http://img.youtube.com/vi/'+items[i].id+'/2.jpg" /><span class="duration">'+mins+':'+secs+'</span></a></li>');
        }
        par.append('<a href="" class="next button">Next</a>');
    }

    par.jcarousel({
        auto: 3
        , wrap: 'circular'
        , scroll: 1
        , auto: 0
        , initCallback: playlistInit
    });
}

function playlistInit(carousel){
    jQuery('a.next', carousel.container).bind('click', function(e) {
        e.preventDefault();

        carousel.next();
        return false;
    });

    jQuery('a.prev', carousel.container).bind('click', function(e) {
        e.preventDefault();

        carousel.prev();
        return false;
    });
};

function updateVideo(e){
    e.preventDefault();

    var id = $(this).attr('rel');
    $('#video_object').html('<object width="390" height="240"><param name="movie" value="http://www.youtube.com/v/'+id+'?fs=1&amp;hl=en_US&amp;rel=0&amp;autoplay=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/'+id+'?fs=1&amp;hl=en_US&amp;rel=0&amp;autoplay=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="390" height="240"></embed></object>');
}

function mycarousel_itemVisibleInCallback(carousel, item, i, state, evt)
{
    var idx = carousel.index(i, mycarousel_itemHTML.length);
    carousel.add(i, mycarousel_itemHTML[idx - 1]);
}

function mycarousel_itemVisibleOutCallback(carousel, item, i, state, evt)
{
    carousel.remove(i);
}

function initStaffCarousel(carousel){
    jQuery('a.next', carousel.container).bind('click', function(e) {
        e.preventDefault();

        carousel.options.scroll = 1;
        carousel.startAuto(0);
        carousel.next();
        return false;
    });

    jQuery('a.prev', carousel.container).bind('click', function(e) {
        e.preventDefault();

        carousel.options.scroll = 1;
        carousel.startAuto(0);
        carousel.prev();
        return false;
    });

    // Pause autoscrolling if the user moves with the cursor over the clip.
    carousel.clip.hover(function() {
        carousel.stopAuto();
    }, function() {
        carousel.startAuto();
    });
}

