﻿function setPaging() {
    var myFunction = function() {
        makeMarkers();
        //callWebService.run();
        return false;
    }
    if ($('pages')) {
        $('pages').dispose();
    }
    if (wsTot > wsCnt) {
        
        var pagination = new Element('div', {
            'id':'pages'
        });
        var pages = Math.ceil(wsTot / wsCnt);
        var prevLink = new Element('a', {
            'class': 'prev',
            'html': '&laquo; Prev',
            'href': '#'
        });
        var nextLink = new Element('a', {
            'class': 'next',
            'html': 'Next &raquo;',
            'href': '#'
        });
        var pageSpan = new Element('span', {
            'html': 'Page ' + curPage + ' of ' + pages
        });
        var pageBr = new Element('br');

        prevLink.addEvent('click', function(e) {
            curPage = (curPage - 1)
            wsBeg = ((curPage - 1) * 10) + 1;
            var myPage = curPage;
            if (myPage < 10) {
                myPage = '0' + myPage;
            }
            pageTracker._trackPageview('/locationSearch/' + encodeURI(homeAddress) + '/' + getFilter() + '/resultsFound/' + wsTot + '/page' + myPage);
            myFunction.run();
            e.stop();
        });
        nextLink.addEvent('click', function(e) {
            curPage = (curPage + 1)
            wsBeg = ((curPage - 1) * 10) + 1;
            var myPage = curPage;
            if (myPage < 10) {
                myPage = '0' + myPage;
            }
            pageTracker._trackPageview('/locationSearch/' + encodeURI(homeAddress) + '/' + getFilter() + '/resultsFound/' + wsTot + '/page' + myPage);
            myFunction.run();
            e.stop();
        });
        if (curPage == 1) {
            prevLink.setStyle('visibility', 'hidden');
        }
        if (curPage >= pages) {
            nextLink.setStyle('visibility', 'hidden');
        }
        prevLink.inject(pagination);
        nextLink.inject(pagination);
        pageSpan.inject(pagination);
        pageBr.inject(pagination);

        if ((pages < 9) || ((curPage < 5) && (pages >= 9))) {
            var max = 9;
            if (pages < 9) {
                max = pages;
            }
            for (var i = 0; i < max; i++) {
                if ((i + 1) == curPage) {
                    var pageLink = new Element('b', {
                        'text': (i + 1)
                    });
                }
                else {
                    var pageLink = new Element('a', {
                        'text': (i + 1),
                        'href': '#'
                    });
                    pageLink.addEvent('click', function(e) {
                        curPage = this.get('text').toInt();
                        wsBeg = ((curPage - 1) * wsCnt) + 1;
                        var myPage = curPage;
                        if (myPage < 10) {
                            myPage = '0' + myPage;
                        }
                        pageTracker._trackPageview('/locationSearch/' + encodeURI(homeAddress) + '/' + getFilter() + '/resultsFound/' + wsTot + '/page' + myPage);
                        myFunction.run();
                        e.stop();
                    });
                }
                pageLink.inject(pagination);
            }
        }
        else {
            var max = (curPage + 4);
            var min = (curPage - 5);
            if(max > pages)
            {
                max = pages;
                min = pages - 10;
            }
            for (var i = min; i < max; i++) {
                if ((i + 1) == curPage) {
                    var pageLink = new Element('b', {
                        'text': (i + 1)
                    });
                }
                else {
                    var pageLink = new Element('a', {
                        'text': (i + 1),
                        'href': '#'
                    });
                    pageLink.addEvent('click', function(e) {
                        curPage = this.get('text').toInt();
                        wsBeg = ((curPage - 1) * wsCnt) + 1;
                        var myPage = curPage;
                        if (myPage < 10) {
                            myPage = '0' + myPage;
                        }
                        pageTracker._trackPageview('/locationSearch/' + encodeURI(homeAddress) + '/' + getFilter() + '/resultsFound/' + wsTot + '/page' + myPage);
                        myFunction.run();
                        e.stop();
                    });
                }
                pageLink.inject(pagination);
            }
        }
        
        pagination.inject($('locations'));
    }
}