/* ---------------
 * Font Switcher
 * --------------- */

function srabcb_fontsize(obj) {
    var action = $(obj).attr('id').replace('util_fontResizer-', '');
    var $body = $('#body-wrap');
    var removeClasses = 'fontLarge fontMedium fontSmall';

    // Home
    if ($('#content .homeCallout').length) {
        $('#content .homeCallout .fill').remove();
        srabcb_home_equalizeCols();
    }

    switch (action) {
        case "large":
            $body.removeClass('fontMedium').removeClass('fontSmall').addClass('fontLarge');
            break;
        case "small":
            $body.removeClass('fontLarge').removeClass('fontMedium').addClass('fontSmall');
            break;
        case "medium":
        default:
            $body.removeClass('fontLarge').removeClass('fontSmall').addClass('fontMedium');
            break;
    }
}


/* ---------------
 * Thickbox
 * --------------- */

function srabcb_thickbox_static_show(title, rel) {
    if (!title) var title = '';
    if (!rel) return;
    var tb_static_id = rel.replace(/.*inlineId=(.*).*/, '$1');

    // Show thickbox
    var tb_static_html = $('#' + tb_static_id).children().clone(true);
    //$('#'+ tb_static_id).hide();
    tb_show(title, '#TB_inline?' + rel, false);
    //$('#' + tb_static_id).append(tb_static_html);

    // Mac FF hack
    if (tb_detectMacXFF2()) {
        $('html, body').animate({ scrollTop: 0 }, 'slow');
    }
}


/* ---------------
 * Navigation
 * --------------- */

function srabcb_init_dropdown() {
    // add named class references to top level links
    $('#topnav>li').each(function() {
        var txt = $('a:eq(0)', this).text();
        txt = 'topnav_' + txt.replace(/ /g, '_').toLowerCase();
        $(this).attr('id',txt).addClass('topLink');
    });

    // Rounded Corners
    $('#topnav > li > ul')
        .prepend('<li class="top"></li>')
        .click(function() {
            window.location = $(this).parents('li:eq(0)').contents('a').attr('href');
        })
        .append('<li class="bottom">&nbsp;</li>')
        .contents('li:eq(1)').addClass('first-child');
    $('#topnav > li > ul > li.top').fadeTo('fast', .3);
    // IE can't handle corners here
    if (!$.browser.msie) {
        $('#topnav > li > ul > li.top').corner({
            autoPad: false,
            autoAlias: true,
            tl: { radius: 8 },
            bl: { radius: false },
            tr: { radius: 8 },
            br: { radius: false }
        });
    }

    // Hover states
    $('#topnav > li.topLink').hover(function() {
        $(this).addClass('hover');
    }, function() {
        $(this).removeClass('hover');
    });
}


/* ---------------
* Search
* --------------- */

function srabcb_init_search() {
    $('#head-search').append('<a id="searchButton" href="#"></a>');
    $('#searchButton').click(function() {
        var query = $('#searchSite').val();
        var results = "";

        if (query != $('#searchSite')[0].defaultValue) {
            if (document.location.href.indexOf('individuals') == -1) {
                results = "/employers/";
            }
            else {
                results = "/individuals/";
            }
            document.location.href = results + "search.aspx?query=" + query;
        }
        return false;
    });
    $('#searchSite').focus(function() {
        if (this.value == this.defaultValue) {
            this.value = '';
        }
    }).blur(function() {
        if (this.value == '') {
            this.value = this.defaultValue;
        }
    }).keydown(function(event) {
        if (event.keyCode == 13) {
            $('#searchButton').trigger('click');
            return false;
        }
    });
}


/* ---------------
* Rounded Corners
* --------------- */

function srabcb_init_corners() {
    $('.roundCorner-small').wrapInner('<div class="jquery-corner-wrap"></div>').corner({
        autoPad: false,
        autoAlias: true,
        tl: { radius: 4 },
        bl: { radius: 4 },
        tr: { radius: 4 },
        br: { radius: 4 }
    });
    $('.roundCorner-small-bottom').wrapInner('<div class="jquery-corner-wrap"></div>').corner({
        autoPad: false,
        autoAlias: true,
        tl: false,
        bl: { radius: 4 },
        tr: false,
        br: { radius: 4 }
    });
    $('.roundCorner-sidenav').wrapInner('<div class="jquery-corner-wrap"></div>').corner({
        autoPad: false,
        autoAlias: true,
        tl: { radius: 8 },
        bl: { radius: 8 },
        tr: false,
        br: false
    });
    // Welcome pages
    if ($('#content div.homeCallout').length) {
        $('#content div.homeCallout').wrapInner('<div class="jquery-corner-wrap"></div>').corner({
            autoPad: false,
            autoAlias: true,
            tl: { radius: 4 },
            bl: { radius: 4 },
            tr: { radius: 4 },
            br: { radius: 4 }
        });
        srabcb_home_equalizeCols();
        $('#body-wrap').addClass('jquery-home');
    }
    $('#body-wrap').addClass('corners-applied');
}


/* ---------------
 * Site-wide design elements
 * --------------- */

function srabcb_ready() {
    // Forms
    srabcb_init_forms();

    // Search
    srabcb_init_search();

    // Drop-down navigation
    srabcb_init_dropdown();

    // jNice
    $('div.contentForm, div.ekleavecomment, #content div.poll').jNice({
        enableButtons: false
    });

    // Horizontal lines
    $('#content hr').wrap('<div class="hr"></div>');

    // Blockquotes
    $('#content blockquote p:first-child').addClass('noMargin');

    // Print
    $('#foot a.print, #content .healthLibraryLinks a.print').unbind().click(function() {
        window.print();
        return false;
    });

    // Addthis
    $('#foot a.print').after('<a href="http://www.addthis.com/bookmark.php" onmouseover="return addthis_open(this, \'\', \'[URL]\', \'[TITLE]\')" onmouseout="addthis_close()" onclick="return addthis_sendto()" class="pagelink share">Share</a>');

    // Font Resize
    $('<a href="#" id="util_fontResizer-small">A</a>').appendTo('#util_fontResizer > div');
    $('<a href="#" id="util_fontResizer-medium">A</a>').appendTo('#util_fontResizer > div');
    $('<a href="#" id="util_fontResizer-large">A</a>').appendTo('#util_fontResizer > div');
    $('#util_fontResizer-large, #util_fontResizer-medium, #util_fontResizer-small').unbind().click(function() {
        srabcb_fontsize(this);
        return false;
    });

    // Detect MacFF
    if ($.browser.mozilla && navigator.platform.match(/^mac/i)) {
        $('body').addClass('isMac');
    }

    // External and File Links
    $('#content a[@href$=pdf]').addClass('icon-pdf').attr('target', '_blank');;
    var activeDomain = window.location.href.replace(/\.com\/.*/, '').replace(/http:\/\//, '');
    $("#content a[@href^=http]").not("[@href*='" + activeDomain + ".com']")
        .attr('target', '_blank')
        .not('.pagelink').addClass('icon-ext');
        /* leaving site disclaimer */
        /*
        .click(function() {
            var disclaimerUrl = '/disclaimer/departure.aspx?url=' + $(this).attr('href') + '&amp;KeepThis=true&amp;TB_iframe=true&amp;height=300&amp;width=450';
            tb_show('', disclaimerUrl, false);
            return false;
        })
        */
    $('#content a.icon-ext img').parent().removeClass('icon-ext');
}

/* ---------------
 * Specific Pages
 * --------------- */

function srabcb_pages() {

    // Collapsible Lists
    $('ul.collapsibleList > li > a.header').unbind().click(function() {
        var li = $(this).parents('li:eq(0)');
        var faq = $('div.entry', li);

        if (li.hasClass('expanded')) {
            faq.slideUp('1000', function() {
                li.removeClass('expanded').addClass('collapsed');
            });
        } else {
            faq.slideDown('1000', function() {
                li.removeClass('collapsed').addClass('expanded');
            });
        }
        return false;
    });
    $('ul.collapsibleList > li').each(function() {
        $(this).css('position', 'relative');
        $(this).prepend('<a href="#" class="trigger"></a>');
        $(this).find('a.trigger').click(function() {
            $(this).parent().find('a.header').trigger('click');
            return false;
        });
    });

    // Search Results
    if ($('#searchResults').length) {
        EkSearch.clrCookie();

        // Populate search form
        var search_qs = location.search.substr(1).split("&");
        var searchQuery = search_qs[0].split("=")[1];
        $('#searchResults #ecmBasicKeywords').val(searchQuery);

        // Execute search
        $('#searchResults input.basicSearchSubmit').trigger('click');
    }

    // Login
    $('#content .loginForm table td').not('#content .loginForm table table td').addClass('table-wrap');
    $('#content .loginForm table table tr:first-child td').addClass('th');
    $('#content .loginForm table input:submit').addClass('jnice-manual-submit').parent().addClass('submit');

    // Blog
    if (document.location.href.indexOf("blog") != -1) {
        // Blog Comments
        $('#content div.articleDetail div.contentFooter table td').each(function() {
            var originalText = $(this).html();
            var replacementText = originalText.replace("<br><br>", "").replace("<br>Posted by: ", "<span class=\"commentAuthor\"><br>Posted by: ") + "</span>";

            $(this).html(replacementText);
        });

        // Blog Sidebar
        $('#blognav select.blogSearch').change(function() {
            var value = $(this).find('option:selected').val();
            var cat = $(this).attr('name');
            var destination = "/individuals/our-experts/blog/archive/?" + cat + "=" + value;

            if (document.location.href.indexOf("employers") != -1) {
                destination = destination.replace("individuals", "employers");
            }

            document.location.href = destination;
        });
    }
}

/* ---------------
 * onLoad
 * --------------- */
$(document).ready(function() {
    srabcb_ready();
    srabcb_pages();
    srabcb_init_corners();

    // Google Analytics
    var googleAnalyticsDomainCode = "UA-3481236-4";
    if (document.location.href.indexOf("dev.") != -1) {
        googleAnalyticsDomainCode = "UA-7111256-3";
    }
    try {
        var pageTracker = _gat._getTracker(googleAnalyticsDomainCode); pageTracker._trackPageview();
    }
    catch (err) {
    }
});
