function numberOfLastName(element) {
	var classList = element.className.split(/ /);
	for(var k = 0; k < classList.length; k++) {
		if(classList[k].indexOf("lastname")!=-1) {
			return parseInt(classList[k].substring(8));
		}
	}
	return 1;
}

function processElement(item) {

	var nlastname = 1;

	if(item.className != "" && (""+item.className) != "undefined" && item.className.indexOf("lastname")!=-1) {
	                        nlastname = numberOfLastName(item);
	}

	var text = item.innerHTML;
	var names  = text.split(/ /);
	var insideParenthesis = false;
	var firstname="";
	var lastname = "";
	var after = "";
	
	for(var j = names.length-1; j >= 0; j--) {
		if(names[j].indexOf(')')!=-1) {
			insideParenthesis = true;
			after = names[j] + " " + after;
			continue;
		}
		if(names[j].indexOf('(')!=-1 && insideParenthesis) {
			insideParenthesis = false;
			after = names[j] + " " + after;
			continue;
		}
		if(insideParenthesis) {  
			after = names[j] + " " + after;
			continue
		}
		if(nlastname>0) {
			lastname=names[j]+" "+lastname;
			nlastname--;
		} else {
			firstname=names[j]+" "+firstname;
		}
	}
	firstname = firstname.replace(/^\s+|\s+$/g, '')
	lastname = lastname.replace(/^\s+|\s+$/g, '')
	if(lastname.indexOf(",")!=-1) {
		lastname = lastname.substring(0,lastname.length-1);
		after+=", ";
	} else {	
	lastname+="&nbsp;";
	}
	return new Array(firstname, lastname, after);
}
function processNamelist(list) {
	var items = list.getElementsByTagName("LI")

	for(var i = 0; i < items.length; i++) {

		var decomposedName = processElement(items[i])
		items[i].innerHTML = decomposedName[0] + " <span class='bold'>"+decomposedName[1]+"</span>"+ decomposedName[2]+" ";
	}
}
function changeName() {
	var list = document.getElementsByTagName("UL");
	for(j = 0; j < list.length; j++) {
		if(list[j].className == "namelist") {
			 processNamelist(list[j]);
		}
	}
}
function addEvent(obj, evType, fn, useCapture){
  if (obj.addEventListener){
      obj.addEventListener(evType,fn,useCapture);
          return true;
  }
}
addEvent(window, 'load', changeName);
