/* *********************************************************

** OPENWIN.JS - Open Window JS Library

** ===================================

** This library contains JS code to open a new window with

** specified properties: width, height, features, etc.

** It's yours for free, but please maintain this header!

**

** To load this library in an HTML doc, put the following

** line in the doc's HEAD (before any other SCRIPT tags):

**

** <SCRIPT SRC="openwin.js" LANGUAGE="JavaScript"></SCRIPT>

**

** Author      Ver  Date    Comments

** ======      ===  ====    ========

** Rick Scott  1.0  1/1/00  First release

**

** Copyright 2000, Rick Scott, all rights reserved.

********************************************************* */



/* *********************************************************

** USAGE

** =====

** openWin(url, jsName, htmlName, width, height [, ...])

**   url - absolute or relative URL of doc to load in window

**         this can be a blank string "" (will load no doc)

**   jsName - name of window to use in JS coding (can be "")

**     e.g., to refer to a form in the doc loaded into

**     the new window, you'd code: jsName.document.formName

**   htmlName - name of window to use in HTML coding (can be "")

**     e.g., to make a link target the new window, you'd 

**     code: <a href="?????" target="htmlName">link</a>

**   width - width (pixels) of window's doc display area

**   height - height (pixels) of window's doc display area

**   [, ...] - openWin() takes 5 *required* arguments. You

**     can also specify 1+ additional *optional* arguments:

**     DIRECTORIES, LOCATION, MENUBAR, RESIZABLE, SCROLLBARS,

**     STATUS, TOOLBAR, CENTER, UPPERLEFT, UPPERRIGHT (see below).

**

** These are all legal openWin() calls:

**   openWin("mydoc.html", "jswin", "", 500, 500);

**   openWin("", "", "", 500, 500, RESIZABLE);

**   openWin("http://www.yahoo.com", "jswin", "htmlwin",

**           1000, 1000, MENUBAR, STATUS, TOOLBAR, CENTER);

**

** And these are all illegal:

**   openWin("mydoc.html", 500, 500);  // 2 req args missing 

**   openWin("", "", "", 500);  // 1 req arg missing

**   openWin(www.yahoo.com, "jswin", "htmlwin",

**           1000, 1000, MENUBAR, STATUS, TOOLBAR, CENTER);

**           // URL must begin with http:// and be in ""s

********************************************************* */



// window features constants

var DIRECTORIES = "directories";  // show directory buttons

var LOCATION    = "location";     // show location bar

var MENUBAR     = "menubar";      // show menu bar

var RESIZABLE   = "resizable";    // make window resizable

var SCROLLBARS  = "scrollbars";   // show scrollbars (if needed)

var STATUS      = "status";       // show status bar

var TOOLBAR     = "toolbar";      // show toolbar

var CENTER      = "center";       // center window

var UPPERLEFT   = "upperleft";    // display window in upper-left corner

var UPPERRIGHT  = "upperright";   // display window in upper-right corner



// open a new window with specified properties

function openWin(url, jsName, htmlName, width, height)

  {

  var is4up = true;   // for CENTER, UPPERLEFT, UPPERRIGHT features

  var features = "";  // string to hold features argument



  if (parseInt(navigator.appVersion) < 4)  // set is4up to true/false

    is4up = false;



  // build features string

  features += "width=" + width + ",";     // width

  features += "height=" + height + ",";   // height

  for (var i=5; i<arguments.length; i++)  // additional (optional) features

    {

    if (arguments[i] == CENTER && is4up)  // center window

      {

      features += "screenx=" + (screen.width-width) / 2 + ",";

      features += "left=" + (screen.width-width) / 2 + ",";

      features += "screeny=" + (screen.height-height) / 2 + ",";

      features += "top=" + (screen.height-height) / 2 + ",";

      }

    if (arguments[i] == UPPERLEFT && is4up)  // upper-left window

      {

      features += "screenx=0,left=0,screeny=0,top=0";

      }

    if (arguments[i] == UPPERRIGHT && is4up)  // upper-right window

      {

      features += "screenx=" + (screen.width-width-(screen.width/100)) + ",";

      features += "left=" + (screen.width-width-(screen.width/100)) + ",";

      features += "screeny=0,top=0,";

      }

    else  // all additional features besides CENTER, UPPERLEFT, UPPERRIGHT

      {

      features += arguments[i] + "=1,";

      }

    }

  jsName = window.open(url, htmlName, features);

  }



//MM_jumpmenu



function MM_jumpMenu(targ,selObj,restore){ //v3.0

  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");

  if (restore) selObj.selectedIndex=0;

}



