var dataA=new Array();

/******** 数値の書式 *********/
function fcalc(data)
{
	var i,n,k;

	n=data.lastIndexOf(".");
	if(n!=-1)
		n=data.length-n;

	if(n==-1)
		data+=".000000";
	else if(n>6)
	{
		data=(Math.round(data*1000000))*0.000001;
		data=data+"";
		k=data.lastIndexOf(".");
		if(k==-1)
			data+=".000000";
		else
		{
			k=data.length-k;
			for(i=0;i<=6-k;i++)
				data+="0"
		}
	}
	else
	{
		for(i=0;i<=6-n;i++)
			data+="0"
	}
	return data;
}


/******** データを読み込んで変換 *********/
function chgdata()
{
	var i,j,n,data;

	var dataB=new Array();

	data=escape(document.form01.edata.value);	// Excelデータをescape
	while((n=data.indexOf("%2C",n))!=-1)	// データのカンマ "," を除去する
		data=data.slice(0,n)+data.slice(n+3);

	if(data.indexOf("%0D%0A")!=-1)	// dataを改行で分割し、dataAに入れる
		dataA=data.split("%0D%0A");
	else if(data.indexOf("%0A")!=-1)
		dataA=data.split("%0A");
	else
	{
		alert("入力データが異常です");
		document.form01.edata.value="";
		exit;
	}
	return 0;
}


/******** DXFデータをwin01に書き出す ********/
function ds02()
{
	var i,j;
	var dataB=new Array();

	for(i=0;i<dataA.length;i++)
	{
		dataB=dataA[i].split("%09");
		for(j=0;j<dataB.length;j++)
			dataB[j]=unescape(dataB[j]);

		if(dataB[0]=="CIRCLE")
		{
			for(j=3;j<=5;j++)
				dataB[j]=fcalc(dataB[j]);
			
			win01.document.write("CIRCLE\n  8\n"+dataB[1]+"\n 62\n"+dataB[2]+"\n  6\nCONTINUOUS\n 10\n");
			win01.document.write(dataB[3]+"\n 20\n"+dataB[4]+"\n 40\n"+dataB[5]+"\n  0\n");
		}
		else if(dataB[0]=="ARC")
		{
			for(j=3;j<=7;j++)
				dataB[j]=fcalc(dataB[j]);
			win01.document.write("ARC\n  8\n"+dataB[1]+"\n 62\n"+dataB[2]+"\n  6\nCONTINUOUS\n 10\n");
			win01.document.write(dataB[3]+"\n 20\n"+dataB[4]+"\n 40\n"+dataB[5]+"\n 50\n");
			win01.document.write(dataB[6]+"\n 51\n"+dataB[7]+"\n  0\n");
		}
		else if(dataB[0]=="LINE")
		{
			for(j=3;j<=6;j++)
				dataB[j]=fcalc(dataB[j]);
			win01.document.write("LINE\n  8\n"+dataB[1]+"\n 62\n"+dataB[2]+"\n  6\nCONTINUOUS\n 10\n");
			win01.document.write(dataB[3]+"\n 20\n"+dataB[4]+"\n 11\n"+dataB[5]);
			win01.document.write("\n 21\n"+dataB[6]+"\n  0\n");
		}
		else if(dataB[0]=="TEXT")
		{
			for(j=3;j<=7;j++)
				dataB[j]=fcalc(dataB[j]);
			win01.document.write("TEXT\n  8\n"+dataB[1]+"\n 62\n"+dataB[2]+"\n  6\nCONTINUOUS\n 10\n");
			win01.document.write(dataB[3]+"\n 20\n"+dataB[4]+"\n 40\n"+dataB[5]+"\n 41\n");
			win01.document.write(dataB[6]+"\n  1\n"+dataB[8]+"\n  7\nKANJI\n 50\n"+dataB[7]+"\n  0\n");
		}
	}
}


/*********** Main **************/
function disp()
{
	var heDat="  0\nSECTION\n  2\nHEADER\n  9\n$ACADVER\n  1\nAC1003\n  9\n$INSBASE\n 10\n0.000000\n 20\n0.000000\n  9\n$EXTMIN\n 10\n0.000000\n 20\n0.000000\n  9\n$EXTMAX\n 10\n420.000000\n 20\n297.000000\n  9\n$LIMMIN\n 10\n0.000000\n 20\n0.000000\n  9\n$LIMMAX\n 10\n420.000000\n 20\n297.000000\n  9\n$VIEWCTR\n 10\n210.000000\n 20\n148.500000\n  9\n$VIEWSIZE\n 40\n297.000000\n  9\n$PEXTMIN\n 10\n0.000000\n 20\n0.000000\n 30\n0.000000\n  9\n$PEXTMAX\n 10\n420.000000\n 20\n297.000000\n 30\n0.000000\n  9\n$SNAPMODE\n 70\n     0\n  9\n$SNAPUNIT\n 10\n1.000000\n 20\n1.000000\n  9\n$SNAPBASE\n 10\n0.000000\n 20\n0.000000\n  9\n$SNAPANG\n 50\n0.000000\n  9\n$SNAPISOPAIR\n 70\n     0\n  9\n$SNAPSTYLE\n 70\n     0\n  9\n$GRIDMODE\n 70\n     0\n  9\n$GRIDUNIT\n 10\n0.000000\n 20\n0.000000\n  9\n$ORTHOMODE\n 70\n     0\n  9\n$REGENMODE\n 70\n     1\n  9\n$FILLMODE\n 70\n     1\n  9\n$QTEXTMODE\n 70\n     0\n  9\n$DRAGMODE\n 70\n     2\n  9\n$LTSCALE\n 40\n0.250000\n  9\n$OSMODE\n 70\n     0\n  9\n$ATTMODE\n 70\n     1\n  9\n$TEXTSIZE\n 40\n0.200000\n  9\n$TRACEWID\n 40\n0.050000\n  9\n$TEXTSTYLE\n  7\nSTANDARD\n  9\n$CLAYER\n  8\n0\n  9\n$CELTYPE\n  6\nBYLAYER\n  9\n$CECOLOR\n 62\n   256\n  9\n$DIMSCALE\n 40\n1.000000\n  9\n$DIMASZ\n 40\n1.000000\n  9\n$DIMEXO\n 40\n0.000000\n  9\n$DIMDLI\n 40\n0.500000\n  9\n$DIMRND\n 40\n0.000000\n  9\n$DIMDLE\n 40\n0.000000\n  9\n$DIMEXE\n 40\n0.000000\n  9\n$DIMTP\n 40\n0.000000\n  9\n$DIMTM\n 40\n0.000000\n  9\n$DIMTXT\n 40\n0.180000\n  9\n$DIMCEN\n 40\n0.000000\n  9\n$DIMTSZ\n 40\n0.000000\n  9\n$DIMTOL\n 70\n     0\n  9\n$DIMLIM\n 70\n     0\n  9\n$DIMTIH\n 70\n     1\n  9\n$DIMTOH\n 70\n     1\n  9\n$DIMSE1\n 70\n     0\n  9\n$DIMSE2\n 70\n     0\n  9\n$DIMTAD\n 70\n     0\n  9\n$DIMZIN\n 70\n     0\n  9\n$DIMBLK\n  1\n\n  9\n$DIMASO\n 70\n     0\n  9\n$DIMSHO\n 70\n     0\n  9\n$DIMPOST\n  1\n\n  9\n$DIMAPOST\n  1\n\n  9\n$DIMALT\n 70\n     0\n  9\n$DIMALTD\n 70\n     0\n  9\n$DIMALTF\n 40\n25.400000\n  9\n$DIMLFAC\n 40\n1.000000\n  9\n$DIMTOFL\n 70\n     0\n  9\n$DIMTVP\n 40\n0.000000\n  9\n$DIMTIX\n 70\n     0\n  9\n$DIMSOXD\n 70\n     0\n  9\n$DIMSAH\n 70\n     0\n  9\n$DIMBLKL\n  1\n\n  9\n$DIMBLKR\n  1\n\n  9\n$LUNITS\n 70\n     2\n  9\n$LUPREC\n 70\n     2\n  9\n$AXISMODE\n 70\n     0\n  9\n$AXISUNIT\n 10\n1.000000\n 20\n1.000000\n  9\n$SKETCHINC\n 40\n0.000000\n  9\n$FILLETRAD\n 40\n0.000000\n  9\n$AUNITS\n 70\n     1\n  9\n$AUPREC\n 70\n     2\n  9\n$MENU\n  1\nACAD\n  9\n$ELEVATION\n 40\n0.000000\n  9\n$THICKNESS\n 40\n0.000000\n  9\n$VIEWDIR\n 10\n0.000000\n 20\n0.000000\n 30\n1.000000\n  9\n$LIMCHECK\n 70\n     1\n  9\n$BLIPMODE\n 70\n     1\n  9\n$CHAMFERA\n 40\n0.000000\n  9\n$CHAMFERB\n 40\n0.000000\n  9\n$FASTZOOM\n 70\n     1\n  9\n$SKPOLY\n 70\n     0\n  9\n$TDCREATE\n 40\n0.000000\n  9\n$TDUPDATE\n 40\n0.000000\n  9\n$TDINDWG\n 40\n0.000000\n  9\n$TDUSRTIMER\n 40\n0.000000\n  9\n$USRTIMER\n 70\n     1\n  9\n$ANGBASE\n 50\n0.000000\n  9\n$ANGDIR\n 70\n     0\n  9\n$PDMODE\n 70\n     0\n  9\n$PDSIZE\n 40\n0.000000\n  9\n$PLINEWID\n 40\n0.000000\n  9\n$COORDS\n 70\n     2\n  9\n$USERI1\n 70\n     0\n  9\n$USERI2\n 70\n     0\n  9\n$USERI3\n 70\n     0\n  9\n$USERI4\n 70\n     0\n  9\n$USERI5\n 70\n     0\n  9\n$USERR1\n 40\n0.000000\n  9\n$USERR2\n 40\n0.000000\n  9\n$USERR3\n 40\n0.000000\n  9\n$USERR4\n 40\n0.000000\n  9\n$USERR5\n 40\n0.000000\n  0\nENDSEC\n  0\nSECTION\n  2\nTABLES\n  0\nTABLE\n  2\nLTYPE\n 70\n     5\n  0\nLTYPE\n  2\nCONTINUOUS\n 70\n    64\n  3\nSolid line\n 72\n    65\n 73\n     0\n 40\n0.0\n  0\nLTYPE\n  2\nHIDDEN\n 70\n    64\n  3\n------------------------\n 72\n    65\n 73\n     2\n 40\n12.6\n 49\n8.4\n 49\n-4.2\n  0\nLTYPE\n  2\nDOT\n 70\n    64\n  3\n････････････････････････\n 72\n    65\n 73\n     2\n 40\n8.0\n 49\n6.0\n 49\n-2.0\n  0\nLTYPE\n  2\nDASHDOT\n 70\n    64\n  3\n--･--･--･--･--･--･--･--\n 72\n    65\n 73\n     4\n 40\n50.5\n 49\n30.0\n 49\n-9.0\n 49\n2.5\n 49\n-9.0\n  0\nLTYPE\n  2\nDIVIDE\n 70\n    64\n  3\n--･･--･･--･･--･･--･･--\n 72\n    65\n 73\n     6\n 40\n58.0\n 49\n30.0\n 49\n-9.0\n 49\n2.5\n 49\n-5.0\n 49\n2.5\n 49\n-9.0\n  0\nENDTAB\n  0\nTABLE\n  2\nLAYER\n 70\n1\n  0\nLAYER\n  2\n1\n 70\n64\n 62\n7\n  6\nCONTINUOUS\n  0\nENDTAB\n  0\nTABLE\n  2\nSTYLE\n 70\n     2\n  0\nSTYLE\n  2\nSTANDARD\n 70\n    64\n 40\n0.0\n 41\n1.0\n 50\n0.0\n 71\n     0\n 42\n0.2\n  3\nTXT\n  4\n\n  0\nSTYLE\n  2\nKANJI\n 70\n    64\n 40\n0.0\n 41\n1.0\n 50\n0.0\n 71\n     0\n 42\n0.2\n  3\nTXT\n  4\nBIGFONT\n  0\nENDTAB\n  0\nTABLE\n  2\nVIEW\n 70\n     0\n  0\nENDTAB\n  0\nENDSEC\n  0\nSECTION\n  2\nBLOCKS\n  0\nENDSEC\n  0\nSECTION\n  2\nENTITIES\n  0\n";

	if(chgdata()!=0)
		exit;
	win01=window.open("","","");
	win01.document.write("<PRE>");
	win01.document.write(heDat);
	ds02();
	win01.document.write("ENDSEC\n  0\nEOF");
	win01.document.write("</PRE>");
	win01.document.close();
}
