window.onload=function () {
	spamblock();
  insertFootnotes();
}
/***********************************************
* Easy Email Scrambler script- &#169; Dynamic Drive (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

function spamblock() {
	var maildivider="[theAtSymbol]" //enter divider you use to divide your email address strings

	for (i=0; i<=(document.links.length-1); i++){
	if (document.links[i].href.indexOf(maildivider)!=-1)
	document.links[i].href=document.links[i].href.split(maildivider)[0]+"@"+document.links[i].href.split(maildivider)[1]
	}
}

//** Featured Content Slider script- © Dynamic Drive DHTML code library (http://www.dynamicdrive.com)
//** Last updated: Feb 28th- 07- Added ability to customize pagination links' text

////Ajax related settings
var csbustcachevar=0 //bust potential caching of external pages after initial Ajax request? (1=yes, 0=no)
var csloadstatustext="<img src='/images/loading.gif' /> Requesting content..." //HTML to indicate Ajax page is being fetched
var csexternalfiles=[] //External .css or .js files to load to style the external content(s), if any. Separate multiple files with comma ie: ["cat.css", dog.js"]

////NO NEED TO EDIT BELOW////////////////////////
var enablepersist=true
var slidernodes=new Object() //Object array to store references to each content slider's DIV containers (<div class="contentdiv">)
var csloadedobjects="" //Variable to store file names of .js/.css files already loaded (if Ajax is used)

function ContentSlider(sliderid, autorun, customPaginateText, customNextText){
	var slider=document.getElementById(sliderid)
	if (typeof customPaginateText!="undefined" && customPaginateText!="") //Custom array of pagination links text defined?
		slider.paginateText=customPaginateText
	if (typeof customNextText!="undefined" && customNextText!="") //Custom HTML for "Next" link defined?
		slider.nextText=customNextText
	slidernodes[sliderid]=[] //Array to store references to this content slider's DIV containers (<div class="contentdiv">)
	ContentSlider.loadobjects(csexternalfiles) //Load external .js and .css files, if any
	var alldivs=slider.getElementsByTagName("div")
	for (var i=0; i<alldivs.length; i++){
		if (alldivs[i].className=="contentdiv"){
			slidernodes[sliderid].push(alldivs[i]) //add this DIV reference to array
			if (typeof alldivs[i].getAttribute("rel")=="string") //If get this DIV's content via Ajax (rel attr contains path to external page)
				ContentSlider.ajaxpage(alldivs[i].getAttribute("rel"), alldivs[i])
		}
	}
	ContentSlider.buildpagination(sliderid)
	var loadfirstcontent=true
	if (enablepersist && getCookie(sliderid)!=""){ //if enablepersist is true and cookie contains corresponding value for slider
		var cookieval=getCookie(sliderid).split(":") //process cookie value ([sliderid, int_pagenumber (div content to jump to)]
		if (document.getElementById(cookieval[0])!=null && typeof slidernodes[sliderid][cookieval[1]]!="undefined"){ //check cookie value for validity
			ContentSlider.turnpage(cookieval[0], parseInt(cookieval[1])) //restore content slider's last shown DIV
			loadfirstcontent=false
		}
	}
	if (loadfirstcontent==true) //if enablepersist is false, or cookie value doesn't contain valid value for some reason (ie: user modified the structure of the HTML)
		ContentSlider.turnpage(sliderid, 0) //Display first DIV within slider
	if (typeof autorun=="number" && autorun>0) //if autorun parameter (int_miliseconds) is defined, fire auto run sequence
		window[sliderid+"timer"]=setTimeout(function(){ContentSlider.autoturnpage(sliderid, autorun)}, autorun)
}

ContentSlider.buildpagination=function(sliderid){
	var slider=document.getElementById(sliderid)
	var paginatediv=document.getElementById("paginate-"+sliderid) //reference corresponding pagination DIV for slider
	var pcontent=""
	for (var i=0; i<slidernodes[sliderid].length; i++) //For each DIV within slider, generate a pagination link
		pcontent+='<a href="#" onClick=\"ContentSlider.turnpage(\''+sliderid+'\', '+i+'); return false\">'+(slider.paginateText? slider.paginateText[i] : i+1)+'</a> '
	pcontent+='<a href="#" style="font-weight: bold;" onClick=\"ContentSlider.turnpage(\''+sliderid+'\', parseInt(this.getAttribute(\'rel\'))); return false\">'+(slider.nextText || "Next")+'</a>'
	paginatediv.innerHTML=pcontent
	paginatediv.onclick=function(){ //cancel auto run sequence (if defined) when user clicks on pagination DIV
	if (typeof window[sliderid+"timer"]!="undefined")
		clearTimeout(window[sliderid+"timer"])
	}
}

ContentSlider.turnpage=function(sliderid, thepage){
	var paginatelinks=document.getElementById("paginate-"+sliderid).getElementsByTagName("a") //gather pagination links
	for (var i=0; i<slidernodes[sliderid].length; i++){ //For each DIV within slider
		paginatelinks[i].className="" //empty corresponding pagination link's class name
		slidernodes[sliderid][i].style.display="none" //hide DIV
	}
	paginatelinks[thepage].className="selected" //for selected DIV, set corresponding pagination link's class name
	slidernodes[sliderid][thepage].style.display="block" //show selected DIV
	//Set "Next" pagination link's (last link within pagination DIV) "rel" attribute to the next DIV number to show
	paginatelinks[paginatelinks.length-1].setAttribute("rel", thenextpage=(thepage<paginatelinks.length-2)? thepage+1 : 0)
	if (enablepersist)
		setCookie(sliderid, sliderid+":"+thepage)
}

ContentSlider.autoturnpage=function(sliderid, autorunperiod){
	var paginatelinks=document.getElementById("paginate-"+sliderid).getElementsByTagName("a") //Get pagination links
	var nextpagenumber=parseInt(paginatelinks[paginatelinks.length-1].getAttribute("rel")) //Get page number of next DIV to show
	ContentSlider.turnpage(sliderid, nextpagenumber) //Show that DIV
	window[sliderid+"timer"]=setTimeout(function(){ContentSlider.autoturnpage(sliderid, autorunperiod)}, autorunperiod)
}

function getCookie(Name){ 
	var re=new RegExp(Name+"=[^;]+", "i"); //construct RE to search for target name/value pair
	if (document.cookie.match(re)) //if cookie found
		return document.cookie.match(re)[0].split("=")[1] //return its value
	return ""
}

function setCookie(name, value){
	document.cookie = name+"="+value
}

////////////////Ajax Related functions //////////////////////////////////

ContentSlider.ajaxpage=function(url, thediv){
	var page_request = false
	var bustcacheparameter=""
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
		page_request = new XMLHttpRequest()
	else if (window.ActiveXObject){ // if IE
		try {
		page_request = new ActiveXObject("Msxml2.XMLHTTP")
		} 
		catch (e){
		try{
		page_request = new ActiveXObject("Microsoft.XMLHTTP")
		}
		catch (e){}
		}
	}
	else
		return false
	thediv.innerHTML=csloadstatustext
	page_request.onreadystatechange=function(){
		ContentSlider.loadpage(page_request, thediv)
	}
	if (csbustcachevar) //if bust caching of external page
		bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
	page_request.open('GET', url+bustcacheparameter, true)
	page_request.send(null)
}

ContentSlider.loadpage=function(page_request, thediv){
	if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
		thediv.innerHTML=page_request.responseText
}

ContentSlider.loadobjects=function(externalfiles){ //function to load external .js and .css files. Parameter accepts a list of external files to load (array)
	for (var i=0; i<externalfiles.length; i++){
		var file=externalfiles[i]
		var fileref=""
		if (csloadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
			if (file.indexOf(".js")!=-1){ //If object is a js file
				fileref=document.createElement('script')
				fileref.setAttribute("type","text/javascript");
				fileref.setAttribute("src", file);
			}
			else if (file.indexOf(".css")!=-1){ //If object is a css file
				fileref=document.createElement("link")
				fileref.setAttribute("rel", "stylesheet");
				fileref.setAttribute("type", "text/css");
				fileref.setAttribute("href", file);
			}
		}
		if (fileref!=""){
			document.getElementsByTagName("head").item(0).appendChild(fileref)
			csloadedobjects+=file+" " //Remember this object as being already added to page
		}
	}
}

///////////////////////////////////////    Collapsable text ///////////////////////////////////////////////////////////////
function insertFootnotes() {
  if(!document.getElementsByTagName) return; //object detection
  var spans = document.getElementsByTagName('span');
  var noteIndex = 1;
  for(var i=0; i<spans.length; i++) {
    if(spans[i].className == 'footnote') { //are we dealing with a footnote?
      var note = spans[i];
      var id = 'note-' + noteIndex++; //ID of the footnote <span>
      var idAnchor = id + '-a'; //ID of the footnote <a> (to expand/collapse the note)
     
      var tmpLinkText; //get the text to be linked
      for(var j=0;j<note.childNodes.length; j++) {
        if(note.childNodes[j].nodeName == '#text') {
          var tmp = note.childNodes[j];
          if(tmp.substringData && tmp.replaceData) { //more testing to prevent errors in bad browsers
            while(true) { //remove trailing spaces
              if(tmp.substringData(tmp.length-1,1) == ' ') {
                tmp.replaceData(tmp.length-1,1,'');
              }
              else {
                break;
              }
            }
          }
          tmpLinkText = tmp.nodeValue;
          break;
        }
      }
     
      var tmpNoteText; //get the text of the footnote
      for(var j=0;j<note.childNodes.length;j++) {
        if(note.childNodes[j].nodeName == 'SMALL') {
          tmpNoteText = note.childNodes[j].innerHTML;
          break;
        }
      }
     
      var okToContinue = (tmpLinkText == '' || tmpNoteText == '') ? false : true; //make sure that we actually have the information we need
      if(okToContinue) {
        note.innerHTML = ''; //clear the span to be safe
        var link = '<a href="javascript:expand(\''+idAnchor+'\',\''+id+'\')" id="'+idAnchor+'" title="Click to expand/collapse" class="expand">'+tmpLinkText+'</a>';
        var noteText = '<span id="'+id+'" class="hidden"> <span class="expand">'+tmpNoteText+'</span></span>';
        note.innerHTML = link + noteText;
      }
    }
  }
}

function expand(aID,spanID) {
  if(!document.getElementById) return; //error prevention
  var anchor = document.getElementById(aID);
  var footnote = document.getElementById(spanID);
  footnote.className = (footnote.className == 'shown') ? 'hidden' : 'shown';
  anchor.className = (anchor.className == 'expand') ? 'collapse' : 'expand';
}

//End Collapsable text//

//**********************Footnote Script by Scott********************************//
function insertFootnotes() {
  if(!document.getElementsByTagName) return; //object detection
  var spans = document.getElementsByTagName('span');
  var noteIndex = 1;
  for(var i=0; i<spans.length; i++) {
	if(spans[i].className == 'footnote') { //are we dealing with a footnote?
	  var note = spans[i];
	  var id = 'note-' + noteIndex++; //ID of the footnote <span>
	  var idAnchor = id + '-a'; //ID of the footnote <a> (to expand/collapse the note)
	  var tmpLinkText; //get the text to be linked
	  for(var j=0;j<note.childNodes.length; j++) {
		if(note.childNodes[j].nodeName == '#text') {
		  var tmp = note.childNodes[j];
		  if(tmp.substringData && tmp.replaceData) { //more testing to prevent errors in bad browsers
			while(true) { //remove trailing spaces
			  if(tmp.substringData(tmp.length-1,1) == ' ') {
				tmp.replaceData(tmp.length-1,1,'');
			  }
			  else {
				break;
			  }
			}
		  }
		  tmpLinkText = tmp.nodeValue;
		  break;
		}
	  }
	  var tmpNoteText; //get the text of the footnote
	  for(var j=0;j<note.childNodes.length;j++) {
		if(note.childNodes[j].nodeName == 'SMALL') {
		  tmpNoteText = note.childNodes[j].innerHTML;
		  break;
		}
	  }
	  var okToContinue = (tmpLinkText == '' || tmpNoteText == '') ? false : true; //make sure that we actually have the information we need
	  if(okToContinue) {
		note.innerHTML = ''; //clear the span to be safe
		var link = '<a href="javascript:expand(\''+idAnchor+'\',\''+id+'\')" id="'+idAnchor+'" title="Click to expand/collapse" class="expand">'+tmpLinkText+'</a>';
		var noteText = '<span id="'+id+'" class="hidden"> <span class="expand">'+tmpNoteText+'</span></span>';
		note.innerHTML = link + noteText;
	  }
	}
  }
}
function expand(aID,spanID) {
  if(!document.getElementById) return; //error prevention
  var anchor = document.getElementById(aID);
  var footnote = document.getElementById(spanID);
  footnote.className = (footnote.className == 'shown') ? 'hidden' : 'shown';
  anchor.className = (anchor.className == 'expand') ? 'collapse' : 'expand';
}
//#####################End Footnote Script###################################//

