﻿var suggestIndex = 0;       
var suggestIndexMax = 10; 
        
function showDiv(id)
{
    if (document.getElementById(id) != null)
    {
        document.getElementById(id).style.display = "block";
    }
}

function hideDiv(id)
{
    if (document.getElementById(id) != null)
    {
        document.getElementById(id).style.display = "none";
    }
}

function autoSuggest()
{        
    var echoElem = document.getElementById(tbTopSearch);    
    ajaxSolrAutoSuggest.AutoSuggest(echoElem.value,SucceededCallback,FailedCallback);
}

function SucceededCallback(result)
{
    var RsltElem = document.getElementById("autoResult");
    RsltElem.innerHTML = result;
    document.getElementById("search-auto-result").style.display = "block";
}

function FailedCallback(result)
{
    var RsltElem = document.getElementById("autoResult");
    RsltElem.innerHTML = "";
    document.getElementById("search-auto-result").style.display = "none";
}
    
function ClearAutoSuggest()
{
    var RsltElem = document.getElementById("autoResult");
    RsltElem.innerHTML = "";
    document.getElementById("search-auto-result").style.display = "none";
}

function detectKeyDown(e)
{
    var target = (e && e.target) || (window.event && window.event.srcElement);
    var obj = document.getElementById(tbTopSearch);
    var evt = e ? e : window.event;            
    var iKeyCode = evt.keyCode;                     
 
    if(target==obj)
    { 
        switch(iKeyCode)
        {
            case 38: //up arrow
                autoSuggestmoveUp();
                break;
            case 40: //down arrow
                autoSuggestmoveDown();
                break;
            case 13: //return key                                                         
                if (suggestIndex != 0)
                {
                    if (evt.preventDefault)
                        evt.preventDefault();
                    window.focus();
                    var obj = document.getElementById("autoSuggestLink_" + suggestIndex);                    
                    window.location = obj.href;
                    return false;
                }
                else
                {                    
                    if (evt.preventDefault)
                        evt.preventDefault();
                    window.focus();
                    window.location = SearchUrl + obj.value + '&Published=Last 2 Years';
                    return false;            
                }
                break;
        }
    }
    return true;
}

function autoSuggestmoveUp()
{
    suggestIndex--;
    if (suggestIndex < 0)
        suggestIndex = 0;
    updateSelectedSuggest();
}

function autoSuggestmoveDown()
{
    suggestIndex++;
    if (suggestIndex > suggestIndexMax)
        suggestIndex = suggestIndexMax;
    updateSelectedSuggest();
}

function autoSuggestOver(i)
{
    suggestIndex = i;
    updateSelectedSuggest();
}

function updateSelectedSuggest()
{
    for (var i = 1; i<=suggestIndexMax ;i++)
    {
        if (i == suggestIndex)
        {                    
            var obj = document.getElementById("autoSuggest_" + i);                    
            obj.className = "autoSuggestItemSelected";
        }
        else
        {
            var obj = document.getElementById("autoSuggest_" + i);
            if (obj != null)
            obj.className = "autoSuggestItem";
        }
    }
}


function clickcheck(e)
{
    var target = (e && e.target) || (event && event.srcElement);
    var obj = document.getElementById(tbTopSearch);
        
    if(target!=obj)
    {
        ClearAutoSuggest();        
    }    
    else
    {
        if (obj.value=="Search over 13,000 archived articles")
            obj.value="";
    }
    
    var obj2 = document.getElementById("country-selector");
    var img = document.getElementById("country-selector-img");
    var cd = document.getElementById("country-dropdown");
    if(target==obj2 || target==img)
    {
        if (cd.className == "country-dropdown")
            cd.className = "country-dropdown-selected";
        else
            cd.className = "country-dropdown";
    }
    else
        cd.className = "country-dropdown";
        
        
}


function detectKeyUp(e)
{
    var target = (e && e.target) || (window.event && window.event.srcElement);
    var obj = document.getElementById(tbTopSearch);
    var evt = e ? e : window.event;  
    if(target==obj)
        {
        var iKeyCode = evt.keyCode;
        //if (iKeyCode != 38 && iKeyCode != 40 && iKeyCode != 13)
        //    autoSuggest();
        if (iKeyCode == 32)
            autoSuggest();
        }
}

function GotoSearch()
{
    var obj = document.getElementById(tbTopSearch);
    window.location = SearchUrl + obj.value + '&Published=Last 2 Years';
}