/*
 * @(#)bwiz.java
 */
import ereinionbw.BW;
import ereinion.sort.ArraySort;
import java.util.Properties;
import java.util.Enumeration;

/**
 * Starter class per Blue Wizard
 *
 * @author  Ereinion
 * @version 1.1, 25/11/2002
 * @since EPR 1.0
 */
public class bwiz
{

	public static void main(String[] arg)
	{
		if (arg.length == 0)
			openWindow(BW.RES_DETECT);
		else if (arg.length != 1)
			printBase();
		else if (arg[0].equals("-w1"))
			openWindow(0);
		else if (arg[0].equals("-w2"))
			openWindow(1);
		else if (arg[0].equals("-w3"))
			openWindow(2);
		else if (arg[0].equals("-w4"))
			openWindow(3);
		else if (arg[0].equals("-wf"))
			openWindow(-1);
		else if (arg[0].equals("-wa"))
			openWindow(-2);
		else if (arg[0].equals("-pa"))
			printAllProp();
		else if (arg[0].equals("-pb"))
			printBaseProp();
		else if (arg[0].equals("-h") || arg[0].equals("--help"))
			printHelp();
		else 
			printBase();
	}

	private static void printHelp()
	{
		System.out.println();
		System.out.println("  args:  -w1         open window (600 pixel wide)");
		System.out.println("         -w2         open window (800 pixel wide)");
		System.out.println("         -w3         open window (1000 pixel wide)");
		System.out.println("         -w4         open window (1200 pixel wide)");
		System.out.println("         -wa         open window (autodetect resolution)");
		System.out.println("         -wf         open window (configuration frame)");
		System.out.println("         -pa         print all system properties");
		System.out.println("         -pb         print base system properties");
		System.out.println("         -h --help   print this help");
		System.out.println();
	}

	private static void printBase()
	{
		System.out.println();
		System.out.println("	--help	for more info");
		System.out.println();
	}

	public static void openWindow(int value)
	{
		BW.loadWizard(value);
	}

	public static void printAllProp()
	{
		Properties p = System.getProperties();
		String[] pList = new String[p.size()];
		Enumeration enum = p.keys();
		int i = 0;
		while (enum.hasMoreElements()) {
			String k = (String)enum.nextElement();
			pList[i] = k+" -> "+p.getProperty(k);
			i++;
		}
		ArraySort.sortStringArray(pList);
		System.out.println();
		for (int j=0; j<pList.length; j++)
			System.out.println(pList[j]);
		System.out.println();
	}

	public static void printBaseProp()
	{
		System.out.println();
		System.out.println("    System Properties: ");
		System.out.println("  user          -> "+System.getProperty("user.name"));
		System.out.println("  current dir   -> "+System.getProperty("user.dir"));
		System.out.println("  home dir      -> "+System.getProperty("user.home"));
		System.out.println("  os name       -> "+System.getProperty("os.name"));
		System.out.println("  os version    -> "+System.getProperty("os.version"));
		System.out.println("  java home     -> "+System.getProperty("java.home"));
		System.out.println("  java version  -> "+System.getProperty("java.version"));
		System.out.println("  vm name       -> "+System.getProperty("java.vm.name"));
		System.out.println("  vm version    -> "+System.getProperty("java.vm.version"));
		System.out.println("  classpath     -> "+System.getProperty("java.class.path"));
		System.out.println();
	}

}
