﻿function getQueryVariable(variable) {
    var query = window.location.hash.substring(1);
    var vars = query.split("&");
    for (var i = 0; i < vars.length; i++) {
        var pair = vars[i].split("=");
        if (pair[0] == variable) {
            return unescape(pair[1]);
        }
    }
    return "";
}


function contentPaginationInit(pagingClientID, contentListClientID, params) {

    var $contentListClientID = $("#" + contentListClientID);
    var $pagingClientID = $("#" + pagingClientID);
    
    if(window.location.hash) {
    
        var page = parseInt(getQueryVariable("page"));
    
        bindContentList(isNaN(page) ? 0 : page - 1, params, $contentListClientID, $pagingClientID);
    }
    
    $pagingClientID.find(".page").click(function(e) {

        $pagingClientID.find(".page").removeClass("sel");
        $(this).addClass("sel");
        bindContentList($(this).attr("rel") - 1, params, $contentListClientID, $pagingClientID);
        //e.preventDefault();
    });
}

function getContentListObj(page, params) {

    this.page = isNaN(page) ? 0 : page;
    this.type = params[0];
    this.category = params[1];
    this.subTitle = params[2];
    this.showPastEvents = params[3];
    this.showCurrentEvents = params[4];
    this.imageHeight = params[5];
    this.imageWidth = params[6];
    this.orderBy = params[7];
    this.items = params[8];
    this.skipItems = params[9];
    this.tags = params[10];
    this.showTopImageOnly = params[11];
    this.pageSize = params[12];
}

function bindContentList(page, params, $contentListClientID, $pagingClientID) {

    //var response;
    
    $contentListClientID.addClass('loading');
    
    $.ajax({
        type: "POST",
        url: "/API/WebService.asmx/GetContent",
        data: JSON.stringify(new getContentListObj(page, params)),
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {

            if (msg.d.Error === "") {
                
                $contentListClientID.html(msg.d.ReturnText);
                
//                if(msg.d.Paging != "") {
//                    $pagingClientID.html(msg.d.Paging);
//                    $pagingClientID.show();
//                    bindExhibitorListPagingEvents();
//                }
//                else
//                    $pagingClientID.hide();
            }
            else {
                //response = '<div id="status" class="result error"><span id="lblError">' + msg.d.ReturnText + '</span></div>';
            }
        },
        error: function() {

            //response = '<div id="status" class="result error"><span id="lblError">Error</span></div>';
        },
        complete: function() {
            
            $contentListClientID.removeClass('loading');
        }
    });
}
