/*  
The basic method of accessing object attributes was obtained from http://getElementById.com/,
Made by Martial Boissonneault © 2002 http://getElementById.com/
May be used and changed freely as long as this msg is intact
Visit http://getElementById.com/ for more free scripts and tutorials.


*** Otherwise all programming done by Jeffrey P. Gruber ***

*/

var divbuffer = 30;
var ns4 = (document.layers);
var ie4 = (document.all && !document.getElementById);

/*  
newImage - this function is used to load an image
*/
function newImage(arg){
	if (document.images){
		rslt = new Image()
		rslt.src = arg
		return rslt
	}
}

/*  
changeImages - this function is used to toggle an image
*/
function changeImages(){
	if (document.images && (preloaded == true)){
		for (var i=0; i<changeImages.arguments.length; i+=2){
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1]
		}
	}
}

/*  
show - this function is used to make a specific layer(div) visible
*/
function show(id){
	document.getElementById(id).style.visibility = "visible"
}

/*  
hide - this function is used to make a specific layer(div) invisible
*/
function hide(id){
	document.getElementById(id).style.visibility = "hidden"
}

/*  
repositionlayer - this function is used to reposition a specific layer(div) with respect to the position of the layer before it
*/
function repositionlayer(id, idprev){
	document.getElementById(id).style.top = parseInt(document.getElementById(idprev).style.top) + document.getElementById(idprev).offsetHeight + divbuffer
}

/*  
makevisible - this function repositions and shows layer(div) of category clicked, hides all other category layers(divs), and repositions footer layer(div) based on category clicked
*/
function makevisible(id){
	var divTags = document.getElementsByTagName("div") 
	var prevdivid = divTags[0].id
	for (i=0; i< divTags.length; i++){
		if(divTags[i].className == "category" || divTags[i].id == "FooterDiv"){
			hide(divTags[i].id)
		}
		else{
			prevdivid = divTags[i].id
		}
	}
	repositionlayer(id, prevdivid)
	repositionlayer("FooterDiv", id)
	show(id)
	show("FooterDiv")
}

/*  
display all - this function repositions and shows all category layers(divs) and footer layer(div) 
*/
function displayall(){
	var divTags = document.getElementsByTagName("div") 
	var prevdivno = 0
	for (i=0; i< divTags.length; i++){
		if (divTags[i].className == "category" || divTags[i].id == "FooterDiv"){
			hide(divTags[i].id)
		}
		else{
			prevdivno = i
		}
	}
	for (i=prevdivno+1; i< divTags.length; i++){
		if (divTags[i].className == "category" || divTags[i].id == "FooterDiv"){
			repositionlayer(divTags[i].id, divTags[i-1].id)
		}
	}
	for (i=prevdivno+1; i< divTags.length; i++){
		if (divTags[i].className == "category" || divTags[i].id == "FooterDiv"){
			show(divTags[i].id)
		}
	}
}

/*  
displayinit - this script is used to set up and display the initial page
*/
function displayinit(){
	var divTags = document.getElementsByTagName("div") 
	for (i=0; i< divTags.length; i++){
		hide(divTags[i].id)
	}
	var prevdivid = divTags[0].id
	for (i=1; i< divTags.length; i++){
		if (divTags[i].className != "category"){
			repositionlayer(divTags[i].id, prevdivid)
			prevdivid = divTags[i].id
		}
	}
	for (i=0; i< divTags.length; i++){
		if (divTags[i].className != "category"){
			show(divTags[i].id)
		}
	}
}

/*  
this script is used to dynamically format email address to avoid spamming
*/
function formatemail(){
	user ="jpgruber"
	domain ="entomology.wisc.edu"

	document.write('<a href="mailto:' + user + '@' + domain +' " >' + user + '@' + domain +'</a>');
}

/*  
this script is used to redirect to old browser compatible page
*/
function checkRedirect(){
	// for old browser versions, open a different version of the page
	if (ns4 || ie4){
		window.location.replace(redirectpage)
	}
}
