/*
link.java
This is an applet that creates a drop down menu with links to sites that you specify in the param tags of you html file. 
Created: 6/13/96
By: Darryl Stoflet
dstoflet@calweb.com
http://www.calweb.com/~dstoflet
Thanks Suresh Srinivasan (suresh@thomtech.com) for the color parameters.
*/
import java.util.*;
import java.net.*;
import java.awt.*;
import java.applet.Applet;


public class link extends Applet{


    public int number;
    public Vector urls = new Vector();
    public Vector names = new Vector();
    public URL theURL = null;
    String at;
    StringTokenizer st;
    StringTokenizer str;
    String targetFrame;
    Color bgColor;
    String s;
    String rgbDelimiter = ":,.";

   public void init() {
       s = getParameter("bgColor");
	if (s != null) st = new StringTokenizer(s, rgbDelimiter);

	if (s == null)
	    bgColor = Color.lightGray;
	else if (s.equalsIgnoreCase("red"))
	    bgColor = Color.red;
	else if (s.equalsIgnoreCase("blue"))
	    bgColor = Color.blue;
	else if (s.equalsIgnoreCase("green"))
	    bgColor = Color.green;
	else if (s.equalsIgnoreCase("yellow"))
	    bgColor = Color.yellow;
	else if (s.equalsIgnoreCase("white"))
	    bgColor = Color.white;
	else if (s.equalsIgnoreCase("orange"))
	    bgColor = Color.orange;
	else if (s.equalsIgnoreCase("cyan"))
	    bgColor = Color.cyan;
	else if (s.equalsIgnoreCase("magenta"))
	    bgColor = Color.magenta;
                else if (s.equalsIgnoreCase("black"))
	    bgColor = Color.black;
	else if (st.countTokens() == 3) {
	    Integer r = new Integer(st.nextToken());
	    Integer g = new Integer(st.nextToken());
	    Integer b = new Integer(st.nextToken());
	    bgColor = new Color(r.intValue(), g.intValue(), b.intValue());
	} else
	    bgColor = Color.lightGray; 
        String input_location = getParameter("target");
         if(input_location != null) {
                targetFrame = input_location;
          }
           else{
                 targetFrame = "_parent";
           }
       String input_number = getParameter("number");
       number = Integer.parseInt(input_number);
       Choice theLinks = new Choice();
       for(int i = 0; i <= number; i++){
             at = getParameter("link" + i);
             str = new StringTokenizer(at, "\\");
             names.addElement(new String(str.nextToken())); 
             urls.addElement(new String(str.nextToken())); 
             theLinks.addItem((String)names.elementAt(i));
       }
       add(theLinks);
       setBackground(bgColor);
   }

   public boolean action(Event evt, Object arg){
        if(evt.target instanceof Choice){
          String site = (String)arg;
             for(int n = 0; n <= number; n++){
                if(site.equals((String)names.elementAt(n))){
                    try{theURL = new URL((String)urls.elementAt(n));}
                    catch(MalformedURLException e) {
                    System.out.println("Bad URL");}
                    getAppletContext().showDocument(theURL,targetFrame);
                }
             }
         } 
    return true; 
    }
}




