//<![CDATA[

var W3CDOM = (document.createElement && document.getElementsByTagName);

function addOnloadEvent(fnc){
  if ( typeof window.addEventListener != "undefined" )
    window.addEventListener( "load", fnc, false );
  else if ( typeof window.attachEvent != "undefined" ) {
    window.attachEvent( "onload", fnc );
  }
  else {
    if ( window.onload != null ) {
      var oldOnload = window.onload;
      window.onload = function ( e ) {
        oldOnload( e );
        window[fnc]();
      };
    }
    else
      window.onload = fnc;
  }
}

//alternative onload version:
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}
//use like:
/*addLoadEvent(nameOfSomeFunctionToRunOnPageLoad);
addLoadEvent(function() {
  /* more code to run on page load 
});*/



//function initLoadMap() {
//	if (!W3CDOM) return;
//	var container = document.getElementById('map-container');
//	if (!container) return;
//	var bodyTag = document.getElementsByTagName("body");
//	for (var i=0; i<bodyTag.length; i++) {
//		bodyTag[i].onload = window.alert('loaded');
//		bodyTag[i].onload = setVisibility('map-container', 'visible');
//	}
//}
//function setVisibility(objId, sVisibility) {
//	var obj = document.getElementById(objId);
//	obj.style.visibility = sVisibility;
//}

//window.onload = function() {
//	scrollToSol();
//}

//function scrollToSol() {
//	if(location.href != "*solanaceaesource/") window.scrollTo(0,50);
//}



//setting external links to open in blank window reference: http://www.sitepoint.com/article/standards-compliant-world/3
//function externalLinks() {
//	if (document.getElementsByTagName) return;
//	var anchors = document.getElementsByTagName("a");
//	for (var i=0; i<anchors.length; i++) {
//		var anchor = anchors[i];
//		if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") anchor.target = "_blank";
//	}
//}
//window.onload = externalLinks;

function openInNewWindow() { 
	var newWindow = window.open(this.getAttribute('href'), '_blank');
	newWindow.focus();
	return newWindow;
}
function toggleElement(elId) {
	if (!W3CDOM) return;
	var elem, vis;
	elem = document.getElementById(elId);
	vis = elem.style;
	if(vis.display==''&&elem.offsetWidth!=undefined&&elem.offsetHeight!=undefined) vis.display = (elem.offsetWidth!=0&&elem.offsetHeight!=0)?'block':'none';
  	vis.display = (vis.display==''||vis.display=='block')?'none':'block';
}
function getLinks() {
	if(!W3CDOM) {
		window.alert("The Javascript in this browser does not appear to be W3C compliant. Site functionality may be restricted.");
		return;
	}
	var links = document.getElementsByTagName('a');
	for (var i=0; i<links.length; i++) {
		var link = links[i];
		if (link.className.match('external')) {
			link.onclick = openInNewWindow();
		}
		if (link.className.match('toggle')) {
			link.onclick = function() {
				/*window.alert("onclick event recognised");*/
				var url = this.getAttribute('href');
				if(url.match('toggle=')) {
					var n1 = url.indexOf('toggle=');
					var n2 = url.indexOf('&');
					var elId;
					if(n2 > n1) {
						elId = url.substring(n1,n2);
					} else {
						elId = url.substring(n1);
					}
					elId = elId.replace('toggle=','');
					toggleElement(elId);
				}
			return false;	
			}
		}
	}
}
addOnloadEvent(getLinks);
//]]>