// gomain: close the activity window and send the main window to the specified url.
function gomain(url) {

  // Hack warning: Rewriting a URL for no reason except laziness.
  // The only time this routine is currently called with a file 
  // of "index.html" is when a routine
  // wants to get to the Amazing Space/Explorations root.  
  // However, this may change (and in fact has).
  // Instead of changing all the flashes, we will look here and rewrite the URL.  
  // This will break if another index.html url is ever wanted.
  // OOPs, there is a call with 'teacher/index.html', so check for that.
  if (url.lastIndexOf("teacher") < 0) {
    var p = url.lastIndexOf("index.html");
    if (p > 0) {
      var nurl = url.substr(0, p) + "index.shtml";
	  url = nurl;
    }
  }
  window.open(url, "original");
  window.close();
}

// DW functions
function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
   var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
   if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}