function ApplySelectedIndex (gridID, index)
{
   try{
        var rootTable = document.getElementById(gridID);
        if (rootTable == null)
            return;
        var allChildTables = rootTable.getElementsByTagName('TABLE');
        if (allChildTables == null)
            return;
        
        var table;
        for (var i=0; i<allChildTables.length; i++)
        {
            if (allChildTables[i].className == 'grid')
            {
                table = allChildTables[i];     
            }
        }
        if (table != null)
        {
            var allRows = table.getElementsByTagName('TR');
            var itemRows = new Array();
            for (var i=0; i<allRows.length; i++)
            {
                if (allRows[i].className == 'item' || allRows[i].className == 'alternate' || allRows[i].className == 'selected')
                    itemRows[itemRows.length] = allRows[i];
            }
            
            if (itemRows.length > 0)
            {
                var rowObj=itemRows[index];
                SetSelectedRow(gridID, rowObj);
            }
        }        
    }
    catch(e)
    {
        alert(e.message);
    }
}

function SetSelectedRow(gridID, rowObj)
{
    try{
        var workRow = rowObj;
        var rootTable = document.getElementById(gridID);
        if (rootTable == null)
            return;
        var allChildTables = rootTable.getElementsByTagName('TABLE');
        if (allChildTables == null)
            return;
        
        var table;
        for (var i=0; i<allChildTables.length; i++)
        {
            if (allChildTables[i].className == 'grid')
            {
                table = allChildTables[i];     
            }
        }

        if (table != null)
        {
            var allRows = table.getElementsByTagName('TR');
            var itemRows = new Array();
            for (var i=0; i<allRows.length; i++)
            {
                if (allRows[i].className == 'item' || allRows[i].className == 'alternate' || allRows[i].className == 'selected')
                    itemRows[itemRows.length] = allRows[i];
            }
            var selectedIndex = document.getElementById(gridID + '_hidSelectedIndex');
            for (var i=0; i<itemRows.length; i++)
            {
                if (i%2 == 0)   
                    itemRows[i].className = 'item';
                else
                    itemRows[i].className = 'alternate';
                if (itemRows[i] == workRow)
                {
                    selectedIndex.value = i;
                    var currentDataArray = eval(gridID + '_DataArray');
                    var currentNamesArray = eval(gridID + '_ColumnNamesArray');
                    
                    for (var j=0; j<currentNamesArray.length; j++)
                    {
                        var sFilteredName = currentNamesArray[j];
                        if(sFilteredName.indexOf("%24") > -1)
                            sFilteredName = sFilteredName.replace("%24", "$");
  
                        var currentDataHidden = document.getElementById(gridID + '_' + sFilteredName);
                        currentDataHidden.value = currentDataArray[i][j];
                    }
                    
                }
                itemRows[i].getElementsByTagName('IMG')[0].width = 1;
                itemRows[i].getElementsByTagName('IMG')[0].height = 1;
                itemRows[i].getElementsByTagName('IMG')[0].src = blankImage.src;
            }
            workRow.className = 'selected';
            workRow.getElementsByTagName('IMG')[0].width = 6;
            workRow.getElementsByTagName('IMG')[0].height = 11;
            workRow.getElementsByTagName('IMG')[0].src = arrowImage.src;
        }
    
    }
    catch(e)
    {
        alert(e.message);
    }
}

function MoveSelectedRow(gridID, side)
{
    try{
        var rootTable = document.getElementById(gridID);
        if (rootTable == null)
            return;
        var allChildTables = rootTable.getElementsByTagName('TABLE');
        if (allChildTables == null)
            return;
        var table;
        for (var i=0; i<allChildTables.length; i++)
        {
            if (allChildTables[i].className == 'grid')
            {
                table = allChildTables[i];     
            }
        }
        
        if (table != null)
        {
            var selectedRow = 0;
            var allRows = table.getElementsByTagName('TR');
            var itemRows = new Array();
            var itemRow = null;
            var nextRow = null;
            for (var i=0; i<allRows.length; i++)
            {
                if (allRows[i].className == 'item' || allRows[i].className == 'alternate' || allRows[i].className == 'selected')
                    itemRows[itemRows.length] = allRows[i];
            }
            for (var i=0; i<itemRows.length; i++)
            {
                if (itemRows[i].className == 'selected')
                {
                    if (side == true)
                    {
                        if (i < itemRows.length - 1)
                        {
                            selectedRow = i + 1;
                            nextRow = itemRows[i + 1];
                            itemRow = itemRows[i];
                        }
                    }
                    else
                    {
                        if (i > 0)
                        {
                            selectedRow = i - 1;
                            nextRow = itemRows[i - 1];
                            itemRow = itemRows[i];
                        }
                    }
                }
            }
            if (itemRow != null)
            {
                var selectedIndex = document.getElementById(gridID + '_hidSelectedIndex');
                selectedIndex.value = selectedRow;
                var currentDataArray = eval(gridID + '_DataArray');
                var currentNamesArray = eval(gridID + '_ColumnNamesArray');
                
                for (var j=0; j<currentNamesArray.length; j++)
                {
                     var sFilteredName = currentNamesArray[j];
                        if(sFilteredName.indexOf("%24") > -1)
                            sFilteredName = sFilteredName.replace("%24", "$");
  
                    var currentDataHidden = document.getElementById(gridID + '_' + sFilteredName);
                    currentDataHidden.value = currentDataArray[selectedRow][j];
                }

                if (nextRow.className == 'item')
                    itemRow.className = 'alternate'
                else if (nextRow.className == 'alternate')
                    itemRow.className = 'item'
                else
                    return;
                itemRow.getElementsByTagName('IMG')[0].width = 1;
                itemRow.getElementsByTagName('IMG')[0].height = 1;  
                itemRow.getElementsByTagName('IMG')[0].src = blankImage.src;

                nextRow.className = 'selected';
                nextRow.getElementsByTagName('IMG')[0].width = 6;
                nextRow.getElementsByTagName('IMG')[0].height = 11;
                nextRow.getElementsByTagName('IMG')[0].src = arrowImage.src;
            }
        }
    }
    catch(e)
    {
        alert(e.message);
    }
}

function DisabledButton(controlID, gridID)
{
    try{
        var list = document.getElementById(controlID + "_listPageCount");
        if (list != null)
        {
            if (list.selectedIndex <= 0)
                document.getElementById(gridID + "_btnPrevPage").disabled = true;
            if (list.selectedIndex + 1 == list.length)    
                document.getElementById(gridID + "_btnNextPage").disabled = true;
        }
    }
    catch(e)
    {
        alert(e.message);
    }
}
