// JavaScript Document
var submenutimer, delay = 400;
var expandAll = false;
var currentGroupingID = null;
var currentfund = null;

$(function() {

    if ($.browser.msie) $(".accordion li:last-child").addClass("last");

    if ($.browser.msie) {
        $(".accordion.large, .accordion.small").accordion();
    }
    else {
        $(".accordion.large, .accordion.small").accordion({ autoHeight: false });
    }

    $(".accordion-container table").removeAttr("width");
    $(".accordion:not(.large), .accordion:not(.small)").accordion({ autoHeight: false, collapsible: true });

    if ($.browser.msie) $("#subnavigation table.sub-navigation-table td:last-child").addClass("last");

    $("#subnavigation .sub-navigation-table-wrapper").mouseenter(function(ev) {

        var $this = $(this);

        submenutimer = window.setTimeout(function() {
            $this.animate({ height: $this.children("table").height() }, 250);
            $this.find("tbody").css("visibility", "visible");
        }, delay);

    }).mouseleave(function(ev) {

        window.clearTimeout(submenutimer);
        if ($(this).find("tbody").is(":visible")) {
            $(this).find("tbody").css("visibility", "hidden");
            $(this).animate({ height: $(this).parent().height() }, 250);
        }

    });

    $("#calculators").bind("change", function(ev) {
        document.location = $(ev.target).val() + ".html";
    });

    $("#MyAccount").bind("click", function(ev) {
        if (!$('#loginmenu').length) {
            var path = "/Institutional/Pages/MyAccount.aspx";
            if ($(ev.target).attr("root"))
                path = "/Institutional/Pages/MyAccount.aspx";

            $("body").append("<div id='loginmenu'><ul><li><a target='_blank' href='https://secure.stanlib.com/OSS.Web/login.aspx?ReturnUrl=%2foss.web%2fDefault.aspx' class='read-more'>Individuals</a></li><li><a href='" + path + "' class='read-more'>Institutional</a></li></div>");
        }
        $("#loginmenu").css({ left: (ev.pageX - 12), top: (ev.pageY - 5), "zIndex": 1 }).show("fast");

        $("#loginmenu").bind("mouseleave", function(event) {
            $(this).hide("fast");
        });
    });

    $("map area").bind("mouseover", function(event) {

        var t = $("#" + event.target.id + "_tooltip").appendTo("body").css({ left: (event.pageX - 12), top: (event.pageY - 5), "zIndex": 1 }).show("fast");
        $(".tooltip").each(function(i) {

            if (t.get(0) != $(this).get(0) && $(this).is(":visible")) $(this).hide("fast");

        });

    });

    $(".tooltip").bind("mouseleave", function(event) {
        $(this).hide("fast");
    });

    // Risk Barometer Table extension
    $("#risk_barometer_table tr.sub-group-header").each(function(i) {

        $(this).find("a.expand-collapse-link").addClass("expanded").click(function() {

            var header = $(this).closest("tr.sub-group-header");
            var contents = [];

            var n = header.next();

            while (n.length != 0 && n.is(":not(.sub-group-header)")) {
                contents.push(n.get(0));
                n = n.next();
            }

            if ($(this).is(".collapsed")) {
                for (var i = 0, l = contents.length; i < l; i++) $(contents[i]).show();
                $(this).removeClass("collapsed").addClass("expanded");
            } else {
                for (var i = 0, l = contents.length; i < l; i++) $(contents[i]).hide();
                $(this).removeClass("expanded").addClass("collapsed");
            }

            return false;

        });

        if (i != 0) $(this).find("a.expand-collapse-link").click();

    });

    Sys.Application.add_load(PageLoad);
    FormatTable();

    // Carousel
    $(".carousel").jcarousel({ wrap: 'last', scroll: 1 });

    //Menu
    var path = window.location.pathname.toLowerCase();
    $(".main-menu .selected").removeClass("selected");
    if (path == "/pages/home.aspx") {
        $(".main-menu .home").addClass("selected");
    }

    if (path.indexOf("individuals") > 0) {
        $(".main-menu .individuals").addClass("selected");
    }

    if (path.indexOf("advisers") > 0) {
        $(".main-menu .advisers").addClass("selected");
    }

    if (path.indexOf("institutional") > 0) {
        $(".main-menu .institutional").addClass("selected");
    }

    //PNG fix
    if ((jQuery.browser.msie) && (jQuery.browser.version == 6.0)) {
        $.ifixpng("/SiteCollectionImages/generic/trans.gif");
        $(".png").ifixpng();
        $(".ui-icon").ifixpng();
        $(".jcarousel-prev").ifixpng();
        $(".jcarousel-next").ifixpng();
        $("img").ifixpng();
    }

    $("#search_submit").bind("click", function() { ShowSearchResults() });
    $("#search_txt").keypress(function(e) {
        if (e.which == 13) {
            ShowSearchResults();
            return false;
        }
    });

    if ($('#slideshow')) {
        $('#slideshow').cycle({
            fx: 'fade',
            timeout: 5000
        });
    }
});

function PageLoad(sender, args) {
    if (args.get_isPartialLoad()) {
        FormatTable();
    }
}

function FormatTable() {
    $("table.accordion-table thead.group-header").each(function(i) {

        if (currentGroupingID != null) {
            if ($("#" + currentGroupingID).val() == "") {
                if (i != 0) $(this).next().hide();
            }
            else {
                if ($("#" + currentGroupingID).val() != $(this).text().trim()) {
                    $(this).next().hide();
                }
            }
        }
        else {
            if (i != 0) $(this).next().hide();
        }

        $(this).find("a.expand-collapse-link").addClass("collapsed").click(function() {

            var h = $(this).closest("thead.group-header");

            if (($(this).is(".expanded")) && (!expandAll)) {
                h.next().hide();
                $(this).removeClass("expanded").addClass("collapsed");
            } else {
                h.next().show();
                $(this).removeClass("collapsed").addClass("expanded");
                $("#" + currentGroupingID).val($(this).text());
            }

            return false;

        });

        if (currentGroupingID != null) {
            if ($("#" + currentGroupingID).val() == "") {
                if (i == 0) {
                    $(this).find("a.expand-collapse-link").removeClass("collapsed").addClass("expanded");
                }
            }
            else {
                if ($("#" + currentGroupingID).val() == $(this).text().trim()) {
                    $(this).find("a.expand-collapse-link").removeClass("collapsed").addClass("expanded");
                }
            }
        }
        else {
            if (i == 0) {
                $(this).find("a.expand-collapse-link").removeClass("collapsed").addClass("expanded");
            }
        }
    });

    $("#fundlist_table tr.sub-group-header").each(function(i) {

        $(this).find("a.expand-collapse-link").addClass("expanded").click(function() {

            var header = $(this).closest("tr.sub-group-header");
            var contents = [];

            var n = header.next();

            while (n.length != 0 && n.is(":not(.sub-group-header)")) {
                contents.push(n.get(0));
                n = n.next();
            }

            if (($(this).is(".collapsed")) || (expandAll)) {
                for (var i = 0, l = contents.length; i < l; i++) $(contents[i]).show();
                $(this).removeClass("collapsed").addClass("expanded");
                $("#" + currentfund).val($(this).next().text());
            } else {
                for (var i = 0, l = contents.length; i < l; i++) $(contents[i]).hide();
                $(this).removeClass("expanded").addClass("collapsed");
            }

            return false;

        });


        if ($("#" + currentfund).val() == "") {
            if (i != 0) $(this).find("a.expand-collapse-link").click();
        }
        else {
            if ($("#" + currentfund).val() != $(this).text().trim()) {
                $(this).find("a.expand-collapse-link").click();
            }
        }


    });

    $("#ExpandAll").bind("click", function() {
        expandAll = true;
        $("a.expand-collapse-link").click();
        expandAll = false;
        return false;
    });
}

function ShowSearchResults() {
    document.location = "/Search/results.aspx?k=" + $("#search_txt").val();
    return false;
}

function PrintPage()
{
    var theHtml = $('#PrintContent').html();
    var links = $('link');

    var newwin = window.open('','','width=715,height=550,resizable=1, scrollbars=1');
    newwin.document.write('<html><head>');

    //add stylesheets
    $('link').each(function(){
    if($(this).attr('rel') == 'stylesheet')
    {
	    newwin.document.write('<link href="'+this.href+'" type="text/css" rel="stylesheet"/>');
    }
    });

    newwin.document.write('<title>' + document.title + ' - Printable Page</title></head>');
    newwin.document.write('<body><div id="header"></div><div class="PrintFriendly">'+theHtml+'</div></body></html>');
    newwin.document.close();

    $(newwin.document).ready(function() { var Width = ''; var Height = ''; var Top = ''; var Left = ''; var CorrectDiv = $(newwin.document).find('.jqplot-series-canvas'); Width = CorrectDiv.css('width'); Height = CorrectDiv.css('height'); Top = CorrectDiv.css('top'); Left = CorrectDiv.css('left'); $(newwin.document).find('DIV').each(function() { if ($(this).css('position') == 'absolute') { if ($(this).css('overflow') == 'hidden') { if ($(this).css('top') == 'auto' && $(this).css('left') == 'auto') { if ($(this).css('width') == Width && $(this).css('height') == Height) { $(this).css({ 'top': Top }); $(this).css({ 'left': Left }); } } } } }); });
    newwin.window.print();    
}

function ChangeDecision(ddSelected) {
    var selectedOption = $(ddSelected).find('option:selected');
    if (selectedOption.attr('url') != "") {
        document.location = selectedOption.attr('url');
    }
    else {
        document.location = 'DecisionTree.aspx?node=' + selectedOption.attr('node') + '&q=' + selectedOption.attr('q') + '&g=' + selectedOption.attr('g');
    }
}

function DisableMe(cntrl) {
    if (Page_ClientValidate()) {
        $(cntrl).attr('disabled', 'disabled');
        $(cntrl).attr('value', 'Processing');
        __doPostBack(cntrl.name, '');
        return true;
    }
    else {
        return false;
    }
}