/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  w3a.js
  site-specific functions

  Michael Foster, December 8, 2000
  mfoster@cybrtyme.com
  http://lineoflight.com/

  originally mikefoster.f2s.com
*/


window.onload = init;

// Global CrossBrowserElement Objects:
var slideMenu;
var slideTitle;

//-----------------------------------------------------------------------------
// onLoad event handler.

function init()
{
  slideMenu = new CrossBrowserElement('slideMenu');
  slideTitle = new CrossBrowserElement('slideTitle');
  
  if (is.nav4) {          // exclude Moz
    slideMenu.setLeft(0);
    slideTitle.setTop(0);
    window.onresize = regen;
  }
  else {
    slideMenu.setLeft(0);
    slideTitle.setTop(0);
    window.onscroll = controlSlideMenu;
  }

  slideTitle.setLeft(2000);
  slideTitle.show();
  slideTitle.xSpeed = .3;
  slideTitle.slideToX(80);
  
  slideMenu.setTop(6000);
  slideMenu.show();
  slideMenu.ySpeed = .4;
  controlSlideMenu();

  if (window.demoInit) {
    demoInit();
  }

  window.defaultStatus = "";
}

//-----------------------------------------------------------------------------
// onResize event handler for NN4.
// I added regen() to solve the NN4 crashing problem. This has something to do
// with what NN4 does after a window resize... still unsure about this.

function regen()
{
  window.location.reload();
}

//-----------------------------------------------------------------------------
// Functions for the creation and operation of the listbox navigation menu.

function navMenuGo()
{
  var _url = document.forms.navForm.navMenu.options[document.forms.navForm.navMenu.selectedIndex].value;
  if ( _url != "") {
    document.location.href = _url;
  }
}

function createNavMenu()
{
  document.write(
     "<div class='w3aBody'>                                             "
    +"  <form name='navForm'>                                           "
    +"    <select name='navMenu' size='1'>                              "
    +"      <option selected>Navigation Menu</option>                   "
    +"      <option value='index.html'>&nbsp; Home</option>                    "
    +"      <option value='links.html'>&nbsp; Links</option>                   "
    +"      <option value='downloads.html'>&nbsp; Files</option>                   "
    +"      <option value='demos.html'>&nbsp; Demos</option>                   "
    +"      <option value='mouse_position.html'>&nbsp;&nbsp;&nbsp; Mouse Position</option> "
    +"      <option value='dyn_bkgnd.html'>&nbsp;&nbsp;&nbsp; Dynamic Backgrounds</option> "
    +"      <option value='keyboard.html'>&nbsp;&nbsp;&nbsp; Keyboard Events</option>      "
    +"      <option value='random_banners.html'>&nbsp;&nbsp;&nbsp; Random Banners</option> "
    +"      <option value='popup_menu.html'>&nbsp;&nbsp;&nbsp; Popup Menu</option>         "
    +"      <option value='listbox_menu.html'>&nbsp;&nbsp;&nbsp; Listbox Menu</option>     "
    +"      <option value='sniffer_jr.html'>&nbsp;&nbsp;&nbsp; Client Sniffer Jr.</option> "
    +"      <option value='positioned_layers.html'>&nbsp;&nbsp;&nbsp; Positioned Layers</option> "
    +"      <option value='sliding_menu.html'>&nbsp;&nbsp;&nbsp; Sliding Menu</option> "
    +"      <option value='sliding_objects.html'>&nbsp;&nbsp;&nbsp; Sliding Objects</option> "
    +"      <option value='cbe.html'>&nbsp;&nbsp;&nbsp; CrossBrowserElement</option> "
    +"      <option value='status_onmouseover.html'>&nbsp;&nbsp;&nbsp; StatusBar OnMouseOver</option> "
    +"      <option value='simulated_border.html'>&nbsp;&nbsp;&nbsp; Border OnMouseOver</option> "
    +"    </select>                                                     "
    +"    <input type='button' value='Go' onclick='navMenuGo();'>       "
    +"  </form>                                                         "
    +"</div>                                                            "
  );
}

//-----------------------------------------------------------------------------

function createSlideTitle()
{
  var m = "<div id='slideTitle'>"
  m += "<img src='graphics/top_title.gif' border='0' width='400' height='66' alt='Adventures in Cross-Browser Javascript'>";
  m += "</div>";
  document.write(m);
}

function createSlideMenu(thisPage)
{
  var m = "<div id='slideMenu' class='text0'>";
  if (thisPage == 'Home') m += "w3a<br><br>";
  else m += "<a class='aSmall' href='index.html'>w3a</a><br><br>";
  m += "<a class='aSmall' href='http://cross-browser.com'>cb</a><br><br>";
  m += "<a class='aSmall' href='http://mfoster.com'>mf</a><br><br>";
  m += "<a class='aSmall' href='#topofpage' title='top of page'>up</a><br><br>";
  m += "</div>";
  
  document.write( m );
}

function createFooter(updateDate)
{
  document.write(
     "<div class='text1'>w&nbsp;&nbsp;w&nbsp;&nbsp;w&nbsp;&nbsp;.&nbsp;&nbsp;m&nbsp;&nbsp;i&nbsp;&nbsp;k&nbsp;&nbsp;e&nbsp;&nbsp;f&nbsp;&nbsp;o&nbsp;&nbsp;s&nbsp;&nbsp;t&nbsp;&nbsp;e&nbsp;&nbsp;r&nbsp;&nbsp;.&nbsp;&nbsp;f&nbsp;&nbsp;2&nbsp;&nbsp;s&nbsp;&nbsp;.&nbsp;&nbsp;c&nbsp;&nbsp;o&nbsp;&nbsp;m</div> "
    +"<div class='w3aBottom'>"
    +"  web design and scripting: <a class='aSmall' target='_w3a_win' href='http://mfoster.com/'>mfoster</a><br>"
    +"  Last update " + updateDate + "<br>                                                                                                                                                                                                                                                                        "
    +"  hosted by: <a class='aSmall' target='_w3a_win' href='http://rivalpro.com/'>RivalPro</a><br>"
    +"  <br>                                                                                                                                                                                                                                                                                                      "
    +"</div>                                                                                                                                                                                                                                                                                                      "
  );
}

//-----------------------------------------------------------------------------
// This function is the onScroll event handler (in IE). It calculates the 
// slide target and calls the object's slide method.

var slideMenuOffsetTop=5;

function controlSlideMenu()
{
  var topOfClientArea = getScrollY();

  slideMenu.slideToY(topOfClientArea + slideMenuOffsetTop);

  if (is.nav4up || is.opera) {
    setTimeout("controlSlideMenu()",250);
  }
}



// End w3a.js
