﻿function PageTable(pagerID, tableID, direction) {
    var table = $(tableID);
    if (direction == 0) {
        table.className += " paged";
        table.page = 0;
    }
    var pageSize = 5;
    var page = table.page;
    page += direction;
    if (page >= 0) {
        var table = $(tableID);
        var rows = returnElements(table, "tr");
        if (rows.length > 0 && direction == 0) $(pagerID).style.display = "block";
        if (rows.length > page * pageSize) {
            var i;
            for (i = 0; i < rows.length; i++) {
                if (i >= page * pageSize && i < (page + 1) * pageSize) {
                    rows[i].className = "shown";
                } else {
                    rows[i].className = "hidden";
                }
            }
            table.page = page;
            var prevLink = $$('#' + pagerID + " .prev");
            if (prevLink.length > 0) {
                prevLink[0].className = page > 0 ? "prev" : "prev disabled";
            }
            var nextLink = $$('#' + pagerID + " .next");
            if (nextLink.length > 0) {
                nextLink[0].className = rows.length > (page + 1) * pageSize ? "next" : "next disabled";
            }
        }
    }
    return false;
}

function PageStats(src, role, id, page, resultid) {
    var div = $(resultid);

    div.select("div.pageloading").each(Element.show);

    if (!div.pages) {
        var els = div.childElements();
        var wrap;
        for (i = 0; i < els.length; i++) {
            if (!wrap) {
                wrap = Element.wrap(els[i], "div");
            } else {
                Element.insert(wrap, els[i]);
            }
        }
        div.pages = [wrap];
    }

    if (!div.pages[page]) {
        var closure = [];
        closure[0] = resultid = resultid;
        closure[1] = page = page;
        TheFA.Portal.WebServices.EnglandArchive.EAService.GetStats(role, id, page, resultid, GetComplete, GetFailed, closure);
    } else {
        div.childElements().each(Element.hide);
        div.pages[page].show();
        div.select("div.pageloading").each(Element.hide);
    }
    return false;
}

function PageManagedPlayers(src, id, page, resultid) {
    var closure = [];
    closure[0] = resultid = resultid;
    closure[1] = page = page;
    TheFA.Portal.WebServices.EnglandArchive.EAService.GetManagedPlayers(id, page, resultid, GetComplete, GetFailed, closure);
    return false;
}

function GetComplete(html, closure, methodName) {
    var div = $(closure[0]);
    if (div.pages == undefined) {
        div.pages = [undefined];
    }
    div.pages[closure[1]] = new Element('div').insert(html);
    div.childElements().each(Element.hide);
    div.insert(div.pages[closure[1]]);
    div.select("div.pageloading").each(Element.hide);
}

function GetFailed() {
}

function Name_OnClientLoad(sender) {
    sender.roleDDL = returnElements(getObj('role'), 'select')[0];
}

function Name_OnClientFocus(sender) {
    if (sender.roleValue != sender.roleDDL.value) {
        sender.get_items().clear();
    }
}

function Name_OnClientDropDownOpening(sender, eventArgs) {
    if (sender.get_text().length < 1 && sender.roleDDL.value != '3') {
        sender.get_items().clear();
        eventArgs.set_cancel(true);
    }
}

function Name_OnClientItemsRequesting(sender, eventArgs) {
    if (sender.get_text().length < 1 && sender.roleDDL.value != '3') {
        sender.get_items().clear();
        eventArgs.set_cancel(true);
    } else {
        sender.roleValue = sender.roleDDL.value;
        eventArgs._context["Role"] = sender.roleDDL.value;
    }
}

function Name_OnClientSelectedIndexChanged(sender, eventArgs) {
    var item = eventArgs.get_item();
    var url = item.get_value();
    document.location = url;
}
