$(document).ready(function () {
    
    //settings show&hide
    $('#toggleSettings a').click(function () {
        var settingsButton = $(this);
        $('#settings').toggle('fast', function () {
            if ($('#settings').is(':hidden')) {
                $(settingsButton).text('Show settings');
            }
            if ($('#settings').is(':visible')) {
                $(settingsButton).text('Hide settings');
            }
        });
        return false;
    });

    //refresh button handler & JSON call
    $('.refresh').click(function () { 
        var refreshButton = $(this);
        var parentDiv = refreshButton.parent();
        $(parentDiv).fadeTo("normal", 0.40);
		refreshButton.removeClass('ready').addClass('loading');
		
        var itemCount = $('#itemCount option:selected').val();
        var query = $(this).siblings('.q').val();
        
        
        if ($('#onlyLinks').is(':checked')) {
            query = query + " filter:links";
        }
        
        var encQuery = escape(query);

        var url = "http://search.twitter.com/search.json?callback=?&lang=en&rpp=" + itemCount + "&q=" + encQuery;
        
        $.getJSON(url, function (json) {
            $(parentDiv).find('.tweet').remove();
            $(json.results).each(function (i) {
                var author = json.results[i].from_user;
                var authorLink = '<a class="author" href="http://twitter.com/' + author + '">' + author + '</a>'; 
                var textBlock = json.results[i].text;
                var output = textBlock.replace(/(http:\/\/\S*)/g, '<a href="$1">$1<\/a>');
                $(parentDiv).append('<p class="tweet">' + authorLink + ': ' + output + '</p>');
            });
            $(parentDiv).fadeTo("normal", 1);
            refreshButton.removeClass('loading').addClass('ready');
        });
        return false;
    });
    
    //trigger all refresh buttons when "refresh all" is clicked
    $('#refreshAll').click(function () { 
        $('.refresh').each(function () {
            $(this).click();
        });
        return false;
    });    
    
    //refresh buttons "enter" shortkey
    $(".q").keypress(function (e) {
      	if (e.which == 13){
	     $(this).siblings('.refresh').click();
	     }
    });
	   
    
    //hide settings and refresh all on page load
    $('#settings').hide();
    $('#refreshAll').click();
});