    gui = {
        runSearch: function(tag,width) {

            this.queryString = "didita/" +tag;
            this.currentItem = 1;
            this.itemsPerPage = 5;
            this.store = new dojo.data.DeliciousStore();
            //the query just fetches 1 item, used to get total size
            var self = this;
            this.result = this.store.find({
                query: this.queryString,
                sync: false,
                scope: this,
                oncompleted:
                    function(result) { self.result = result; self.displayPage(width); }
            });

            //this.result.setOnFindCompleted(this.displayPage, this);
	    return false;
        },
        showPreviousPage: function() {
            this.currentItem -= this.itemsPerPage;
            if (this.currentItem < 0) {this.currentItem = 0; };
            this.displayPage();
        },
        showNextPage: function() {
            this.currentItem += this.itemsPerPage;
            this.displayPage();
        },

        displayPage: function(width) {
            //this.result.setOnFindCompleted(null);
            //dojo.debug("displayPage " +dojo.json.serialize( this.result.resultMetadata) );
            var min = this.currentItem;
            var max = min + this.itemsPerPage - 1;

            this.textArray = [];
            this.textArray.push('<table width="'+width+'" style="background-color:#EEEEEE; border-collapse:collapse">');

            this.result.start = this.currentItem;
            this.result.count = 5;//this.itemsPerPage;
            this.result.onnext = this.displayItem;
            this.result.oncompleted = null;
            this.result = this.store.find( this.result );
            //this.result.forEach(this.displayItem, this, {start:this.currentItem, count:this.itemsPerPage})
        },

        displayItem: function(item, result) {
            var url = this.store.get(item, 'Bookmark');
            var title = this.store.get(item, 'Description');
            //var summary = this.store.get(item, 'Note');
            //dojo.debug( dojo.json.serialize(item));
            //var identity = this.store.getIdentity(item);
            this.textArray.push('<tr style="border: 2px #FFFFFF solid">');
            this.textArray.push('<td style="width:30px;border-right:2px;">' + (parseInt(item)+1) + '</td>');
            this.textArray.push('<td width="*"><a href="' + url + '">' + title + '</a></td>');
            //this.textArray.push('<td width="25%">' + summary + '</td>');
            this.textArray.push('</tr>');
            var output = this.textArray.join('\n');
            var outputDiv = document.getElementById("outputDiv");
            outputDiv.innerHTML = output;
        }
    };