﻿(function($) {
    $.fn.tableshadow = function(numColsBeforeGap) {
        $(this).addClass('shadow');
        $('thead tr', this).attr('valign', 'top');
        var numCols = jQuery('thead tr', this).children('td').size();
        var numColsAfterGap = numCols - numColsBeforeGap;
    	
        var gapIndex = numColsBeforeGap - 1;
        if(gapIndex >= 0) {
	        $('thead tr td:eq(' + gapIndex + ')', this).after('<td class="gap">&nbsp;</td>');
	        $('tbody tr td:eq(' + gapIndex + ')', this).after('<td class="gap">&nbsp;</td>');
        }
    	
        $('thead tr:not(.skip)', this)
	        .prepend('<td class="l">&nbsp;</td>')
	        .append('<td class="r">&nbsp;</td>');

        $('tbody tr:not(.skip)', this)
	        .prepend('<td class="l">&nbsp;</td>')
	        .append('<td class="r">&nbsp;</td>');
    		
        if(gapIndex >= 0) {
	        $(this).append(
		        '<tfoot>' +
		        '<td class="l"><div/></td>' +
		        '<td colspan="' + numColsBeforeGap + '"><div/></td>' + 
		        '<td class="gap"><div/></td>' +
		        '<td colspan="' + numColsAfterGap + '"><div/></td>' +
		        '<td class="r"><div/></td>' +
		        '</tfoot>');			
        } else {
	        $(this).append('<tfoot><td class="l"><div/></td><td colspan="' + numCols + '"><div/></td><td class="r"><div/></td>');		
        }
    }      
})(jQuery);