// This function requires prototype.js

function toggleLink(){
	
	var anchors = document.getElementsByTagName('a');
	
	for (var i=0; i<anchors.length; i++){

		var anchor = anchors[i];

		var relAttribute = String(anchor.getAttribute('rel'));
		
		if (relAttribute && Element.hasClassName(anchor,'show')){

			//get the related id to be hide
			var desc = $(relAttribute);
			toggleArrow(anchor, 'expand');
			
			//if it is meant to be hidden, hide it when this function is called
			if(desc.hasClassName('hidden')){
				desc.removeClassName("hidden");
				desc.addClassName("hide");
				toggleArrow(anchor, 'contract');
				toggleText(anchor);
			}

			//onclick function to determine it is hidden or to be shown
			anchor.onclick = function () {
				var desc = $(this.getAttribute('rel'))

				if(desc.hasClassName('hide')){
					desc.removeClassName("hide");
					toggleArrow(this, 'expand');
					toggleText(this);
				}

				else{	
					desc.addClassName("hide");
					toggleArrow(this, 'contract');
					toggleText(this);
				}

				//returrn false is needed for anchor, if not it will go to the link (href) specified
				return false;

			}
		}
	}
}

function toggleArrow(anchor, className) {
	anchor.parentNode.className = className;
}

// WW: Toggle text between show and hide
function toggleText(anchor) {
	if (anchor.innerHTML.indexOf("Show") == 0) {
		anchor.innerHTML = anchor.innerHTML.replace("Show", "Hide");
	} else {
		anchor.innerHTML = anchor.innerHTML.replace("Hide", "Show");
	}
}

//call the function on window load
Event.observe(window, 'load', toggleLink, false);


function show_hide(element1, element2) {
	if (document.getElementById(element1).checked) {
		document.getElementById(element2).style.display = 'none';
	} else {
		document.getElementById(element2).style.display = 'block';
	}
}

function show_hide_option(element1, element2) {
	document.getElementById(element2).style.display = 'none';
	document.getElementById(element1).style.display = 'block';
}
