function getElementsByClassName(needle) {
	var my_array = document.getElementsByTagName("*");
	var retvalue = new Array();
	var i;
	var j;
	for (i=0,j=0;i<my_array.length;i++) {
		var c = " " + my_array[i].className + " ";
		if (c.indexOf(" " + needle) != -1) retvalue[j++] = my_array[i];
	}
	return retvalue;
}

function highlight(which) {
    var samecolor = getElementsByClassName(which);
    for(j=0; j<samecolor.length; j++) {
        samecolor[j].className = samecolor[j].className + "_highlight"
    }
}

function unhighlight(which) {
    var samecolor = getElementsByClassName(which);
    for(j=0; j<samecolor.length; j++) {
        samecolor[j].className = samecolor[j].className.substr(0,(samecolor[j].className.indexOf("_highlight")));
    }
}

function revisionhover() {
var revisions = getElementsByClassName("revision");
for(i=0; i<revisions.length; i++) {
    revisions[i].onmouseover = function() { 
        var color = this.className.substr((this.className.indexOf("revision ")+9),4);
        highlight(color);
    }
        
    revisions[i].onmouseout = function() { 
        var color = this.className.substr((this.className.indexOf("revision ")+9),4);
        unhighlight(color);
    }
}
}


function hidetoggles() {
var vnew = getElementsByClassName("revised");
var vprint = getElementsByClassName("print");

    for(i=0; i<vnew.length; i++) {
	vnew[i].style.display = "none";
    }

//    for(j=0; j<vprint.length; j++) {
//        vprint[j].style.display = "none";
//    }

}

function show_version(which) {
showlink = document.getElementById("show_"+which);
vprint = which + "_print"
vnew = which + "_revised";

if(showlink.innerHTML.indexOf('revised') != -1) {
    if(showlink.innerHTML.indexOf('unrevised') != -1) {
	document.getElementById(vprint).style.display='block';
	document.getElementById(vnew).style.display='none';
	showlink.innerHTML = 'Show revised version';
    } else {
	document.getElementById(vprint).style.display='none';
	document.getElementById(vnew).style.display='block';
	showlink.innerHTML = 'Show unrevised version';
    }
}
}

window.onload = function() {
revisionhover();
hidetoggles();
}
