var countResultsItem = 8;
var key = "ABQIAAAAIcGPCo8baZRZ54fb8fsVchSLGesMKQ7GsRzFdYbZBb2VwvmKUhRgqHrwDGocVck0EKJszKv0MiH5YQ";

$(document).resize(function(){
    $("#gresults").css({
        'left': ($('#gtext').offset().left + $('#gtext').width()) - $("#gresults").width() - 26,
        'top': $('#gtext').offset().top + $("#gtext").height() + 5
    });
});

$(function(){
    
    $(document).trigger('resize');

    $("#gtext").focus(function(){
        if($(this).val() == $(this).attr('title')) $(this).val('');
    });

    $("#gtext").focusout(function(){
        if($(this).val() == '') $(this).val($(this).attr('title'));
    });

    $("#gbutton").click(function(){
        G_AJAX_SEARCH( $("#gtext").val(), 0);
    });
    
    $("#gtext").keypress(function(event) {
      if (event.which == '13') $("#gbutton").trigger('click');
    });
    
    $("#gresults ul.pages li").live('click', function(){
        G_AJAX_SEARCH( $("#gtext").val(), $(this).text());        
    });

    $("#gclose a").live("click", function(){
        $("#gresults").animate({'opacity': 0}, 400, function(){ $("#gresults").css('display', 'none');});
        return false;
    });
});

function G_AJAX_SEARCH (value, pageNumber){

    if(pageNumber > 1) {
        var nextItems = (pageNumber - 1) * countResultsItem;
    } else  {
        var nextItems = 0;        
        pageNumber = 1;
    }


    $("#gresults").animate({'opacity': 0}, 400, function(){

        $.ajaxSetup({scriptCharset: "utf-8" , contentType: "application/json; charset=utf-8"});
        $.getJSON("https://ajax.googleapis.com/ajax/services/search/web?rsz=" + countResultsItem + "&start=" + nextItems + "&v=1.0&q=site:e-science.ru " + encodeURIComponent(value) + "&key=" + key + "&callback=?", function(data){

            if( data['responseStatus'] != '200' ) {
                //for(x in data) alert(x + ': ' + data[x]);
                alert('Как я понимаю, то ты слишком часто пользуешься поиском. Гугл нам гласит что бла бла бла мы не соблюдаем соглашение. Но нам пох же правда? )))');
            } else {
                    // Формируемс результатс
                    var html = '';
                    var results = data['responseData']['results'];
                    for(x in results) html += '<li class="title"><a href="' + results[x]['unescapedUrl'] + '" target="_blank">' + results[x]['titleNoFormatting'] + '</a></li><li>' + results[x]['content'] + '</li><li class="link"><a href="' + results[x]['unescapedUrl'] + '" target="_blank">' + results[x]['url'] + '</a></li>';
                    
                    if(!html) html += '<li>Нищаго не найдено</li>';
                    
                    $("#gresults ul.items").html(html);
                    // Формируемс номера страниц
                    var html_pages = '';
                    var pages = data['responseData']['cursor']['pages'];
                    for(x in pages) {
                        if(pages[x]['label'] == pageNumber) {
                            html_pages += '<li><a href="#"><b>' + pages[x]['label'] + '</b></a></li>'
                        } else {
                            html_pages += '<li><a href="#">' + pages[x]['label'] + '</a></li>'                       
                        }
                    }
                    $("#gresults ul.pages").html(html_pages);            
                    $("#gresults").css('display', 'block').animate({'opacity': 1}, 400);  
             }
         }); 
    });
}
