// show date line numbers; review use
// ML 2007-02-05

var ESDateLineNumbers = new Array();



function showDates(){
	if(document.getElementsByTagName && getElementsByClassName && document.getElementById){
		showInlineDates()
		showCalendarDates()
		showSummary()
	} else {
		alert('Your browser does not support this favelet'); 	
	}
}

function showSummary(){
	var hook = document.getElementById('enrollBodyMain');
	if(hook){
		var txt = "ES Dates Summary: "; 
		if(ESDateLineNumbers.length>0){
			var tmp = new Array();
			ESDateLineNumbers.sort(); 
//			for(var i=0;i<ESDateLineNumbers.length;i=i+2){
			var i = 0;
//			tmp.push(ESDateLineNumbers[0])
			while(true){
				if(i>ESDateLineNumbers.length) { break }
				var a = ESDateLineNumbers[i]; var b = ESDateLineNumbers[i+1];
				if(a!=b){ tmp.push( Number(a) ) }
				i += 1;
			}
			tmp.sort()
			txt += 'found '+tmp.length+' dates.  Line numbers '; 
			txt += tmp.join(', '); 
//			txt += ';; '; txt += ESDateLineNumbers.join(', '); 
		} else { txt += ' no dates found'; }
		var b = document.createElement('div'); 
//		b.style.backgroundColor = "#66CCFF"; b.style.padding = "1em"; b.style.border = "1px solid #333333"; 
		b.style.backgroundColor = "#ffffcc"; b.style.padding = "1em"; b.style.border = "10px solid #ffcc00"; 
		b.appendChild( document.createTextNode(txt) )
		hook.insertBefore(b,hook.childNodes[0]); 
	}
}

function showInlineDates(){
	var dateLines = getElementsByClassName(document,'*','dplWrapper'); // inline dates
//	if(dateLines.length==0){ var dateLines = getElementsByClassName(document,'*','dplDate'); }
	for(var i=0;i<dateLines.length;i++){
		var dt = dateLines[i];
//		dt.style.border = '1px solid green'; dt.style.padding = '0 0.5em';
		var ln = parseLineNumber(dt);
		var abbrs = dt.getElementsByTagName('abbr');
		for(var j=0;j<abbrs.length;j++){
			var ln_node = document.createElement('span');
			ln_node.style.backgroundColor = "#ffcc00";
			ln_node.style.borderBottom = "2px solid green";
			ln_node.style.padding = "0 0.5em";
			ln_node.appendChild(document.createTextNode('(Line '+ln+')') ); 
			abbrs[j].parentNode.insertBefore(ln_node,abbrs[j]); 
			abbrs[j].style.borderBottom = "2px solid green"; 
		}
	}
}

function showCalendarDates(){
	var dateRows = getElementsByClassName(document,'*','dplRow'); // calendar display
	for(var i=0;i<dateRows.length;i++){
		var row = dateRows[i]
		var ln = parseLineNumber(row);
		var td = document.createElement('td'); td.appendChild(document.createTextNode('Line '+ln+''))
		td.style.backgroundColor = "#ffcc00";
		row.insertBefore(td,row.childNodes[0]); 
	}
}




function old_showDates(){
	var dateLines = getElementsByClassName(document,'*','dplWrapper');
	for(var i=0;i<dateLines.length;i++){
		var dt = dateLines[i]
		var ln = parseLineNumber(dt);
		var abbrs = dt.getElementsByTagName('abbr');
		for(var j=0;j<abbrs.length;j++){
			var ln_node = document.createElement('span');
			ln_node.style.backgroundColor = "#ffcc00";
			ln_node.style.borderBottom = "2px solid green"; 
			ln_node.style.padding = "0 0.5em";
			ln_node.appendChild(document.createTextNode('(Line '+ln+')') ); 
			abbrs[j].parentNode.insertBefore(ln_node,abbrs[j].nextSibling); 
			abbrs[j].style.borderBottom = "2px solid green"; 
		}
	}
}


function parseLineNumber(obj){
	var val = 'unknown'; 
	var c = obj.className
	var aa = c.split(" ");
	for(var i=0;i<aa.length;i++){
		if(aa[i].substr(0,6)=='dplCal'){ val = aa[i].substr(6);
		} else if (aa[i].substr(0,7)=='dplLine'){ val = aa[i].substr(7);
		}
	}
	if (val!='unknown'){ ESDateLineNumbers.push(val); }
	return val
}