function StringSplit(str, splitChar, maxLength)
{ 
	var array = str.split(splitChar);
	
	var output = "";
	var startPos = 0;
	for (var i = 0; i < array.length; i++)
	{
		if ((output.length - startPos + array[i].length) > maxLength) {
			startPos += output.length;
			output += " ";
		}
		output += (output != "" ? splitChar : "") + array[i];
	}
	
	return output;
}

function replaceTabsWithSpacesInPreTags()
{
	var preNodes = document.getElementsByTagName('pre');
	
	for (var i = 0; i < preNodes.length; i++) {
		var node = preNodes[i];
		
		node.innerHTML = node.innerHTML.replace(/\t/g, "&nbsp;&nbsp;&nbsp;&nbsp;");
	}
}

function buildLinkPrinterTables()
{
	var divNodes = document.getElementsByTagName('div'); // listOfLinks
	var linkPrinterClass = "linkPrinterTable";
	
	for (var i = 0; i < divNodes.length; i++)
	{
		var div = divNodes[i];
		
		if (div.id == 'listOfLinks') {
			var linksDictionary = new Object;	
		
			var aNodes = div.parentNode.getElementsByTagName('a');
			
			var table;
			var tr;
			var td1, td2;
			
			if (aNodes.length > 0) {
				table = document.createElement('table');
				table.className = linkPrinterClass;
				div.appendChild(table);
				
				tr = document.createElement('tr');
				tr.className = linkPrinterClass;
				td1 = document.createElement('th');
				td1.className = linkPrinterClass;
				td2 = document.createElement('th');
				td2.className = linkPrinterClass;
				
				table.appendChild(tr);
				tr.appendChild(td1);
				tr.appendChild(td2);

				td1.innerHTML = "Title";
				td2.innerHTML = "Reference";
			}
			
			for (var j = 0; j < aNodes.length; j++)
			{
				var a = aNodes[j];
				
				if (a.href != "" && a.href.indexOf('http://') > -1 && a.href.indexOf('mailto:') == -1 && a.href.indexOf('cuttingedge.it') == -1 && linksDictionary[a.href] == null) {
					linksDictionary[a.href] = a.href;
					tr = document.createElement('tr');
					tr.className = linkPrinterClass;
					td1 = document.createElement('td');
					td1.className = linkPrinterClass;
					td2 = document.createElement('td');
					td2.className = linkPrinterClass;
					
					table.appendChild(tr);
					tr.appendChild(td1);
					tr.appendChild(td2);
					
					td1.innerHTML = a.title == "" ? a.text : a.title;
					td2.innerHTML = StringSplit(a.href, '/', 100);
				}
			}
		}		
	}
}