function ID( idtag ){
    return 'ctl00_MC1_' + idtag;
}

var gridviewId = ID("gvReport");

function findRowById( rows, id ){
    return $( id );
}

function startColorRows()
{       
  //var t1 =  new Date().getTime();

  if (document.all && document.getElementById)
    {
      //alert(" looking for navroot");
      var navRoot = $(gridviewId);
       
      if ( navRoot == null ) { return false; }
      // Get a reference to the TBODY element 
      tbody = navRoot.tBodies[0];
      
      var index = 0;
      //for (var i = 1; i < tbody.rows.length; i++)
      // 02/03/2009 ZZ
      for (var i = 0; i < tbody.rows.length; i++)
      {
        node = tbody.rows[i];
       
        if (node.nodeName == "TR" && node.className != 'h')
        {   
            if (node.style.backgroundColor == 'yellowgreen') {
                node.className = 's';
            } else if ( index%2 == 1 ){
                node.className = 'w';
                node.style.backgroundColor = '#FFFFFF'
            } else {
                node.className = 'd';
                node.style.backgroundColor = '#EFF3FB'
            }
            index++;
        }
    }
  }  

   //t2 = new Date().getTime();
   //var tdiff =  t2 - t1;
   //DLog( "startColorRows time: " + tdiff);
    
  
}

function startHighlight()
{        
    var preColor = "";
  var t1 =  new Date().getTime();
  
  //alert(" Start highlighting");
  if (document.all && document.getElementById)
  {
      //alert(" looking for navroot");
      var navRoot = $( gridviewId ); 
      //alert(navRoot);
      if ( navRoot == null ) { return false; }
      // Get a reference to the TBODY element 
      tbody = navRoot.tBodies[0];
      //alert(tbody.rows.length);                           
      //for (var i = 1; i < tbody.rows.length; i++)
      // 02/03/2009 ZZ
      for (var i = 0; i < tbody.rows.length; i++)
      {
        node = tbody.rows[i];
            
        if (node.nodeName == "TR")
        {          
             //tbody.rows[i].id = "rw" + (i -1);
              
            if (node.style.backgroundColor) 
            {
                preColor = node.style.backgroundColor;
            }
            else
            {
                preColor = "";
            }  
              if (preColor == 'lightblue') // first vehicle highlight
              {
                node.onmouseout = function(){ 
                    if (selectedRowID) {
                        if (this.id == selectedRowID) return;
                    }
                    this.style.backgroundColor = 'lightblue';
                }
              } 
              else if (preColor == 'yellowgreen') // start highlight
              {
                node.onmouseout = function(){ 
                    if (selectedRowID) {
                        if (this.id == selectedRowID) return;
                    }
                    this.style.backgroundColor = 'yellowgreen'; 
                    
                }
              }
              //else if ( i%2 == 0 ){
              else if (node.className == 'w') {
                //node.className = 'w';
                node.onmouseout = function(){  
                    if (selectedRowID) {
                        if (this.id == selectedRowID) return;
                    }
                    this.style.backgroundColor = '#FFFFFF'; 
                    
                } //this.className = 'w';
             } //else {
             else if (node.className == 'd') {
                //node.className = 'd';
                node.onmouseout = function(){               
                    if (selectedRowID) {
                        if (this.id == selectedRowID) return;
                    }
                    this.style.backgroundColor = '#EFF3FB'; 
                } //this.className = 'd';
             }
             
             node.onmouseover=function()
              {
                //this.className = 'over'; // this.style.backgroundColor='#FEE0C6';              
                if (selectedRowID) {
                    if (this.id == selectedRowID) return;
                }
                this.style.backgroundColor = '#FEE0C6';
                this.style.cursor='hand';
              }
              
        }
    }
  }
  
  t2 = new Date().getTime();
  var tdiff =  t2 - t1;
  DLog( "startHighlight time: " + tdiff);  
}

function reverseReportIfNeeded(){
  var t1 =  new Date().getTime();
  
    var descOrder   = $(ID('cbReportSortOrderDesc'));
    var reportTable = $(ID('gvReport'));
    var reportType  = $(ID('ddlReportType'));

    if ( descOrder != null && reportTable != null && reportType != null ){
        if ( reportType.value == '1' && descOrder.checked )
            reverseTable( reportTable );
//        if ( reportType.value != '1' && !descOrder.checked )   
//            reverseTable( reportTable );     
    }
    
   t2 = new Date().getTime();
   var tdiff =  t2 - t1;
   DLog( "reverseReportIfNeeded time: " + tdiff);  
}

function reverseTable( table )
{
  var rows = table.tBodies[0].rows;

	for(var i = 2; i<rows.length; i++)
	{
		table.tBodies[0].insertBefore(rows[i], rows[1]);
	}
}

/***********************************************************************************/
/* 01/07/2008 Add functions for row selection
/***********************************************************************************/
var selectedRowID;
var selectedRowClassName;

function findSelectedRowByID(id) 
{
    if (document.all && document.getElementById)
    {
        var navRoot = $(gridviewId); 
        if ( navRoot == null ) {return false;}
        var tbody = navRoot.tBodies[0];
        var node;
        
        for (var i = 1; i < tbody.rows.length; i++)
        {
            node = tbody.rows[i];
            if (node.nodeName == "TR")
            {
                if (node.id == id) return node;
            }
        } 
    }
    return false; 
}

function selectRow(id)
{
    var row = findSelectedRowByID(id);
    if (row) {
        selectedRowClassName = row.className;
        row.style.backgroundColor = '#FEE0C6';
        row.className = 's';
    }
    
}

function deSelectRow(id)
{
    var row = findSelectedRowByID(id);
    if (row) {
        // if the row is not de-selected by hiding it, means it is still visible
        if (row.className != 'h') {
            row.className = selectedRowClassName;
            switch (row.className) {
                case 'w':
                    row.style.backgroundColor = '#FFFFFF';
                break;
                case 'd':
                    row.style.backgroundColor = '#EFF3FB';
                break;
                case 's':
                    row.style.backgroundColor = '#FEE0C6';
                break;            
                default:
                    //row.style.backgroundColor = 'yellowgreen';
                break;
            }
        } 
    }
}
