
import java.net.*;
import java.io.*;
import java.util.*;
import java.awt.*;
import java.text.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.text.html.*;
import javax.swing.text.html.HTMLEditorKit.Parser;
import javax.swing.text.html.HTMLEditorKit.ParserCallback;

public class AgetPtSet03 extends HTMLEditorKit.ParserCallback {

	static String CatArr0[]	= new String[] {"League Settings","Statistical Categories (Offense):",
	"Statistical Categories (Kickers):","Statistical Categories (Defense Players):"};

	static String TTxt, TTxt2;
	static String[] outArr, outArr2;
	static Reader reader;
	static URL baseAddress;
	static boolean tstbool = false;
	static int[] PosInt = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
	static int[] PosInt2 = {0,0,0,0};

	public String[] getPtSetStgArr( String IOFile ) {

		String[] DefScr = new String[50];
		for( int o=0;o<50;o++) { DefScr[o]=""; }

		TTxt = "";TTxt2 = "";

		HTMLEditorKit.ParserCallback callback =
		new HTMLEditorKit.ParserCallback () {
			public void handleText(char[] text, int pos) {
				String outText = new String(text);
				if ( outText.indexOf(CatArr0[0]) >= 0 )
					tstbool = true;
				if (tstbool) { TTxt = TTxt + outText + "\n"; }
			}
		};

		try {
			if (IOFile.indexOf("://")>-1) {
				baseAddress = new URL(IOFile);
				URLConnection uc = baseAddress.openConnection();
				InputStream content = (InputStream)uc.getInputStream();
				reader = new BufferedReader (new InputStreamReader (content));
			}
			else {
				reader = new FileReader(IOFile);
			}

			// Trick to use Swing's HTML parser
			Parser parser = (new HTMLEditorKit() {
				public Parser getParser() { return super.getParser(); }
			}).getParser();

			parser.parse(reader, callback, true);

			stgToArray sta = new stgToArray();
			outArr = sta.stringToArray(TTxt);

			int PosCnt = 0;
			for (int j2 = 0; j2 < outArr.length; j2++) {
				for (int j3 = 1; j3 < CatArr0.length; j3++) {
					PosInt[PosCnt] = j2;
					if ( outArr[j2].indexOf(CatArr0[j3]) >= 0) {
						PosCnt++;
					}
				}
			}

			for (int k0 = PosInt[0]; k0 < PosInt[1]; k0++) {
				if ( outArr[k0].indexOf("(") >= 0 ) {
					TTxt2=TTxt2+outArr[k0]+"|Off\n";
				}
			}

			TTxt2=TTxt2+"\r\n";

			for (int k1 = PosInt[1]; k1 < PosInt[2]; k1++) {
				if ( outArr[k1].indexOf("(") >= 0 ) {
					TTxt2=TTxt2+outArr[k1]+"|Kkr\n";
				}
			}

			TTxt2=TTxt2+"\r\n";

			for (int k2 = PosInt[2]; k2 < PosInt[3]; k2++) {
				if ( outArr[k2].indexOf("(") >= 0 ) {
					TTxt2=TTxt2+outArr[k2]+"|Def\n";
				}
			}

			TTxt2=TTxt2+"\r\n";

			outArr2 = new String[0];

			if(!TTxt2.equals("")) {
				stgToArray sta2 = new stgToArray();
				outArr2 = sta2.stringToArray(TTxt2);
			}
		}
		catch (MalformedURLException e) {
			System.out.println("Bad url: "+e+"\n");
		}
		catch (IOException ie) {
			System.out.println("Bad io: "+ie+"\n");
		}

		return outArr2;
	}
}
