﻿
// Routinen für AJAX und ClientDataBinding

function displayError(result) {
    window.alert(result.get_exceptionType() + ": " + result.get_message() + ", " + result.get_stackTrace());
}


function setHtmlToControl(element, text) {
    element.innerHTML = text;
}


function setTextToControl(element, text) {
    if (typeof element.innerText != 'undefined') {
        element.innerText = text;
    }
    else if (typeof element.textContent != 'undefined') {
        element.textContent = text;
    }
}




// DataListWrapper
// ---------------
DataListWrapper = function(GetDataProc, DataListName, PagerName1, PagerName2) {

    // Variablen
    var _getDataProc = GetDataProc;
    var _dataList = $find(DataListName);
    var _pager1 = null;
    if (PagerName1 != null) var _pager1 = $find(PagerName1);
    var _pager2 = null;
    if (PagerName2 != null) _pager2 = $find(PagerName2);

    this.getDataList = function() {
        return _dataList;
    }

    this.getPager1 = function() {
        return _pager1;
    }

    this.getPager2 = function() {
        return _pager2;
    }


    // Methoden			
    this.pagedCallComplete = function(result) {
        if (_pager1 != null) _pager1.set_recordCount(result.TotalRowsCount);
        if (_pager2 != null) _pager2.set_recordCount(result.TotalRowsCount);
        _dataList.set_dataSource(result.Rows);
        _dataList.dataBind();
    }


    this.pagerPageChanged = function(sender, e) {
        if (_pager1 != null) _pager1.set_pageIndex(e.get_newPageIndex());
        if (_pager2 != null) _pager2.set_pageIndex(e.get_newPageIndex());
        _getDataProc();
    }


    // Konstruktor
    if (_pager1 != null) _pager1.add_pageChanged(this.pagerPageChanged);
    if (_pager2 != null) _pager2.add_pageChanged(this.pagerPageChanged);
}