var timer = null;
var disableImageLinks;
var cycleHeaderImages = true;

function showHeader(elm, elmIdx) {
    var fadeDuration = 0;
    if (disableImageLinks == true) {
    } else {
        if (elm.hasClass('active') || elm.attr('rel') == '') {
            // DO NOTHING
        } else {
            disableImageLinks = true;
            var preloadElm = g_header_images[elmIdx]["obj"];
            var targetElm = $("#HeaderImage img");
            $(preloadElm).load(function() {
                g_header_images[elmIdx]["loaded"] = true;
                elm.addClass('active').siblings().removeClass('active').blur();
                targetElm
                    .replaceWith($(this))
                    .animate(
                        {"opacity": 1},
                        {
                            duration: fadeDuration,
                            queue: false,
                            easing: 'easeInSine',
                            complete: function() {
                                disableImageLinks = false;
                            }
                        }
                    )
                    .parent()
                    .parent()
                    .removeClass('load');
            });
            
            targetElm.animate(
                {"opacity": 0},
                {
                    duration: fadeDuration,
                    queue: false,
                    easing: 'easeOutSine',
                    complete: function() {
                        $("#HeaderImage a").attr("href", g_header_images[elmIdx]["link"]);
                        $("#ImageCaption").html(g_header_images[elmIdx]["caption"]);
                        if (g_header_images[elmIdx]["loaded"] != true) {
                            $(preloadElm).attr("src", g_header_images[elmIdx]["url"]);
                        } else {
                            elm
                                .addClass('active')
                                .siblings()
                                .removeClass('active')
                                .blur();
                            $(this)
                                .replaceWith($(preloadElm))
                                .animate(
                                    {
                                        "opacity": 1
                                    },
                                    {
                                        duration: fadeDuration,
                                        queue: true,
                                        easing: 'easeInSine',
                                        complete: function() {
                                            disableImageLinks = false;
                                        }
                                    }
                                )
                                .parent()
                                .parent()
                                .removeClass('load');
                        };
                    }
                }
            );
        }
    }
}

function nextHeaderImage() {
    var total = $('#ImageNav a').size();
    var current = 0;
    $("#ImageNav a").each(function(i) {
        if ($(this).hasClass("active")) {
            current = i;
        }
    });
    current += 1;
    if (current >= total) {
        current = 0;
    }
    showHeader($("#ImageNav a:eq(" + current + ")"), current);
}

function prepHeader () {
    // when clicking on the header image numbers, switch the header to that number
    $("#ImageNav a").each(function(i) {
        $(this).click(function() {
            showHeader($(this), i);
            return false;
        });
    });
    
    // when clicking the header itself, browse to that link
    $("#HeaderImage a").click(function() {
        var href = $(this).attr("href");
        if (href == "#") {
            return false;
        }
    });
    
    // rotate the header images if nescessary
    var total = $('#ImageNav a').size();
    if (cycleHeaderImages && total > 0) {
        timer = setInterval("nextHeaderImage()", 10000);
    }
}

function setNav(activeElm) {
    var activeClass = 'active';
    if( activeElm != '' ) {
        var targetElm = $('li.' + activeElm);
        targetElm.each( function(i) {
            var currentItem = $(targetElm[i]);
            currentItem.addClass(activeClass).find('a:first').addClass(activeClass).end().parents('li').addClass(activeClass).find('a:first').addClass(activeClass);
        })
    }
}

function enableSidePanelToggle () {
    $('div.AS_block').not('.AS_name_quick_search').each(function(){
        $(this).children().not('h1').wrapAll('<div class="childElements">');
        $('h1',this).click(function(){
            $(this).next('div.childElements').slideToggle();
        }).css({'cursor':'pointer'});
    })
}

function setEqualHeight(columns)  {  
    
    var tallestcolumn = 0;
    columns.each( function() {
        currentHeight = $(this).height();
        if( currentHeight > tallestcolumn ) {
            tallestcolumn  = currentHeight;
        }  
    });  
    columns.height(tallestcolumn);
}

$(document).ready(function(){
    $('a.lightbox').lightBox();
    prepHeader();
    //enableSidePanelToggle ();
    $('div.error, div.AS_name_news_articles li a, td.pollLine').aToolTip({inSpeed: 0, outSpeed: 0});
    $(".new_window").attr("target", "_blank");
    $(".AS_output_list li > h2").click(function() {
        var block = $(this).parent();
        var inner = block.find(".AS_block_inner");

        if (inner.is(":visible")) {
            inner.hide();
        } else {
            inner.show();
        }
    });
});
