var autoCompleteData;
var searchTerm = '';

$('#adv-search-btn').click(function(){
    if (document.getElementById('adv-search-content-box') != undefined)
        $('#adv-search-content-box').hide();
    $('#adv-search-input-box').slideToggle('fast', function() {
        if ($(this).is(':visible'))
		$('.img-adv-search').removeClass('img-adv-search-plus').addClass('img-adv-search-minus');
        else
		$('.img-adv-search').removeClass('img-adv-search-minus').addClass('img-adv-search-plus');
    });        
});

$('#adv-search-browse-btn').click(function(){
    $('#adv-search-browse-box').slideToggle('fast');
});

$('.adv-search-location-mode').click(function(){
        $('#adv-search-location').autocomplete('option', 'disabled', $(this).val() == 2 );
});

$('.adv-search-keyword-radio').click(function(){
    if ($(this).val() == 1) {
        if (document.getElementById('adv-search-refine-price') !== undefined)
            $('#adv-search-refine-price').slideDown('fast');

        $('#adv-search-price').slideDown('fast');
    } else {
        if (document.getElementById('adv-search-refine-price') !== undefined)
            $('#adv-search-refine-price').slideUp('fast');

        $('#adv-search-price').slideUp('fast');
    }
});

if ($('#keywords').val().length < 1)
    $('#keywords').focus();

function autoComplete(request, callback){

    var suggestion = [];
    request.term = $.trim(request.term).replace(",", " ").replace(/\s+/g, " ");

    if (autoCompleteData != undefined && 
        (request.term.length > 3 || (request.term.length == 3 && searchTerm != "" && request.term == searchTerm))) 
    {
        for(var i=0; i<autoCompleteData.length; i++) {

            var regExpTerm = new RegExp(request.term, "i");

            if (autoCompleteData[i].location.search(regExpTerm) == 0
                || (autoCompleteData[i].postCode != undefined && autoCompleteData[i].postCode.search(regExpTerm) == 0))
            {

                suggestion.push(autoCompleteData[i].location);
            }
        }              

        callback(suggestion);
    } else {
        var minTerm = request.term;

        if (request.term.length > 3)
            minTerm = request.term.substr(0, 3);

        $.getJSON("/search/ajaxAutoComplete", {"term" : minTerm}, function(data){

            searchTerm = request.term;
            autoCompleteData = data;
            for(var i=0; i<autoCompleteData.length; i++) {

                var regExpTerm = new RegExp(request.term, "i");

                if (autoCompleteData[i].location.search(regExpTerm) == 0
                    || (autoCompleteData[i].postCode != undefined && autoCompleteData[i].postCode.search(regExpTerm) == 0))
                {

                    suggestion.push(autoCompleteData[i].location);
                }
            }

            callback(suggestion);
        });
    }
}

$("#clear-search-btn").click(function(){
    $("#keywords").val("");
    $("#adv-search-location").val("");
    $("#radius").val("");
    $("input:checkbox:checked", "#adv-search-price").attr("checked", false);
    $("input:checkbox:checked", "#adv-search-shop-type").attr("checked", false);
    $("input:checkbox:checked", "#adv-search-cuisine").attr("checked", false);
    $("input:checkbox:checked", "#adv-search-feature").attr("checked", false);
    $("#adv-search-content-box").css("display", "none");
    return false;
});

function newsletterInputFocus(obj, oriStr)
{
	if (obj.value == oriStr)
		obj.value = '';
}

function newsletterInputBlur(obj, oriStr)
{
	if (obj.value == '')
		obj.value = oriStr;
}

