//#v - 0.1 [26.03.09 20:15]

var tableRadioButton = 'TABLEVIEW';

function hide_column_init(table_id, col_num)
{
	col_num = (col_num? col_num:0);
	
	var myRadioGroup = document.getElementsByName(tableRadioButton);
	if (myRadioGroup.length > 0)
	{
		for (var i=0; i< myRadioGroup.length; i++)
		{
			myRadioGroup[i].tableToHide = table_id;
			myRadioGroup[i].colToHide = col_num;
			myRadioGroup[i].onclick = hide_column;
			
			if (myRadioGroup[i].checked) myRadioGroup[i].onclick.call(myRadioGroup[i])
		}
	}
}

function hide_column()
{
	var vFlag = (this.value == 2? true: false);
	
	var table_id = this.tableToHide;
	var col_num = this.colToHide;
	
	var maxColCount = 0;
	var tmpMaxColCount = 0;
	var my_table = document.getElementById(table_id);
	var ArrayOfRows = my_table.getElementsByTagName('tr');

	for (var i=0; i<ArrayOfRows.length; i++)
	{
		var myRowArray = ArrayOfRows[i].getElementsByTagName('td');
		
		if (myRowArray.length < maxColCount) {
			
			var maxColSpanTd = myRowArray[1];
			var solSpanSum = 0;
			
			for (var j=0; j< myRowArray.length; j++)
			{
				solSpanSum = solSpanSum + (myRowArray[j].colSpan? myRowArray[j].colSpan : 1);
				
				if (myRowArray[j].colSpan > maxColSpanTd.colSpan) {
					maxColSpanTd = myRowArray[j];
				}
			}
						
			maxColSpanTd.colSpan = maxColSpanTd.colSpan + (maxColCount - solSpanSum);			
		}
		else {
			myRowArray[col_num].style.display = (vFlag?'none':'');
			
			if (myRowArray.length > maxColCount) {
				tmpMaxColCount = 0;
				for (var j=0; j < myRowArray.length; j++)
				if (myRowArray[j].style.display != 'none' ) 
				{
					tmpMaxColCount = tmpMaxColCount + 1;
				}
				
				if (maxColCount < tmpMaxColCount) maxColCount = tmpMaxColCount;
			}			
		}
	}
}
