// Event Handlers
addOnload(setCopyrightYear);
addOnload(initializePage);

/* Javascript Functions */

var newWindow = null;

function closeWin(){
  if (newWindow != null){
    if(!newWindow.closed)
      newWindow.close();
  }
}

function openNewWindow(url, type, strWidth, strHeight) {

  /*
   * type = [ standard | fullscreen | console ]
   */

  closeWin();

  if (type == "fullScreen"){
    strWidth = screen.availWidth - 10;
    strHeight = screen.availHeight - 160;
  }

  var tools="";
  if (type == "standard" || type == "fullScreen") tools = "resizable,toolbar=yes,location=yes,scrollbars=yes,menubar=yes,width="+strWidth+",height="+strHeight+",top=0,left=0";
  if (type == "console") tools = "resizable,toolbar=no,location=no,scrollbars=no,width="+strWidth+",height="+strHeight+",left=0,top=0";
  newWindow = window.open(url, 'newWin', tools);
  newWindow.focus();
}

function outputEmail(obj, email) {
  var prefix = email || 'engineeredsolutions';
  var domain = 'burgessnorton';
  var tld    = 'com';

  var addr   = prefix + '@' + domain + '.' + tld;

	if(obj.id == 'contactemail') {
  	obj.innerHTML = '<a href="mailto:' + addr + '">' + addr + '</a>';
	} else {
		return '<a href="mailto:' + addr + '">' + addr + '</a>';
	}
}

function addOnload(newFunction) {
	var oldOnload = window.onload;
	
	if (typeof oldOnload == "function") {
		window.onload = function() {
			if(oldOnload) {
				oldOnload();
			}
			newFunction();
		}
	} else {
		window.onload = newFunction;
	}
}

function setCopyrightYear() {
	var dt = new Date();
	var obj = document.getElementById("copyrightYear");
	obj ? obj.innerHTML = dt.getFullYear() : null;
}

function initializePage() {
	var obj = document.getElementById('subnavigation');
	
	if(obj) {
		switchContent(obj.getElementsByTagName('a')[0]);
	}
	
	// Checks for IE and sets up main navigation mouseover events
	if(document.all && !window.opera) {
		setupIEPrimaryNavigation();
	}
	
	var ce = document.getElementById('contactemail');
	if (ce) {
		outputEmail(ce);
	}
}

function switchContent(obj) {
	var imgsrc = document.getElementById('pageimage');
	var ctName = obj.id.replace('snav_', 'ct_');
	var links  = document.getElementById('subnavigation').getElementsByTagName('a');
	
	imgsrc.src = '../global/images/' + obj.id.replace('snav_', 'pageimage_') + '.jpg';

	for (var i = 0; i < links.length; i++) {
		links[i].id == obj.id ? links[i].className = 'selected' : links[i].className = '';
		links[i].onclick = setClickHandler;
	}
	// Sets top page header (right-aligned)
	obj.id == 'snav_productdesignawards' ?
		document.getElementById('tagline').innerHTML = '<p>Award Winning <span>Innovation</span></p>' :
		document.getElementById('tagline').innerHTML = '<p>Engineered <span>Solutions</span></p>';
		
	document.getElementById('headline').innerHTML    = '<h1>' + obj.firstChild.nodeValue + '</h1>';
	document.getElementById('realcontent').innerHTML = document.getElementById(ctName).innerHTML;
}

function setClickHandler() {
	switchContent(this);
}

/* Makes the embedded SPAN tags in the main navigation links work under IE\WIN */
function setupIEPrimaryNavigation() {
	var links = document.getElementById('mainnavigation').getElementsByTagName('a');
	for (var i = 0; i < links.length; i++) {
		if (links[i].id.indexOf('nav_') != -1 &&
				links[i].childNodes[1] &&
				links[i].childNodes[1].tagName == 'SPAN') {
			links[i].onmouseover = setOnColors;
			var bodyId = document.getElementsByTagName('body')[0].id;
			links[i].id.indexOf(bodyId) == -1 ? links[i].onmouseout = setOffColors : links[i].onmouseout = setOnColors;
			links[i].id.indexOf(bodyId) == -1 ? links[i].childNodes[1].style.color = "#fff" : links[i].childNodes[1].style.color = "#f68f1e";
		}
	}
}

function setOnColors() {
	this.childNodes[1].style.color = "#f68f1e";
}

function setOffColors() {
	this.childNodes[1].style.color = "#fff";
}
