// changes to current page
// International Poster Collection
// Colorado State University Libraries
// Greg Vogl 2007-06-11
function currpage() {
	// check all links in the page
    var a = document.getElementsByTagName("A");
	var i;
    for (i=0; i < a.length; i++) {
		// highlight any links to current page in navigation bars to orient the user
		if (a[i].href == window.location.href.split("#")[0]) {
			a[i].style.cursor = "default";
            a[i].style.color = "#1C709B";
			a[i].style.textDecoration = "none";
	        a[i].title = "(You are at this page" 
	   		+ (a[i].title ? ": " + a[i].title : 
			   (a[i].innerText ? ": " + a[i].innerText : "")) + ")";
		}
	}
	// set CISOROWS variables in links and hidden INPUT tags to accommodate user's browser height
	var rows = getRows();
	var newrows = getNewRows();
	if (rows != newrows) {
		var r = document.getElementsByName("CISOROWS");
		for (i=0; i < r.length; i++) {
			r[i].value = newrows; 
		}
		var cisorows = "CISOROWS=" + newrows;
	    for (i=0; i < a.length; i++) {
			if (a[i].href.indexOf("CISOROWS") > 0) { 
				a[i].href = a[i].href.replace(/CISOROWS=\d/, cisorows); 
			}
		}
	}
	return true;
}
function getQueryVariable(url, variable) {
	if (url == '' || url.search.length < 2) return '';
	var query = url.search.substring(1);
	var vars = query.split("&");
	for (var i=0;i<vars.length;i++) {
		var pair = vars[i].split("=");
		if (pair[0] == variable) {
			return unescape(pair[1].replace(/\+/g,' '));
		}
	} 
	return '';	
}
function getRows() {
	// get the number of search results rows
	return getQueryVariable(window.location, 'CISOROWS');	
}
function getNewRows() {
	// get the number of search results rows the user's browser can display without scrolling
	var hWin = document.all ? window.document.body.offsetHeight : window.innerHeight;
	var hImage = 150; // height of image + 3-line caption, assuming default font size
	var hHeader = 180; // height of header, assuming default font size
	var minrows = 2; // minimum number of image rows to display
	var maxrows = 6; // maximum number of image rows to display (to limit IE7 zoom, save bandwidth) 
	var hSmallest = hHeader + minrows * hImage; // smallest height to display minimum rows
	var newrows = Math.floor((hWin-hHeader)/hImage);
	if (newrows < minrows) newrows = minrows;
	else if (newrows > maxrows) newrows = maxrows;
	return newrows;	
}
function getFirstChild(n) {
	// this function is needed because Firefox ignores whitespace but IE treats it as a first child
	var x=n.firstChild;
	while (x.nodeType!=1) {
		x=x.nextSibling;
	}
	return x;
}
window.onload = currpage;
