var table = document.getElementsByClassName("changeTable"); 

for( z=0;z<table.length;z++){

var rowLength=table[z].rows.length;
var colLength=table[z].rows.item(0).cells.length;


var row;
var cell2;

function cell(x, y) {
 
  row = table[z].rows.item(y);
  cell2 = row.cells.item(x);
  cellData = cell2.firstChild.data;
  return cellData;

}

var rowNumber=new Array(colLength);
var rowNumberPrev=new Array(colLength);
var rowNumberTotal=new Array(colLength);

var spanNumber=0;
var spanNumberPrev=0;
var spanNumberTotal=0;

var hantei = new Array(colLength);

//初期値
for(k=0;k<colLength;k++){

rowNumber[k]=0;
rowNumberPrev[k]=0;
rowNumberTotal[k]=0;

hantei[k] = new Array(rowLength);

for(l=0;l<rowLength;l++){
hantei[k][l]=0;
}

}

for(i=0;i<rowLength;i++){

for(j=0;j<colLength;j++){

spanNumber=0;
rowNumber[j]=0;

if(cell(j, i)=="left"){
	spanNumber++;
	hantei[j][i]=1;
}
else if(cell(j, i)=="top"){	
	rowNumber[j]++;
	hantei[j][i]=1;
	
}

// total処理
rowNumberTotal[j]+=rowNumber[j];
spanNumberTotal += spanNumber;

if( (j==colLength-1)&&(spanNumber==1)){
	row3=table[z].rows.item(i);
	cell3=row3.cells.item(j-spanNumberTotal);
	cell3.colSpan = spanNumberTotal+1;
	spanNumberTotal=0;
	spanNumberPrev=0;
}else{
if( (spanNumberPrev== 1)&&(spanNumber==0)){
	row3=table[z].rows.item(i);
	cell3=row3.cells.item(j-spanNumberTotal-1);
	cell3.colSpan = spanNumberTotal+1;
	spanNumberTotal=0;
}

spanNumberPrev=spanNumber;

}

//rowspan処理
if( (i==rowLength-1)&&(rowNumber[j]==1) ){
row3=table[z].rows.item(i-rowNumberTotal[j]);
cell3=row3.cells.item(j);
cell3.rowSpan = rowNumberTotal[j]+1;

}else{


if( (rowNumber[j]==0)&&(rowNumberPrev[j]==1) ){

row3=table[z].rows.item(i-rowNumberTotal[j]-1);
cell3=row3.cells.item(j);
cell3.rowSpan = rowNumberTotal[j]+1;
rowNumberTotal[j]=0;

}

rowNumberPrev[j]=rowNumber[j];

}

}//for j

}//for i



for(m=0;m<rowLength;m++){

for(n=0;n<colLength;n++){

if(hantei[colLength-n-1][rowLength-m-1]==1){

row=table[z].rows.item(rowLength-m-1);
row.deleteCell(colLength-n-1);

}

}//for n
}//for m

}//for z


