/*
Author: Rick Critchett
Date:   29-Mar-04
Copyright: Classified Ventures, LLC
Description: functions for selecting a row in grid
CSS selectors required:
        evenselect
        oddselect
        evenrow
        oddrow
        #ruledgrid  for ruledgrid row rollover effect
        #rolledover "
rwc:11-feb-05: change even to row0 and odd to row1
*/
var clickedRowPaId = '';  /* unused */
var lastSelectedRowRef = null;
var lastSelectedRowEO = null;
var clickedRowSelector = "select";
var normalRowSelector = "row";
// boolean to suppress Preview Pane from loading
var noPreview = false;

function rowSelect(trRef, rowNum, paId)
{
    if (null != paId) clickedRowPaId = paId;
    //alert('(rowSelect) ' + (lastSelectedRowRef == null ? 'null' : lastSelectedRowRef.id) + ' ==> ' + rowNum);
    //Reset the last row
    if (null != lastSelectedRowRef)
        lastSelectedRowRef.className = lastSelectedRowEO + normalRowSelector;
    //Set the new row
    lastSelectedRowEO = oddevenString(rowNum);
    trRef.className = lastSelectedRowEO + clickedRowSelector;
    lastSelectedRowRef = trRef;
}

function previewLoad(pUrl)
{
    var loaded = false;
    if (noPreview==false)
    {
        //alert('previewLoad 1: ' + parent.previewpane);
        //parent.document.getElementById("previewpane").className='show';
        if (null != parent.previewpane)
        {
            //ppUrl = parent.previewpane.location;
            //alert('previewLoad 2: ' + ppUrl );
            parent.previewpane.location.replace(pUrl);
            
            //alert('previewLoad 3: ' + parent.previewpane.location);
            loaded = true;
        }
    }
    else
        noPreview = false;
    //alert('previewLoad: ' + loaded + ' location=('+parent.previewpane.location+')');
    return loaded;
}

function oddevenString(rowNum)
{
    return (rowNum % 2 == 0 ? "even" : "odd");
}

/*
 Function to initialize a "ruledgrid".  Acts on the container element with the
 id "ruledgrid".  To use, set the parent 'grid' container with an id of "ruledgrid",
 and set css style selector for it and 'rolledover' id.
 @param rowelement  TAG name of the sub-element acting as a row. 
                    Examples are 'tr' and 'li'. default is 'tr'.
 */
var prevIdName=null;
function gridruler(rowelement)
{
    if (null==rowelement || ''==rowelement)
    {
        rowelement = 'tr';
    }
    if (document.getElementById && document.createTextNode)
    {
        var grid=document.getElementById('ruledgrid');
        //var grids=document.getElementsByClass('ruledgrid');
        if (null != grid)
        {
            var elems=grid.getElementsByTagName(rowelement);
            for(var j=0;j<elems.length;j++)
            {
                elems[j].onmouseover= function(){prevIdName=this.id; this.id='rolledover';};
                elems[j].onmouseout= function(){this.id=prevIdName;};
                //rwc. 14-Apr-04.  saving the previous ID was very slow on Mac IE.
                //elems[j].onmouseover= function(){this.id='rolledover';};
                //elems[j].onmouseout= function(){this.id="";};
            }
        }
    }
}
