
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

function insertAfter(newElement,targetElement) {
  var parent = targetElement.parentNode;
  if (parent.lastChild == targetElement) {
    parent.appendChild(newElement);
  } else {
    parent.insertBefore(newElement,targetElement.nextSibling);
  }
}

function togglePrograms() {
if (document.getElementById&&document.getElementsByTagName) {
	if (progs = $("degree_list")) {//this checks to see if we actually need to run the resto of the function
		var heads = progs.getElementsByTagName("dt");
		var bodys = progs.getElementsByTagName("dd");
		var effects = new Array() 
		if (bodys.length>1) { //we don't want to do this on pages with only one program
			for(i=0;i<heads.length;i++) {
				heads[i].number = i;
				heads[i].style.cursor = "pointer";
				bodys[i].number = i;
				effects[i] = new fx.Height(bodys[i],{duration: 300});
				effects[i].hide();
				heads[i].onclick = function () {effects[this.number].toggle();}
			}
		}
	}
}
}

addLoadEvent(togglePrograms);

function toggleJobs() {
if (document.getElementById&&document.getElementsByTagName) {
	if (progs = $("job_listing")) {//this checks to see if we actually need to run the resto of the function
		var heads = progs.getElementsByTagName("dt");
		var bodys = progs.getElementsByTagName("dd");
		var effects = new Array() 
		if (bodys.length>1) { //we don't want to do this on pages with only one program
			for(i=0;i<heads.length;i++) {
				heads[i].number = i;
				heads[i].style.cursor = "pointer";
				bodys[i].number = i;
				effects[i] = new fx.Height(bodys[i],{duration: 300});
				effects[i].hide();
				heads[i].onclick = function () {effects[this.number].toggle();}
			}
		}
	}
}
}

addLoadEvent(toggleJobs);

function toggleCatalog() {
if (document.getElementById&&document.getElementsByTagName) {
	if (progs = $("coursecatalog")) {//this checks to see if we actually need to run the resto of the function
		var heads = progs.getElementsByTagName("dt");
		var bodys = progs.getElementsByTagName("dd");
		var effects = new Array() 
		if (bodys.length>1) { //we don't want to do this on pages with only one program
			for(i=0;i<heads.length;i++) {
				heads[i].number = i;
				heads[i].style.cursor = "pointer";
				bodys[i].number = i;
				effects[i] = new fx.Height(bodys[i],{duration: 150});
				effects[i].hide();
				heads[i].onclick = function () {effects[this.number].toggle();}
			}
		}
	}
}
}

addLoadEvent(toggleCatalog);

/* give anchors with attribute rel="external" a target attribute of "_blank" */

function external() {
 if (document.getElementsByTagName) {
  var i, a;
  a = document.getElementsByTagName('a');
  for (i = 0; i < a.length; i++) {
   if (a[i].getAttribute('href') && a[i].getAttribute('rel') == 'external') {
	   Element.addClassName(a[i], 'external');
	   a[i].onclick = function(e) {
		   if(!e)e=window.event;
		   if(e.shiftKey || e.ctrlKey || e.altKey) return;
		   window.open(this.href);
		   return false;
		   }
   }
  }
 }
}

addLoadEvent(external);