// JavaScript Document


var allRowsStr = "$$('.rowHover');";
var headRowStr = "$('headRow');";
var colSortByStrArr = new Array();
colSortByStrArr[0] = "$$('#[%ROW_ID%] .c1')[0].innerHTML;";
colSortByStrArr[1] = "$$('#[%ROW_ID%] .c2')[0].className.match(/sort_([0-9]*)/)[1];";
colSortByStrArr[2] = "$$('#[%ROW_ID%] .c3')[0].className.match(/sort_([0-9]*)/)[1];";

var currentSort = new Array(0,0);
function sortBy(sortByNum){
	var allRows = eval(allRowsStr);
	
	//GW.EDU alternating coloring
	allRows.invoke('removeClassName','tableRowDrk').invoke('removeClassName','tableRowLgt');
	
	var allRowSort = new Array();
	var rowID = '';
	var sortByVal = '';
	for(var a=0;a<allRows.length;a++){
		rowID = allRows[a].identify();
		sortByVal = eval(colSortByStrArr[sortByNum].replace('[%ROW_ID%]',rowID));
		allRowSort.push(sortByVal+'|'+rowID);
	}
	if(currentSort[0] == sortByNum && currentSort[1] == 0){
		allRowSort.sort();
		allRowSort.reverse();
		currentSort[1] = 1;
	}else{
		allRowSort.sort();
		currentSort[0] = sortByNum;
		currentSort[1] = 0;
	}
	var sDiv = document.createElement('div');
	Element.extend(sDiv);
	allRows[0].insert({before:sDiv});
	var rowArr = new Array();
	var thisRow = null;
	var nextRowClass = 'Lgt'; //GW.EDU alternating coloring
	for(var a=0;a<allRowSort.length;a++){
		rowArr = allRowSort[a].split('|');
		
		if(thisRow = $(rowArr[1])){
			thisRow.addClassName('tableRow'+nextRowClass); //GW.EDU alternating coloring
			nextRowClass = (nextRowClass=='Lgt')?'Drk':'Lgt'; //GW.EDU alternating coloring
			
			sDiv.insert({before:thisRow});
		}
	}
	sDiv.remove();
	
}

function sortByPre(sortByNum){
	var colNum = sortByNum+1;
	$$('.hi').invoke('removeClassName','hi');
	$$('.c'+colNum).invoke('addClassName','hi');
	var addClass = (currentSort[0] == sortByNum && currentSort[1] == 0)? 'desc':'asc';
	var remove = (addClass=='desc')? 'asc':'desc';
	$('c'+colNum+'Head').removeClassName(remove).addClassName(addClass).siblings().invoke('removeClassName','asc').invoke('removeClassName','desc');
	sortBy(sortByNum);
}

Event.observe(window, 'load', function() {
	$$('.rowHover').each( function(r){Event.observe(r, 'mouseover', function(){
												if(!r.hasClassName('sel')){
													r.addClassName('sel').siblings().invoke('removeClassName','sel');
													var thisID = r.id.substring(1);
													var thisDetails = $('d'+thisID).show();;
													thisDetails.siblings().invoke('hide');
													var detailsHolder = $('detailsHolder');
													var top = detailsHolder.cumulativeOffset().top
													var winTop = document.viewport.getScrollOffsets().top
													if( winTop > top){
														thisDetails.style.top = winTop-top+"px";
														var totalHeight = parseInt(thisDetails.style.top.replace('px',''))+thisDetails.getHeight();
														if(detailsHolder.getHeight() < totalHeight){
															detailsHolder.style.height = totalHeight+20+"px";
														}
													}else{
														thisDetails.style.top = "0px";
													}
												}
												});});
});
