$(document).ready(function() {

    $('html').css({ 'overflow-y': 'scroll' });

    $('#searchForm').submit(function(e) {
        e.preventDefault();
    });

    $('#searchBox').keyup(function(e) {
        delay(function() {

            var data = $('#searchBox').val();

            var url = "/handlers/search.ashx";

            if (data != "") {
                //gaTrackCustomVar(pageUrl, slot, name, value)
                gaTrackCustomVar(url, 1, 'query', data);
                $('#searchResults').load(url, { query: data }, function() {
                    $('#searchResults ul:first').show(0);
                    $('#searchResults').fadeIn(500);
                    $('a.clearBtn').fadeIn(500).click(function(e) {
                        clearSearch();
                        e.preventDefault();
                    });

                    $('#searchResults li').mouseover(function() {
                        $(this).addClass('hover');
                    });

                    $('#searchResults li').mouseout(function() {
                        $(this).removeClass('hover');
                    });

                    $('#searchResults li').click(function() {
                        clearSearch();
                        var url = $(this).find('a').attr('href');
                        window.location.href = url;
                    });

                    $('#searchResults .paging a').click(function(e) {

                        var $curLink = $(this);
                        if ($(this).hasClass('current')) {
                            e.preventDefault();
                        } else {
                            var pageTo = $(this).index();
                            $('#searchResults ul:visible').fadeOut(500, function() {
                                $('#searchResults ul').eq(pageTo).fadeIn(500, function() {
                                    $('#searchResults .paging a.current').removeClass('current');
                                    $curLink.addClass('current');
                                });
                            });
                        }
                        e.preventDefault();
                    });
                });
            } else {
                clearSearch();
            }

        }, 500);
    });

});

function clearSearch(){
	$('#searchResults').fadeOut(200);
	$('a.clearBtn').fadeOut(200);
	$('#searchBox').val("");
}

var delay = (function(){
  var timer = 0;
  return function(callback, ms){
    clearTimeout (timer);
    timer = setTimeout(callback, ms);
  };
})();

