window.tweetsCount = 3;

var LocalSearch = {
    
    baseSearchUrl : 'https://www.googleapis.com/customsearch/v1?key=AIzaSyB8YZ2yhFekRSt8093z8GjWGocd4nSj0tA&cx=014720643469568149143%3Aepyk8hrunwe&callback=?&num=6&q=',

    cse : null,
    
    init : function(){

        $('#create_ticket').hide();

        $('#search_submit').click(function(){
            $('#form_search').submit();
        });

        $('#form_search').submit(function(event){
            event.preventDefault();
            return LocalSearch.makeRequest();
        });
        
        $('#search_q').change(function(){
            var q = $('#search_q').attr('value');
            
            var href=$('#link_create_ticket').attr('href');
            href = href.replace(/\?title=.*/, '?title='+$('#search_q').attr('value'));
            $('#link_create_ticket').attr('href', href);
            
            var href=$('#link_create_email').attr('href');
            href = href.replace(/\?subject=.*/, '?subject='+$('#search_q').attr('value'));
            $('#link_create_email').attr('href', href);
            
        });

        $('#search_q').focus();

        LocalSearch.cse = new google.search.CustomSearchControl('014720643469568149143:epyk8hrunwe');
        LocalSearch.cse.setResultSetSize(5);
        var drawOptions = new google.search.DrawOptions();
        drawOptions.setInput(document.getElementById('search_q'));
        LocalSearch.cse.setSearchStartingCallback(LocalSearch, LocalSearch.searchStarted);
        LocalSearch.cse.setSearchCompleteCallback(LocalSearch, LocalSearch.searchCompleted);
        LocalSearch.cse.setTimeoutInterval(google.search.SearchControl.TIMEOUT_LONG);
        LocalSearch.cse.draw('results_list', drawOptions);
        
        /*
        if ($('#search_q').attr('value')){
            LocalSearch.makeRequest();
        }
        */
    },

    uiInit : function() {
        // GMT+2 clock
        setInterval(LocalSearch.updateClock, 1000);
    },

    calcTime : function(offset) {

        // create Date object for current location
        var d = new Date();

        // convert to msec
        // add local time zone offset
        // get UTC time in msec
        var utc = d.getTime() + (d.getTimezoneOffset() * 60000);

        // create new Date object for different city
        // using supplied offset
        var nd = new Date(utc + (3600000*offset));

        // return time as a string
        var m = nd.getMinutes();
        var s = nd.getSeconds();
        var r = nd.getHours() + ':';
        if (m<10){
            r += '0';
        }
        r += m + ':';
        if (s<10){
            r += '0';
        }
        r += s;

        return r
    },

    updateClock : function(){
        var d = new Date();
        $('#cur_time').text(LocalSearch.calcTime(+3));
    },  
    
    makeRequest : function(){
        var q = $('#search_q').attr('value');
        if (q){
            LocalSearch.cse.execute();
        }
        return false;
    },

    searchStarted : function(){
        $('#loader').show();
        $('#no_results').slideUp();
        $('#create_ticket').slideDown();
    },

    searchCompleted : function(){
        $('#check_first').slideUp();
        $('#loader').hide();
    },

    
    showResults : function(response){
        var $results = $('#results_list');
        $results.empty();
        if (typeof response.items  != "undefined"){
            for (var i = 0; i < response.items.length; i++) {
                var item = response.items[i];
                $results.append( $('<li>').html(LocalSearch.getHtmlItem(item)).hide() );
                $results.children('li:last').slideDown();
            }
            $('#check_first').slideUp();
        } else {
            $results.append( $('<li>').html('<br />&larr; oops! searching went wrong...').addClass('disabled') );
            $('#check_first').slideDown();
        }
        $('#loader').hide();
    },
    
    getHtmlItem: function(item){
        $('#support-search-results h1').removeClass('disabled');
        var title = item.htmlTitle.replace('Helicon Tech', '').replace(' | ', '').replace(' Blog', '');
        if (item.link.indexOf('/forum/') > 0){
            title = 'Forum' + title;
        } else if (item.link.indexOf('/articles/') > 0){
            title = 'Article: ' + title;
        }
        return '<a href="'+item.link+'">'+ title + '</a><p class="snippet">'+item.htmlSnippet+'</p>';
    }
};

/*$(document).ready(LocalSearch.init);*/
