function isIE(){ //ie?
if (window.navigator.userAgent.toLowerCase().indexOf("msie")>=1)
    return true;
else
    return false;
}


if (window.navigator.userAgent.toLowerCase().indexOf("msie") >= 1){
 var STYLE_DISPLAY="block";

}else{
 var STYLE_DISPLAY="";
}




function CertainBeBall(clsname){
	if(clsname==undefined || clsname=="")
		return "";
	var arrayObj = new Array('ball_red','ball_yellow','ball_green','ball_blue','ball_gray','ball_darked','ballConnectH','ballConnectS','ballConnectR','ballConnectL','ballYellowOR','ballYellowOL','ballYellowER','ballYellowEL');
	for(m=0;m<arrayObj.length;m++){
		tmp = arrayObj[m];
		if(clsname.indexOf(tmp)!=-1){
			return tmp;
		}
	}
	return "";
}

function zhilian(tableid,begincol,endcol,beginclum,endclum,Hclsnam,Sclsnam){
 
	var vtable = document.getElementById(tableid);
	for(i=beginclum;i<=endclum;i++){
		for(j=begincol;j<=endcol;j++){
			var tmpa = vtable.rows[i].cells[j];   //rows cell 从0开始
			var tmpacn = CertainBeBall(tmpa.className);
		
			if(tmpacn==Hclsnam || tmpacn==""){
				continue;
			}else if(tmpacn!=Hclsnam){
		      
				zhiliansetH(vtable,i,j,1,Hclsnam,endcol);
			}
		}
	}
	for(ki=beginclum;ki<=endclum;ki++){
	
		for(kj=begincol;kj<=endcol;kj++){
		
			var tmpb = vtable.rows[ki].cells[kj];
			var tmpbcn = CertainBeBall(tmpb.className);
			
			if(tmpbcn==Sclsnam || tmpbcn==""){
				continue;
			}else if(tmpbcn!=Sclsnam){
				zhiliansetS(vtable,ki,kj,1,Sclsnam,endclum);
			}
		}
	}
}
/*
直连横坐标探索
*/
function zhiliansetH(vtable,vi,vj,num,Hclsnam,endcol){

	try{
		if(vj+1>endcol) throw "border";
		var vt = vtable.rows[vi].cells[vj+1];
		var vtcn = CertainBeBall(vt.className);
		if(vtcn!=""){   
			zhiliansetH(vtable,vi,vj+1,num+1,Hclsnam,endcol);	
		}else{   
			if(num>=3){  
				for(j=vj;j>vj-num;j--){
					tmpH = (vtable.rows[vi].cells[j]).className;
					(vtable.rows[vi].cells[j]).className = tmpH.replace(CertainBeBall(tmpH),Hclsnam);
					
				}
			}
		}
	}catch(e){
		if(num>=3){  
			for(j=vj;j>vj-num;j--){
				tmpH = (vtable.rows[vi].cells[j]).className;
				
				(vtable.rows[vi].cells[j]).className = tmpH.replace(CertainBeBall(tmpH),Hclsnam);
				
			}
		}
	}
	return;
}
/*
直连竖坐标探索
*/
function zhiliansetS(vtable,vi,vj,num,Sclsnam,endclum){

	try{
		if(vi+1>endclum) throw "border";
		var vt = vtable.rows[vi+1].cells[vj];
		var vtcn = CertainBeBall(vt.className);
		
		if(vtcn!=""){   
			zhiliansetS(vtable,vi+1,vj,num+1,Sclsnam,endclum);	
		}else{  
			if(num>=3){  
				for(i=vi;i>vi-num;i--){ 
					tmpS = (vtable.rows[i].cells[vj]).className;
					(vtable.rows[i].cells[vj]).className = tmpS.replace(CertainBeBall(tmpS),Sclsnam);
				}
			}
		}
	}catch(e){
		if(num>=3){ 
			for(i=vi;i>vi-num;i--){
				tmpS = (vtable.rows[i].cells[vj]).className;
				(vtable.rows[i].cells[vj]).className = tmpS.replace(CertainBeBall(tmpS),Sclsnam);
				
			}
		}
	}	
	return;
}

function xielian(tableid,begincol,endcol,beginclum,endclum,Rclsnam,Lclsnam){
	var vtable = document.getElementById(tableid);
	for(i=beginclum;i<=endclum;i++){
		for(j=begincol;j<=endcol;j++){
			var tmpa = vtable.rows[i].cells[j];
			var tmpacn = CertainBeBall(tmpa.className);
			if(tmpacn==Rclsnam || tmpacn==""){
				continue;
			}else if(tmpacn!=Rclsnam){
				xieliansetR(vtable,i,j,1,Rclsnam,endcol,endclum);
			}
			
		}
	}
	for(ki=beginclum;ki<=endclum;ki++){
		for(kj=begincol;kj<=endcol;kj++){
			var tmpb = vtable.rows[ki].cells[kj];
			var tmpbcn = CertainBeBall(tmpb.className);
			if(tmpbcn==Lclsnam || tmpbcn==""){
				continue;
			}else if(tmpbcn!=Lclsnam){
				xieliansetL(vtable,ki,kj,1,Lclsnam,begincol,endclum);
			}
		}
	}
}
/*
右下135度坐标探索
*/
function xieliansetR(vtable,vi,vj,num,Rclsnam,endcol,endclum){
	try{
		if(vj+1>endcol || vi+1>endclum) throw "border";
		var vt = vtable.rows[vi+1].cells[vj+1];
		var vtcn = CertainBeBall(vt.className);
		if(vtcn!=""){  
			xieliansetR(vtable,vi+1,vj+1,num+1,Rclsnam,endcol,endclum);	
		}else{  
			if(num>=3){  
				for(k=0;k<num;k++){
					tmpH = vtable.rows[vi-k].cells[vj-k].className;
					(vtable.rows[vi-k].cells[vj-k]).className = tmpH.replace(CertainBeBall(tmpH),Rclsnam);
					
				}
			}
		}
	}catch(e){
		if(num>=3){  
			for(k=0;k<num;k++){
				tmpH = vtable.rows[vi-k].cells[vj-k].className;
				(vtable.rows[vi-k].cells[vj-k]).className = tmpH.replace(CertainBeBall(tmpH),Rclsnam);
				
			}
		}
	}	
	return;
}
/*
左下225度坐标探索
*/
function xieliansetL(vtable,vi,vj,num,Lclsnam,begincol,endclum){
	try{
		if(vj-1<begincol || vi+1>endclum) throw "border";
		var vt = vtable.rows[vi+1].cells[vj-1];
		var vtcn = CertainBeBall(vt.className);
		if(vtcn!=""){   
			xieliansetL(vtable,vi+1,vj-1,num+1,Lclsnam,begincol,endclum);	
		}else{  
			if(num>=3){  
				for(k=0;k<num;k++){
					tmpH = vtable.rows[vi-k].cells[vj+k].className;
					(vtable.rows[vi-k].cells[vj+k]).className = tmpH.replace(CertainBeBall(tmpH),Lclsnam);
				
				}
			}
		}
	}catch(e){
		if(num>=3){  
			for(k=0;k<num;k++){
				tmpH = vtable.rows[vi-k].cells[vj+k].className;
				(vtable.rows[vi-k].cells[vj+k]).className = tmpH.replace(CertainBeBall(tmpH),Lclsnam);
				
			}
		}
	}
	return;
}

function OddEvenlian(tableid,begincol,endcol,beginclum,endclum,Rclsnam,Lclsnam,pluscol){
	var vtable = document.getElementById(tableid);
	for(i=beginclum;i<=endclum;i++){
		for(j=(begincol+pluscol);j<=endcol;j=j+2){
			var tmpa = vtable.rows[i].cells[j];
			var tmpacn = CertainBeBall(tmpa.className);
			if(tmpacn==Rclsnam || tmpacn==""){
				continue;
			}else if(tmpacn!=Rclsnam){
				OddEvenliansetR(vtable,i,j,1,Rclsnam,endcol,endclum);
			}
			if(tmpacn==Lclsnam || tmpacn==""){
				continue;
			}else if(tmpacn!=Lclsnam){
				OddEvenliansetL(vtable,i,j,1,Lclsnam,begincol,endclum)
			}
		}
	}
}
/*
右下坐标探索
*/
function OddEvenliansetR(vtable,vi,vj,num,Rclsnam,endcol,endclum){
	try{
		if(vj+2>endcol || vi+1>endclum) throw "border";
		var vt = vtable.rows[vi+1].cells[vj+2];
		var vtcn = CertainBeBall(vt.className);
		if(vtcn!=""){   
			OddEvenliansetR(vtable,vi+1,vj+2,num+1,Rclsnam,endcol,endclum);	
		}else{   
			if(num>=3){ 
				for(k=0;k<num;k++){
					tmpH = (vtable.rows[vi-k].cells[vj-2*k]).className;
					(vtable.rows[vi-k].cells[vj-2*k]).className = tmpH.replace(CertainBeBall(tmpH),Rclsnam);
				
				}
			}
		}
	}catch(e){
		if(num>=3){  
			for(k=0;k<num;k++){
				tmpH = (vtable.rows[vi-k].cells[vj-2*k]).className;
				(vtable.rows[vi-k].cells[vj-2*k]).className = tmpH.replace(CertainBeBall(tmpH),Rclsnam);
				
			}
		}
	}	
	return;
}
/*
左下坐标探索
*/
function OddEvenliansetL(vtable,vi,vj,num,Lclsnam,begincol,endclum){
	try{
		if(vj-2<=begincol || vi+1>endclum) throw "border";
		var vt = vtable.rows[vi+1].cells[vj-2];
		var vtcn = CertainBeBall(vt.className);
		if(vtcn!=""){  
			OddEvenliansetL(vtable,vi+1,vj-2,num+1,Lclsnam,begincol,endclum);	
		}else{   
			if(num>=3){  
				for(k=0;k<num;k++){
					tmpH = (vtable.rows[vi-k].cells[vj+2*k]).className;
					(vtable.rows[vi-k].cells[vj+2*k]).className = tmpH.replace(CertainBeBall(tmpH),Lclsnam);
				
				}
			}
		}
	}catch(e){
		if(num>=3){  
			for(k=0;k<num;k++){
				tmpH = (vtable.rows[vi-k].cells[vj+2*k]).className;
				(vtable.rows[vi-k].cells[vj+2*k]).className = tmpH.replace(CertainBeBall(tmpH),Lclsnam);
				
			}
		}
	}
	return;
}

function clearlian(tableid,begincol,endcol,beginclum,endclum,oldclsnam,newclsnam){
	var vtable = document.getElementById(tableid);
	for(i=beginclum;i<=endclum;i++){
		for(j=begincol;j<=endcol;j++){
			var tmpa = vtable.rows[i].cells[j];
			var tmpacn = CertainBeBall(tmpa.className);
			
			if(tmpacn==oldclsnam){
				tmpH = tmpa.className;
			
				tmpa.className = tmpH.replace(CertainBeBall(tmpH),newclsnam);
			
			}
		}
	}
}

function BallDisplayornot(tableid,begincol,endcol,beginclum,endclum,suclsnam,flag){
	var vtable = document.getElementById(tableid);
	if(flag==1){
		for(i=beginclum;i<=endclum;i++){
			for(j=begincol;j<=endcol;j++){
				var tmpa = vtable.rows[i].cells[j];
				if(tmpa.className!=""){
					tmp = tmpa.className ;
					tmp = tmp.substring(0,tmp.lastIndexOf(suclsnam));
					tmpa.className = tmp;
				}else{
					continue;
				}
			}
		}
	}else{
		for(i=beginclum;i<=endclum;i++){
			for(j=begincol;j<=endcol;j++){
				var tmpa = vtable.rows[i].cells[j];
				if(tmpa.className!=""){
					tmp = tmpa.className + suclsnam;
					tmpa.className = tmp;
				}else{
					continue;
				}
			}
		}
	}	
}


function tongchu(tableid,begincol,endcol,beginclum,endclum,num){
	var vtable = document.getElementById(tableid);
	var numlength = endcol-begincol+1;
	var allnums=new Array(numlength);
	for(si=0;si<numlength;si++)
		allnums[si]=0;
	for(i=beginclum;i<=endclum;i++){
		var tmpa = vtable.rows[i].cells[num+begincol-1];
		var tmpacn = CertainAllBall(tmpa.className);
		if(tmpacn!=""){
			for(k=begincol;k<=endcol;k++){
				var tmpb = vtable.rows[i].cells[k];
				var tmpbcn = CertainAllBall(tmpb.className);
				if(tmpbcn!=""){
					allnums[k-begincol] = allnums[k-begincol] +1;
				}
			}
		}else{
			continue;
		}
	}
	return allnums;
}

function xiangchi(tableid,begincol,endcol,beginclum,endclum,num){
	var vtable = document.getElementById(tableid);
	var numlength = endcol-begincol+1;
	var allnums=new Array(numlength);
	for(si=0;si<numlength;si++)
		allnums[si]=0;
	for(i=beginclum;i<=endclum;i++){
		var tmpa = vtable.rows[i].cells[num+begincol-1];
		var tmpacn = CertainAllBall(tmpa.className);
		if(tmpacn!=""){
			for(k=begincol;k<=endcol;k++){
				var tmpb = vtable.rows[i].cells[k];
				var tmpbcn = CertainAllBall(tmpb.className);
				if(tmpbcn=="" || k==(num+begincol-1)){
					allnums[k-begincol] = allnums[k-begincol] +1;
				}
			}
		}else{
			continue;
		}
	}
	return allnums;
}

function clearTcXc(){
	if(document.getElementById('tc1'))
	document.getElementById('tc1').innerText="";
	
	if(document.getElementById('tc2'))
	document.getElementById('tc2').innerText="";
	
	if(document.getElementById('tc3'))
	document.getElementById('tc3').innerText="";
	
	if(document.getElementById('tc4'))
	document.getElementById('tc4').innerText="";
	
	if(document.getElementById('tc5'))
	document.getElementById('tc5').innerText="";
	
	if(document.getElementById('tcn1'))
	document.getElementById('tcn1').innerText="";
	
	if(document.getElementById('tcn2'))
	document.getElementById('tcn2').innerText="";
	
	if(document.getElementById('tcn3'))
	document.getElementById('tcn3').innerText="";
	
	if(document.getElementById('tcn4'))
	document.getElementById('tcn4').innerText="";
	
	if(document.getElementById('tcn5'))
	document.getElementById('tcn5').innerText="";
	
	if(document.getElementById('xc1'))
	document.getElementById('xc1').innerText="";
	
	if(document.getElementById('xc2'))
	document.getElementById('xc2').innerText="";
	
	if(document.getElementById('xc3'))
	document.getElementById('xc3').innerText="";
	
	if(document.getElementById('xc4'))
	document.getElementById('xc4').innerText="";
	
	if(document.getElementById('xc5'))
	document.getElementById('xc5').innerText="";
	
	if(document.getElementById('xcn1'))
	document.getElementById('xcn1').innerText="";
	
	if(document.getElementById('xcn2'))
	document.getElementById('xcn2').innerText="";
	
	if(document.getElementById('xcn3'))
	document.getElementById('xcn3').innerText="";
	
	if(document.getElementById('xcn4'))
	document.getElementById('xcn4').innerText="";
	
	if(document.getElementById('xcn5'))
	document.getElementById('xcn5').innerText="";
} 

function getCurrentMiss(tableid,begincol,endclum,offset){
	var vtable = document.getElementById(tableid);
	var tmp = vtable.rows[endclum].cells[begincol+offset];
	var tmpcn = CertainAllBall(tmp.className);
	if(tmpcn!=""){
		return 0;
	}else{
		if(tmp.innerText>endclum){
			return endclum;
		}
		return tmp.innerText;
	}	
} 

function getCurrentMiss(tableid,begincol,endclum,offset,numsize){
	var vtable = document.getElementById(tableid);
	var tmp = vtable.rows[endclum].cells[begincol+offset];
	var tmpcn = CertainAllBall(tmp.className);
	//alert(endclum);
	if(tmpcn!=""){
		return 0;
	}else{
		if(tmp.innerText>numsize){
			return numsize;
		}
		return tmp.innerText;
	}	
} 

function CertainAllBall(clsname){
	if(clsname.indexOf('ball')<0){
		return "";
	}else{
		return clsname;
	}
}
function getMaxMiss(tableid,begincol,beginclum,endclum,offset){
	var rnum = 0;
	var tempnum = 0;
	var vtable = document.getElementById(tableid);
	for(i=beginclum;i<=endclum;i++){
		var tmp = vtable.rows[i].cells[begincol+offset];
		var tmpcn = CertainAllBall(tmp.className);
		if(tmpcn=="")
		{
			tempnum += 1;
			continue;
		}
		else{
			if(tempnum>rnum)
			{
				rnum = tempnum;
			}
			tempnum = 0;
		}	
	}
	if(tempnum>rnum)
	{
		rnum = tempnum;
	}
	return rnum;
}

function getMisslinkNum(tableid,begincol,beginclum,endclum,offset){
	var rnum = 0;
	var vtable = document.getElementById(tableid);
	for(i=beginclum;i<=endclum;i++){
		var tmp = vtable.rows[i].cells[begincol+offset];
		var tmpcn = CertainBeBall(tmp.className);
		if(tmpcn!="")
			continue;
		else{
			var vv = parseInt(tmp.innerText);
			if(vv==1)
				rnum = rnum + 1;
		}	
	}
	return rnum;
}

function getShowOrNotNum(tableid,begincol,beginclum,endclum,offset,showflag){
	var rnum = 0;
	var vtable = document.getElementById(tableid);
	for(i=beginclum;i<=endclum;i++){
		var tmp = vtable.rows[i].cells[begincol+offset];
		var tmpcn = CertainBeBall(tmp.className);
		
		if(tmpcn!="" && showflag==1){
			rnum = rnum +1;
		}
		else if(tmpcn=="" && showflag==2){
			rnum = rnum + 1;
		}	
	}
	return rnum;
}

function roundFun(numberRound,roundDigit)
{
    var digit;
	digit=1;
	digit=Math.pow(10,roundDigit)
	return (Math.round(numberRound*digit)/digit);
}

function getHotNum(tableid,begincol,endcol,beginclum,endclum,colsize,showtimes){
	var vtable = document.getElementById(tableid);
	var numlength = endcol-begincol+1;
	var allnums=new Array(numlength);
	for(i=begincol;i<=endcol;i++){
		var tt = 0;
		for(j=endclum;j>endclum-colsize;j--){
			var tmpa = vtable.rows[j].cells[i];
			var tmpacn = CertainBeBall(tmpa.className);
			if(tmpacn!=""){
				tt = tt+1;
			}
		}
		if(tt>=showtimes){
			tt = getBallShowNum(tableid,begincol,beginclum,endclum,i-begincol);
		}
		allnums[i-begincol]=tt;
	}
	return allnums;
}

function getColdNum(tableid,begincol,endcol,beginclum,endclum,colsize,showtimes){
	var vtable = document.getElementById(tableid);
	var numlength = endcol-begincol+1;
	var allnums=new Array(numlength);
	for(xx=0;xx<numlength;xx++)
		allnums[xx]=0;
	for(i=begincol;i<=endcol;i++){
		var tt = 0;
		for(j=endclum;j>endclum-colsize;j--){
			var tmpa = vtable.rows[j].cells[i];
			var tmpacn = CertainBeBall(tmpa.className);
			if(tmpacn==""){
				tt = tt+1;
			}
		}
		if(tt>=showtimes){   //为出现次数达到要求
			tt = getBallShowNum(tableid,begincol,beginclum,endclum,i-begincol);
			allnums[i-begincol]=tt;
		}
	}
	return allnums;
}

function getHengNum(tableid,begincol,endcol,beginclum,endclum){
	var vtable = document.getElementById(tableid);
	var numlength = endcol-begincol+1;
	var allnums=new Array(numlength);
	for(xx=0;xx<numlength;xx++)
		allnums[xx]=0;
	for(i=begincol;i<=endcol;i++){
		var tmp = vtable.rows[endclum].cells[i];
		var tmpcn = CertainBeBall(tmp.className);
		if(tmpcn!=""){
			var tx = 1;
			while(true){
				if(i+tx>endcol){  //超出边界
					if(tx>=3){
						for(kk=0;kk<tx;kk++){
							allnums[i-begincol+kk]=getBallShowNum(tableid,begincol,beginclum,endclum,i-begincol+kk);
						}
						i = i + tx - 1 ;
					}
					break;
				}
				var tmpa = vtable.rows[endclum].cells[i+tx];
				var tmpacn = CertainBeBall(tmpa.className);
				if(tmpacn!=""){
					tx++;
					continue;
				}else{   //结束
					if(tx>=3){
						for(kk=0;kk<tx;kk++){
							allnums[i-begincol+kk]=getBallShowNum(tableid,begincol,beginclum,endclum,i-begincol+kk);
						}
						i = i + tx - 1 ;
					}
					break;
				}
			}	
		}
	}
	return allnums;
}

function getShuNum(tableid,begincol,endcol,beginclum,endclum,neednum){
	var vtable = document.getElementById(tableid);
	var numlength = endcol-begincol+1;
	var allnums=new Array(numlength);
	for(xx=0;xx<numlength;xx++)
		allnums[xx]=0;
	for(i=begincol;i<=endcol;i++){
		var tmp = vtable.rows[endclum].cells[i];
		var tmpcn = CertainBeBall(tmp.className);
		var tx = 1;
		if(tmpcn!=""){
			while(true){
				var tmpa = vtable.rows[endclum-tx].cells[i];
				var tmpacn = CertainBeBall(tmpa.className);
				if(tmpacn!=""){
					tx++;
					continue;
				}else{
					break;
				}
			}
		}
		if(tx>=neednum){
			allnums[i-begincol]=getBallShowNum(tableid,begincol,beginclum,endclum,i-begincol);
		}
	}
	return allnums;	
}

function getXieNum(tableid,begincol,endcol,beginclum,endclum,neednum){
	var vtable = document.getElementById(tableid);
	var numlength = endcol-begincol+1;
	var allnums=new Array(numlength);
	for(xx=0;xx<numlength;xx++)
		allnums[xx]=0;
	for(i=begincol;i<=endcol;i++){
		var tmp = vtable.rows[endclum].cells[i];
		var tmpcn = CertainBeBall(tmp.className);
		var tx = 1;
		if(tmpcn!=""){
			while(true){
				var tmpa = vtable.rows[endclum-tx].cells[i-tx];
				var tmpacn = CertainBeBall(tmpa.className);
				if(tmpacn!=""){
					tx++;
					if(tx==3) break;
					else continue;
				}else{
					break;
				}
			}
		}
		if(tx>=neednum){
			allnums[i-begincol]=getBallShowNum(tableid,begincol,beginclum,endclum,i-begincol);
		}
	}
	for(i=begincol;i<=endcol;i++){
		var tmp = vtable.rows[endclum].cells[i];
		var tmpcn = CertainBeBall(tmp.className);
		var tx = 1;
		if(tmpcn!=""){
			while(true){
				var tmpa = vtable.rows[endclum-tx].cells[i+tx];
				var tmpacn = CertainBeBall(tmpa.className);
				if(tmpacn!=""){
					tx++;
					if(tx==3) break;
					else continue;
				}else{
					break;
				}
			}
		}
		if(tx>=neednum){
			allnums[i-begincol]=getBallShowNum(tableid,begincol,beginclum,endclum,i-begincol);
		}
	}
	return allnums;	
}

function getBallShowNum(tableid,begincol,beginclum,endclum,offset){
	var vtablebb = document.getElementById(tableid);
	var rnum = 0;
	for(ki=beginclum;ki<=endclum;ki++){
		var tmpb = vtablebb.rows[ki].cells[begincol+offset];
		var tmpbcn = CertainBeBall(tmpb.className);
		if(tmpbcn!=""){
			rnum = rnum+1;
		}
	}
	return rnum;
}


function areaDisplayOrnot(tableid,begincol,endcol,beginclum,endclum,showflag){
	var vtablebb = document.getElementById(tableid);
	if(showflag==1){  
		for(i=beginclum;i<=endclum;i++){
	
			for(j=begincol;j<=endcol;j++){
			
				var tmp = vtablebb.rows[i].cells[j];
				tmp.style.display=STYLE_DISPLAY;
			}
		}
	}else{   
		for(i=beginclum;i<=endclum;i++){
			for(j=begincol;j<=endcol;j++){
				var tmp = vtablebb.rows[i].cells[j];
				tmp.style.display="none";
			}
		}
	}
}


function CertainBlueBall(clsname){
	if(clsname==undefined || clsname=="")
		return "";

	var arrayObj = new Array('ball_blue');
	for(m=0;m<arrayObj.length;m++){
		tmp = arrayObj[m];
		if(clsname.indexOf(tmp)!=-1){
			return tmp;
		}
	}
	return "";
}

function Blueshulian(tableid,begincol,endcol,beginclum,endclum,Sclsnam){
	var vtable = document.getElementById(tableid);
	for(i=beginclum;i<=endclum;i++){
		for(j=begincol;j<=endcol;j++){
			var tmpa = vtable.rows[i].cells[j];   
			var tmpacn = CertainBlueBall(tmpa.className);
			if(tmpacn==""){
				continue;
			}else{
				shulianB(vtable,i,j,1,Sclsnam,endclum);
			}
		}
	}
}


function shulianB(vtable,vi,vj,num,Sclsnam,endclum){
	try{
		if(vi+1>endclum) throw "border";
		var vt = vtable.rows[vi+1].cells[vj];
		var vtcn = CertainBlueBall(vt.className);
		if(vtcn!="" ){   
			shulianB(vtable,vi+1,vj,num+1,Sclsnam,endclum);	
		}else{  
			if(num>=2){  
				for(k=vi;k>vi-num;k--){
					tmpS = (vtable.rows[k].cells[vj]).className;
					(vtable.rows[k].cells[vj]).className = tmpS.replace(CertainBlueBall(tmpS),Sclsnam);
					
				}
			}
		}
	}catch(e){
		if(num>=2){  
			for(k=vi;k>vi-num;k--){
				tmpS = (vtable.rows[k].cells[vj]).className;
				(vtable.rows[k].cells[vj]).className = tmpS.replace(CertainBlueBall(tmpS),Sclsnam);
				
			}
		}
	}	
	return;
}







