$(function () {
    
    var 
    ie6 = $.browser.msie && $.browser.version.indexOf(6) != -1,
    ie = $.browser.msie,
    container = $('.slider'),
    articleWidth = parseInt($('div.article',container).css('width')),
    articleCount = $('div.article',container).length,
    currentIndex = 0,
	initalStart = true,
    anchor = $('div.anchor',container),
    
    links = $('<ul/>')
    .append($('<li/>')
        .addClass('edge')
        .append($('<a/>')
            .html('&nbsp')
            .attr('href','#')
            .click(function () {
                $('li:eq(1) a',links).trigger('click');
            })
            )
        );


    $('div.article',container)
    .each(function (index) {
        var
        article = $(this),
        title = article.attr('title');

        if (title.length == 0) {
            articleCount--;
            return;
        }

        $('<li/>')
        .append(
            $('<a/>')
            .text(title)
            .attr('href','#')
            .click(function () {
                switchArticle(index);
                return false;
            })
            .bind('active', function () {
                $(this).addClass('active');
            })
            .bind('inactive', function () {
                $(this).removeClass('active');
            })
            )
        .appendTo(links);
    });

    $('li:eq(1)',links)
    .addClass('first')
    .children('a')
    .bind('active',function () {
        $('li:first a',links).addClass('active');
    })
    .bind('inactive',function () {
        $('li:first a',links).removeClass('active');
    });

    function switchArticle(index) {
        
        if (index < 0 || index > articleCount - 1) {
            return;
        }

        $('div.article',container).eq(currentIndex).trigger('close');

        currentIndex = index;
        $('li a',links)
        .trigger('inactive')
        .eq(index + 1)
        .trigger('active')
        .each(function () {
            var width = $(this).width() + parseInt($(this).css('paddingLeft')) + parseInt($(this).css('paddingRight'));
            var left = $(this).position().left;

            if (index == 0) {
                left = 0;
                width += $('li a:eq(0)',links).width();
            }

            left += (width - anchor.width()) / 2;

            anchor.css({
                left : left
            });
        });

        
        
        $('div.reel').animate({
            left : -index * articleWidth
        },'normal', function () {
            var that = $('div.article', container).eq(index);
            evalulateContent(that);
            that.trigger('open');
			initalStart = false;
        });

        if (!ie) {
            $('div.controlNext').fadeTo('normal', index == articleCount - 1 ? 0 : 1);
            $('div.controlPrev').fadeTo('normal', index == 0 ? 0 : 1);
        } else {
            index == articleCount - 1 ? $('div.controlNext').hide() : $('div.controlNext').show();
            index == 0 ? $('div.controlPrev').hide() : $('div.controlPrev').show();
        }
		
        
    }

    function evalulateContent(article) {
        var
        videoLink = $('div.image a',article),
        div = $('<div/>'),
		playlist = [],
		videoUrl;

        if (videoLink.length == 0)
            return;

        div.insertAfter(videoLink);
        
		videoUrl = videoLink.attr('href');
		if (videoUrl.indexOf('|') != -1) {
			var parts = videoUrl.split('|');
			$.each(parts, function (i,part) {
				var pObj = {
					url : part
				},
				ext = part.substring(part.length - 3);
				
				if (ext == 'flv') {
					pObj.autoPlay = false;
					pObj.autoBuffering = false;
				} else {
					pObj.scaling = 'orig';
				}

				playlist.push(pObj);
				
			})
		} else {
			playlist.push(videoUrl);
		}

        var player = flowplayer(div[0],{
            src : 'typo3conf/ext/slider/res/flowplayer/flowplayer-3.2.2.swf',
            wmode : 'opaque'
        },{
/*            clip : {
                autoPlay : false,
                autoBuffering : true,
                baseUrl : 'uploads/tx_slider/'
            },*/
            playlist : playlist
        });

        videoLink.remove();

        article.bind('open', function () { if (currentIndex != 0 || !initalStart) player.play() });
        article.bind('close', function () { player.pause() });
    }

    $('div.controlNext')
    .click(function () {
        switchArticle(currentIndex + 1);
        return false;
    });

    $('div.controlPrev')
    .click(function () {
        switchArticle(currentIndex - 1);
        return false;
    }).hide();


    $('div.links',container)
    .append(links);

    container
    .show()
    .find('a')
    .mouseup(function () {
        $(this).blur()
    });
   
    $('a:first',links).click();
});