function scanAndModifyLis() {

	var sidebar = document.getElementById("sidebar");
	if (sidebar == null) return;

	var tiles = sidebar.getElementsByTagName("li");
	var j = 0; for (j = 0; j < tiles.length; j++) {
		var currenttile = tiles[j]
		var lis = currenttile.getElementsByTagName("li");
		var i = 0; for (i = 0; i < lis.length; i++) {
			var currentli = lis[i];
			var lisinli = currentli.getElementsByTagName("li");
			if (lisinli.length > 0) { // we assign a class parent because there are lis within this li
				currentli.setAttribute('class','parent');
				continue;
			}
			var asinli = currentli.getElementsByTagName("a");
			if (asinli.length > 0 && asinli[0].href != null) {
				currentli.setAttribute('onclick','loadFirstInnerLink(this); return false;');
				currentli.setAttribute('style','cursor: pointer;');
				currentli.setAttribute("title",asinli[0].getAttribute("title"));
				currentli.setAttribute("href",asinli[0].getAttribute("href"));
			}
		}
	}

}

function loadFirstInnerLink(callerObject) {
	var asinli = callerObject.getElementsByTagName("a");
	if (asinli.length > 0 && asinli[0].href != null) {
	// 	alert("gato");
		window.location = asinli[0].href;
	}
}


/*
* blockquotes.js
*
* Simon Willison, 20th December 2002
*
* Explanation: 
*   http://simon.incutio.com/archive/2002/12/20/#blockquoteCitations
* Inspired by Adrian Holovaty: 
*   http://www.holovaty.com/blog/archive/2002/12/20/0454
* Alternative implementation of the same idea by Paul Hammond: 
*   http://www.paranoidfish.org/boxes/2002/12/20/
*/

function extractBlockquoteCitations() {
  quotes = document.getElementsByTagName('blockquote');
  var i = 0;
  for (i = 0; i < quotes.length; i++) {
    cite = quotes[i].getAttribute('cite');
    if (cite) {
      newlink = document.createElement('a');
      newlink.setAttribute('href', cite);
      newlink.setAttribute('title', "Source for this quote:");
      newlink.setAttribute('class', "autocite");
      newlink.appendChild(document.createTextNode('Quotation source'));
      newdiv = document.createElement('div');
      newdiv.className = 'blockquotesource';
      newdiv.appendChild(newlink);
      quotes[i].appendChild(newdiv);
    }
  }
}


function reparentChildren(tagName) {
  quotes = document.getElementsByTagName(tagName);
  var i = 0;
  for (i = 0; i < quotes.length; i++) {
	var newdiv = document.createElement('div');
	newdiv.className = "intermediary-container";
	while (quotes[i].childNodes.length > 0) {
		var childnode = quotes[i].childNodes[0];
		newdiv.appendChild(childnode);
// 		alert(childnode);
	}
	quotes[i].appendChild(newdiv);
  }
}

function setBlockquotePreBackgrounds() {
	reparentChildren("blockquote");
	reparentChildren("pre");
}



function tallPage() {
	var col1 = document.getElementById("sidebar-col1");
	var col3 = document.getElementById("sidebar-col3");
	var page = document.getElementById("page");
	var highest = 0;
	if (col1.offsetHeight > highest) highest = col1.offsetHeight;
	if (col3.offsetHeight > highest) highest = col3.offsetHeight;
	if (page.offsetHeight > highest) highest = page.offsetHeight;
	if (highest > page.offsetHeight) {
		var difference = highest;
		page.setAttribute("style", "min-height: " + difference.toString() + "px; ");
	}
	highest = highest - 40;
	col1.setAttribute("style", "min-height: " + highest.toString() + "px; ");
	col3.setAttribute("style", "min-height: " + highest.toString() + "px; ");
}

function libOnLoad() {
	scanAndModifyLis();
	extractBlockquoteCitations();
	setBlockquotePreBackgrounds();
	tallPage();
}

//
// addLoadEvent()
// Adds event to window.onload without overwriting currently assigned onload functions.
// Function found at Simon Willison's weblog - http://simon.incutio.com/
//
function themeAddLoadEvent(func)
{	
	var oldonload = window.onload;
	if (typeof window.onload != 'function'){
    	window.onload = func;
	} else {
		window.onload = function(){
		oldonload();
		func();
		}
	}

}

themeAddLoadEvent(libOnLoad);	// run the theme javascript on load