/*---------------------------------------------------------*/
 /*---------------------------------------------------------*/
 //   Function:      adds JS to show/hide graphs for EU/UK comparison
 //   Inputs:        none
 //   Returns:       n/a
 //   Author:        James Offer
 //   Usage example: use in onload on body - will automatically add javascript events to all required elements

function graphSwitcher() {
	// first add <a> to <span> inside of h3.survivalRate
	// we do this as with JS only as without it the text is pointless, as no show/hide will occur
	
	span=document.getElementsByTagName('span');
	for(i=0;i<span.length;i++){
		if(span[i].className=='survivalCompare' && span[i].parentNode.parentNode.id){
			// double check: that the class name is survivalcompare and it has an id for switching
			span[i].className='survivalCompareActive';
			span[i].onclick=function(){
				id=this.parentNode.parentNode.id;

				if(document.getElementById(id.substr(0,20)+'a').style.display=="block") {
					document.getElementById(id.substr(0,20)+'a').style.display="none";
					document.getElementById(id.substr(0,20)+'b').style.display="block";
				} else {
					document.getElementById(id.substr(0,20)+'b').style.display="none";
					document.getElementById(id.substr(0,20)+'a').style.display="block";					
				}
				
			}
			
			// graphActive must be in this format: nationalStatistics-[0-9][a|b]
			// e.g.: nationalStatistics-2a
			graphActive=span[i].parentNode.parentNode.id.substr(0,20)+'a';			
			graphInactive=span[i].parentNode.parentNode.id.substr(0,20)+'b';
			document.getElementById(graphActive).style.display='block';
			document.getElementById(graphInactive).style.display='none';
		}
	}
	// if no data, only display one instance of 'nationalStatistics'
	var test = getElementsByClassName('survivalRatesRange', 'div')
	if (!test[0]) {
		if (document.getElementById('nationalStatistics-1b')) {
			var objDiv = document.getElementById('nationalStatistics-1b');
			var objParent = objDiv.parentNode;
			objParent.removeChild(objDiv);
		}
	}
}

function getElementsByClassName(className, tag, elm){
	var testClass = new RegExp("(^|\\s)" + className + "(\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}

 /*---------------------------------------------------------*/
 /*---------------------------------------------------------*/