
  // JavaScript Document
//Make global navigation drop down menus work in IE
hoverIE = function() {
				var hoverElements = document.getElementById("MenuBar").getElementsByTagName("LI");
				for (var i=0; i<hoverElements.length; i++) {
					hoverElements[i].onmouseover=function() {
						sel = document.getElementsByTagName("select");
						for (var i=0; i<sel.length; i++) {
							sel[i].style.visibility = 'hidden'; 
						}					
						this.className+=" hoverIE";
					}
					hoverElements[i].onmouseout=function() {
						sel = document.getElementsByTagName("select");
						for (var i=0; i<sel.length; i++) {
							sel[i].style.visibility = 'visible'; 
						}					
						this.className=this.className.replace(new RegExp(" hoverIE\\b"), "");
					}
				}
			}
			if (window.attachEvent) window.attachEvent("onload", hoverIE);

//Assorted dreamweaver functions
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
	
//Hide and show form sections
function toggleSection(theSection) { 

		//Remove the focus indicator
		document.getElementById(theSection + 'Link').blur();
		//Toggle the visibility of the item's body
		if (document.getElementById(theSection + 'Body').style.display == "") {
			//Hide the body
			document.getElementById(theSection + 'Body').style.display = "none";
			//Show the closed icon
			document.getElementById(theSection + 'Disclosure').src = "../../../images/disclose_closed.gif";
		} else {
			document.getElementById(theSection + 'Body').style.display = "";
			//Show the open icon
			document.getElementById(theSection + 'Disclosure').src = "../../../images/disclose_open.gif";
		}

}

//Add alternating color to table rows
// 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] : "#eee";
  
    // 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
    // &lt;tbody&gt;s 
    var tbodies = table.getElementsByTagName("tbody");

    // and iterate through them...
    for (var h = 0; h < tbodies.length; h++) {
    
     // find all the &lt;tr&gt; 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;
      }
    }
  }

  
  
function toggleTableSection(theSection) {
	//If there is a triangle for the section being toggled
	if (document.getElementById(theSection + 'Triangle')) {
		//If the triangle is open
		if ((document.getElementById(theSection + 'Triangle').src).search("_open_") > -1) {
			//Hide the section
			if (document.getElementById(theSection)) {
				document.getElementById(theSection).style.display = "none";
			}
			//Set the triangle to closed
			document.getElementById(theSection + 'Triangle').src = "../../../images/disc_closed_black.gif";
		} else {
			//Show the section
			if (document.getElementById(theSection)) {
				document.getElementById(theSection).style.display = "";
			}
			//Set the triangle to open
			document.getElementById(theSection + 'Triangle').src = "../../../images/disc_open_black.gif";
		}
	}
}
  
function toggleTableSectionSubs(theSection, theChildren) {
	//Parse the comma separated list of subsections
	var sectionChildren = theChildren.split(",");
	
	//If there is a triangle for the section being toggled
	if (document.getElementById(theSection + 'Triangle')) {
		//If the triangle is open
		if ((document.getElementById(theSection + 'Triangle').src).search("_open_") > -1) {
			//Hide the section
			if (document.getElementById(theSection)) {
				document.getElementById(theSection).style.display = "none";
			}
			//Set the triangle to closed
			document.getElementById(theSection + 'Triangle').src = "../../../images/disc_closed_black.gif";
			//Hide the children
			for(i=0; i < sectionChildren.length; i++) {
				//Hide the child section
				if (document.getElementById(sectionChildren[i])) {
					document.getElementById(sectionChildren[i]).style.display = "none";
				}
				//Set the child triangle to closed
				if (document.getElementById(sectionChildren[i] + 'Triangle')) {
					document.getElementById((sectionChildren[i]) + 'Triangle').src = "../../../images/disc_closed_black.gif";
				}
			}
		} else {
			//Show the section
			if (document.getElementById(theSection)) {
				document.getElementById(theSection).style.display = "";
			}
			//Set the triangle to open
			document.getElementById(theSection + 'Triangle').src = "../../../images/disc_open_black.gif";
			//Show the children
			for(i=0; i < sectionChildren.length; i++) {
				//Show the child section
				if (document.getElementById(sectionChildren[i])) {
					document.getElementById(sectionChildren[i]).style.display = "";
				}
				//Set the child triangle to open
				if (document.getElementById(sectionChildren[i] + 'Triangle')) {
					document.getElementById(sectionChildren[i] + 'Triangle').src = "../../../images/disc_open_black.gif";
				}
			}
		}
	}
}

function toggleTable(theSection) {
	var CurrSection = document.getElementById(theSection);
	if ((CurrSection.className == "show") || (CurrSection.className.length == 0)) {
		document.getElementById(theSection + 'Triangle').src = "../../../images/disc_closed_black.gif";
		CurrSection.className = "hide";
	} else {
		document.getElementById(theSection + 'Triangle').src = "../../../images/disc_open_black.gif";
		CurrSection.className = "show";
	}
}

function getStyle(oElm, strCssRule){
    var strValue = "";
    if(document.defaultView && document.defaultView.getComputedStyle){
        strValue = document.defaultView.getComputedStyle(oElm, "").getPropertyValue(strCssRule);
    }
    else if(oElm.currentStyle){
        strCssRule = strCssRule.replace(/\-(\w)/g, function (strMatch, p1){
            return p1.toUpperCase();
        });
        strValue = oElm.currentStyle[strCssRule];
    }
    return strValue;
}

