﻿(function(j$) {
    //Global Vars
    var txtSearch;
    var lblSearch;
    $SData = "";
    var selectedItem = null;

    j$(document).ready(function() {
        txtSearch = j$("#txtRecherche");
        //        lblSearch = j$("#lblSearch");
        //        lblSearch.click(function() {
        //            lblSearch.hide();
        //            txtSearch.focus();
        //        });
        //        txtSearch.click(function() {
        //            lblSearch.hide();
        //        });
        j$("#lnkDoSearch").click(function() {
            doSearch();
        });

        txtSearch.keyup(txtsearch_keypress);
        txtSearch.blur(function() {
            //            if (txtSearch.val() == "") {
            //                lblSearch.show();
            //            }
        });
        j$(".suggestAnswer").hide();
        //        txtSearch.blur(function(event) { setTimeout(function() { setSelectedItem(null); }, 250); });
    });

    function txtsearch_keypress(event) {
        if (event.keyCode == '13') {
            j$(".suggestAnswer").hide();
            if (selectedItem != null) {
                txtSearch.val(j$(".suggestAnswer").find('.suggestItem').eq(selectedItem - 1).removeClass('.suggestHighlight').text());
                setSelectedItem(null);
                doSearch();
            }
            else {
                doSearch();
            }
        }

        //Check if feeds are plugged in page
        var bsuggest = false;
        try {
            var arrTest = arrFeeds;
            bsuggest = true;
        } catch (e) { }

        if (bsuggest && event.keyCode != '13') {
            if (event.keyCode > 40 || event.keyCode == 8) {
                setSelectedItem(null);
                getSuggest();
            } else if (event.keyCode == 38) { //Fleche haut
                setSelectedItem(selectedItem - 1);
                //            event.preventDefault();
            } else if (event.keyCode == 40) {//Fleche bas
                setSelectedItem(selectedItem + 1);
                //            event.preventDefault();
            } else if (event.keyCode == 27 && selectedItem != null) {//Fleche bas
                setSelectedItem(selectedItem + 1);
                j$(".suggestAnswer").hide();
                //            event.preventDefault();
            }
        }
    }

    function doSearch() {
        window.location.href = "/acheter/" + txtSearch.val();
    }

    function getSuggest() {

        var visible = false;
        var ret = "<table border='0' cellpadding=0 cellspacing=0><tr>";
        var suggestAnswer = j$(".suggestAnswer");
        suggestAnswer.hide();

        if (txtSearch.val().length == 0) { return; }
        var postArgs = { query: txtSearch.val() };
        j$.getJSON('/wuc/Antidots/GetSuggest.aspx', postArgs, function(response) {
            for (i = 0; i < arrFeeds.length; i++) {
                var arrFeed = arrFeeds[i];
                ret += "<td class='suggestTdCol ";
                if ((i + 1) != arrFeeds.length) {
                    ret += "borderRightContent";
                }
                ret += "'>";

                ret += "<div class=\"suggestBoxHeader ";
                if ((i + 1) != arrFeeds.length) {
                    ret += "borderRight";
                }
                ret += "\"><b>" + arrFeed[1] + "</b></div>";
                if (response[arrFeed[0]] != undefined) {
                    visible = true;
                    var feed = response[arrFeed[0]][1];
                    for (j = 0; j < feed.length; j++) {
                        ret += "<div class=\"suggestItem ";
                        var reg = new RegExp('(' + txtSearch.val() + ')', 'gi');
                        ret += "\">" + feed[j].replace(reg, '<b>$1</b>') + "</div>";
                    }
                }
                ret += "</td>";
            }

            //ret += "</tr><tr><td class='pubAnti' colspan='" + arrFeeds.length + "'>Suggestions powered by <a href='http://www.antidot.net' target='_blank'>Antidot</a></td>";
            ret += "</tr></table>";
            suggestAnswer.html(ret);
            if (visible) {
                suggestAnswer.show();
            }
            j$.each(suggestAnswer.find(".suggestItem"), function(index, term) {
                j$(term)
                .mouseover(function() {
                    j$(this).addClass("selectedSuggest");
                })
                .mouseout(function() {
                    j$(this).removeClass("selectedSuggest");
                })
                .click(function() {
                    txtSearch.val(j$(this).text());
                    suggestAnswer.hide();
                    doSearch();
                });
            });
        });
    }

    function setSelectedItem(item) {
        selectedItem = item;
        if (selectedItem === null) {
            j$(".suggestAnswer").hide();
        }
        if (selectedItem < 0) { selectedItem = 0; }
        if (selectedItem > j$(".suggestAnswer").find('.suggestItem').length) { selectedItem = j$(".suggestAnswer").find('.suggestItem').length; }

        j$(".suggestAnswer").find('.suggestItem').removeClass('suggestHighlight').eq(selectedItem - 1).addClass('suggestHighlight');

    }



})(jQuery);