﻿var currentTerm;

// -----| Terms |----------------------------------------------------------------------------------

function FindTerms(prefix, dataMartIds) {
    $("divMessages").style["display"] = "none";
//    $("divNoDef").style["display"] = "none";
    $("divLoading").style["display"] = "block";
    
    $("boxLetter", "input").value = prefix;
    
    var url = "Handlers/GlossaryHandler.ashx?Service=terms&Prefix=" + prefix + "&dm=" + dataMartIds;
    SendXmlHttpRequest(url, OnTermsFound, OnError);
}

function OnTermsFound(responseText) {
    $("divLoading").style["display"] = "none";

    var divTerms = $("divTerms", "div");
    divTerms.innerHTML = responseText;
    
    DiscardXmlHttpRequest();
}



// -----| Definitions |----------------------------------------------------------------------------
function FindDefinitions(term, dataMartIds) {
    currentTerm = term;
        
    $("divMessages").style["display"] = "none";
//    $("divNoDef").style["display"] = "none";
    $("divLoading").style["display"] = "block";

    var url = "Handlers/GlossaryHandler.ashx?Service=definitions&Term=" + encodeURI(term) + "&dm=" + dataMartIds;
    SendXmlHttpRequest(url, OnDefinitionsFound, OnError);

    window.scroll(0, 0);
}

function OnDefinitionsFound(responseText) {
    $("divDefinitions").innerHTML = "";
    
    // Internet Explorer 6 seems to have a problem with immediately updating the glossary text,
    // so we'll put a short timeout between erasing the old definition and showing the new one.
    setTimeout(function() {
        $("divLoading").style["display"] = "none";
        $("divDefinitions").innerHTML = responseText;

        DiscardXmlHttpRequest();
    }, 100);
}

function ToggleDefinitionDisplay(id) {
    var divDefinitions = $(id);
     
    if (divDefinitions.style["display"] == "block") {
        divDefinitions.style["display"] = "none";
    } else {
        divDefinitions.style["display"] = "block";
    }

}


// -----| Error handling |-------------------------------------------------------------------------
function OnError(errorText) {
    var divMessages = $("divMessages");
    divMessages.innerHTML = BuildMessageBox(errorText, "error");
    divMessages.style["display"] = "block";
}
