
document.onclick = suggestionHide;

/** Odeslání XMLHttp požadavku -- GENERICKÁ PODOBA -- není třeba ve většině případů měnit, což je musinky, lowinky
 * @param Function state_change funkce zajišťující obsluhu při změně stavu požadavku, dostane parametr s XMLHttp objektem
 * @param string method GET|POST|...
 * @param string url URL požadavku
 * @param string [content] tělo zprávy
 * @param object [headers] předané hlavičky ve tvaru { 'hlavička': 'obsah' }
 * @return boolean true v případě úspěchu, false jinak
 */
 function send_xmlhttprequest(state_change, method, url, content, headers)
 {
    var xmlhttp = (window.XMLHttpRequest ? new XMLHttpRequest() : (window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : false));
    if (!xmlhttp)
    {
        return false;
    }
    xmlhttp.open(method, url);
    xmlhttp.onreadystatechange = function ()
    {
        state_change(xmlhttp);
    };
    headers = headers || {};
    headers['X-Requested-With'] = headers['X-Requested-With'] || 'XMLHttpRequest';
    for (var key in headers)
    {
        xmlhttp.setRequestHeader(key, headers[key]);
    }
    xmlhttp.send(content);
    return true;
 }


 function getSuggestion( evt, frm )
 {
    var inputWord = document.getElementById('comboFinderInput').value; //uzivatelovo hledane slovo
    
    if( inputWord.length < 2 )
    { //pokud je zadane slovo kratsi nez 2 znaky, neni nic zobrazeno
        suggestionHide();
        return true;
    }

    //var firstLetter = inputWord.substring(0,1); //prvni znak
    var firstLetter = inputWord;

    // odeslání požadavku na získání dat -- suggestions
    if (!send_xmlhttprequest(suggestionService, 'GET', '/application/layouts/scripts/main-parts/suggestion_rpc.php?firstLetter=' + firstLetter))
    {
        return false;
    }

    return true;
 }


 function suggestionService(xmlhttp)
 {
    if (xmlhttp.readyState == 4)
    {
        // aktualizace suggesion na základě získaných dat -- zobrazení napovídacích slov

         //ziskani XML struktury <suggestions /> --> z toho vezmeme jednotlivé položky, co jsou slova suggestions
        var suggestions = xmlhttp.responseXML.getElementsByTagName('suggestItem');

         //odstranit staré suggestion položky
        var suggestionBox = document.getElementById("suggestionBox");
        while( suggestionBox.hasChildNodes() )
        {
          suggestionBox.removeChild( suggestionBox.lastChild );
        }

         //přidat nové suggestion položky
        var suggestionsWordHTML = "";

        for (var i=0; i < suggestions.length; i++)
        { // suggestions[i].firstChild.data == slovo, které se napovídá (vezmou se všechna)
            //pres kazdy suggestion produkt --> ziskat ID, name, seo url, cenu, fotku
          //suggestionsWordHTML += " <div class = 'suggestionItem' onclick=\"useWord('"+ suggestions[i].firstChild.data +"')\"><a href = ''>"+ suggestions[i].firstChild.data +"</a></div> \n";
          
          var name = suggestions[i].getElementsByTagName('name')[0].firstChild.data;
          var photoName = suggestions[i].getElementsByTagName('photoName')[0].firstChild.data;
          var seoUrl = suggestions[i].getElementsByTagName('seoUrl')[0].firstChild.data;
          var priceWithVat = suggestions[i].getElementsByTagName('priceWithVat')[0].firstChild.data;
          suggestionsWordHTML += " <div class = 'suggestionItem'>" +
              
                                 "  <div class = 'suggestion-photo-box'><img src = '" + photoName + "' class = 'suggestion-photo'></div> " +
                                 "  <div class = 'suggestion-info-box'>" +
                                 "   <div><a href = '" + seoUrl + "'>"+ name +"</a></div>" +
                                 "   <div><strong>"+ priceWithVat +"</strong></div>" +
                                 "  </div> " +
                                 
                                 "  <div class = 'cleaner'></div>" +
                                  "</div> \n";

          //puvodne se vybrane doplnovalo do input text
          // suggestionsWordHTML += " <div class = 'suggestionItem' onclick=\"useWord('"+ suggestions[i].firstChild.data +"')\"><a href = ''>"+ suggestions[i].firstChild.data +"</a></div> \n";
        }
        suggestionBox.innerHTML = suggestionsWordHTML;

        if( suggestions.length == 0 )
        { //nejsou zadne suggestions
          suggestionHide();
        }
        else
        {
          suggestionShow();
        }

    }
 }

 function useWord( word )
 {
   document.getElementById('comboFinderInput').value = word;
   suggestionHide();
 }


 function suggestionShow()
 {
    var suggestionElement = document.getElementById('suggestion');

    if( document.all )
        suggestionElement.setAttribute("className", "suggestionShow");
    else
        suggestionElement.setAttribute("class", "suggestionShow");
 }

 function suggestionHide()
 {
    var suggestionElement = document.getElementById('suggestion');

    if( document.all )
        suggestionElement.setAttribute("className", "suggestionHide");
    else
        suggestionElement.setAttribute("class", "suggestionHide");
 }
