/*

University Relations scripts
Purpose:		Commonly-used scripts for University Relations web sites
Location:		Original version at http://identity.berkeley.edu/lib/urelscripts.js
Author:			Kirk Franklin
Last update:	February 9, 2007

*/

/* toggles the display of an object */
function toggle(id){
	obj=(document.all) ? document.all[id] : document.getElementById(id);
	obj.style.display=(obj.style.display=='none') ? 'block' : 'none';
}


/* popups */

var newWin = null;
function closeWin(){
	if (newWin != null){
		if(!newWin.closed)
			newWin.close();
	}
}

function popUp(strURL,strType,strWidth,strHeight) {
	LeftPosition = (screen.width) ? (screen.width-strWidth)/2 : 0;
	TopPosition = (screen.height) ? (screen.height-strHeight)/2 : 0;
	closeWin();
	var strOptions="";
	if (strType=="console")
		strOptions="resizable,left="+LeftPosition+",top="+TopPosition+",height="+strHeight+",width="+strWidth;
	if (strType=="fixed")
		strOptions="status,left="+LeftPosition+",top="+TopPosition+",height="+strHeight+",width="+strWidth;
	if (strType=="elastic")
		strOptions="toolbar,menubar,scrollbars,resizable,location,left="+LeftPosition+",top="+TopPosition+",height="+strHeight+",width="+strWidth;
	newWin = window.open(strURL,'newWin',strOptions);
	newWin.focus();
}

/* /popups */

function getElementsByClassName(oElm,strTagName,oClassNames){
	if (!document.getElementsByTagName) return false;
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	var arrRegExpClassNames = new Array();
	if(typeof oClassNames == "object"){
		for(var i=0; i<oClassNames.length; i++){
			arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)"));
		}
	} else {
		arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)"));
	}
	var oElement;
	var bMatchesAll;
	for(var j=0; j<arrElements.length; j++){
		oElement = arrElements[j];
		bMatchesAll = true;
		for(var k=0; k<arrRegExpClassNames.length; k++){
			if(!arrRegExpClassNames[k].test(oElement.className)){
				bMatchesAll = false;
				break;                      
			}
		}
		if(bMatchesAll){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}

function addEvent(obj, evType, fn) {
	if (obj.addEventListener) {
		obj.addEventListener(evType, fn, true);
		return true;
	} else if (obj.attachEvent) {
		var r = obj.attachEvent("on"+evType, fn);
		return r;
	} else {
		return false;
	}
}

function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			if (oldonload) {
				oldonload();
			}
			func();
		}
	}
}

function go() {
	box = document.forms[0].dropnav;
	destination = box.options[box.selectedIndex].value;
	if (destination) location.href = destination;
}
