/*************************************************************************
  This code is from Dynamic Web Coding at www.dyn-web.com
  Copyright 2002-4 by Sharon Paine 
  See Terms of Use at www.dyn-web.com/bus/terms.html
  regarding conditions under which you may use this code.
  This notice must be retained in the code as is!
*************************************************************************/

function initGlideLayers() {
  var i, el;
  var glideLyrs = new Array();
  
  // Set up your layers here
  // arguments: id, amount to be visible (left), top, width, height
	// If you don't specify the top position (null), code calculates
	// based on height of previous layer, leaving a 2px gap
  glideLyrs[0] = new dynObj('glideDiv0', 30, 50, 100, 24);
  glideLyrs[1] = new dynObj('glideDiv1', 30, null, 100, 24);
  glideLyrs[2] = new dynObj('glideDiv2', 30, null, 100, 24);
  glideLyrs[3] = new dynObj('glideDiv3', 30, null, 100, 24);
  glideLyrs[4] = new dynObj('contact', 30, null, 100, 24);
  glideLyrs[7] = new dynObj('MP3', 30, 271, 250, 152);
  glideLyrs[5] = new dynObj('cv', 30, null, 100, 24);
  glideLyrs[6] = new dynObj('links', 30, null, 100, 24);
  for (i=0; glideLyrs[i]; i++) {
		// hold amount to be left visible 
		glideLyrs[i].xOff = glideLyrs[i].x;
		if ( !glideLyrs[i].y ) // position based on previous glideLyrs height and position
			if ( glideLyrs[i-1] ) glideLyrs[i].y = glideLyrs[i-1].y + glideLyrs[i-1].h + 1;	
		glideLyrs[i].shiftTo( -(glideLyrs[i].w - glideLyrs[i].xOff), glideLyrs[i].y );
		glideLyrs[i].show();
    el = dynObj.getElemRef( glideLyrs[i].id );
    if (el) {
      el.onmouseover = slideIntoView;
      el.onmouseout = slideOutOfView;
    }
  }  
  
}

function slideIntoView() {
  var glideLyr = dynObj.getInstance(this.id);
  glideLyr.slideTo(2, null, 250, -.8);
}

function slideOutOfView(e) {
  var glideLyr = dynObj.getInstance(this.id);
	e = e? e: window.event;
  var toEl = e.relatedTarget? e.relatedTarget: e.toElement;
  if ( toEl != glideLyr.el && !contained(toEl, glideLyr.el) ) 
	  glideLyr.slideTo( -(glideLyr.w - glideLyr.xOff), null, 300, -.8);
}

// returns true if oNode is contained by oCont (container)
function contained(oNode, oCont) {
  if (!oNode) return; // in case alt-tab away while hovering (prevent error)
  while ( oNode = oNode.parentNode ) if ( oNode == oCont ) return true;
  return false;
}