/* 
purpose:	imitate html-attribute formatting in tables with css
usage:	jQuery.tableFormat()
params:	none
returns:	jQuery0
author:	Sami Jukkara, 2009-09-25
version:	0.1
*/
jQuery.fn.tableFormat = function(){
	this.each(function(){
		$(this).css({
			'border-spacing':$(this).attr('cellspacing')+'px',
			'border-collapse':'collapse'
		});
		if($(this).attr('border')) $(this).css('border-style','solid');
		if($(this).attr('cellpadding')) {
			cp = $(this).attr('cellpadding')+'px';
			$('td',this).each(function(){
				$(this).css('padding',cp);
			});
		}
		$('tr,th,td',this).each(function(){
			$(this).css({
				'vertical-align':$(this).attr('valign')
			});
		});
		//unique tds
		$('td',this).each(function(){
			$(this).css({
				'text-align':$(this).attr('align'),
				'vertical-align':$(this).attr('valign')
			});
		});
		//border-width
		
		$(this).css('border-width',$(this).attr('border')+'px');
		$('tr[border],th[border],td[border]',this).each(function(){
			$(this).css('border-width',$(this).attr('border')+'px');
			//$(this).css('border-style','solid');
		});
		//border-color
		$(this).css('border-color',$(this).attr('bordercolor'));
		$('tr,th,td',this).css('border-color',$(this).attr('bordercolor'));
		//unique border colors...
		$('tr[bordercolor],th[bordercolor],td[bordercolor]',this).each(function(){
			$(this).css('border-color',$(this).attr('bordercolor'));
		});
		//background-image
		$(this).css('background-image','url('+$(this).attr("background")+')');
		$('tr[background],th[background],td[background]',this).each(function(){
			$(this).css('background-image','url('+$(this).attr("background")+')');
		});
		//background-color
		$(this).css('background-color',$(this).attr('bgcolor'));
		$('tr[bgcolor],th[bgcolor],td[bgcolor]',this).each(function(){
			$(this).css('background-color',$(this).attr('bgcolor'));
		});
		//heights & widths
		$('tr[height],th[height],td[height]',this).each(function(){
			units = 'px';
			if($(this).attr('height').indexOf('%')!=-1) units = '';
			$(this).css('height',$(this).attr('height')+units);
		});
		$(this).each(function(){
			if($(this).attr('height')) {
				units = 'px';
				if($(this).attr('height').indexOf('%')!=-1) units = '';
				$(this).css('height',$(this).attr('height')+units);
			}
		});
		$('tr[width],th[width],td[width]',this).each(function(){
			units = 'px';
			if($(this).attr('width').indexOf('%')!=-1) units = '';
			$(this).css('width',$(this).attr('width')+units);
		});
		$(this).each(function(){
			units = 'px';
			if($(this).attr('width')) {
				if($(this).attr('width').indexOf('%')!=-1) units = '';
			}
			$(this).css('width',$(this).attr('width')+units);
		});
	});
	return this;
}