jQuery.fn.contestantHeader = function (options) {
    var defaults = {
        xmlfile: ''
    }
    var o = $.extend(defaults, options);
    var container = this;
    $.ajax({
        type: "GET",
        url: o.xmlfile,
        data: "",
        dataType: "xml",
        error: function () { },
        success: function (xml) {
            container.html('<ul></ul>');
            $(xml).find('contestant').each(function (index) {
                var name = $(this).find('firstname').text();
                var fullname = $(this).find('firstname').text().replace(' ', '_') + '_' + $(this).find('surname').text();
                var status = $(this).find('status').text();
                var url = $(this).find('url').text();
                var imageurl = 'images/css/jmc/contestant_header/' + name.toLowerCase() + '.png';
                var showtext = $(this).find('showtext').text();
                var text = $(this).find('text').text();
                var ftext = "<b>" + name + "</b>" + text;
                var li = $('<li>' + '<a class="contestant-link" target="_top">' + '<img border="0" alt="' + name + '" />' + '<span class="text"></span>' + '</a>' + '</li>');
                li.addClass(name);
                li.find('.contestant-link').attr('href', url);
                li.find('.contestant-link').attr('showtext', showtext);
                li.find('.contestant-link').attr('status', status);
                li.find('img').attr('src', imageurl);
                li.find('.name').append(name);
                li.find('.text').append(text);
                container.find('UL').append(li);
            });
            container.mouseenter(function () {
                container.addClass('hover');
            });
            container.mouseleave(function () {
                var overlay = $('<div class="contestant-header fade-overlay"></div>');
                container.before(overlay);
                overlay.mouseenter(function () {
                    overlay.stop().remove();
                });
                overlay.fadeIn(500, function () {
                    container.removeClass('hover');
                    overlay.remove();
                });
            });
            container.find('.contestant-link').each(function () {
                $(this).mouseenter(function () {
                    var list = $(this).parent().parent();
                    if (!$.browser.msie) {
                        list.find('.contestant-link.active img').stop(true, true).fadeTo(0);
                    }
                    list.find('.contestant-link.active').removeClass('active');
                    list.find('.contestant-link').addClass('inactive');
                    $(this).removeClass('inactive').addClass('active');
                    if (!$.browser.msie) {
                        $(this).find('img').stop(true, true).fadeTo(0, 0.5).stop(true, true).fadeTo(350, 1);
                    }
                    if ($(this).attr('showtext') == 'true') {
                        $(this).parent().find('.text').show().css("opacity", "0").animate({
                            "opacity": "1"
                        }, 750);
                    }
                    if ($(this).attr('status') == 'Winner') {
                        $(this).parent().find('span').addClass('winner');
                    }
                });
                $(this).mouseleave(function () {
                    var list = $(this).parent().parent();
                    list.find('.contestant-link.active').removeClass('active');
                    list.find('.contestant-link.inactive').removeClass('inactive');
                    if ($(this).attr('showtext') == 'true') {
                        $(this).find('.text').hide();
                    }
                });
            });
        }
    });
};
