var _v5 = {
    loading_html: '<span class="loading">Loading&hellip;</span>',
    popout_current_id: null,
    right_popout_url: '',
    is_left_popped: 0,
    open_menu_id: null,
    is_IE8: Prototype.Browser.IE && parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+5)) == 8
};

var ObscureElements = Rtk.Shared.ObscureRenderedElements;

function $RF(el, radioGroup) {
	if($(el).type == 'radio') {
		var el = $(el).form;
		var radioGroup = $(el).name;
	} else if ($(el).tagName.toLowerCase() != 'form') {
		return false;
	}
	return $F(Form.getInputs($(el), 'radio', radioGroup).find(
		function(re) {return re.checked;}
	));
}

function contains(array, elt)
{
    for(var i = 0; i < array.length; ++i)
        if(array[i] == elt)
            return true;
    return false;
}

// for compatibility with crufty code in option_collection.js and tree.js
function hideShowElements(menu, action)
{
    if (action != "hidden") {
        ObscureElements.HideObscuredBy(menu);
    } else {
        ObscureElements.ShowObscuredBy(menu);
    }
}

function show_tabbed_report(group, n)
{
    for (var i = 0; i < group.childNodes.length; i++) {
        if (group.childNodes[i].className == 'tabbed-group')
            group.childNodes[i].style.display = 'none';
        if (group.childNodes[i].className == 'selected-tab')
            group.childNodes[i].className = 'unselected-tab';
    }
    $('tabbed-group_'+n).style.display = "block";
    $('tab_'+n).className = "selected-tab";
}

function menu_mouseover(menu_id)
{
    _v5.open_menu_id = menu_id;
    $(menu_id).style.visibility = 'hidden';

    $(menu_id).style.display = 'block';
    Element.addClassName($(menu_id + '-nav'), 'nav-hover');

    $(menu_id).style.visibility = 'visible';

    ObscureElements.HideObscuredBy($(menu_id));
}

function menu_did_mouse_leave_menu(expected_id, evt)
{
    var element = (evt.toElement || evt.relatedTarget);

    while(element) {
        if(element.id == expected_id)
            return false;
        element = element.parentNode;
    }
    return true;
}

function menu_mouseout(menu_id, evt)
{
    if(!menu_did_mouse_leave_menu(menu_id + '-container', evt || window.event))
        return;

	ObscureElements.ShowObscuredBy($(menu_id));

    $(menu_id).style.display = 'none';
    Element.removeClassName($(menu_id + '-nav'), 'nav-hover');

    _v5.open_menu_id = null;

    return false;
}

function menu_mouseoveritem(menu_id, evt)
{
    _v5.open_menu_id = menu_id;

    var item, menu, offsetWidth, x, y;
    if (Prototype.Browser.IE) {
        item = getContainerWith(window.event.srcElement,["A", "SPAN"]);
    } else {
        item = evt.currentTarget;
    }
    x = $(item).offsetWidth;
    Element.addClassName($(menu_id + '-container'), 'nav-hover');

    $(menu_id).style.left = x + 'px';
    $(menu_id).style.top = item.offsetTop + 'px';
    $(menu_id).style.visibility = 'visible';
    $(menu_id).style.display = 'block';

    ObscureElements.HideObscuredBy($(menu_id));

    if (Prototype.Browser.IE)
      window.event.cancelBubble = true;
    else
      evt.stopPropagation();
}

function menu_mouseoutitem(menu_id, evt)
{
    if(!menu_did_mouse_leave_menu(menu_id, evt || window.event))
        return;

	ObscureElements.ShowObscuredBy($(menu_id));

    $(menu_id).style.display = 'none';
    $(menu_id).style.left = '';
    Element.removeClassName($(menu_id + '-nav'), 'nav-hover');

    _v5.open_menu_id = null;


    return false;
}

function getContainerWith(node, tagNames, className) {

  // Starting with the given node, find the nearest containing element
  // with the specified tag name and style class.
  var i = 0;
  // If tagNames is not an Array
  if(typeof(tagNames) != "object") {
    tagNames = [tagNames];
  }

  while (node != null) {
    if (node.tagName != null) {
      for(i = 0; i < tagNames.length; i++) {
        if(node.tagName == tagNames[i] && hasClassName(node, className)) {
          return node;
        } else if(node.tagName == tagNames[i] && className == null) {
          return node;
        }
      }
    }
    node = node.parentNode;
  }

  return node;
}

function hasClassName(el, name) {

  var i, list;

  // Return true if the given element currently has the given class
  // name.

  list = el.className.split(" ");
  for (i = 0; i < list.length; i++)
    if (list[i] == name)
      return true;

  return false;
}

function options_show_advanced(top_n)
{
    $('adv_report_option_disclosure_widget_minimized').style.display = 'none';
    $('adv_report_option_disclosure_widget_expanded' ).style.display = 'inline';

    // update_display_rows_greater_than_one( 'table-row' );
        // MSIE4win does not support this and instead wants incorrect 'block' value.
        // MSIE4mac supports 'table-row', as do all the Mozilla-based browsers.
        // The following works for all of the above ('' lets browser restore default value)
    options_update_display_rows('', top_n);
    $('dsr_adv_report_options_are_expanded').value = 1;
}

function options_hide_advanced(top_n)
{
    $('adv_report_option_disclosure_widget_expanded' ).style.display = 'none';
    $('adv_report_option_disclosure_widget_minimized').style.display = 'inline';
    options_update_display_rows('none', top_n);
    $('dsr_adv_report_options_are_expanded').value = 0;
}

function enable_multiselect()
{
    var f = document.forms['report-options'];
    var multi_status = null;
    for(var i=0; i < f.elements.length; i++){
        if(f.elements[i].title == 'multiple'){
            f.elements[i].multiple = true;
            f.elements[i].size = 5;
        }
        if(f.elements[i].name == 'multiselect_on'){
            multi_status = f.elements[i];
        }
    }

    if(multi_status != null) {
        multi_status.value=1;
    } else {
        multi_status = document.createElement('input');
        multi_status.setAttribute('id', 'multiselect_on');
        multi_status.setAttribute('name', 'multiselect_on');
        multi_status.setAttribute('type', 'hidden');
        multi_status.setAttribute('value', '1');
        f.appendChild(multi_status);
    }

}

function disable_multiselect()
{
    var f = document.forms['report-options'];
    var multi_status;
    for(var i=0; i < f.elements.length; i++){
        if(f.elements[i].multiple){
            f.elements[i].multiple = false;
            f.elements[i].size = '';
        }
        if(f.elements[i].name == 'multiselect_on'){
            multi_status = f.elements[i];
        }
    }

    multi_status.value = 0;
}

function options_update_display_rows(display_type, top_n)
{
    var row_num = top_n + 1;
    var row_obj;
    while ( row_obj = $('adv_report_option_row_num_' + row_num++) ) {
        row_obj.style.display = display_type;
    }
}

function popout_left_show()
{
    popout_right_hide();

    if (_v5.is_left_popped) {
        popout_left_hide();
    } else {
        var popout = $('left-popout');
      ObscureElements.HideInRegion(0,0,popout.getWidth(),popout.getHeight(), "left-popout");
        _v5.is_left_popped = 1;
        popout.style.display = 'block';
        var animation = new Animator().addSubject(new CSSStyleSubject(popout, 'left: 0px'))
            .toggle();
        $('left-sidebar').style.display = 'none';
    }
}

function popout_left_hide()
{
    if(_v5.is_left_popped) {
        _v5.is_left_popped = 0;
        var animation = new Animator({
                onComplete: function() {
					var popout = $('left-popout');
                    ObscureElements.ShowInRegion("left-popout");
                    popout.style.display = 'none';
                    $('left-sidebar').style.display = 'block';
                }
            }).addSubject(new CSSStyleSubject($('left-popout'), 'left: -239px'))
            .toggle();
    }
}

function popout_right_show(url, evt, parameters)
{
    if (!parameters) {
        parameters = {};
    }
    if (evt) {
        evt.cancelBubble = true;
        if (evt.stopPropagation) { evt.stopPropagation(); }
    }

    if (_v5.right_popout_url == url) {
        popout_right_hide();
    } else {
        popout_left_hide();

        _v5.right_popout_url = url;

        $('right-popout').style.display = 'block';
        $('right-sidebar').style.display = 'none';
		ObscureElements.HideObscuredBy($('right-popout'));
        $('right-popout-dynamic-content').style.display = 'block';
        $('right-popout-static-content').style.display = 'none';
        $('right-popout-dynamic-content').innerHTML = _v5.loading_html;
        var animation = new Animator().addSubject(new CSSStyleSubject($('right-popout'), 'right: 0px'))
                                      .toggle();

        if($('right-popout-button'))
            $('right-popout-button').style.display = 'hidden';

        jQuery.get(
            url,
            parameters,
            function(data) {
                jQuery("#right-popout-dynamic-content").html(data);
                if (jQuery('#report-select').length != 0) {
                    jQuery("#report-select").combobox();
                    jQuery("#report-select").next()
                                            .data("autocomplete")
                                            ._renderItem = function(ul, item) {
                        return jQuery( "<li></li>" )
                            .data( "item.autocomplete", item )
                            .append( "<a href='" + item.option.value + "'>" + item.label + "</a>" )
                            .appendTo( ul );
                    };
                    jQuery("#report-select").next().autocomplete(
                        'option',
                        'select',
                        function(event, ui) {
                            ui.item.option.selected = true;
                            jQuery(this).val(ui.item.option.innerHTML);
                            get_popout_right_report(event, ui.item.option.value);
                        }
                    );
                }
            }
        );
    }
}

function popout_right_hide()
{
    if (_v5.right_popout_url != '') {
        _v5.right_popout_url = '';
        var animation = new Animator({
                onComplete: function() {
                    if($('right-popout-button'))
                        $('right-popout-button').style.display = 'inline';
                    ObscureElements.ShowObscuredBy($('right-popout'));
                    $('right-popout').style.display = 'none';
                    $('right-sidebar').style.display = 'block';
                }
            }).addSubject(new CSSStyleSubject($('right-popout'), 'right: -330px'))
            .toggle();
    }
}

function popout_right_show_static()
{
    if (_v5.right_popout_url == 'static') {
        popout_right_hide();
    } else {
        popout_left_hide();

        $('right-popout').style.display = 'block';

        _v5.right_popout_url = 'static';
		ObscureElements.HideObscuredBy($('right-popout'));
        $('right-popout-dynamic-content').style.display = 'none';
        $('right-popout-static-content').style.display = 'block';
        var animation = new Animator().addSubject(new CSSStyleSubject($('right-popout'), 'right: 0px'))
                                      .toggle();

        if($('right-popout-button'))
            $('right-popout-button').style.display = 'none';
    }
}

function popout_init_accordion()
{
    var accordion = new Accordion({
 	    sections: $$('.popout-pane'),
        getActivator: function(el) {
            return document.getElementById(el.id + "-header");
        },
        animatorOptions: {
            onComplete: function() {
                if(this.state == 1) {
                    if (this.subjects[0].els[0].on_open) {
                        this.subjects[0].els[0].on_open();
                    }
                    $(this.subjects[0].els[0]).classNames().add('popout-pane-current');
                } else {
                    if (this.subjects[0].els[0].on_close) {
                        this.subjects[0].els[0].on_close();
                    }
                    $(this.subjects[0].els[0]).classNames().remove('popout-pane-current');
                }
            },
            onStep: function() {
                if(this.state == 1) {
                    if(_v5.is_IE8) {
                        this.subjects[0].els[0].querySelectorAll("div.popout-body")[0].style.display = "block";
                    } else {
                        this.subjects[0].els[0].select('[class="popout-body"]')[0].style.display = "block";
                    }
                } else {
                    if(_v5.is_IE8){
                        this.subjects[0].els[0].querySelectorAll("div.popout-body")[0].style.display = "none";
                    } else {
                        this.subjects[0].els[0].select('[class="popout-body"]')[0].style.display = "none";
                    }
                }
            }
        },
        rememberance: false,
        from: 24,
        to: 365,
        property: "height",
        units: "px",
        initialSection: -1
	});
}

Event.observe(window,'load', popout_init_accordion);

function popout_right_submit_form(href, form)
{
    $('right-popout-dynamic-content').innerHTML = _v5.loading_html;

    new Ajax.Updater(
        'right-popout-dynamic-content',
        href,
        { parameters: Form.serialize(form), method: 'post' }
    );
}

function popup_fetch(url, id)
{
    new Ajax.Updater(
        'popout-' + id + '-target',
        url,
        { method: 'post',
          evalScripts: true,
          parameters: Form.serialize($('popout-' + id + '-form'))
        });
    $('left-popout').style.display = "block";


}

function popup_reset(id)
{
    var element = $('popout-' + id + '-target');
    element.innerHTML = _v5.loading_html;
}

function record_detail_tr_for_link(elt)
{
    while(elt && elt.tagName.toLowerCase() != 'tr')
        elt = elt.parentNode;
    return elt;
}

function record_detail_make_detail(row)
{
    var tbody = row.parentNode;
    var detail_tr = document.createElement('tr');
    var detail = document.createElement('td');
    detail_tr.className = 'record-detail';
    detail.innerHTML = _v5.loading_html;
    detail.colSpan = row.cells.length;
    detail_tr.appendChild(detail);

    tbody.insertBefore(detail_tr, row.nextSibling);
    Element.addClassName(row, 'showing-detail');
    return detail;
}

function record_detail_delete_detail(row)
{
    var tbody = row.parentNode;
    tbody.removeChild(row.nextSibling);
    Element.removeClassName(row, 'showing-detail');
}

function record_detail_show(link, href)
{
    var tr = record_detail_tr_for_link(link);
    var detail_elt = record_detail_make_detail(tr);

    Element.removeClassName(link, 'record-detail-show');
    Element.addClassName(link, 'record-detail-hide');

    new Ajax.Updater(
        detail_elt,
        href,
        { method: 'get', evalScripts: true }
    );
}

function record_detail_hide(link)
{
    Element.removeClassName(link, 'record-detail-hide');
    Element.addClassName(link, 'record-detail-show');

    var tr = record_detail_tr_for_link(link);
    record_detail_delete_detail(tr);
}

function record_detail_toggle(link, href)
{
    if (Element.hasClassName(link, 'record-detail-show')) {
        record_detail_show(link, href);
    }
    else {
        record_detail_hide(link);
    }
}

function style_show()
{
    $('style-change').style.display = 'block';
}

function style_hide()
{
    $('style-change').style.display = 'none';
}

function style_change(form)
{
    $('style-change-link').href = $RF(form, 'stylesheet');
    setTimeout(style_match_charts_to_page, 1000);
}

function style_change_and_save(form, url)
{
    style_hide();
    style_change(form);
    new Ajax.Request(
        url,
        { method: 'get', parameters: 'style=' + $RF(form, 'stylesheet') }
    );
}

function style_match_charts_to_page()
{
    var charts = document.getElementsByTagName('applet');

    var body_style = style_rule_for('body');
    var background = chart_color_of_css_color(body_style.style.backgroundColor);
    var foreground = chart_color_of_css_color(body_style.style.color);
    _log(background + ':' + foreground);

    for(var i = 0; i < charts.length; ++i)
        if(charts[i].setParameter) {
            charts[i].setParameter('background', background);
            charts[i].setParameter('chartBackground', background);
            charts[i].setParameter('foreground', foreground);
            charts[i].setParameter('rangeColor', foreground);
            charts[i].setParameter('sampleLabelColors', foreground);
        }
}

function help_text_add_or_edit(edit_id, view_id, edit_report)
{
    $(edit_id).style.display='block';
    $(view_id).style.display='none';
    $(edit_report).style.display='none';
}

function hide_show_submit(report_id, hide_show_columns_updater, request_uri)
{
    updateHideShowColumns('hide-show-cols', report_id, $('hide-show-form'), hide_show_columns_updater, request_uri);
    hideShowReportColumnsFromFormInputs();
}

function abstract_object_choose(t, post_to_page)
{
    var selected_values = "";
    for( var i = 0; i < t.options.length; i++ ){
        if( t.options[i].selected == true ) {
            selected_values += t.options[i].value;
            selected_values += ';';
        }
    }
    var kept_params = t.form.kept_params.value;
    var target = post_to_page + '?' + selected_values + kept_params;

    popout_right_hide();

    if(window.rtk_crumb_from) rtk_crumb_from('sibling');
    window.location.href = target;
}

function abstract_object_enable_submit_with_selection(t)
{
    for( var i = 0; i < t.options.length; i++ ){
        if( t.options[i].selected == true ) {
            t.form.submit.disabled = false;
            return true;
        }
    }
    t.form.submit.disabled = true;
}

function vod_transformEmailScheduleDayList(bookmark_no)
{
    var scheduleKind = document.getElementById('email_schedule_kind_'+bookmark_no).value;
    var scheduleDayElt = document.getElementById('email_schedule_day_'+bookmark_no);
    var scheduleElt = document.getElementById('email_schedule_'+bookmark_no);
    if(scheduleKind == '') {
        scheduleElt.style.visibility = 'hidden';
        scheduleDayElt.disabled = 'disabled';
    }
    else {
        var dayList = vod_emailScheduleDayListForKind(scheduleKind);
        var oldValue = scheduleDayElt.options[scheduleDayElt.selectedIndex].value;
        while(scheduleDayElt.hasChildNodes()) {
            scheduleDayElt.removeChild( scheduleDayElt.firstChild );
        }

        var blankOption = document.createElement('option');
        if(oldValue == '')
            blankOption.setAttribute('selected', 'selected');
        blankOption.setAttribute('value', '');
        blankOption.appendChild(document.createTextNode('---------------'));
        scheduleDayElt.appendChild(blankOption);

        for(i = 0; i < dayList.length; i += 2)
        {
            var dayOption = document.createElement('option');
            if(oldValue == dayList[i] + '')
                dayOption.setAttribute('selected', 'selected');
            dayOption.setAttribute('value', dayList[i]);
            dayOption.appendChild(document.createTextNode(dayList[i+1]));

            scheduleDayElt.appendChild(dayOption);
        }

        scheduleDayElt.disabled = null;
        scheduleElt.style.visibility = 'visible';
    }
}

function vod_emailScheduleDayListForKind(kind)
{
    if(kind == 'Monthly') {
        var days = new Array();
        for(var day = 1; day <= 28; ++day) {
            var dayth = day + (
                (day % 10 == 1 && day != 11)
                    ? 'st'
                    :
                (day % 10 == 2 && day != 12)
                    ? 'nd'
                    :
                (day % 10 == 3 && day != 13)
                    ? 'rd'
                    : 'th'
            );
            days.push(day);
            days.push(dayth);
        }
        return days;
    }
    else if(kind == 'Weekly') {
        return [
            0, 'Sunday',
            1, 'Monday',
            2, 'Tuesday',
            3, 'Wednesday',
            4, 'Thursday',
            5, 'Friday',
            6, 'Saturday',
        ];
    }
}

function preload_image(url)
{
    var i = new Image();
    i.src = url;
}

function preload_document_style_images()
{
    function preload_style_images(style)
    {
        if (style.imports && style.imports.length && style.imports.length > 0)
            for (var j = 0; j < style.imports.length; ++j)
                preload_style_images(style.imports[j]);

        var rules = style.cssRules || style.rules;

        for (var i = 0; i < rules.length; ++i) {
            var text = rules[i].cssText || rules[i].style.cssText;

            if (text.match(/@import/))
                preload_style_images(rules[i].styleSheet);

            var image_urls = text.match(/url\([^\)]*\.(?:png|gif|jpg)\)/g);
            if (image_urls)
                for (var j = 0; j < image_urls.length; ++j)
                    preload_image(image_urls[j].substring(4, image_urls[j].length - 1));
        }
    }

    if (document.cookie.match(/v5_did_preload_images/))
        return;

    for (var i = 0; i < document.styleSheets.length; ++i)
        preload_style_images(document.styleSheets[i]);

    document.cookie = 'v5_did_preload_images=1';
}

function chart_color_of_css_color(color)
{
    function pad(s)
    {
        if(s.length == 1)
            return '0' + s;
        return s;
    }

    var m;
    if (!color) {
        return '#000000';
    }
    if ((m = color.match(/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i))) {
        return '#' + m[1] + m[1] + m[2] + m[2] + m[3] + m[3];
    }
    if ((m = color.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/i))) {
        var r = parseInt(m[1]), g = parseInt(m[2]), b = parseInt(m[3]);
        return '#' + pad(r.toString(16)) + pad(g.toString(16)) + pad(b.toString(16));
    }
    return color;
}

function style_rule_for(selector)
{
    function style_rule_in_style(style)
    {
        var rules = style.cssRules || style.rules;

        for (var i = rules.length - 1; i >= 0; --i) {
            //var text = rules[i].cssText || rules[i].style.cssText;
            //if(text.match(/@import/)) {
            //    var rule = style_rule_in_style(rules[i].styleSheet);
            //    if(rule) return rule;
            //} else
            if(rules[i].selectorText && rules[i].selectorText.match(new RegExp('(?:^|[^\\w\\-])'+selector+'(?:$|[^\\w\\-])', 'i')))
                return rules[i];
        }

        //if(style.imports && style.imports.length && style.imports.length > 0)
        //    for(var j = style.imports.length - 1; j >= 0; --j) {
        //        var rule = style_rule_in_style(style.imports[j]);
        //        if(rule) return rule;
        //    }
        return null;
    }

    for(var i = document.styleSheets.length - 1; i >= 0; --i) {
        var rule = style_rule_in_style(document.styleSheets[i]);
        if(rule) return rule;
    }
    return null;
}

function popup_submit_form(id, href, form)
{
    if( $(id + '-loading') )
        $(id + '-loading').style.visibility = 'visible';

    new Ajax.Updater(
        id + '-target',
        href,
        { parameters: Form.serialize(form) }
    );
}

function displayShowHide() {
  var i,p,v,obj,args=displayShowHide.arguments;
  for (i = 0;i < (args.length - 2);i +=3 )
        if ((obj=findObj(args[i]))!=null) {
                v=args[i+2];
            if (obj.style) {
                    obj=obj.style;;
                    v=(v=='show') ? 'block' : (v=='hide') ? 'none' : v
                }
        obj.display=v
        }
}

function get_array(a)
{
    if (a.length)
        return $A(a);
    else
        return $A([a]);
}

function go_button_activate(option_collection)
{
    option_collection = option_collection || 'report-options';

	activate_go_button_for_form($(option_collection));
}

function activate_go_button_for_form(form)
{
   var a1 = get_array(form.go);
    a1.each(function(go) { Element.addClassName(go, 'go-activate'); go.disabled = false; });
}

function activate_go_button_for_item(item)
{
    var form = item.form;
    var a1 = [];
    if (form)
        a1 = get_array(form.go);

    a1.each(function(go) { Element.addClassName(go, 'go-activate'); go.disabled = false; });
}

function deactivate_go_button_for_form(form)
{
    var a1 = get_array(form.go);
    a1.each(function(go) { Element.removeClassName(go, 'go-activate'); go.disabled = true; });
}

function go_button_click(go, text)
{
    go.innerHTML = text || 'Loading...';
}

function observe_options(evt, option_collection)
{
    option_collection = option_collection || 'report-options';

    var report_options = $(option_collection);
    if (!report_options)
        return;

    var options =
        $A(report_options
           .getElementsByTagName('INPUT'))
                .select(function (i) {
                            return i.type != 'button'
                                && i.type != 'submit' });

    var activate_callback = function() { go_button_activate(option_collection); };

    options.each(function (i) {
                     Event.observe(i, 'keyup',  activate_callback, false);
                     Event.observe(i, 'change', activate_callback, false);
                 });

    $A(report_options.getElementsByTagName('SELECT'))
        .each(function (i) {Event.observe(i, 'change', activate_callback, false);});

    go_buttons = report_options.down('input[name="go-button"]');
    $A(go_buttons).each(function(e) { e.disabled = true; });
}

//Event.observe(window, 'load', observe_options, false);

function masthead_search_onfocus(elt, search_string)
{
    if (search_string == '' && !elt.has_had_focus) {
        elt.value = '';
        elt.has_had_focus = true;
    }
    return true;
}

function masthead_search_onsubmit(form, search_string)
{
    if (search_string == '' && !$('search-box').has_had_focus)
        $('search-box').value = '';
    return true;
}

var collapsed_rows_by_key = new Object();

function expand_show(link, nf)
{
    nf = decodeURI(nf).replace('%26','_','g').replace(/[^a-z0-9]+/gi, '_');

    collapsed_rows_by_key[nf].each(function(s) { $(s).toggleClassName('collapsed'); });

    if (link.src.match('plus'))
        link.src = "/shared/images/boxed-minus.png";
    else
        link.src = "/shared/images/boxed-plus.png";
}

function register_collapsible_trs()
{
    var content = $('content-container');
    if (!content)
        return;

    var all_trs = content.getElementsByTagName('TR');

    $A(all_trs).select(function(e) { return e.className.match(/\bcollapsed\b/); })
        .each(function(e) {
            var classes = e.className.split(' ');
            var nf = $A(classes).find(function (c) { return c.match(/^detail_expand_/) });
            if (!collapsed_rows_by_key[nf])
                collapsed_rows_by_key[nf] = $A([]);
            collapsed_rows_by_key[nf].push(e);
        });
}

Event.observe(window, 'load', register_collapsible_trs, false);


