function init() {

	try {
		// this block grabs the output of the nested course datagrid, creates a 
		// new row, and adds it back in
		if (document.getElementsByTagName) {
			var tables = document.getElementsByTagName('table');
			var oTbl = "";
			var groupNameTag = "";
			for (var i = 0; i < tables.length; i++){
				if (tables[i].id.indexOf("_ComponentProductItems") > 0 || tables[i].id.indexOf("AlternativeSubscriptions") > -1) {
					oTbl = tables[i];
					groupNameTag = tables[i].id.substring(0,tables[i].id.indexOf("_ComponentProductItems"));
					
					var spans = document.getElementsByTagName('span');
			
					var oTd = oTbl.parentNode;
					var oTr = oTd.parentNode;
					var oTbody = oTr.parentNode;
					var rownum = oTr.rowIndex + 1;
					
					if (oTbody.insertRow) {
						oTbody.insertRow(rownum);
						oTbody.rows[rownum].insertCell(0);
						oTbody.rows[rownum].insertCell(1);
						oTbody.rows[rownum].cells[1].appendChild(oTbl);
						oTbody.rows[rownum].cells[1].colSpan = '5';
						oTbody.rows[rownum].className = 'noBorder';
						oTbody.rows[rownum-1].className = 'selected';
					}
				}
				
				if (tables[i].id.indexOf("_Courses") > 0 || tables[i].id.indexOf("AlternativeSubscriptions") > -1) {
					oTbl = tables[i];
					groupNameTag = tables[i].id.substring(0,tables[i].id.indexOf("_Courses"));
					
					var spans = document.getElementsByTagName('span');
					var oSpan = "";
					for (var x = 0; x < spans.length; x++){
						if (spans[x].id.indexOf(groupNameTag + "_CourseNote") >= 0) {
							oSpan = spans[x];
						}
					}
					
					if (!oSpan) {
						var spans = document.getElementsByTagName('span');
						for (var x = 0; x < spans.length; x++){
							if (spans[x].id.indexOf(groupNameTag + "_CourseAllNote") >= 0) {
								oSpan = spans[x];
							}
						}
					}
			
					var oTd = oTbl.parentNode;
					var oTr = oTd.parentNode;
					var oTbody = oTr.parentNode;
					var rownum = oTr.rowIndex + 1;
					
					if (oTbody.insertRow) {
						oTbody.insertRow(rownum);
						oTbody.rows[rownum].insertCell(0);
						oTbody.rows[rownum].insertCell(1);
						oTbody.rows[rownum].cells[1].appendChild(oSpan);
						oTbody.rows[rownum].cells[1].appendChild(oTbl);
						oTbody.rows[rownum].cells[1].colSpan = '5';
						oTbody.rows[rownum].className = 'noBorder';
						oTbody.rows[rownum-1].className = 'selected';
					}
				}
			}
		}
	} catch(err) {
	
	}
}
