﻿var mUrlPrefix = "";

/*** Function to open up the EditMember page in a modal dialog. ***/
function showEditMemberPage(selectedMemberId)
{
    //window.top.frames("bodyFrame").location = "EditMember.aspx?MemberId=" + selectedMemberId;
    //window.radopen(null, "MemberEdit");
    window.showModalDialog( mUrlPrefix + "EditMember.aspx?MemberId=" + selectedMemberId);
}

var mGroupMemberGrid
function GetGridObject()
{
    mGroupMemberGrid = this;
}
function EditMember(index)
{
    var sUrl = mUrlPrefix + "EditMember.aspx?MemberId=" + GetMemberIdFromRowIndex(index); 
    
    modalWindow(sUrl, "EditMember", "750", "400");
}

function EditMemberById(id)
{
    var sUrl = mUrlPrefix + "EditMember.aspx?MemberId=" + id; 
    
    modalWindow(sUrl, "EditMember", "750", "400");
}

function AddNewMemberByGroupId(GroupId)
{
    var sUrl = mUrlPrefix + "EditMember.aspx?MemberId=-1&GroupId=" + GroupId ;
        
    modalWindow(sUrl, "EditMember", "750", "400");
}

function AddNewMember()
{
    var sUrl = mUrlPrefix + "EditMember.aspx?MemberId=-1&GroupId=" + mGroupId ;
        
    modalWindow(sUrl, "EditMember", "750", "400");
}

function ExportToExcel()
{
   mGroupMemberGrid.MasterTableView.ExportToExcel("GroupMembers");
}

function CallBackFunction(radWindow, returnValue)
{
    //returns value from the modal radwindow, and sends through argument
    CopySelectedMembers(returnValue);
 }


function CopySelectedMembers(copyToGroupId)
{

   //Make Callback.
   var args = getStringOfSelectedMembers() + "," +  copyToGroupId;
   CBCopyMembersToGroup.MakeCallback("GroupMembersGrid", args);
   return false
}

function RemoveSelectedMembers()
{
     //Make Callback.
   CBRemoveMembersFromGroup.MakeCallback("GroupMembersGrid", getStringOfSelectedMembers());
}

function DeleteSelectedMembers()
{
     //Make Callback.
   CBDeleteMembersFromGroup.MakeCallback("GroupMembersGrid", getStringOfSelectedMembers());
}

/// helper functions ///

function getStringOfSelectedMembers()
{
// gets the selected Rows in datagrid and returns a comma separated string of memberid's
   var SelectedList = "" ;
   var Selected = mGroupMemberGrid.MasterTableView.SelectedRows;
   for(i=0;i<Selected.length;i++)
   {
       var Row = Selected[i]
       SelectedList += GetMemberIdFromRowIndex(Row.Index) + ",";
   }
   SelectedList = SelectedList.substr(0,SelectedList.length-1)
   
   return SelectedList;
}

function GetMemberIdFromRowIndex(rowIndex)
{
    var gridRow = mGroupMemberGrid.MasterTableView.Rows[rowIndex];
    var selectedMemberId = mGroupMemberGrid.MasterTableView.GetCellByColumnUniqueName(gridRow, "MemberId").innerHTML;
    return selectedMemberId;
}
function RefreshGrid()
{
    //refresh data in the grid.
    RefreshDataGridCallBack.MakeCallback("GroupMembersGrid", null);
}