function makeUrlName(text){
	text = text.toLowerCase();
	text = text.replace(/[^0-9A-Za-z_]/g, " ");
	text = text.replace(/ /g,"-");
	return text;
} // end makeUrlName

function addClass(target, classValue){
	var pattern = new RegExp("(^| )" + classValue + "( |$)");
	if(!pattern.test(target.className)){
		if(target.className == ""){
		target.className = classValue;
		}else{
		target.className += " " + classValue;
		}
	}
	return true;
} // end addClass

function removeClass(target, classValue){
	var removedClass = target.className;
	var pattern = new RegExp("(^| )" + classValue + "( |$)");
	removedClass = removedClass.replace(pattern, "$1");
	removedClass = removedClass.replace(/ $/, "");
	target.className = removedClass;
	return true;
} // end removeClass

function highlightRow(e){
	if(!e) var e = window.event;
	if(e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;

	// Get Parent until it's a TR
	myTarg = targ.parentNode;
	while(myTarg.tagName != "TR"){
		myTarg = myTarg.parentNode;
	}

	myTarg.className += " HoverState";	
//	targ.parentNode.className += " Selected";
	
//	targ.className += " Selected";
//	targ.style.backgroundColor = "#cc000;";
//	alert("!");
} // end highlightRow

function removeHighlightRow(e){
	if(!e) var e = window.event;
	if(e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;
	
	// Get Parent until it's a TR
	myTarg = targ.parentNode;
	while(myTarg.tagName != "TR"){
		myTarg = myTarg.parentNode;
	}

	myTarg.className = myTarg.className.replace(/\b ?HoverState\b/, '');
//	myTarg.className += " Selected";	
	
//	targ.parentNode.className = targ.parentNode.className.replace(/\b ?Selected\b/, '');
} // end removeHighlightRow


function highlightColumn(e){
	if(!e) var e = window.event;
	if(e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;

	// Get Parent until it's a TD OR a TH
	myTarg = targ
	while((myTarg.tagName != "TD")&&(myTarg.tagName != "TH")){
		myTarg = myTarg.parentNode;
	}
	
	var myIndex = myTarg.cellIndex;

	if(myIndex > 0){
		// Highlight
		//		myTarg.className += " Selected";
	
		// Get the table element
		myTable = myTarg;
		while(myTable.tagName != "TABLE"){
			myTable = myTable.parentNode;
		}
		// Now go through the table and highlight cells
		var elementArray = new Array();
		elementArray = myTable.getElementsByTagName('td');
		for(var i = 0; i < elementArray.length; i++){	
			if(elementArray[i].cellIndex == myIndex){
			elementArray[i].className += " HoverState";
			}
		}
		// Do the headers
		elementArray = myTable.getElementsByTagName('th');
		for(var i = 0; i < elementArray.length; i++){	
			if(elementArray[i].cellIndex == myIndex){
			elementArray[i].className += " HoverState";
			}
		}
	} // end check index > 0
	
} // end highlightColumn

function removeHighlightColumn(e){
	if(!e) var e = window.event;
	if(e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;

	// Get Parent until it's a TD
	myTarg = targ
	while((myTarg.tagName != "TD")&&(myTarg.tagName != "TH")){
		myTarg = myTarg.parentNode;
	}
	
	var myIndex = myTarg.cellIndex;

	if(myIndex > 0){
		// Get the table element
		myTable = myTarg;
		while(myTable.tagName != "TABLE"){
			myTable = myTable.parentNode;
		}
		// Now go through the table and highlight cells
		var elementArray = new Array();
		elementArray = myTable.getElementsByTagName('td');
		for(var i = 0; i < elementArray.length; i++){	
			if(elementArray[i].cellIndex == myIndex){
			elementArray[i].className = elementArray[i].className.replace(/\b ?HoverState\b/, '');
			}
		}
		// Do the headers
		elementArray = myTable.getElementsByTagName('th');
		for(var i = 0; i < elementArray.length; i++){	
			if(elementArray[i].cellIndex == myIndex){
			elementArray[i].className = elementArray[i].className.replace(/\b ?HoverState\b/, '');
			}
		}
	} // end check index > 0
	
} // end removeHighlightColumn

String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
	return this.replace(/^\s+/,"");
}
String.prototype.rtrim = function() {
	return this.replace(/\s+$/,"");
}
