// EPA's core functions
// 05 June 2007
// For comments and explanations, see http://www.epa.gov/epafiles/js/epa-full.txt

function printAsIs_Date_URL() {
	if(!document.getElementById('footer')) return;
	var footer = document.getElementById('footer');

	var printText = document.createElement('p');
	printText.id = 'printAsIs';
	var print_function = document.createElement('a'); print_function.href = '#';
  print_function.title = 'Print this page as-is.';
  print_function.onclick = function(){ print_preview(); return false; };
  print_function.appendChild(document.createTextNode('Print As-Is') );
	printText.appendChild(print_function);
	footer.appendChild(printText);

	var urlText = document.createElement('p');
	urlText.id = 'url';
	urlText.appendChild(document.createTextNode(window.location.href));
	footer.insertBefore(urlText,printText);

	var x = new Date(document.lastModified); var Modif = new Date(x.toGMTString());
	var days = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];
	var months = ['January','February','March','April','May','June','July','August','September','October','November','December'];
	var datetowrite = 'Last updated on ' + days[Modif.getDay()] + ', ' + months[Modif.getMonth()] + ' ' + Modif.getDate() + nths(Modif.getDate()) + ', ' + takeYear(Modif) + '.';
	var dateText = document.createElement('p'); dateText.id = 'date';
	dateText.appendChild(document.createTextNode(datetowrite));
	footer.insertBefore(dateText, urlText);
}

function print_preview() {
	var links = document.getElementsByTagName('link');
	for (var i = 0; i < links.length; i++) {
		var linkHREF = links[i].getAttribute('href');
		if (linkHREF == 'http://www.epa.gov/swerust1/s/print.css') {
			links[i].removeAttribute('href'); links[i].href = 'http://www.epa.gov/swerust1/s/epa.css';
		}
	}
	add_preview_message();
}

function add_preview_message() {
	var footer = document.getElementById('footer');
	var printPara = document.createElement('p');
	printPara.innerHTML = '<b>This document will now print as it appears on screen when you use the File &raquo; Print command.</b><br>Use View &raquo; Refresh to return to original state.';
	footer.appendChild(printPara);
}

function newIcon() {	
	if(!document.getElementsByTagName('ins')) return;
	var newItem = document.getElementById('content').getElementsByTagName('ins');
	for ( var i = 0; i < newItem.length; i++) {
		if (!newItem[i].getAttribute('datetime')) continue;
		var a = newItem[i].getAttribute('datetime');
		var b = new Array(); b = a.split('-');
		var postedDate = (Date.UTC(b[0],b[1],b[2],0,0,0))/86400000;
		var x = new Date(); var today = new Date(x.toGMTString());
		var now = (Date.UTC(takeYear(today),today.getMonth(),today.getDate(),0,0,0))/86400000;
		var timeLeft = postedDate - (now + 1);
		if (timeLeft < 31  &&  timeLeft > 0) {
			var icon = document.createElement('img');
			icon.alt = 'New!'; icon.src = 'http://www.epa.gov/epafiles/images/new-en.gif';
			icon.width = '34'; icon.height = '16';
			newItem[i].appendChild(icon);
		}
	}
}

function takeYear(theDate) { var x = theDate.getYear(); var y = x % 100; y += (y < 38) ? 2000 : 1900; return y; }
function nths(day) {
	if (day == 1 || day == 21 || day == 31) return 'st'; if (day == 2 || day == 22) return 'nd';
	if (day == 3 || day == 23) return 'rd'; return 'th';
}

function notice() {
	var script = document.createElement('script');
	script.type = 'text/javascript';
	script.src = 'http://www.epa.gov/epahome/notice.js';
	document.getElementsByTagName('head')[0].appendChild(script);
}

function addClass(element,name) {
  if (!element.className) {
    element.className = name;
  } else {
    element.className+= ' ';
    element.className+= name;
  }
}

function stripeTables() {
	if (!document.getElementsByTagName('table')) return;
	var tables = document.getElementsByTagName('table');
	for (var i = 0; i<tables.length; i++) {
		if (tables[i].className.match('zebra')) {
			var myTR = tables[i].getElementsByTagName('tr');
      for (var j=1; j<myTR.length; j=j+2) {
        addClass(myTR[j],'rowTint');
      }
    }
  }
}

function trim(c) { if (c) c = c.replace(/^\s*|\s*$/,'');	return c;}
function hasClass(obj, c) { if (!obj || !c) return false; c = trim(c); var oldC = trim(obj.className); if (c && oldC && oldC.match('\\b'+c+'\\b')) return true; else return false;}
function walk(parent, list, contained) { if (!parent || !list || !contained) return false; var num = 0; for (var j in contained) { num = Math.max(num, contained[j]);} for (var i=0; i < parent.childNodes.length; i++) { if (parent.childNodes[i].nodeType != 1) continue; var child = parent.childNodes[i]; if (hasClass(child, 'ignore')) continue; else if ( (child.getAttribute('href') || child.getAttribute('cite')) && !child.getAttribute('src') ) { var thisLink = (child.getAttribute('href') ? child.href : child.cite); if (thisLink.match(window.location+'#\w*') || thisLink.match('^javascript:') || thisLink.match('^mailto:') || thisLink == child.innerHTML) continue; var note = document.createElement('sup'); addClass(note,'printOnly'); var note_txt; if (contained[thisLink]) { note_txt = document.createTextNode(contained[thisLink]);} else { var li = document.createElement('li'); var li_txt = document.createTextNode(thisLink); li.appendChild(li_txt); list.appendChild(li); num++; contained[thisLink] = num; note_txt = document.createTextNode(num);} note.appendChild(note_txt); parent.insertBefore(note, child.nextSibling); } else { walk(child, list, contained);}}}
function footnoteLinks(containerID,targetID) { if (!document.getElementById(containerID) || !document.getElementById(targetID)) return false; var container = document.getElementById(containerID); var target = document.getElementById(targetID); var h2 = document.createElement('h2'); addClass(h2, 'printOnly'); var h2_txt = document.createTextNode('URLs Provided for your Reference'); h2.appendChild(h2_txt); var ol = document.createElement('ol'); addClass(ol, 'printOnly'); var myArr = new Array(); walk(container, ol, myArr); if (ol.getElementsByTagName('li').length) { target.appendChild(h2); target.appendChild(ol);} addClass(document.getElementsByTagName('html')[0], 'noted'); return true;}

function addEvent( obj, type, fn ) {
	if (document.getElementById && document.createTextNode) {
		if (obj.addEventListener)
			obj.addEventListener( type, fn, false );
		else if (obj.attachEvent) {
			obj['e'+type+fn] = fn;
			obj[type+fn] = function() { obj['e'+type+fn]( window.event ); }
			obj.attachEvent( 'on'+type, obj[type+fn] );
		}
	}
}
	addEvent(window, 'load', printAsIs_Date_URL); addEvent(window, 'load', newIcon);
	addEvent(window, 'load', notice); addEvent(window, 'load', stripeTables);
	addEvent(window, 'load', function() {footnoteLinks('printURLs','content');});