elastic=false;

function flipIndex() {
    var isuindex = (document.getElementById) ? document.getElementById('isuindex') : document.all('isuindex');
    var siteindex = (document.getElementById) ? document.getElementById('siteindex') : document.all('siteindex');

    var azindex = (document.getElementById) ? document.getElementById('azindex') : document.all('azindex');


    if (isuindex.style.display == 'inline') {
        isuindex.style.display = 'none';
        siteindex.style.display = 'inline';
        azindex.style.backgroundColor = '#999966';
    } else {
        isuindex.style.display = 'inline';
        siteindex.style.display = 'none';
        azindex.style.backgroundColor = '#c1c181';
    }
    
}

function show(id) {
    var tohide = (document.getElementById) ? document.getElementById(id) : document.all(id);
    tohide.style.display='inline';
}


function onLoad() {
	//sIFR_replace(); // sifr just caused too many problems and was yoinked.
    loadStyle();
	styleAbbr();
}

function toggleFont() {
  if (getActiveStyleSheet() == "Large font") {
  	setActiveStyleSheet("default");
  } else {
  	setActiveStyleSheet("Large font");
  }
}

function toggleResizer() {
  elastic = !elastic;
  if (elastic) {
  	resizer();
  } else {
    resizer(770);
  }
  createCookie("elastic", elastic, 365);
}

function resizer(newWidth) {
  var maxWidth = 1000;
  var minWidth = 770;
  var padding = 20; // anything less and mozilla makes horz scroll bars :( 
  var leftCol = 144;
  var width = newWidth ? newWidth : getBrowserWidth()-(padding*2);

  // Is this a two column template?
  var right = (document.getElementById) ? document.getElementById('right') : document.all('right');
  if (right) {
	rightCol = 185; 
  	var middle_left_wrapper = (document.getElementById) ? document.getElementById('middle_left_wrapper_twocol') : document.all('middle_left_wrapper_twocol');
 	var middle = (document.getElementById) ? document.getElementById('middle_twocol') : document.all('middle_twocol');
  } else { 
  	var middle_left_wrapper = (document.getElementById) ? document.getElementById('middle_left_wrapper_onecol') : document.all('middle_left_wrapper_onecol');
 	var middle = (document.getElementById) ? document.getElementById('middle_onecol') : document.all('middle_onecol');
	rightCol = 0; 
  }
  
  var bodyWidth = (width < maxWidth) ? width : maxWidth;
  if (bodyWidth < minWidth) { bodyWidth = minWidth; }

  var container = (document.getElementById) ? document.getElementById('container') : document.all('container');

  var header = (document.getElementById) ? document.getElementById('header') : document.all('header');
  
  var subheader = (document.getElementById) ? document.getElementById('subheader') : document.all('subheader');
    
  var footer = (document.getElementById) ? document.getElementById('footer') : document.all('footer');
  
 
  container.style.width = bodyWidth +"px";
  header.style.width = bodyWidth +"px";
  footer.style.width = bodyWidth +"px";
  subheader.style.width = bodyWidth +"px";
  middle_left_wrapper.style.width = (bodyWidth-rightCol)+"px";
  middle.style.width = (((bodyWidth-rightCol)-leftCol)-15)+"px";
}

function getBrowserWidth() {
if (parseInt(navigator.appVersion)>3) {
 if (navigator.appName=="Netscape") {
  winW = window.innerWidth;
  winH = window.innerHeight;
 }
 if (navigator.appName.indexOf("Microsoft")!=-1) {
  winW = document.body.offsetWidth;
  winH = document.body.offsetHeight;
 }
}
 return winW;
}

function setActiveStyleSheet(title) {
  var i, a, main;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
      a.disabled = true;
      if(a.getAttribute("title") == title) a.disabled = false;
    }
  }
  createCookie("style", title, 365);
}

function getActiveStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
  }
  return null;
}

function getPreferredStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1
       && a.getAttribute("rel").indexOf("alt") == -1
       && a.getAttribute("title")
       ) return a.getAttribute("title");
  }
  return null;
}

function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

function loadStyle() {
  var cookie = readCookie("style");
  var title = cookie ? cookie : getPreferredStyleSheet();
  setActiveStyleSheet(title);
 
  var fluid = readCookie("elastic");
  if (fluid == "true") { resizer(); elastic=true; }
}


window.onunload = function(e) {
  var title = getActiveStyleSheet();
  createCookie("style", title, 365);
}

var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);

isIE = (document.all) ? true:false;

// Fix the abbr tag in IE
function styleAbbr() {
  var oldBodyText, newBodyText, reg
  if (isIE) {
    oldBodyText = document.body.innerHTML;
    reg = /<ABBR([^>]*)>([^<]*)<\/ABBR>/g;
    newBodyText = oldBodyText.replace(reg, '<ABBR $1><SPAN class=\"abbr\" $1><!--###\"abbr\"### begin -->$2<!--###\"abbr\"### end --></span></ABBR>');
    document.body.innerHTML = newBodyText;
  }
}

// This function is used by the forms on Mechanical Eng's Graduate Program page.
function go(themenu) 
{
window.location=document.getElementById(themenu).value
}
