﻿// JScript File
    var origInnerHtml=document.getElementById("aShowHide").innerHTML;
    var extraFiltersHidden = false;
    function showHideExtraFilters(force) {
        var visibleFiltersExist = false;
        visibleFiltersExist = visibleFiltersExist || showHideFilterType ("ctl00_phBody_fff_dd_","select","selectedIndex < 1");
        visibleFiltersExist = visibleFiltersExist || showHideFilterType ("ctl00_phBody_fff_tb_","input", "value == ''");
        var showHideA = document.getElementById("aShowHide"); 
        var extraFiltersDiv = document.getElementById("extraFilters");
        var advancedInstructionsDiv = document.getElementById("advancedSearchInstructions");
        var instructionsDiv = document.getElementById("searchInstructions");
        var quickSearchBtn = document.getElementById("ctl00_phBody_btn_Quick_Search");
        var searchHeading = document.getElementById("searchHeading");
        if (!force && visibleFiltersExist) {
            extraFiltersHidden = true;
        }
        if (extraFiltersHidden) {
            //showHideA.className = "hideMore";
            showHideA.innerHTML = "hide advanced search options";
            safeStyleDisplaySet (extraFiltersDiv,"block");
            safeStyleDisplaySet (instructionsDiv,"none");
            safeStyleDisplaySet (advancedInstructionsDiv,"block");
            if (advancedInstructionsDiv) {
                advancedInstructionsDiv.style.visibility = "visible";
            }
            safeStyleDisplaySet (quickSearchBtn,"none");
            safeInnerHtmlSet (searchHeading,"Advanced Search");
        } else {
            //showHideA.className = "showMore";
            showHideA.innerHTML = origInnerHtml;
            safeStyleDisplaySet (extraFiltersDiv,"none");
            safeStyleDisplaySet (instructionsDiv,"block");
            safeStyleDisplaySet (advancedInstructionsDiv,"none");
            safeStyleDisplaySet (quickSearchBtn,"block");
            safeInnerHtmlSet (searchHeading,"{orig}");
        }
        extraFiltersHidden = !extraFiltersHidden;
        return false;
    }
    function safeStyleDisplaySet (el,styleDisplay) {
        if (el) {
            el.style.display = styleDisplay;
        }
    }
    function safeInnerHtmlSet (el,innerHtml) {
        if (el) {
            if (!el.origInnerHtml) {
                el.origInnerHtml = el.innerHTML;
            }
            if (innerHtml == "{orig}") {
                el.innerHTML = el.origInnerHtml;
            } else {
                el.innerHTML = innerHtml;
            }
        }
    }
    function clearExtraFiltersIfHidden() {
        if (extraFiltersHidden) {
            clearAllFilters('ctl00_phBody_btn_Quick_Search');
        }
    }
    function showHideFilterType (fieldBase,tagName,filterClearComparator) {
        var someFiltersActive = false;
        var divall = document.getElementsByTagName(tagName);
        for (var i=0;i < divall.length;i++) {
            var d = divall[i];
//            if (d.id.length > 0) alert (d.id + "/" + d.id.indexOf(fieldBase));
            if (d.id.indexOf(fieldBase) > -1) {
                var fieldname = d.id.substr(fieldBase.length-7);
                if (document.getElementById(fieldname+"_div") && document.getElementById(fieldname+"_div").style) {
                    if (eval("d." + filterClearComparator)) {
                        //uncomment this line to show/hide individual filters
                        //document.getElementById(fieldname+"_div").style.display = extraFiltersHidden ? "block" : "none";
                    } else {
                        someFiltersActive = true;
                        //uncomment this line to show/hide individual filters
                        //document.getElementById(fieldname+"_div").style.display = "block";
                    }
                }
                //alert (fieldname);
            }
        }
        return someFiltersActive;
    }
    // comment out line below for permanently open filters
    showHideExtraFilters();
    function clearAllFilters (exceptions) {
        var fieldBase = "ctl00_phBody_fff_dd_";
        var divall = document.getElementsByTagName("select");
        for (var i=0;i < divall.length;i++) {
            var d = divall[i];
            if (d.id.indexOf(fieldBase) > -1) {
                d.selectedIndex = 0;
            }
        }
        var fieldBase = "ctl00_phBody_fff_tb_";
        var divall = document.getElementsByTagName("input");
        for (var i=0;i < divall.length;i++) {
            var d = divall[i];
            if (d.id.indexOf(fieldBase) > -1) {
                if (!exceptions || !exceptions.indexOf(d.id) == -1) {
                    d.value = "";
                }
            }
        }
        var tempdd = document.getElementById("ctl00_phBody_fff_dd_trackId");
        if (tempdd) {
            updateProductLists(tempdd);
        }
        return false;
    }
    function updateProductLists (dd) {
        updateProductList (dd,"1");
        updateProductList (dd,"2");
    }
    function updateProductList (dd,list) {
        var topicdd = document.getElementById("ctl00_phBody_fff_dd_topic" + list + "Id");
        // clear any existing selection
        var tempValue = topicdd.options[topicdd.selectedIndex].value;        
        topicdd.selectedIndex = 0;
        // clear the list
        for (var i=topicdd.options.length-1; i>0; i--) {
            topicdd.remove(i);
        }
        // add items back into the list
        eval ("var aTopics = aTrackTopics" + list + "List" + dd.options[dd.selectedIndex].value);
        if (aTopics) {
            for (var i=0;i<aTopics.length;i++) {
                var y = document.createElement("option");
                y.value=aTopics[i][0];
                y.text=aTopics[i][1];
                try {
                    topicdd.add(y,null);
                }
                catch (ex) {
                    topicdd.add(y);
                }
                if (tempValue == aTopics[i][0]) {
                    topicdd.selectedIndex = i+1;
                }
            }
        }
        
    }
    if (window.aTrackTopics1List) { // if the topic lists exist, set the topics dropdowns to match the track
        var tempdd = document.getElementById("ctl00_phBody_fff_dd_trackId");
        if (tempdd) {
            updateProductLists(tempdd);
        }
    }

