﻿var isClicked = false;

document.onclick = function()
{
    if (!isClicked)
    {
        closeAll();
    }

    isClicked = false;
}

document.ondoubleclick = function()
{
    if (!isClicked)
    {
        closeAll();
    }

    isClicked = false;
}

//                    document.onmouseup = function ()
//                    {                                                                
//                        sideTimer = setTimeout( closeAll, 1000);                                            
//                    }

function closeAll()
{
    //var list = [2, 3, 4, 5];
    var list = [2, 3, 4];

    // Check if what you want to see is finished loading
    if (document.getElementById("ssi3Input") == null)
        return;

    for (var i = 0; i < list.length; i++)
    {
        var el = document.getElementById("ssi" + list[i]);
        if (el != null)
        {
            document.getElementById("ssi" + list[i]).style.display = 'none';
        }
    }

    if (document.getElementById("ssi3Input").value == "" &&
        typeof actorHeader != "undefined")
    {
        document.getElementById("ssi3Input").value = actorHeader;
    }

    //        if (document.getElementById("ssi5Input").value == "" &&
    //            typeof directorHeader != "undefined") {
    //            document.getElementById("ssi5Input").value = directorHeader;
    //        }

    selectedElementID = "";
}

function supportedClick()
{
    isClicked = true;
}

function swapFocus(ElementName)
{
    isClicked = true;
    //clearTimeout(sideTimer);

    var oElement = document.getElementById(ElementName);
    var isElementOpen = (oElement.style.display == 'block');

    if (isElementOpen)
    {
        closeAll();
    }
    else
    {
        setFocus(ElementName);
    }
}

function setFocus(ElementName)
{
    isClicked = true;
    //clearTimeout(sideTimer);

    var oElement = document.getElementById(ElementName);
    var isElementOpen = (oElement.style.display == 'block');

    if (!isElementOpen)
    {
        closeAll();
        oElement.style.display = 'block';
        selectedElementID = ElementName;
    }
}

function buildControlList(array, controlPrefix, startWith)
{
    var htmlStr = "";

    if (array == null)
    {
        return;
    }

    if (typeof (startWith) == 'undefined' || startWith == "")
    {
        var itemsCount = array.length;

        if (itemsCount > 50)
        {
            itemsCount = 50;
        }

        for (var i = 0; i < itemsCount; i++)
        {
            var value = array[i];
            htmlStr += "<li><a onclick=\"document.getElementById('" + controlPrefix + "Input').value=this.innerHTML;\" href=\"javascript:;\">" + value + "</a></li>";
        }
    } else
    {

        var counter = 0;
        for (var i = 0; i < array.length; i++)
        {
            if (counter >= 50)
            {
                break;
            }

            var value = array[i];

            if (value.indexOf(startWith) >= 0)
            {
                htmlStr += "<li><a onclick=\"document.getElementById('" + controlPrefix + "Input').value=this.innerHTML;\" href=\"javascript:;\">" + value + "</a></li>";
                counter++;
            }
        }
    }

    var oUL = document.getElementById(controlPrefix + "UL");
    oUL.innerHTML = htmlStr;
}

function focusOnActor(control)
{
    if (selectedElementID != 'ssi3')
    {
        setFocus('ssi3', false);

        if (control.value == actorHeader)
        {
            control.value = '';
        }

        buildControlList(ActorList, 'ssi3', control.value);
    } else
    {
        setFocus('ssi3', false);
    }
}

function focusOnDirector(control)
{
    if (selectedElementID != 'ssi5')
    {
        setFocus('ssi5', false);

        if (control.value == directorHeader)
        {
            control.value = '';
        }

        buildControlList(DirectorList, 'ssi5', control.value);
    } else
    {
        setFocus('ssi5', false);
    }
}

function SubmitSearch()
{
    var genre = document.getElementById("ssi2Input").value;
    var actor = document.getElementById("ssi3Input").value;
    //var director = document.getElementById("ssi5Input").value;
    var orderBy = "";

    var queryStr = "SearchType=SideBar";

    queryStr += "&ByGenre=";
    if (typeof genreHeader == "undefined" || genre == genreHeader)
    {
        queryStr += "null";
        genre = "";
    }
    else
    {
        queryStr += escape(genre);
    }

    queryStr += "&ByActor=";
    if (typeof actorHeader == "undefined" || actor == actorHeader)
    {
        queryStr += "null";
        actor = "";
    }
    else
    {
        queryStr += escape(actor);
    }

    //        if (typeof directorHeader != "undefined" && director != directorHeader) {
    //            queryStr += "&ByDirector=" + escape(director);
    //        }
    //        else
    //        {
    //            director = "";
    //        }

    var radioElements = document.getElementsByName('whatyouwanttosee_order');
    if (document.getElementById("ssi4Input") != null)
    {
        orderBy = document.getElementById("ssi4Input").value;
    }
    else if (radioElements != null)
    {
        var chosen;
        for (i = 0; i < radioElements.length; i++)
        {
            if (radioElements[i].checked)
            {
                chosen = radioElements[i].value;
            }
        }

        orderBy = chosen;
    }
    else
    {
        orderBy = "null";
    }

    queryStr += "&OrderBy=" + escape(orderBy);

    if (typeof (OrangeSearchStatisticsFunction) == 'function')
    {
        OrangeSearchStatisticsFunction(genre, actor, orderBy);
    }

    window.location.href = applicationBaseURL + "search.aspx?" + base64encode(queryStr) + "&" + top.GetLanguageQuery();
}