/*
----------------------------------------------------------------------------------
common functions
----------------------------------------------------------------------------------
*/

/* by Dustin Diaz */
function getElementsByClass(searchClass,node,tag) 
{
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

/* by ethanak */
function remClass(el,x)
{
	if (!el.className) return;
	if (!arguments.callee.r) arguments.callee.r=new Array();
	var r;
	if (!(r=arguments.callee.r[x])) r=arguments.callee.r[x]=
		new RegExp('\\b'+x+'\\b\\s*|\\s*'+x+'\\b','g');
	var c=el.className.replace(r,'');
	if (c != el.className) el.className=c;
}

function addClass(el,x)
{
	if (!el.className) {
		el.className=x;
		return;
	}
	if (!arguments.callee.r) arguments.callee.r=new Array();
	var r;
	if (!(r=arguments.callee.r[x])) r=arguments.callee.r[x]=
		new RegExp('\\b'+x+'\\b');
	if (!r.test(el.className)) el.className+=' '+x;
}

function mouseBlur() 
{
 var anchors = document.getElementsByTagName('a');
 for (var i = 0; i < anchors.length; i++) {
 	anchors[i].onmousedown = function() {
 		this.className += ' mouse-active';
 	}
 }
}

/* by Jeremy Keith */
function currentPage() {
	var nav = document.getElementById('nav');
	var links = nav.getElementsByTagName('a');
	for (var i = 0; i < links.length; i++) {
		var linkurl = links[i].getAttribute('href');
		var currenturl = window.location.href;
		if (currenturl.indexOf(linkurl) != -1) {
			addClass(links[i], 'current');
		}
	}
}


