function addEvent(obj, evType, fn) 
{
	if (obj.addEventListener) {
		obj.addEventListener(evType, fn, true);
		return true;
	} else if (obj.attachEvent) {
		var r = obj.attachEvent("on"+evType, fn);
		return r;
	} else {
		return false;
	}
}

/**
 * Grab Elements from the DOM by tag name.
 * @param {Object} searchClass
 * @param {Object} node - if provided, only its children are returned
 * @param {Object} tag
 * @return {Array}
 */
function getElements (node, tag)
{
	if ( node == null ) { node = document; }
	if ( tag == null ) { tag = '*'; }
		
	var els = node.getElementsByTagName(tag);
	return els;
}

/** 
 * Returns an element by tag and id (only looks through specified tag)
 * @param tag_name 
 * @param elm_id
 * @return elm/false - the element if it exists, false otherwise.
 */
function getElement (node, tag, elm_id) 
{
	if ( node == null ||  node == '') 
	{
		node = document;
	}
	var elms = node.getElementsByTagName(tag);
	
	if (!elms) { return false; }
	
	var elmsLen = elms.length;
	var elm = false;
	
	for (var i=0; i < elmsLen; i++) 
	{
		var anchor = elms[i];
		if (anchor.id == elm_id) {
			var elm = anchor;
			break;
		}
	}
	
	if (elm) {
		return elm;
	} else {
		return false;	
	}

}
/**
 * Retrieves the "cat" set, and marks "current" the appropriate main nav <li>
 */
function markCurrentContentCat ()
{
	if (!document.getElementById('nav-main')) { return false; }
	if (typeof cat == 'undefined') { return false }
	
	var list    = document.getElementById('nav-main').childNodes[1];	
	var elms    = getElements (list, 'li');
	var elms_ln = elms.length;
	var cat_id  = 'cat'+cat;
	
	for (var i=0; i < elms_ln; i++) 
	{
		var current = elms[i];
		
		if (current.id == cat_id) {
			current.className = current.className+" current";
			return;
		}
	}
}

addEvent(window, 'load', markCurrentContentCat);