//.search .parent-focus .drop{display:block;}
justUpdated = false;
var mouse_is_inside = false;
var previousSearch = '';
var request;
$(document).ready(function () {

    $('.search').submit(function(){
        return false;
    });
    $('#searchField').keypress(function(event){
        var code = (event.keyCode ? event.keyCode : event.which);
        if(code == 13) { //Enter keycode
            updateSearchResults();
            justUpdated = true;
        }
    });
    $('#searchField').change(function(event){        
        if(!justUpdated) {
            updateSearchResults();
        }
        justUpdated = false;
    });
    
    initSearchDropEvents();
    $(document).click(function(){
        if(! mouse_is_inside) {
            previousSearch='';
            $("#searchField").val($('#main-search-form').attr('data-default_value'));
            $('#main-search-drop').hide();
        }        
    });

    $('#main-search-drop').hide();
});
function initSearchDropEvents() {
    $('#main-search-drop, #main-search-form').mouseover(function(){
        mouse_is_inside=true; 
    });
    $('#main-search-drop, #main-search-form').mouseout(function(){
        mouse_is_inside=false; 
    });
}
function updateSearchResults() {
    
    if(previousSearch != $("#searchField").val() && $("#searchField").val() != '') {
        if(request) {
            request.abort();
        }
        request = $.post(
            $('#main-search-form').attr('data-submit_url'),
            { searchStr : $("#searchField").val()},
            function(result){
                $('#main-search-drop').replaceWith(result);
                $('#main-search-drop').hide();
                $('#main-search-drop').fadeIn();
                initSearchDropEvents();
                $('#main-search-drop').show();
            }
        );
        previousSearch = $("#searchField").val();
    }    
}

