﻿var SrchExpanderStatus = new Array();

function SrchAddExpander(listId, expanderId, count, expandedText, expandedClass, collapsedText,collapsedClass) {
    var objList = document.getElementById(listId);
    var objExpander = document.getElementById(expanderId);
    SrchHideListElements(objList, count);
    if (typeof objExpander.attachEvent != "undefined") { objExpander.attachEvent('onclick', function() { SrchExpanderToggle(objExpander, listId, count, expandedText, expandedClass, collapsedText, collapsedClass); }); }
    else { objExpander.addEventListener('click', function() { SrchExpanderToggle(objExpander, listId, count, expandedText, expandedClass, collapsedText, collapsedClass); }, false); }
}

function SrchHideListElements(list, count) {
    var objListItems = list.getElementsByTagName('li');
    if (objListItems.length > count) {
        for (var i = count; i < objListItems.length; i++) {
            objListItems[i].style.display = "none";
        }
    }
}

function SrchShowListElements(list) {
    var objListItems = list.getElementsByTagName('li');
    for (var i = 0; i < objListItems.length; i++) {
        objListItems[i].style.display = "";
    }
}

function SrchExpanderToggle(expander, listId, count, expandedText,expandedClass, collapsedText, collapsedClass) {
    var visible = SrchGetExpanderStatus(listId);
    var objList = document.getElementById(listId);
    if (visible === 1) {
        SrchHideListElements(objList, count);
        expander.innerHTML = collapsedText;
        expander.className = collapsedClass;
        visible = 0;
    }
    else {
        SrchShowListElements(objList);
        expander.innerHTML = expandedText;
        expander.className = expandedClass;
        visible = 1;
    }
    SrchSetExpanderStatus(listId, visible);
}

function SrchGetExpanderStatus(listId) {
    if (SrchExpanderStatus === null) { return false; }
    if (SrchExpanderStatus.length === 0) { return false; }
    for (var i = 0; i < SrchExpanderStatus.length; i++) {
        if (SrchExpanderStatus[i].ListId == listId) {
            return SrchExpanderStatus[i].Status
        }
    }
    return 0;
}

function SrchSetExpanderStatus(listId, visible) {
    var found = false;
    var j = SrchExpanderStatus.length;
    for (var i = 0; i < SrchExpanderStatus.length; i++) {
        if (SrchExpanderStatus[i].ListId === listId) {
            j = i;
            i = SrchExpanderStatus.length;
        }
    }
    SrchExpanderStatus[j] = { "ListId": listId, "Status": visible };
}

