function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

function insertAfter(newElement,targetElement) {
  var parent = targetElement.parentNode;
  if (parent.lastChild == targetElement) {
    parent.appendChild(newElement);
  } else {
    parent.insertBefore(newElement,targetElement.nextSibling);
  }
}

function addClass(element,value) {
  if (!element.className) {
    element.className = value;
  } else {
    newClassName = element.className;
    newClassName+= " ";
    newClassName+= value;
    element.className = newClassName;
  }
}


startList = function() {
	if (document.all&&document.getElementById) {
		navRoot = document.getElementById("nav");
		for (i=0; i<navRoot.childNodes.length; i++) {
			node = navRoot.childNodes[i];
			if (node.nodeName=="LI") {
				node.onmouseover=function() {
					this.className+=" over";
				}
				node.onmouseout=function() {
					this.className=this.className.replace(" over", "");
				}
			}
		}
	}
}

function whichYear() {
	var today = new Date();
	var year = today.getFullYear();
	var container = document.getElementById("currentdate");
	var message = document.createTextNode("© " +year);
	var target = container.firstChild;
	container.insertBefore(message,target);
}

function preparePopup() {
  if (!document.getElementsByTagName) return false;
  var lnks = document.getElementsByTagName("a");
  for (var i=0; i<lnks.length; i++) {
    if (lnks[i].getAttribute("class") == "popup") {
      lnks[i].onclick = function() {
        popUp(this.getAttribute("href"));
        return false;
      }
    }
  }
}

function popUp(winURL) {
  window.open(winURL,"popup","width=600,height=600,scrollbars=yes");
}


function emailObfuscate() {
  if (!document.getElementsByTagName) return false;
  if (!document.getElementById) return false;
  if (!document.getElementById("job_webmail")) return false;
  var job = document.getElementById("job_webmail");
  var ems = job.getElementsByTagName( 'em' );
  for( var i=0; i<ems.length; i++ ){
    if( ems[i].firstChild &&
        ems[i].firstChild.nodeValue.match( /\s+?\[at]\s+?/g ) ){
      var str = ems[i].firstChild.nodeValue;
          str = str.replace( /\s+?\[(?:dot|period)]\s+?/g, '.' );  // replaces all .
          str = str.replace( /\s+?\[(?:at)]\s+?/g, '@' );          // replaces the @
          str = str.replace( /\s+?\[(?:dash|hyphen)]\s+?/g, '-' ); // replaces all -
      var a = document.createElement( 'span' );
          a.setAttribute( 'href', 'mailto:'+str );
          a.appendChild( document.createTextNode( str ) );
      ems[i].parentNode.replaceChild( a, ems[i] );
    }
  }
}

function emailObfuscate3() {
  if (!document.getElementsByTagName) return false;
  if (!document.getElementById) return false;
  if (!document.getElementById("job_general")) return false;
  var job = document.getElementById("job_general");
  var ems = job.getElementsByTagName( 'em' );
  for( var i=0; i<ems.length; i++ ){
    if( ems[i].firstChild &&
        ems[i].firstChild.nodeValue.match( /\s+?\[at]\s+?/g ) ){
      var str = ems[i].firstChild.nodeValue;
          str = str.replace( /\s+?\[(?:dot|period)]\s+?/g, '.' );  // replaces all .
          str = str.replace( /\s+?\[(?:at)]\s+?/g, '@' );          // replaces the @
          str = str.replace( /\s+?\[(?:dash|hyphen)]\s+?/g, '-' ); // replaces all -
      var a = document.createElement( 'a' );
          a.setAttribute( 'href', 'mailto:'+str+'?subject=Attn FPS Careers - Re: General Application' );
          a.appendChild( document.createTextNode( str ) );
      ems[i].parentNode.replaceChild( a, ems[i] );
    }
  }
}

function emailObfuscate1() {
  if (!document.getElementsByTagName) return false;
  if (!document.getElementById) return false;
  if (!document.getElementById("job_financial")) return false;
  var job = document.getElementById("job_financial");
  var ems = job.getElementsByTagName( 'em' );
  for( var i=0; i<ems.length; i++ ){
    if( ems[i].firstChild &&
        ems[i].firstChild.nodeValue.match( /\s+?\[at]\s+?/g ) ){
      var str = ems[i].firstChild.nodeValue;
          str = str.replace( /\s+?\[(?:dot|period)]\s+?/g, '.' );  // replaces all .
          str = str.replace( /\s+?\[(?:at)]\s+?/g, '@' );          // replaces the @
          str = str.replace( /\s+?\[(?:dash|hyphen)]\s+?/g, '-' ); // replaces all -
      var a = document.createElement( 'a' );
          a.setAttribute( 'href', 'mailto:'+str+'?subject=Attn Raleigh Knowles - Re:Financial Applications Conversion/Trainer Position');
          a.appendChild( document.createTextNode( "Send your resume" ) );
      ems[i].parentNode.replaceChild( a, ems[i] );
    }
  }
}
function emailObfuscate2() {
  if (!document.getElementsByTagName) return false;
  if (!document.getElementById) return false;
  if (!document.getElementById("job_programmer")) return false;
  var job = document.getElementById("job_programmer");
  var ems = job.getElementsByTagName( 'em' );
  for( var i=0; i<ems.length; i++ ){
    if( ems[i].firstChild &&
        ems[i].firstChild.nodeValue.match( /\s+?\[at]\s+?/g ) ){
      var str = ems[i].firstChild.nodeValue;
          str = str.replace( /\s+?\[(?:dot|period)]\s+?/g, '.' );  // replaces all .
          str = str.replace( /\s+?\[(?:at)]\s+?/g, '@' );          // replaces the @
          str = str.replace( /\s+?\[(?:dash|hyphen)]\s+?/g, '-' ); // replaces all -
      var a = document.createElement( 'a' );
          a.setAttribute( 'href', 'mailto:'+str+'?subject=Attn Mark Benson - Re:Programmer/Analyst Position' );
          a.appendChild( document.createTextNode( "Send your resume" ) );
      ems[i].parentNode.replaceChild( a, ems[i] );
    }
  }
}

/*function showSection(id) {
	var divs = document.getElementsByTagName("div")
	for (var i=0; i<divs.length; i++) {
		if (divs[i].className.indexOf("section") == -1) continue;
		if (divs[i].getAttribute("id") != id) {
			divs[i].style.display = "none";
		} else {
			divs[i].style.display = "block";
		}
	}
}*/

function showSection(id) {
	var divs = document.getElementsByTagName("div")
	for (var i=0; i<divs.length; i++) {
		if (divs[i].className.indexOf("section") == -1) continue;
		if (divs[i].getAttribute("id") != id) {
			divs[i].style.display = "none";
		} else if (divs[i].style.display != "none") {
			divs[i].style.display = "none";
		} else {
			divs[i].style.display = "block";
		}
	}
}


function prepareInternalnav() {
	if(!document.getElementsByTagName) return false;
	if(!document.getElementById) return false;
	if(!document.getElementById("hiddensections")) return false;
	var nav = document.getElementById("hiddensections");
	var links = nav.getElementsByTagName("a");
	for (var i=0; i<links.length; i++) {
		var sectionId = links[i].getAttribute("href").split("#")[1];
		if (!document.getElementById(sectionId)) continue;
		document.getElementById(sectionId).style.display = "none";
		links[i].destination = sectionId;
		links[i].onclick = function() {
			showSection(this.destination);
			return false;
		}
	}
}



addLoadEvent(startList);
addLoadEvent(preparePopup);
addLoadEvent(emailObfuscate);
addLoadEvent(emailObfuscate1);
addLoadEvent(emailObfuscate2);
addLoadEvent(emailObfuscate3);
addLoadEvent(prepareInternalnav);