function showAdvanced(forceShow)
{
    var box = document.getElementById('adv').style;
    var link = document.getElementById('adv_link');
    var hidelink = document.getElementById('adv_hide_link');
    if(box.display != 'block' || forceShow) {
        box.display = 'block';
        link.style.display = 'none';
        hidelink.style.display = 'inline';
        // Split search string into include and exclude
        updateAdvText(document.getElementById('searchTextHorni').value);
    } else {
        box.display = 'none';
        link.style.display = 'inline';
        hidelink.style.display = 'none';
    }
    //showClearLink();
}

/* Changes between tabs */
function showAdvancedTab(tab)
{
    // first we turn them of all
    var divs = document.getElementById('adv_tabs').getElementsByTagName('div');
    for (i = 0; i < divs.length; i++) {
        if(divs[i].className == 'advanced_tab')
            divs[i].style.display = 'none';
    }
    document.getElementById('link_adv_quick').className = '';
    document.getElementById('link_adv_concept').className = '';
    document.getElementById('link_adv_people').className = '';
    document.getElementById('link_adv_scene').className = '';
    document.getElementById('link_' + tab).className = 'selecttab';
    // than turn on the chosen one
    document.getElementById(tab).style.display = 'block';
}

function updateSimpleText() {
    var searchbox = document.getElementById('searchTextHorni');
    searchbox.value = '';

    include = document.getElementById('search_include').value.split(' ');
    for (i=0; i<include.length; i++) {
    	if (include.length > 0) {
        	searchbox.value += (searchbox.value.length > 0 ? ' ' : '') + include[i];
        }
    }

   exclude = document.getElementById('search_exclude').value.split(' ');
    for (i=0; i<exclude.length; i++) {
    	if (exclude[i].length > 0) {
    		searchbox.value += (searchbox.value.length > 0 ? ' ' : '') + '-' + exclude[i];
    	}
    }
}

/**
 *  Resets form - because of setting values after search action, we cannot use just form.reset(),
 *  so it goes through form.elements[] and unsets checkboxes, selects and text inputs manually
 */
function resetForm()
{
    var e = document.forms['topSearchForm'].elements;
    for (i=0; i < e.length; i++) {
        // document.write(e[i].name + ': ' + e[i].type + "<br>");
        if (e[i].type == 'checkbox') {
            e[i].checked = false;
        } else if (e[i].type == 'select-multiple') {
            var s = e[i].options;
            for (j=0; j < s.length; j++) {
                s[j].selected = false;
            }
        } else if (e[i].type == 'text') {
            e[i].value = '';
        }
    }
    document.getElementById('adv_clear').style.display = 'none';
    //showAdvanced(true);
}

function showClearLink()
{
    var e = document.forms['topSearchForm'].elements;
    show = false;
    for (i=0; i < e.length; i++) {
        //document.write(e[i].name + ': ' + e[i].type + "<br>");
        if (!e[i].style.display || e[i].style.display != 'none') {
          if (e[i].type == 'checkbox' && e[i].checked == true) {
            if (e[i].name != "collection[]") {
              show = true;
              break;
            }
          } else if (e[i].type == 'select-multiple' && e[i].selectedIndex != -1) {
            show = true;
          	break;
          } else if (e[i].type == 'text' && e[i].value != '') {
            show = true;
          	break;
          }
        }
    }
    if (show == true) {
    	document.getElementById('adv_clear').style.display = 'inline';
    } else {
    	document.getElementById('adv_clear').style.display = 'none';
    }
}

/*
 * prepina advanced search po realoadu
 * Not sure what this actually does...
 */
function showAdvancedSearch(nazevSekce) {
    displaySearch = readCookie("displaySearch");
    if (displaySearch == 1) {
        menuZobraz('advanced_search_form');
        zmenZnamenkoAdvanced(nazevSekce)
    }
}

/*
 * vymaze option z daneho vyberu 
 * clear option of chosen selection
 */
function clearOption(nameOption) {
	var e = document.getElementById(nameOption);
	for (i=0; i < e.length; i++) {
    	e[i].selected = false;
    }
	showClearLink();
    document.getElementById(nameOption+'_Link').style.display = 'none';
}
function showClearOptionLink(nameLink,value) {
	var showLink = false;
	if(value != 'undefined'){
    	showLink = true;
	}
	if (showLink == true) {
    	document.getElementById(nameLink).style.display = 'inline';
    } else {
    	document.getElementById(nameLink).style.display = 'none';
    }
}

// SUGGEST

function searchQuery(query) {
    document.getElementById('searchTextHorni').value = query;
    document.getElementById('topSearchForm').submit();
}

var suggestQuery = "";

function pixmacSuggest(query) {
    var keyword;
    if (query.indexOf(" ") != -1) {
        keyword = query.substring(query.lastIndexOf(" ") + 1);
    } else {
        keyword = query;
    }
    if (query != suggestQuery) {
        suggestQuery = query;
        ajaxRequest('/service', 'GET', {ajax:'SuggestAjax', query: keyword}, null, true);
    }
}

function suggest(keywords, replacedQuery) {
    var suggestBox = document.getElementById("suggestBox");
    var searchBox = document.getElementById("searchTextHorni");
    if (suggestBox) {
        suggestBox.style.display = "block";
        var suggestContent = "";
        for (i = 0; i < keywords.length; i++) {
            suggestContent += "<p onclick=\"searchSuggest('" + keywords[i] + "', '" + replacedQuery + "')\">" + keywords[i] + "</p>";
        }
        if (!suggestContent) {
             document.getElementById("suggestBox").style.display = "none";
        }
        suggestBox.innerHTML = suggestContent;
    }
}

function initSuggestBox() {
    var suggestBox = document.getElementById("suggestBox");
    var searchBox = document.getElementById("searchTextHorni");
    if (suggestBox && searchBox) {
        suggestBox.style.top = (searchBox.offsetTop + searchBox.offsetHeight) + "px";
        suggestBox.style.left = searchBox.offsetLeft + "px";
    }
}

function synchroniseInputs() {

}

function searchSuggest(keyword, replacedQuery) {
    document.getElementById("suggestBox").style.display = "none";
    var text = document.getElementById("searchTextHorni").value;
    if (text.indexOf(replacedQuery) != -1) {
        var keywordStart = text.lastIndexOf(replacedQuery);
        var keywordStop = keywordStart + replacedQuery.length;
        text = text.substring(0, keywordStart) + text.substring(keywordStop);
    } 
    text = text + keyword;
    document.getElementById("searchTextHorni").value = text;
    document.getElementById("topSearchForm").submit();
}

function hideSuggest() {
    setTimeout('document.getElementById("suggestBox").style.display = "none"', 500);
}
