﻿/// <reference name="MicrosoftAjax.js"/>

function friendPageIndexChanged() {
    var pagerControl = $find('friendProfile_divFriendPager');
    var gridControl = $find('friendProfile_divFriends');

    // Get the player ID from the form that we now know is loaded
    var playerID = document.getElementById('friendProfile_txtFriendID').value;
    var sortNumber = document.getElementById('friendProfile_txtRandomNumber').value;

    gridControl.set_xmlUrl(
        'Services/LocalServices.svc/GetFriendsList?playerID=' + playerID + '&sortNumber=' + sortNumber + '&pageSize=7&currentPageIndex=' + pagerControl.get_currentPageIndex());
}

function iBoxCallback() {
    // Get the player ID from the form that we now know is loaded
    var operatorFolder = document.getElementById('friendProfile_txtOperatorFolder').value;
    var playerID = document.getElementById('friendProfile_txtFriendID').value;
    var sortNumber = document.getElementById('friendProfile_txtRandomNumber').value;
    var xmlUrlString =
        'Services/LocalServices.svc/GetFriendsList?playerID=' + playerID + '&sortNumber=' + sortNumber + '&pageSize=7&currentPageIndex=0';
    
    // Check if the control is already associated with the control
    var gridControl = $find('friendProfile_divFriends');
    if (gridControl) {
        gridControl.dispose();
    }

    var gridElement = document.getElementById('friendProfile_divFriends');
    var props = {
        xsltUrl:  Resources.XsltPath +'/XSLT/FriendXMLtoHTML.xslt',
        xmlUrl: xmlUrlString,
        isRefreshCache: true
    };

    gridControl = $create(QuizArt.WebSites.PlayinStar.JS.XMLControl, props, null, null, gridElement);
    
    // Initialize the pager
    var maxPages = parseInt(document.getElementById('friendProfile_txtMaxPages').value);
    var pagerControl = $find('friendProfile_divFriendPager');
    if (pagerControl) {
        pagerControl.dispose();
    }
    
    props = {
        totalPages: maxPages,
        maxPagesDisplay: 5,
        currentPageIndex: 0, 
        cssClass: 'pager',
        m_operatorFolder : operatorFolder
    };

    var pagerElement = document.getElementById('friendProfile_divFriendPager');
    pagerControl = $create(QuizArt.WebSites.PlayinStar.JS.Pager, props, null, null, pagerElement);
    
    // Subscribe to the page index changed event
    pagerControl.add_pageIndexChanged(friendPageIndexChanged);

    pagerControl._render();
}

function openFriendMyselfPopup(playerID) {
    iBox.clearEventListeners('documentLoad');
    iBox.addEventListener('documentLoad', iBoxCallback);
    iBox.hide();
    window.setTimeout(
        "iBox.showURL('FriendProfile.aspx?playerID=" + playerID + "&dummy=" + MakeDumy() + "', '', { width: '665', height: '615' });",
        100);
}

// Opens the popup of a friend profile
function openFriendPopup(playerID) {
    iBox.clearEventListeners('documentLoad');
    iBox.addEventListener('documentLoad', iBoxCallback);
    iBox.hide();
    window.setTimeout(
        "iBox.showURL('FriendProfile.aspx?playerID=" + playerID + "&dummy=" + MakeDumy() + "', '', { width: '665', height: '645' });",
        100);
}

function AddAsFriendFromFriendProfile(sender) {
    var playerID = document.getElementById('friendProfile_txtLoggedInPlayerID').value;
    var friendID = document.getElementById('friendProfile_txtFriendID').value;

    AddAsFriend(parseInt(playerID), parseInt(friendID));

    // We will need to make the button disappear
    if (sender != undefined) {
        sender.style.display = 'none';
    }
}

function AddAsFriend(playerID, friendID) {
    var url = appPath + '/Services/LocalServices.svc/AddFriend';
    var params = { playerID: playerID, friendID: friendID };
    $.get(url, params);
}
