﻿//
//  Client-side script for NagsHead.NewsService.GetNews()
//

function _eventsService() {
    
    this._container = $get('EventsServiceContainer');
    this._currentPageContainer = $get('EventsServiceCurrentPageContainer');
    this._currentPageLinksContainer = $get('EventsServicePagingLinksContainer');
    
    this._currentPage = 0;
    this._totalPages = 0;
}

_eventsService.prototype.NextPage = function() {
    EventsService._currentPage = (EventsService._currentPage + 1);
    EventsService.RequestNews();
}

_eventsService.prototype.PreviousPage = function() {
    EventsService._currentPage = (EventsService._currentPage - 1);
    EventsService.RequestNews();
}

_eventsService.prototype.RequestNews = function() {
    NagsHead.EventsService.GetEvents(EventsService._currentPage, EventsService.RequestNews_Succeed);
}

_eventsService.prototype.RequestNews_Succeed = function(rawResult) {

    this._result = eval("(" + rawResult + ")");
    this._return = '';
    
    for(var i=0; i<=this._result.paging[0].returnTotal; i++) {
        try
        {
            this._return += '<a href="event_details.aspx?ev=' + this._result.items[i].id + '" onclick="return go_event(this.href)"';
            this._return += ' class="eventContainer">';
            this._return += '<div class="date">' + this._result.items[i].date + '</div>';
            this._return += '<h1>' + this._result.items[i].title + '</h1>';
            this._return += '';
            this._return += '<div class="info">' + this._result.items[i].info + '</div>';
            this._return += '<div class="more_info">More information ></div>';
            this._return += '</a><div class="hr_dots"></div>';
        }
        catch (oError) { }
    }
    
    if(this._result.paging[0].returnTotal == 0) {
        this._return = 'Looks like we haven\'t got any events scheduled for now. Why not check out ';
        this._return += 'the regular events page?';
    }
    else {
        EventsService.UpdatePaging(this._result.paging[0].pageTotal);
    }
    
    EventsService._container.innerHTML = this._return;
}

_eventsService.prototype.UpdatePaging = function(pageTotal) {
    
    EventsService._currentPageContainer.innerHTML = "You are on page ";
    EventsService._currentPageContainer.innerHTML += "<strong>" + (EventsService._currentPage + 1) + "</strong> of ";
    EventsService._currentPageContainer.innerHTML += "<strong>" + (pageTotal) + "</strong>";
    
    var _showNextPrev = false;
    var _currentPage = (EventsService._currentPage + 1);
    
    if(pageTotal != '1') _showNextPrev = true;
    
    if(_showNextPrev) {
        EventsService._currentPageLinksContainer.innerHTML = '';
        
        if(_currentPage > 1) {
            EventsService._currentPageLinksContainer.innerHTML += '<a href="javascript:EventsService.PreviousPage();">previous</a>';
        } 
        
        if((_currentPage > 1) && (_currentPage < pageTotal)) { 
            EventsService._currentPageLinksContainer.innerHTML += '&nbsp;|&nbsp;'; 
        }
        
        if((_currentPage) < pageTotal) {
            EventsService._currentPageLinksContainer.innerHTML += '<a href="javascript:EventsService.NextPage();">next</a>';
        }
    }
    
}
