function showTab(number)
{
  if(number==1)
  {
    document.getElementById("BWSearchBox").style.display = "block";
    document.getElementById("FedSearchBox").style.display = "none";

    document.getElementById("FedFacets").style.display = "none";
    document.getElementById("BWFacets").style.display = "block";
  }
  else
  {
    document.getElementById("BWSearchBox").style.display = "none";
    document.getElementById("FedSearchBox").style.display = "block";

    document.getElementById("FedFacets").style.display = "block";
    document.getElementById("BWFacets").style.display = "none";
  }
  renderColumns();
}

function displayResults(number,color)
{
    if(number==1)
    {
        document.getElementById("openSearchPanel").style.display = "block";
        document.getElementById("searchManipulators").style.display = "block";
        document.getElementById("breadCrumbsContainer").style.display = "block";
        document.getElementById("resultsBarBottom").style.display = "block";
        document.getElementById("fedResultsPanel").style.display = "none";
    }
    else
    {
        document.getElementById("openSearchPanel").style.display = "none";
        document.getElementById("searchManipulators").style.display = "none";
        document.getElementById("breadCrumbsContainer").style.display = "none";
        document.getElementById("resultsBarBottom").style.display = "none";
        document.getElementById("fedResultsPanel").style.display = "block";
    }
    document.getElementById("resultsBarBottom").style.backgroundColor = color;
    document.getElementById("resultsBarTop").style.backgroundColor = color;
    renderColumns();
}

function moreHits(index)
{
    document.getElementById(index+"Header").style.display = "none";
    document.getElementById(index+"Inside").style.display = "block";
    renderColumns();
}

function lessHits(index)
{
    document.getElementById(index+"Header").style.display = "block";
    document.getElementById(index+"Inside").style.display = "none";
    renderColumns();
}

function getRSSContext()
{
    var allDivs = document.getElementsByTagName("div");
    var len = allDivs.length;
    var values = "";
    for(var x=0;x<len;x++)
    {
        var singleDiv = allDivs[x];
        if(singleDiv.className=='rssItems')
        {
            var innerDivs = singleDiv.getElementsByTagName("span");
            var ilen = innerDivs.length;
            values+=singleDiv.id+"||";
            for(var y=0;y<ilen;y++)
            {
                var lonelyDiv = innerDivs[y];
                if(lonelyDiv.className=='rssItemsUrl')
                {
                    values+=lonelyDiv.innerHTML+'||';
                }
                else if(lonelyDiv.className=='rssItemsCount')
                {
                    values+=lonelyDiv.innerHTML+'||';
                }
                else if(lonelyDiv.className=='rssItemsAge')
                {
                    values+=lonelyDiv.innerHTML+'^^^';
                }
            }
        }
    }
    return [values];
}

function handleRSSReturn(response)
{
    var json = response.responseText.evalJSON();
    if(json.ids!=null)
    {
        var idLen = json.ids.length;
        var linkCount = 0;
        var titleCount = 0;
        var linkLen = json.links.length;
        var newInnards = "";
        for(var x=0;x<idLen;x++)
        {
            newInnards = "";
            while(linkCount<linkLen && json.links[linkCount]!='||')
            {
                newInnards+='<a href=\"'+json.links[linkCount]+'\">-&nbsp;&nbsp;&nbsp;'+json.titles[titleCount]+'</a><br/>';
                linkCount++;
                titleCount++;
            }
            linkCount++;
            document.getElementById(json.ids[x]).innerHTML=newInnards;
            document.getElementById(json.ids[x]).style.display = 'block';
        }
        renderColumns();
    }
}

function getText(divname)
{
  d=document.getElementById(divname);
  return d.innerHTML;
}

function handleSingleFederatedReturn(response)
{
    var json = response.responseText.evalJSON();
    var id=json.id;
    if(json.error!=null)
    {
        document.getElementById(json.divId).innerHTML=json.error;
    }
    else
    {
        document.getElementById(json.divId).innerHTML=json.html;
        if(document.getElementById('fedPrintFriendlyLink'+id).href.indexOf("fed")>=0)
        {
            document.getElementById('fedPrintFriendlyLink'+id).href=addSomeZeroes(document.getElementById('fedPrintFriendlyLink'+id).href,json.printContext)
        }
        else
        {
            document.getElementById('fedPrintFriendlyLink'+id).href=document.getElementById('fedPrintFriendlyLink'+id).href+json.printContext;
        }
        document.getElementById('fedSearchSession'+id).value=json.emailContext;
        document.getElementById('fedEmailData'+id).value=document.getElementById('fedEmailData'+id).value+json.emailHtml;
        renderColumns();
        var startIndex = id*10;
        for(var x=startIndex;x<10+startIndex;x++)
        {
            new SummaryCheckbox('f'+x, json.message1, json.message2, 'fedClearButton'+id,'fedPrintFriendlyLink'+id,'fedSearchSession'+id,true);
        }
    }
}

function addSomeZeroes(link, context)
{
    var href=link;
    var regex = new RegExp("(pe\\$003d.:)(\\d*)(\\$0026)");
    var matches = link.match(regex);
    var matches2 = context.match(regex);

    var newValue = matches[2]+matches2[2];
    href = link.replace(regex, matches[1]+newValue+matches[3]);

    return href;
}

function handlePrintFederatedReturn(response)
{
    var json = response.responseText.evalJSON();
    document.getElementById('federatedSearchResults').innerHTML=json.html;
}

function handleTestFederatedReturn(response)
{
    var json = response.responseText.evalJSON();
    document.getElementById('federatedSearchResults').innerHTML=json.html;
    renderColumns();
}


function toggleSecurityState()
{
    if(document.getElementById('authenticationRequired').checked)
    {
        document.getElementById("usernameLabelDiv").style.display = "block";
        document.getElementById("passwordRequiredDiv").style.display = "block";
        document.getElementById("passwordLabelDiv").style.display = "block";
        document.getElementById("authenticationServerDiv").style.display = "block";
        renderColumns();
    }
    else
    {
        document.getElementById("usernameLabelDiv").style.display = "none";
        document.getElementById("passwordRequiredDiv").style.display = "none";
        document.getElementById("passwordLabelDiv").style.display = "none";
        document.getElementById("authenticationServerDiv").style.display = "none"; 
    }
}