/**
 * 新搜索所使用的JS函数
 *
 * @author  phpcrazy <phpcrazy@163.com>
 * @since   2008-12-16
 */

//转入指定页面
function fnLocationTo(url)
{
	location.href = url;
}

//获取保存的搜索条件
function fnLoadFavorite()
{
	$('#FavoriteList').css('display', 'block');
	$('#FavoriteList > #content').hide();
	$('#FavoriteList > #loading').show();
	$.getJSON("search_ajax.php", {act:'loadFavorite'}, function(json){
		$('#FavoriteList > #content').find('tr').not('.firstFav').remove();
		for (var i=0; i<json.length; i++) {
			var tr = $('#FavoriteList > #content').find('.firstFav').clone();
			$(tr).attr('id', 'favlist_'+json[i].id);
			$(tr).find('td').eq(0).find('a').attr('href', '?'+json[i].query_string);
			$(tr).find('td').eq(0).find('a').html(json[i].title);
			$(tr).find('td').eq(1).find('a').attr('href', 'javascript:fnDelFavorite('+json[i].id+')');
			$(tr).removeClass('firstFav').show().appendTo('#FavoriteList > #content');
		}
		$('#FavoriteList > #loading').hide();
		$('#FavoriteList > #content').show();
	});
}

//保存搜索条件
function fnSaveFavorite(site, query)
{
	if (query && confirm('确实要保存此搜索条件吗？')) {
		$.post("search_ajax.php", {act:'saveFavorite', site:site, query:query}, function(data){
			if (data!='[OK]' || data=='1') {
				alert(data);
			}
			else {
				fnLoadFavorite();
			}
		})
	}
}

//保存搜索条件
function fnDelFavorite(favId)
{
	if (favId && confirm('确实要删除此搜索条件吗？')) {
		$.post("search_ajax.php", {act:'delFavorite', fav_id:favId}, function(data){
			if (data!='[OK]' || data=='1') {
				alert(data);
			}
			else {
				$('#favlist_'+favId).remove();
			}
		});
	}
}

//获取输入
function fnSuggest(input, search_suggest)
{
    var oldText = null;
    var $autocomplete = $('#'+search_suggest).hide();
    var selectedItem = null;
    var setSelectedItem = function(item){
        selectedItem = item;

        if (selectedItem === null) {
            $autocomplete.hide();
            return;
        }

        if (selectedItem < 0) {
            selectedItem = 0;
        }
        if (selectedItem >= $autocomplete.find('dt').length) {
            selectedItem = $autocomplete.find('dt').length - 1;
        }
        $autocomplete.find('dt').removeClass('selected').eq(selectedItem).addClass('selected');
        $autocomplete.show();
    };

    var populateSearchField = function(){
        $('#'+input).val($autocomplete.find('dt').eq(selectedItem).text());
        setSelectedItem(null);
    };

    $('#'+input).attr('autocomplete', 'off').keyup(function(event){
        //                 console.log(event.keyCode);
        if (event.keyCode > 40 || event.keyCode == 8 || event.keyCode == 32) {
            // Keys with codes 40 and below are special (enter, arrow keys, escape, etc.).
            // Key code 8 is backspace.
            //$('#test').text($('#'+input).val());
            // Chinese input method supported:
            if (oldText != $.trim($('#'+input).val())) {
                oldText = $.trim($('#'+input).val());
                if (event.keyCode == 8 && $.trim($('#'+input).val()) == '') {
                    setSelectedItem(null);
                    return;
                }

                $.getJSON("http://search.100du.com/search_suggest.php?key=" + encodeURIComponent($('#'+input).val()) + "&jsoncallback=?", function(data){
                    // console.log(data.length);
                    if (data.length) {
                        $autocomplete.empty();
                        $.each(data, function(index, term){
                            $('<dt></dt>').text(term).appendTo($autocomplete).mouseover(function(){
                                setSelectedItem(index);
                            }).click(populateSearchField);
                        });

                        setSelectedItem(0);
                    }
                    else {
                        setSelectedItem(null);
                    }
                });
            }
        }
        else
            if (event.keyCode == 38 && selectedItem !== null) {
                // User pressed up arrow.
                setSelectedItem(selectedItem - 1);
                event.preventDefault();
            }
            else
                if (event.keyCode == 40 && selectedItem !== null) {
                    // User pressed down arrow.
                    setSelectedItem(selectedItem + 1);
                    event.preventDefault();
                }
                else
                    if (event.keyCode == 27 && selectedItem !== null) {
                        // User pressed escape key.
                        setSelectedItem(null);
                    }
    }).keypress(function(event){
        if (event.keyCode == 13 && selectedItem !== null) {
            // User pressed enter key.
            populateSearchField();
            event.preventDefault();
        }
    }).blur(function(event){
        setTimeout(function(){
            setSelectedItem(null);
        }, 250);
    });

}

//切换高亮显示
function fnChangeSpan(img)
{
	if ($(img).attr('value')=='1') {
		$(img).attr("src", gaoliang_img_src2);
		$('.yx_hl').addClass('gl');
		$(img).attr('value', '2');
		if (typeof($.cookie)=='function') {
			$.cookie('100duSearchGaoliang', 2);
		}
	}
	else {
		$(img).attr("src", gaoliang_img_src1);
		$('.yx_hl').removeClass('gl');
		$(img).attr('value', '1');
		if (typeof($.cookie)=='function') {
			$.cookie('100duSearchGaoliang', 1);
		}
	}
}
