﻿var selectedId = 0;
        
function setSelected(rowId)
{
    selectedId = rowId;
}

function setDetailsView()
{
    var selectedIdx = 0;
    var analysesTbl = getElementByIdFragment(document, "table", "AnalysesView");
    
    var plusOne = true;
    
    var aRows = analysesTbl.rows;
    
    for(var i = 0; i < aRows.length; i++)
    {
		var idField = getElementByIdFragment(aRows[i], "input", "AnalysisIdField");
		
        if (idField != null && idField.value != null && idField.value == selectedId)
        {
            if (plusOne) 
            {
                selectedIdx = i + 1;
            }
            else
            {
                selectedIdx = i;
            }
            
            break;
        }
        else
        {
            if (aRows[i].id == "detailsRow")
            {
                plusOne = false;
            }
        }
    }
    
    if(selectedIdx > 0)
    {
        var detailsRow = getElementByIdFragment(document, "table", "AnalysesView").insertRow(selectedIdx);
        detailsRow.className = "analysisDetails";
        detailsRow.id = "detailsRow";
        var detailsCell = detailsRow.insertCell(0);
    	
        var detailsView = document.getElementById("AnalysisDetails");
    	
    	detailsCell.className = "analysisDetails";
	    detailsCell.setAttribute("colSpan", "5");
	    detailsCell.innerHTML = detailsView.innerHTML;
	}
}

function removeInsertedRows(analysesTbl)
{
    var aRows = analysesTbl.getElementsByTagName("tr");
    
    for(var i = aRows.length - 1; i >= 0; i--)
    {
        if (aRows[i].id == "detailsRow")
        {
            analysesTbl.deleteRow(i);
        }
    }
}

function getElementByIdFragment(parent, controlType, fragment)
{
    var aControls = parent.getElementsByTagName(controlType);
    
    for(var i = 0; i < aControls.length; i++)
    {
        var currentCtl = aControls[i];
		
        if (currentCtl.id != null && currentCtl.id.indexOf(fragment) != -1)
        {
            return currentCtl;
        }
    }
    
    return null;
}
