function functiontoresizetable() {
	document.getElementById("tablepreviewbuilder").onmouseover=MO;
	document.getElementById("tablepreviewbuilder").onmousedown=MD;
	document.getElementById("tablepreviewbuilder").onmousemove=MM;
	document.getElementById("tablepreviewbuilder").onmouseup=MU;
	resize_table=undefined;
	resize_cell=undefined;
	resize_row=undefined;
	t_p=/table(\d+)/;
	t_resize=/tableresizeimage(\d+)/;
	r_p=/r\d+/;
	c_p=/r\d+c\d+/;
	t_num=undefined;
	tableX=undefined;
	tableY=undefined;
}
function MO(e) {
	if (ie) node=event.srcElement;
	else node=e.target;
	if (node.id && node.id != 'tablepreviewbuilder') node.style.cursor="move";
	if (t_p.exec(node.id)) {
		t_num=node.id.replace(t_p,"$1");
		tablename=node.id;
		rowloop: for (r=0;r<document.getElementById(node.id).rows.length;r++) {
			cellloop: for (c=0;c<document.getElementById(node.id).rows[r].cells.length;c++) {
				//alert("t"+t_num+"r"+r+"c"+c);
				cellX=document.getElementById("t"+t_num+"r"+r+"c"+c).offsetLeft;
				cellW=document.getElementById("t"+t_num+"r"+r+"c"+c).offsetWidth;
				if (document.getElementById("t"+t_num+"r"+r+"c"+(c+1))) {
					if (tableX) {
						//alert(mouseX+","+(tableX+cellX+cellW));
						if (mouseX>=(tableX+cellX+cellW) && mouseX<(tableX+cellX+cellW+10)) {
							node.style.cursor="e-resize";
							cell1="t"+t_num+"r"+r+"c"+c;
							cell1width=document.getElementById(cell1).offsetWidth;
							cell2="t"+t_num+"r"+r+"c"+(c+1);
							cell2width=document.getElementById(cell2).offsetWidth;
							cellwidth=(document.getElementById(cell1).offsetWidth)+(document.getElementById(cell2).offsetWidth);
							break rowloop;
						}
					}
				}
			}
			rowY=document.getElementById("t"+t_num+"r"+r).offsetTop;
			rowH=document.getElementById("t"+t_num+"r"+r).offsetHeight;
			if (document.getElementById("t"+t_num+"r"+(r+1))) {
				if (tableY) {
					//alert("mouseY: "+mouseY+"\n row: "+(tableY+rowY+rowH+10)+"\n row2: "+(tableY+rowY+rowH+20));
					if (mouseY>=(tableY+rowY+rowH) && mouseY<(tableY+rowY+rowH+10)) {
						node.style.cursor="s-resize";
						row1="t"+t_num+"r"+r;
						row1height=document.getElementById(row1).offsetHeight;
						row2="t"+t_num+"r"+(r+1);
						row2height=document.getElementById(row2).offsetHeight;
						rowheight=(document.getElementById(row1).offsetHeight)+(document.getElementById(row2).offsetHeight);
						break rowloop;
					}
				}
			}
		}
	}
	if (t_resize.exec(node.id)) {
		t_num=node.id.replace(t_resize,"$1");
		tablename="table"+t_num;
		node.style.cursor="se-resize";
	}
}
function MD(e) {
	document.getElementById("tablepreviewbuilder").onmouseover=null;
	if (ie) node=event.srcElement;
	else node=e.target;
		if (node.style.cursor=="e-resize") {
			oldtableW=tableW;
			X=mouseX;

			childwidths=new Array;
			var cellnum=cell1.replace(/t\d+r\d+c(\d+)/, "$1");
			for (r=0;r<document.getElementById(node.id).rows.length;r++) {
				childwidths[r]=document.getElementById("t"+t_num+"r"+r+"c"+cellnum).childNodes[0].offsetWidth;
			}
			childwidths.sort(function(a,b){return a-b});
			childwidths.reverse();
		}else if (node.style.cursor=="s-resize") {
			oldtableH=tableH;
			Y=mouseY;

			childheights=new Array;
			var rownum=row1.replace(/t\d+r(\d+)/, "$1");
			for (r=0;r<document.getElementById(node.id).rows[0].cells.length;r++) {
				childheights[r]=document.getElementById("t"+t_num+"r"+rownum+"c"+r).childNodes[0].offsetHeight;
			}
			childheights.sort(function(a,b){return a-b});
			childheights.reverse();
		}
	if (node.style.cursor=="se-resize") {
		resize_table=document.getElementById(tablename);
		resize_table.style.cursor="se-resize";
		tr_w=mouseX-document.getElementById("tablepreviewresize").offsetWidth;
		tr_h=mouseY-document.getElementById("tablepreviewresize").offsetHeight+10;
		return false;
	} 
}
function MM(e) {
	ie?mouseX=event.clientX:mouseX=e.clientX;
	ie?mouseY=event.clientY:mouseY=e.clientY;
	//window.status=mouseX+","+mouseY;
	if (ie) node=event.srcElement;
	else node=e.target;
	while (node.parentNode) {
		node=node.parentNode;
		if (node.id=="tablepreviewbuilder") {
			tableW=node.offsetWidth;
			tableH=node.offsetHeight;

			tableX=document.getElementById("tablebuilderwindow").offsetWidth+10;

			tableY=91;
			//alert(tableX+","+tableY);
			//node.style.cursor="e-resize";
			break;
		}
	}
	if (resize_cell) {
		if (mouseX>X-cell1width+childwidths[0]+5) {
				offX=mouseX-X;
				var num=cell1.replace(/t\d+r\d+c(\d+)/, "$1");
				for (r=0;r<document.getElementById("table"+t_num).rows.length;r++) {
					document.getElementById("t"+t_num+"r"+r+"c"+num).style.pixelWidth=cell1width+offX;
				}
				document.getElementById("table"+t_num).style.pixelWidth=oldtableW+offX;
				document.getElementById("tableresize"+t_num).style.pixelWidth=document.getElementById("outertable"+t_num).offsetWidth;
				//document.getElementById(cell2).style.pixelWidth=cellwidth-document.getElementById(cell1).style.pixelWidth-8;
				newcellwidth=document.getElementById(cell1).offsetWidth+document.getElementById(cell2).offsetWidth
				window.status=cellwidth+","+newcellwidth;
		}
		return false;
	}
	if (resize_row) {
		if (mouseY>Y-row1height+childheights[0]+5) {
			offY=mouseY-Y;
			var num=row1.replace(/t\d+r(\d+)/, "$1");
			for (r=0;r<document.getElementById("table"+t_num).rows[0].cells.length;r++) {
				document.getElementById("t"+t_num+"r"+num+"c"+r).style.pixelHeight=row1height+offY;
			}
			document.getElementById("table"+t_num).style.pixelHeight=oldtableH+offY;
			document.getElementById("tableresize"+t_num).style.pixelHeight=document.getElementById("outertable"+t_num).offsetHeight;
			//document.getElementById(row2).style.pixelHeight=rowheight-document.getElementById(row1).style.pixelHeight;
			newrowheight=document.getElementById(row1).offsetHeight+document.getElementById(row2).offsetHeight
			window.status=rowheight+","+newrowheight;
		}
		return false;
	}
	if (resize_table) {
		//alert(document.getElementById("tablepreviewresize").offsetLeft);
		var r_d=document.getElementById("tablepreviewresize").style;
		var o_t=document.getElementById("outertable"+t_num);
		var t_d=document.getElementById("table"+t_num).style;
		if (ie) {
			t_d.pixelWidth=mouseX-tr_w + document.body.scrollLeft;
			t_d.pixelHeight=mouseY-tr_h + document.body.scrollTop;
			r_d.pixelWidth=o_t.offsetWidth;
			r_d.pixelHeight=o_t.offsetHeight;
		}else{
			t_d.width=mouseX-tr_w + document.body.scrollLeft;
			t_d.height=mouseY-tr_h + document.body.scrollTop;
			r_d.width=o_t.offsetWidth;
			r_d.height=o_t.offsetHeight;
		}
		//window.status=document.getElementById("tablepreviewresize").offsetWidth+","+o_t.offsetWidth;
		return false;
	}
}
function MU(e) {
	document.getElementById("tablepreviewbuilder").onmouseover=MO;
	if (ie) node=event.srcElement;
	else node=e.target;

	if (resize_cell) {
		resize_cell.style.visibility="hidden";
	}
	if (resize_row) {
		resize_row.style.visibility="hidden";
	}
	resize_table=null;
	resize_cell=null;
	resize_row=null;	
}
function MOU(e) {
	if (ie) node=event.srcElement;
	else node=e.target;
	document.body.style.cursor="default";
}