var grdTxtBoxStyle = "style=\"border-right: gainsboro 1px solid; border-top: gainsboro 1px solid; border-left: gainsboro 1px solid; width: 50px; border-bottom: gainsboro 1px solid\""

var grdColContract = 0
var grdColBid = 1
var grdColBidVol = 2
var grdColOffer = 3
var grdColOfferVol = 4
var grdColLast = 5
var grdColLastVol = 6

var grdRowCounter = 0;

var currentSelectedRow;

// code for MktGridRow class
function MktGridRow(id, forecolor, backcolor)
{
this.id = id;
this.forecolor = forecolor;
this.backcolor = backcolor;
}
MktGridRow.prototype.getId = function()
{
return this.id;
}
MktGridRow.prototype.getForeColor = function()
{
return this.forecolor;
}
MktGridRow.prototype.getBackColor = function()
{
return this.backcolor;
}
// end of MktGridRow 

function MktGrdInsertRow()
{
    var row;
    var newcell;
    var cellCounter = 0;    
        
    grdRowCounter = grdRowCounter + 1;
    
    row =  document.getElementById('tblMarketWatchGrid').insertRow(grdRowCounter);
    row.id = "row"+grdRowCounter;
    
    if (row.addEventListener){
        row.addEventListener('click', MktGrdCellClicked, false);    // for mozilla
    }
    else if (row.attachEvent){
        row.attachEvent('onclick', function() {MktGrdCellClicked(event)}); // for IE
    }
        
    row.insertCell(cellCounter);    
    newcell = row.cells[cellCounter];
    
    newcell.id = 'item'+grdRowCounter;
    newcell.innerHTML = "Symbol";
    
    if (newcell.addEventListener){
        newcell.addEventListener('dblclick', MktGrdDblCellClicked, false);    // for mozilla
    }
    else if (row.attachEvent){
        newcell.attachEvent('ondblclick', function() {MktGrdDblCellClicked(event)}); // for IE
    }

    cellCounter = cellCounter + 1;
    row.insertCell(cellCounter);
    newcell = row.cells[cellCounter];
    
    newcell.innerHTML = "Bid";
    //newcell.style.color = "#821E4F";  
    
    cellCounter = cellCounter + 1;
    row.insertCell(cellCounter);
    newcell = row.cells[cellCounter];
    
    newcell.innerHTML = "BidVol";
    //newcell.style.color = "#821E4F";    
    
    cellCounter = cellCounter + 1;
    row.insertCell(cellCounter);
    newcell = row.cells[cellCounter];
    
    newcell.innerHTML = "Offer";
    //newcell.style.color = "476bc9";
    
    cellCounter = cellCounter + 1;
    row.insertCell(cellCounter);
    newcell = row.cells[cellCounter];
    
    newcell.innerHTML = "OfferVol";
    //newcell.style.color = "476bc9";
    
    cellCounter = cellCounter + 1;
    row.insertCell(cellCounter);
    newcell = row.cells[cellCounter];
    
    newcell.innerHTML = "Last";
    
    cellCounter = cellCounter + 1;
    row.insertCell(cellCounter);
    newcell = row.cells[cellCounter];
    
    newcell.innerHTML = "LastVol";
}

function MktGrdCellClicked(e)
{
    var x = e.currentTarget;
    
    if ( x == null )
    {
        // then it is IE
        x = window.event.srcElement;
        x = FindRow(x);
    }
    
    if ( currentSelectedRow != null )
    {
        var mktGridRow = mktGridModal.get(currentSelectedRow.id);
        currentSelectedRow.style.backgroundColor = mktGridRow.getBackColor();
    }
    
    //AddMBPTable(x);
    
    document.getElementById(x.id).style.backgroundColor = "#d6dada";
    currentSelectedRow = x;
}

function FindRow(x)
{
    while( true )
    {
        if ( x.tagName == "TR" )
        {
            break;
        }
        
        x = x.parentElement;
    }
    
    return x;
}

function MktGrdDblCellClicked(e)
{
    var x = e.currentTarget;
    
    if ( x == null )
    {
        // then it is IE
        x = window.event.srcElement;
    }
    
    //x.innerHTML = '<input id="'+x.id+'_input'+'" maxlength="20" type="text" '+grdTxtBoxStyle+' onkeypress="MktGrdKeyPressed(event)">'
    //document.getElementById(x.id+"_input").focus();
}

var pushTableCounter = 0;

function MktGrdKeyPressed(e)
{
    var x = e.currentTarget;
    
    if ( x == null )
    {
        // then it is IE
        x = window.event.srcElement;
    }
    
    if ( e.keyCode == 13 )
    {
        var i = x.id.indexOf("_");
        var itemid = x.id.substring(0,i);
        var itemString = x.value;
        itemString = itemString.toUpperCase();
        
        document.getElementById(itemid).innerHTML = itemString ;
        document.getElementById(itemid).style.height = 18;     
        
        i = itemid.indexOf("item") + 4;
        var rowno = itemid.substr(i);
        pushTableCounter = pushTableCounter +1;
        var newTableName = "tbl_" + pushTableCounter;
        
        var row = document.getElementById('tblMarketWatchGrid').rows[rowno]
        row.cells[1].innerHTML = '<div source="lightstreamer" table="'+newTableName+'" item="1" field="2">-</div>';
        row.cells[2].innerHTML = '<div source="lightstreamer" table="'+newTableName+'" item="1" field="3">-</div>';
        row.cells[3].innerHTML = '<div source="lightstreamer" table="'+newTableName+'" item="1" field="4">-</div>';
        row.cells[4].innerHTML = '<div source="lightstreamer" table="'+newTableName+'" item="1" field="5">-</div>';
        row.cells[5].innerHTML = '<div source="lightstreamer" table="'+newTableName+'" item="1" field="6">-</div>';
        row.cells[6].innerHTML = '<div source="lightstreamer" table="'+newTableName+'" item="1" field="7">-</div>';
        
        AddTable(itemString, schemaString, newTableName );
    }
}

function createRow(table)
{
    var row = document.createElement('TR');
    table.appendChild(row);
    
    return row;
}

function createCell(row)
{
    var cell = document.createElement('TD');
    row.appendChild(cell);
    
    return cell;
}


