/* Common DHTML JavaScript Library
** Authors: Ben Shoemate and Cody Burleson
** Version 2.2
** Last Modified: April 26, 2003
**
** Please only remove comments from production version; save a copy with comments.
*/
function redirect(URLStr) { location = URLStr; }
function setClass(elm,clss) {
// IE 5+ and NS 6...
if (document.getElementById) {
// You can either call the function with setClass(this,'ruleName') or setClass('elementID','rulName').
// Test whether it's an object (else it must be a string) to handle both types of calls
if(typeof elm=='object') {
// test whether the element actually exists, if it does not exist, exit gracefully
// rather than throwing a js error
if(document.getElementById(elm)) { // attempt only if element exists
elm.className = clss;
}
} else {
if(document.getElementById(elm)) { // attempt only if element exists
document.getElementById(elm).className = clss;
}
}
// IE 4...
} else if (document.all) {
document.all[elm].className = clss;
}
}
function toggleVisibility(elm) {
// IE 5+ and NS 6...
if (document.getElementById) {
// You can either call the function with toggleVisibility(this) or toggleVisibility('elementID').
// Test whether it's an object (else it must be a string) to handle both types of calls
if(typeof elm=='object') {
if(elm.style.display != "none") {
elm.style.display = "none";
} else {
elm.style.display = "";
}
} else {
if(document.getElementById(elm).style.display != "none") {
document.getElementById(elm).style.display = "none";
} else {
document.getElementById(elm).style.display = "inline";
}
}
// IE 4...
} else if (document.all) {
if(document.all[elm].style.display != "none") {
document.all[elm].style.display = "none";
} else {
document.all[elm].style.display = "block";
}
}
}
function swapImage (img, imageSource) {
// IE 5+ and NS 6...
if (document.getElementById) {
// You can either call the function with setClass(this,'ruleName') or setClass('elementID','rulName').
// Test whether it's an object (else it must be a string) to handle both types of calls
if(typeof img=='object') {
img.src = imageSource;
} else {
document.getElementById(img).src = imageSource;
}
// IE 4...
} else if (document.all) {
document.all[img].src = imageSource;
}
}
function changecss(myclass,element,value) {
var CSSRules
if (document.all) {
CSSRules = 'rules'
}
else if (document.getElementById) {
CSSRules = 'cssRules'
}
for (var i = 0; i < document.styleSheets[0][CSSRules].length; i++) {
if (document.styleSheets[0][CSSRules][i].selectorText == myclass) {
document.styleSheets[0][CSSRules][i].style[element] = value
}
}
}
// this function is needed to work around
// a bug in IE related to element attributes
function hasClass(obj) {
var result = false;
if (obj.getAttributeNode("class") != null) {
result = obj.getAttributeNode("class").value;
}
return result;
}
function stripe(id) {
// the flag we'll use to keep track of
// whether the current row is odd or even
var even = false;
// if arguments are provided to specify the colours
// of the even & odd rows, then use the them;
// otherwise use the following defaults:
var evenColor = arguments[1] ? arguments[1] : "#fff";
var oddColor = arguments[2] ? arguments[2] : "#EAF0F8";
// obtain a reference to the desired table
// if no such table exists, abort
var table = document.getElementById(id);
if (! table) { return; }
// by definition, tables can have more than one tbody
// element, so we'll have to get the list of child
// <tbody>s
var tbodies = table.getElementsByTagName("tbody");
// and iterate through them...
for (var h = 0; h < tbodies.length; h++) {
// find all the <tr> elements...
var trs = tbodies[h].getElementsByTagName("tr");
// ... and iterate through them
for (var i = 0; i < trs.length; i++) {
// avoid rows that have a class attribute
// or backgroundColor style
if (! hasClass(trs[i]) &&
! trs[i].style.backgroundColor) {
// get all the cells in this row...
var tds = trs[i].getElementsByTagName("td");
// and iterate through them...
for (var j = 0; j < tds.length; j++) {
var mytd = tds[j];
// avoid cells that have a class attribute
// or backgroundColor style
if (! hasClass(mytd) &&
! mytd.style.backgroundColor) {
mytd.style.backgroundColor =
even ? evenColor : oddColor;
}
}
}
// flip from odd to even, or vice-versa
even = ! even;
}
}
}