//
// Dreamweaver functions and other miscellaneous utilities
//

// Dreamweaver functions
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];}}
}
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_findObj(n, d) { //v4.01
  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);
  if(!x && d.getElementById) x=d.getElementById(n); 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_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

// function checks if PNGs need to be fixed, and if so,
// calls correctPNG()
// (see pngfix.js)
function fixpng() {
  if (typeof needtofixpng != 'undefined' && needtofixpng)
    correctPNG();
}

///////////////////////////////////////////////////////////////////
///
/// WBR quotes
///

var quotedata = new Array();
quotedata[quotedata.length] = {file:"img/quote1.png",x:18,y:54,alt:""};
quotedata[quotedata.length] = {file:"img/quote2.png",x:18,y:54,alt:""};
quotedata[quotedata.length] = {file:"img/quote3.png",x:18,y:54,alt:""};


// path to the web site (to save browser from sending cookie to all MIT sites)
//
//var cookiepath = "/wbrs";
var cookiepath = "/";

// current quote (get from cookie and increment)
var currentquote = get_quotenum_from_cookie();
currentquote = (currentquote < 0 ? 0 : (++currentquote) % quotedata.length);
// save back to cookie
save_quotenum_to_cookie(currentquote);

//
// write HTML for quotes
//
function addquotes() {
  for (var i = 0; i < quotedata.length; i++) {
    var str = "<div id='divquote"+i+"' style='position:absolute; left:"+quotedata[i].x+"px; top:"+quotedata[i].y+"px; z-index:5; visibility:"+(currentquote==i ? "visible":"hidden")+"'>";
    str += "<img src='"+quotedata[i].file+"' alt='"+quotedata[i].alt+"' title='' />";
    str += "</div>";
    document.writeln(str);
  }
  var str = "<div id='divnextquotebutton' style='position:absolute; left:679px; top:8px; z-index:5'>";
  str += "<a href='' onclick='return nextquote()'>";
  str += "<img src='img/nextquote.png' border='0' alt='Next quote' title='' />";
  str += "</a></div>";
  document.writeln(str);
}

//
// show next quote
//
function nextquote() {
  // hide current
  MM_showHideLayers("divquote"+currentquote,'','hide');
  // increment counter
  currentquote = ++currentquote % quotedata.length;
  // save to cookie
  save_quotenum_to_cookie(currentquote);
  // show next
  MM_showHideLayers("divquote"+currentquote,'','show');
  return false;
}

///
/// Get/save quote# in cookie
///

// get current quote# from cookie
function get_quotenum_from_cookie() {
  var qn = -1;
  var cookies = document.cookie.split(';');
  for (i = 0; i < cookies.length; i++) {
    if (cookies[i].indexOf('wbrsquote') > -1) { // found in cookie
      cookieparts = cookies[i].split('=')
      qn = parseInt(cookieparts[1]);
      //alert("found cookie "+cookies[i]);
    }
  }
  return qn;
}

// save current quote# to cookie
function save_quotenum_to_cookie(qn) {
  var expire = new Date ();
  expire.setTime (expire.getTime() + (1*365*24*60*60*1000)); //expires in 1 year
  expire = '; expires='+expire.toGMTString();
  //var expire = ''; // let it expire when browser closes
  var str = 'wbrsquote='+qn+'; path='+cookiepath+expire;
  document.cookie=str;
  //alert("wrote cookie "+str);
}

// debugging function to write all cookies to html, one per line
//function dump_cookies() {
//  var tempArray = document.cookie.split(';');
//  for (tA = 0; tA < tempArray.length; tA++)
//    document.writeln (tempArray[tA]+'<br />');
//}

