//global toggle setting variable
var descHidden=new Boolean(true)


//Toggle between showing course description of the based in course
function toggleDesc(crsID){
	
	//if a course was passed in
	if(typeof(crsID) != 'undefined'){
		var descID = 'desc'+crsID;
		var linkID = 'descLink'+crsID;
		if (!document.getElementById) return null;
		if(document.getElementById(descID).style.display != ''){
			document.getElementById(descID).style.display = '';
			document.getElementById(linkID).innerHTML = 'Hide Description';
		}
		else{
			document.getElementById(descID).style.display = 'none';
			document.getElementById(linkID).innerHTML = 'Show Description';
		}
	}
	//if toggling all course descriptions
	else{
		var theArray = getElementsByClassName(document, "*", 'DESC');
		var theArray2 = getElementsByClassName(document, "*", 'descLink');
	
	
		if(descHidden){
		 //alert('ahh');
		 var displayText = '';
		 var displayLinkText = 'Hide Description';
		 var checkBoxBool= true;
		 descHidden = false;
		 
		 
		}
		else{
			//alert('ahh2');
			var displayText = 'none';
			var displayLinkText = 'Show Description';
			var checkBoxBool= false;
			descHidden = true;
		}
		
		for (x in theArray)
			theArray[x].style.display = displayText;
			
		for (x in theArray2){
			//console.log(theArray2[x].innerHTML);
			theArray2[x].innerHTML = displayLinkText;
		}
		
		document.getElementById('showDescCheckBox').checked = checkBoxBool;
		
	}

	return true;

}




// ---
/*
    Written by Jonathan Snook, http://www.snook.ca/jonathan
    Add-ons by Robert Nyman, http://www.robertnyman.com

function getElementsByClassName(oElm, strTagName, strClassName){
	var arrElements = (strTagName == "*" && document.all)? document.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/\-/g, "\\-");
	var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];		
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}	
	}
	return (arrReturnElements)
}
*/
// ---
/*
	Revised to support looking for multiple class names,
	no matter in which order they're applied to the element
*/
function getElementsByClassName(oElm, strTagName, oClassNames){
	var arrElements = (strTagName == "*" && document.all)? document.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	var arrRegExpClassNames = new Array();
	if(typeof oClassNames == "object"){
		for(var i=0; i<oClassNames.length; i++){
			arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)"));
		}
	}
	else{
		arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)"));
	}
	var oElement;
	var bMatchesAll;
	for(var j=0; j<arrElements.length; j++){
		oElement = arrElements[j];
		bMatchesAll = true;
		for(var k=0; k<arrRegExpClassNames.length; k++){
			if(!arrRegExpClassNames[k].test(oElement.className)){
				bMatchesAll = false;
				break;
			}
		}
		if(bMatchesAll){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}
// ---
// Array support for the push method in IE 5
Array.prototype.push = ArrayPush;
function ArrayPush(value){
	this[this.length] = value;
}
// ---
/*
	Examples of how to call the function:
	
	To get all a elements in the document with a "info-links" class:
    getElementsByClassName(document, "a", "info-links");
    
	To get all div elements within the element named "container", with a "col" and a "left" class:
    getElementsByClassName(document.getElementById("container"), "div", ["col", "left"]);
    
  To get all elements within in the document with a "click-me" class.
    getElementsByClassName(document, "*", "click-me");
*/
// ---
