$.fn.cycle.updateActivePagerLink = function(pager, currSlideIndex) {
    $(pager).find('li').removeClass('current')
        .filter('li:eq('+currSlideIndex+')').addClass('current');
};

//DOM loaded
$(function(){
    //tabs
    //cache pdf url
    var pdfLink = $('.tabs li.pdf a').attr('href');
    var returnTab = true;
    $('.tabs li a').click(function(){
        if($(this).parents('li').is('.no-tab')){
            returnTab = false;
            if($(this).parents('li').is('.pdf')){
                returnTab = 'pdf';
            }else if($(this).parents('li').is('.print')){
                window.print();
            }
        }else{
            returnTab = true;
        }
    });
    //print links
    $('ul.newsletter li.print a').click(function(){window.print();})
    $('.tabs').tabs({
        select: function(event, ui){
            switch(returnTab){
                case 'pdf':
                    window.location.href = pdfLink;
                    return false;
                break;
                case 'print':
                    window.print();
                    return false;
                break;
                default:
                    return returnTab;
                break;
            }
        }
    });
    //$('.tabs li.print a').click(function(){window.print();});
    //cycles
    $('.cycle').after('<ol id="pager">').cycle({
        containerResize: 0,
        pause: 1,
        pauseOnPagerHover: 1,
        pager: '#pager',
        startingSlide: Math.floor(Math.random()*$('.featured-question').length),
        timeout: 8000,
        pagerAnchorBuilder: function(idx, slide) { 
            myClass = (idx==0)?' class="current"':'';
            return '<li'+myClass+'><a href="#">'+slide.title+'</a></li>'; 
        }
    });
    $('.home #resources, #spotlight').append('<ul class="next-prev"><li class="prev"><a href="#">&lt;</a></li><li class="next"><a href="#">&gt;</a></li></ul>')
        .cycle({
            containerResize:'0',
            slideExpr:'.slide',
            startingSlide: Math.floor(Math.random()*$('.home #resources .slide, #spotlight .slide').length),
            timeout:0,
            speed:450,
            height:200,
            prev: '.next-prev .prev a',
            next: '.next-prev .next a'
        });
    
    //contact form dropdown
    $('#select_subject').change(function(){
        $('#contact_subject').attr('value',$(this).attr('value'));
    });
    
    //label toggle
    $('#mailinglist_form #newsletter-subscribe')
        .focus(function(){
            $(this).prev('label').addClass('alt')
        }).blur(function(){
            if($(this).attr('value')==""){
                $(this).prev('label').removeClass('alt')
        }});
    
    //glossary init
/*    $('.glossary-enabled').glossary({
        headings: ' - ',
        wrapperClass: 'definition',
        glossaryURL: 'http://biologos.org/api/glossary/',
        tooltip: {
            showBody: ' - ',
            delay: 500,
            track: true
        }
    });*/
    
    //publisher clear
    $('div.publisher').after('<br class="clear" />');
    
    //question thumb edges
    $('div.question img').after('<span class="edges">&nbsp;</span>');
    $('#response img.main-image').after('<span class="edges-large">&nbsp;</span>');
    
    //make question pull links more humane to input
    $('div.see-also').wrapInner('<div>');
    
    //the questions inline images
    $('img.img-right, img.img-left, img.img-both').each(function(){
        $(this).wrap('<div class="inline-img-wrapper '+$(this).attr('className')+'">').parent().append('<small>'+$(this).attr('alt')+'</small>')
    });
    //better pagination on questions sec
    $els = $('#main-content .paginate');
    $($els.get(0)).addClass('paginate-top');
    $($els.get(1)).addClass('paginate-bottom');
    $('#main-content .paginate a').each(function(){
        var txt = $(this).text();
        if(txt.match('<')){
            $(this).addClass('prev').html('&laquo;')
        }else if(txt.match('>')){
            $(this).addClass('next').html('&raquo;');
        }else if(txt.match('First')){
            $(this).addClass('first');
        }else if(txt.match('Last')) {
            $(this).addClass('last');
        }
    });
    
});

$(window).load(function(){
    $el = $('div.publisher').prev('img.thumb');
    $el.css('margin-top', 20);
    $('div.publisher').css({
        'minHeight':$el.height(),
        'width':500-$el.width(),
        'marginLeft':($el.width()+40)*-1,
        'paddingLeft':$el.width()+40
    });
    $('div.img-right, div.img-left').each(function(){
        $(this).css('width', $(this).find('img').width());
    });
});
