
function trim(value) {
   var temp = value;
   var obj = /^(\s*)([\W\w]*)(\b\s*$)/;
   if (obj.test(temp)) { temp = temp.replace(obj, '$2'); }
   return temp;
}

function addEvent(obj, evType, fn){ 
 if (obj.addEventListener){ 
   obj.addEventListener(evType, fn, true); 
   return true; 
 } else if (obj.attachEvent){ 
   var r = obj.attachEvent("on"+evType, fn); 
   return r; 
 } else { 
   return false; 
 } 
}
function initBtnHover() {
    if (!document.getElementsByTagName){ return; }
    var allfields3 = getElementsByClassName(document, "input", "submit"); //document.getElementsByTagName("input");
    // loop through all input tags and add events
  
     for (var i=0; i<allfields3.length; i++){
            allfields3[i].onmouseover = function () {this.className = this.className + 'Hover';}
            allfields3[i].onmouseout = function () {this.className = this.className.replace(/Hover/g, "");}
    }
}
	   
// Nifty function to add onload events without overwriting
// ones already there courtesy of the lovely and talented
// Simon Willison http://simon.incutio.com/
function addTPLoadEvent(func) {  

    var oldonload = window.onload;
    if (typeof window.onload != 'function'){
        window.onload = func;
    } else {
        window.onload = function(){
        oldonload();
        func();
        }
    }
}

function getEventSrc(e) {
       var targ;
// get a reference to the IE/windows event object
if (!e) e = window.event;

// DOM-compliant name of event source property
if (e.target)
  targ = e.target;
// IE/windows name of event source property
else if (e.srcElement)
  targ = e.srcElement;
if (targ.nodeType == 3) // defeat Safari bug
       targ = targ.parentNode;
return targ;
}

function hideAll(){
  var obj,nextspan,anchor,content;
  // get all spans
  obj=document.getElementsByTagName('span')
  // run through them
  for (var i=0;i<obj.length;i++){
    // if it has a class of helpLink
    if(/helpLink/.test(obj[i].className)){
      // get the adjacent span
      nextspan=obj[i].nextSibling;
      while(nextspan.nodeType!=1) nextspan=nextspan.nextSibling;
       // hide it
      nextspan.style.display='none';
      //create a new link
      anchor=document.createElement('a');
      // copy original helpLink text and add attributes
      content=document.createTextNode(obj[i].firstChild.nodeValue);
      anchor.appendChild(content);
      anchor.href='#help';
      anchor.title='Click to show help';
      anchor.className=obj[i].className;
      anchor.nextspan=nextspan;
      anchor.onclick=function(){showHide(this.nextspan);changeTitle(this);return false;}
     // anchor.onfocus=function(){showHide(this.nextspan);changeTitle(this);return false;}

      // replace span with created link
      obj[i].replaceChild(anchor,obj[i].firstChild);
    }
  }
}
// used to flip helpLink title
function changeTitle(obj){
  if(obj)
    obj.title = obj.title=='Click to show help' ? 'Click to hide help' : 'Click to show help';
}


// used to flip the display property
function showHide(obj){
  if(obj)
    obj.style.display = obj.style.display=='none' ? 'inline' : 'none';
}

 if(typeof Array.prototype.push != "function"){
    Array.prototype.push = ArrayPush;
    function ArrayPush(value){
        this[this.length] = value;
    }
}  
	/*
    usage:
	getElementsByClassName(document.getElementById("container"), "div", "col");
	*/
	
	function getElementsByClassName(oElm, strTagName, oClassNames){
    var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    var arrRegExpClassNames = new Array();
    if(typeof oClassNames == "object"){
        for(var i=0; i<oClassNames.length; i++){
            arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)"));
        }
    }
    else{
        arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)"));
    }
    var oElement;
    var bMatchesAll;
    for(var j=0; j<arrElements.length; j++){
        oElement = arrElements[j];
        bMatchesAll = true;
        for(var k=0; k<arrRegExpClassNames.length; k++){
            if(!arrRegExpClassNames[k].test(oElement.className)){
                bMatchesAll = false;
                break;                      
            }
        }
        if(bMatchesAll){
            arrReturnElements.push(oElement);
        }
    }
    return (arrReturnElements)
}

  addTPLoadEvent(labels_init);function labels_init(){if(document.getElementById&&document.styleSheets){try{var s=document.styleSheets[document.styleSheets.length-1];addStyleRule(s,"label.inside","position:absolute; visibility:hidden;");for(var i=0,label=null;(label=document.getElementsByTagName("label")[i]);i++)
{if(label.className=='inside'){label_init(label);}}
addEvent(document.forms[0],"submit",labels_uninit);}
catch(e){}}}
function labels_uninit(e){if(document.getElementById&&document.styleSheets){for(var i=0,label=null;(label=document.getElementsByTagName("label")[i]);i++)
{var el=document.getElementById(label.htmlFor);if(el&&el.value==el._labeltext)label_hide(el);}}}
function label_init(label){try{var el=document.getElementById(label.htmlFor);var elName=el.nodeName;var elType=el.getAttribute("type");if(elName=="TEXTAREA"||(elType=="text"||elType=="password")){el._labeltext=label.firstChild.nodeValue;el._type=el.getAttribute("type");addEvent(el,"focus",label_focused);addEvent(el,"blur",label_blurred);label_blurred({currentTarget:el});}else{label.style.position="static";label.style.visibility="visible";}}
catch(e){label.style.position="static";label.style.visibility="visible";}}
function label_focused(e){e=fix_e(e);var el=e.currentTarget;if(el.value==el._labeltext)el=label_hide(el)
el.select();}
function label_hide(el){if(el._type=="password")el=label_setInputType(el,"password");el.value="";return el;}
function label_blurred(e){e=fix_e(e);var el=e.currentTarget;if(el.value=="")el=label_show(el);}
function label_show(el){if(el._type=="password")el=label_setInputType(el,"text");el.value=el._labeltext;return el;}
function label_setInputType(el,type){if(navigator.appName=="Microsoft Internet Explorer"){var newEl=document.createElement("SPAN");newEl.innerHTML='<input type="'+type+'" />';newEl=newEl.firstChild;var s='';for(prop in el){try{if(prop!="type"&&prop!="height"&&prop!="width")newEl[prop]=el[prop];}
catch(e){}}
addEvent(newEl,"focus",label_focused);addEvent(newEl,"blur",label_blurred);el.parentNode.replaceChild(newEl,el);return newEl;}else{el.setAttribute("type",type);return el;}}
function addEvent(obj,evType,fn){if(obj.addEventListener){obj.addEventListener(evType,fn,true);return true;}else if(obj.attachEvent){var r=obj.attachEvent("on"+evType,fn);return r;}else{return false;}}
function addStyleRule(stylesheet,selector,rule){if(stylesheet.addRule)stylesheet.addRule(selector,rule);else{var index=stylesheet.cssRules.length;stylesheet.insertRule(selector+"{"+rule+"}",index);}}
function fix_e(e){if(!e&&window.event)e=window.event;if(!e.currentTarget&&e.srcElement)e.currentTarget=e.srcElement;if(!e.originalTarget&&e.srcElement)e.originalTarget=e.srcElement;return e;}


function PrepPDFs() {
  var pageHasPDFs = false;
  var mainContent = document.getElementById("doc");
  var links = mainContent.getElementsByTagName("a");
  for (i=0; i<links.length; i++) {
    var currentLink = links[i];
    var images = currentLink.getElementsByTagName("img");
    /*Check if the link is an image (we don't want icons next to images) and that ".pdf" appears in the link href.*/
    if (images.length == 0 && currentLink.href.indexOf('.pdf') != -1) {
    
      var curClass = currentLink.getAttribute("class");
      if (curClass != null) { currentLink.className = curClass + " pdf"; }
      else { currentLink.className = "pdf"; }
      pageHasPDFs = true;
     
      var pdfName = currentLink.href;
      currentLink.onclick = function () {urchinTracker('/downloads/' + pdfName);}
    }
  }
/*If any a's had classes of "pdf" applied, then add the text to let the user go to Adobe's site for Reader.
  if (pageHasPDFs==true) {
    var para = document.createElement("p");
    para.innerHTML = "This page has links to PDF files. In order to view these files, you will need to visit Adobe's     website download their free <a href=\"http://www.adobe.com\">PDF Reader.</a>";
    mainContent.appendChild(para);
  }
  */
} 


function doHover(obj, doIt){
			   if(doIt == true){
					obj.className = "trHover";
			   }else{
				 obj.className = "none";
			   }
			  }
	   function initTrHover(){
			var nextspan;
			var arrContainers;
			var arrCheckboxes;
			arrContainers = getElementsByClassName(document, "tr", "doHover");
			for(var i=0; i<arrContainers.length; i++){
			arrContainers[i].onmouseover=function(){doHover(this, true);}
			arrContainers[i].onmouseout=function(){doHover(this, false);}
			}
	  }


addTPLoadEvent(initTrHover);
addTPLoadEvent(initBtnHover);
addTPLoadEvent(hideAll);
addTPLoadEvent(PrepPDFs);
