/* Formatters */
YAHOO.waynedalton.formatter.alignRight  = function(elCell, oRecord, oColumn, oData) {
    elCell.style.textAlign='right';
    elCell.innerHTML = oData;                                
};

YAHOO.waynedalton.formatter.abbreviate  = function(elCell, oRecord, oColumn, oData) {
	var toShow = oData;
	
	if ( toShow.length > 40 )
		toShow = oData.substring(0,40) + "...";
	
    elCell.innerHTML = toShow;
	YAHOO.waynedalton.cellTooltip( oData, elCell );
};


YAHOO.waynedalton.formatter.editTooltip = function(elCell, oRecord, oColumn, oData) {
    elCell.innerHTML = oData;
    YAHOO.waynedalton.cellTooltip( "Click to edit", elCell );
};

YAHOO.waynedalton.formatter.memoTooltip = function(elCell, oRecord, oColumn, oData) {
    elCell.innerHTML = oData;
    if ( oRecord.getData("memo") != "" ) {
        YAHOO.waynedalton.cellTooltip( oRecord.getData("memo"), elCell );
    }
};

YAHOO.waynedalton.formatter.detailTooltip = function(elCell, oRecord, oColumn, oData) {
    elCell.innerHTML = oData;
    if ( oRecord.getData("detail") != "" ) {
//  alert('has detail')
              elRow = elCell.parentNode;
//        while ( elRow.tagName != "TR" ) {
//            elRow = elRow.parentNode;
//        }
        YAHOO.waynedalton.cellTooltip( oRecord.getData("detail"), elCell );
    }
};

YAHOO.waynedalton.formatter.formatCurrency = function(elCell, oRecord, oColumn, oData) {
    elCell.style.textAlign='right';
    YAHOO.widget.DataTable.formatCurrency.call(this, elCell, oRecord, oColumn, oData);
    if ( oRecord.getData("detail") != "" ) {
        YAHOO.waynedalton.cellTooltip( oRecord.getData("detail"), elCell );
    }
};

YAHOO.waynedalton.formatter.formatNumber = function(elCell, oRecord, oColumn, oData) {
    elCell.style.textAlign='right';
    YAHOO.widget.DataTable.formatNumber.call(this, elCell, oRecord, oColumn, oData);
    if ( oRecord.getData("detail") != "" ) {
        YAHOO.waynedalton.cellTooltip( oRecord.getData("detail"), elCell );
    }
};

YAHOO.waynedalton.formatter.formatCartLine = function(elCell, oRecord, oColumn, oData) {
//	elCell.style.textAlign='right';
//	elCell.innerHTML = '<input type=checkbox />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' + oRecord.getData('line');
	elCell.innerHTML = oRecord.getData('line');
}


YAHOO.waynedalton.titledCells = new Array(); // store elements to toolTip enable

YAHOO.waynedalton.setupTips = function() { // Run after page load on jsp
    YAHOO.waynedalton.cellTips = new YAHOO.widget.Tooltip("cellTips", {
                                        context:YAHOO.waynedalton.titledCells,
                                        effect:{effect:YAHOO.widget.ContainerEffect.FADE, duration:0.25},
                                        preventoverlap: false,
                                        zIndex: 1500,
                                        autodismissdelay: 60000
                                        } );
};

/* Tool Tips on table cells */
YAHOO.waynedalton.cellTooltip = function(tipText, elCell) {
    if ( tipText != null && elCell != null ) {
        //elCell.title = tipText.replace(/\|/g, "<BR/>");
    	var titleSegments = new Array();
    	titleSegments = tipText.split(/\|/g);
    	for (i=0; i<titleSegments.length; i++) {
    		elCell.title += titleSegments[i] + '\n';
    	}
        YAHOO.waynedalton.titledCells[YAHOO.waynedalton.titledCells.length-1] = elCell;
    };
};




/* Flash a row of data */
YAHOO.waynedalton.flashRowOn = function ( elTable, elRow ) {
    elTable.highlightRow( elRow );
};
YAHOO.waynedalton.flashRowOff = function ( elTable, elRow ) {
    elTable.unhighlightRow( elRow );
};
YAHOO.waynedalton.flashRow = function( elTable, elRow, intCount ) {
    if ( intCount > 0 ) {
        YAHOO.waynedalton.flashRowOn( elTable, elRow );
        setTimeout(function() {
            YAHOO.waynedalton.flashRowOff( elTable, elRow );
        },400);
        setTimeout(function() {
            YAHOO.waynedalton.flashRow( elTable, elRow, --intCount );
        },800);
    }
};

/*
YAHOO.waynedalton.Types.DataSource=new function(){

    this.dataSource=null;
    
    function setDataSourceResponseType(dataSourceResponseType){ 
        this.dataSource.responseType=dataSourceResponseType;
    }
    
    function setDataSourceResponseSchema(dataSourceResponseSchema){ 
        this.dataSource.responseSchema=dataSourceResponseSchema;
    }
    
    function setDataSource(dataSource){ 
        this.dataSource=dataSource;
    }
    function getDataSource(){ 
        return this.dataSource;
    }
}

YAHOO.waynedalton.Types.DataTable=new function(){

    this.dataTable=null;
    this.wrapperDiv=null;
    this.dataSource=null;
    this.columnDefinitions=null;
    this.sortBy=null;

    function setWrapperDiv(wrapperDiv){
        this.wrapperDiv=wrapperDiv;
    }
    
    function setDataSource(dataSource){
        this.dataSource=dataSource;
    }
    
    function setColumnDefinitions(columnDefinitions){
        this.columnDefinitions=columnDefinitions;
    }
    
    function setSortBy(sortBy){
        this.sortBy=sortBy;
    }
    
    function init(){
	this.dataTable = new YAHOO.widget.DataTable(
				this.wrapperDiv, 
				this.columnDefinitions, 
				this.dataSource,
                this.sortyBy);    
    }
    
    function getDataTable(){
        return this.dataTable;
    }

}
*/
