var url_base="http://www.unicef.org/search/autocomplete_proxy.php";
var index_name = "disp_taxonomy";
var template = "service.xml";

function getSESUrl(service) {
        return url_base + "?TBDB=" + index_name + "&TEMPLATE=" + template + "&SERVICE=" + service;
}
$().ready(function() {
    $('#name').text(index_name);

    function log(event, data, formatted) {
                $("<li>").html( !data ? "No match!" : "Selected: " + formatted).appendTo("#result");
        }

        function parse(data) {
                var parsed = [];
                $(data).find('TERM_HINTS').each(function(){
                  $(this).find('TERM_HINT').each(function() {
                    var facets = [];
                    $(this).find('FACET').each(function() {
                      facets[facets.length] = {id: $(this).attr('ID'), name: $(this).attr('NAME')};
                    });
                    var hints = [];
                    $(this).find('HINT').each(function() {
                      hints[hints.length] = $(this).text();
                    });
                        parsed[parsed.length] = {
                          data: [$(this).attr('ID'),$(this).attr('NAME'), facets, hints],
                          value: $(this).attr('ID')
                        };
                  });
                });
                return parsed;
        };

        function formatItem(data, index, max, term, query) {

        var out = data[1];

        // If the Preferred Term didn't contain the search term then add the hint list
        if ( ! new RegExp("(^|\\s|\\(|,|\\.|-)(?![^&;]+;)(?!<[^<>]*)" + query,"i").test(data[1])) {
                        out += " (";

                        for (var i=0; i<data[3].length;) {
                           out += "<i> " + data[3][i] + " </i>";
                           if (++i != data[3].length ) out += ", ";
                        }

                        out += ")";


        }

        // if we have facet names add them as byline
	/*
        if (data[2].length) {
           out += "<br><span class=\"facet\"><i>in ";

           for (var i=0; i<data[2].length; ){
               out += "<strong>" + data[2][i].name + "</strong>";
               i++;
               if ( (i+2) == data[2].length) out += " and ";
               else if ( i!=data[2].length) out += ", ";
           }


           out += "</i></span>";

        }
	*/

        return out;


        }

        $("#UNICEFSearchtextfield").autocomplete(getSESUrl("prefix"), {
                width: 200,
                scrollHeight: 400,
                selectFirst: false,
                delay: 100,
                cacheLength: 0,
                formatItem: formatItem,
                parse: parse,
                minChars: 1
        });

        $("#UNICEFSearchtextfield").result(function(event, data, formatted) {
                if (data) {
                        $(location).attr('href', "/search/search.php?q=" + data[1] + "&type=Main");


                }
        });

	
        $("#textfield").autocomplete(getSESUrl("prefix"), {
                width: 400,
                scrollHeight: 400,
                selectFirst: false,
                delay: 100,
                cacheLength: 0,
                formatItem: formatItem,
                parse: parse,
                minChars: 1
        });

        $("#textfield").result(function(event, data, formatted) {
                if (data) {
                        $(location).attr('href', "search.php?q=" + data[1] + "&type=Main");


                }
        });

});

