/* jquery.billboard.js by Nevan Scott, based on Torsten Baldes' Innerfade, thanks to Alex Berger */

(function($) {

    $.fn.billboard = function(options) {
        return this.each(function() {   
            $.billboard(this, options);
        });
    };

    $.billboard = function(container, options) {
        var settings = {
			'animation':		'fade',
			'runningclass':		'billboard',
			'activeclass':		'active',
			'pause':			3000,
			'speed':			500
        };
        if (options) $.extend(settings, options);
        var tabs = $(container).children("ul").children("li");
        var boards = $(container).children("div");
        // var boards = new Array();
        var t;
        if (tabs.length > 1) {
			$(container).addClass(settings.runningclass);
			for (var i = 0; i < tabs.length; i++) {
				$(tabs[i]).removeClass(settings.activeclass);
				// boards[i] = $($(tabs[i]).children("a[href^='#']:first").attr("href"));
				$(boards[i]).removeClass(settings.activeclass).hide();
			};
			t = setTimeout(function() {
				$.billboard.next(tabs, boards, settings, 1, 0, t);
				clearTimeout(t);
			}, settings.pause);
			$(boards[0]).addClass(settings.activeclass).show();
			$(tabs[0]).addClass(settings.activeclass);
		}
    };

    $.billboard.next = function(tabs, boards, settings, current, last, t) {
        var t;
        if (settings.animation == 'slide') {
            $(boards[last]).slideUp(settings.speed).removeClass(settings.activeclass);
            $(tabs[last]).removeClass(settings.activeclass);
            $(boards[current]).slideDown(settings.speed).addClass(settings.activeclass);
            $(tabs[current]).addClass(settings.activeclass);
        } else if (settings.animation == 'fade') {
            $(boards[last]).fadeOut(settings.speed).removeClass(settings.activeclass);
            $(tabs[last]).removeClass(settings.activeclass);
            $(boards[current]).fadeIn(settings.speed, function() {
				removeFilter($(this)[0]);
			}).addClass(settings.activeclass);
            $(tabs[current]).addClass(settings.activeclass);
        } else
            alert('billboard animation must either be \'slide\' or \'fade\'');
        if ((current + 1) < tabs.length) {
            current = current + 1;
            last = current - 1;
        } else {
            current = 0;
            last = tabs.length - 1;
        }
        t = setTimeout((function() {
            $.billboard.next(tabs, boards, settings, current, last);
        }), settings.pause);
    };

})(jQuery);

// **** remove Opacity-Filter in ie ****
function removeFilter(element) {
	if(element.style.removeAttribute){
		element.style.removeAttribute('filter');
	}
}