var baseURL = "http://tusongmatsing.com";
//var baseURL = "http://localhost:8080/TusongMatsingServices";

function updateResult(transport){
        var json = transport.responseText.evalJSON();

        var tmpWord='';
        var tmpString='';

        if(json.resultsFound > 0){

            json.results.each(function(item){
                    if(tmpWord != item.word){
                        tmpWord = item.word;
                        tmpString += '<span class="word">' + item.word + '</span>';
                    }
                    tmpString += '<ul class="result">';
                    tmpString += '<li class="type"><label>' + item.type + '</label>';
                    tmpString += '<ul class="translation">';
                    tmpString += '<li class="translation">' + item.translation + '</li>';
                    tmpString += '<ul class="example">';
                    tmpString += '<li class="example">"' + item.filipino_sample + '"</li>';
                    tmpString += '<li class="example">"' + item.english_sample + '"</li>';
                    tmpString += '</ul></ul></li></ul>';
                    
            });
            Element.update('results', tmpString);


        }else{
            Element.update('results','<span class="status">ouch! that word is not defined yet.</span>');
        }

}

function search(searchString){
        Element.update('results','<span class="status">searching...</span>');

        new Ajax.Request(baseURL + '/resources/SearchResource?search='+ searchString , {
                    method:'get',
                    onSuccess: function(transport){
                            updateResult(transport);
                    }
        });
}

function latestEntry(){
        
        Element.update('results','<span class="status">loading latest entry...</span>');

        new Ajax.Request(baseURL + '/resources/LatestEntryResource' , {
                    method:'get',
                    onSuccess: function(transport){
                            updateResult(transport);
                    }
        });
        
}

function respondToEnterKey(event) {
        if (Event.KEY_RETURN == event.keyCode) {
                search($('searchString').getValue());
                Event.stop(event)
        }
}

function searchRedirect(){
        var urlparams = window.location.href.toQueryParams();
        if(urlparams.searchString != undefined){
                search(urlparams.searchString);
        }else{
            latestEntry();
        }
}

Event.observe(window, 'load', function() {
        searchRedirect();
        $('searchString').observe('keypress', respondToEnterKey);

});
